Ousiaのエンジニアリングブログです。社内での技術的な取り組みを中心に紹介していきます。NotebookでLチカまで)こんにちは。エンジニアの戸塚です。FPGA入門」的なことをしてみたいと思います。【DISCLAIMER】スタート時点でFPGA素人です。Courseraでちょうど年末からFPGAコースを開講していたので併行して勉強中です。間違ったことを書いていたら必要に応じて訂正を入れていきます。有識者の皆様のご指摘を歓迎します。購入から起動まで前日譚25%ルール第一弾で何をやろうかあれこれ考えながらクリスマスの秋葉原をうろついていた時に、CQ出版社が出してるFPGAの入門用キット*1が気になりました。宗智CQ出版Amazon.co.jpで詳細を見る↑こんなやつちょうどNVIDIAが利用規約を変更し"データセンター"での深層学習用途でのGeForceの利用を禁止したというニュースが話題になっていて、GPU以外の選択肢としてのFPGAが少し気になり始めていたところでした。帰って情報収集してからにしようと思い、その場では買わずに帰ってきました。入門用」で検索して出てくるのはTerasicのDEシリーズ、先述のCQ出版社のスターターキットなど、AlteraのCycloneやMAXシリーズを載せたものが多いです。(BNN)を自社のFPGAを載せたPYNQというボードで動かすためのパッケージを出しているのを見つけました。PYNQ-Z1をDigilent社が出しています。2016年に発売されたボードのようで、PYNQについて検索すると2016年末〜2017年初頭のブログ記事が色々出てきます。←東工大の中原先生のスライド。NotebookにアクセスしてPythonでFPGAを制御することができます*4。高位合成(HLS)FPGAで回路を設計する方法はVerilog-HDLやVHDLのようなハードウェア記述言語で記述する回路図で描いてこれらの言語に落とす開発環境*5を利用して設計C/C++から直接FPGA用のコードを合成する高位合成(HLS)技術を用いる*6のように進化していて、今ではPythonで書かれたコードからハードウェア記述言語を生成できるツールもあります。HLSで生成した回路デザイン(ビットストリーム)を読み込んでPythonコードから制御できる仕組みになっているそうです。*7とても気になります。高位合成(C/C++やPythonでも書けるらしい)ちゃんと動くBNNのライブラリがオープンソースで提供されているPYNQ-Z1のピンク色のボードがなんか可愛いそんなわけで、遅めの自分宛クリスマスプレゼントはPYNQ-Z1に決まりました。注文Digilent社のウェブサイトで注文しました。PYNQ-Z1本体は229ドルします。discountが適用できると65ドルで買えるらしいです。その他、ボードを保護するアクリルボード、PYNQのシステムをmicro-SDカードに焼いたもの、128x32のモノクロOLEDディスプレイ、なども合わせて購入し、FedEx送料(38.83ドル)込みで307.80ドル(35,952円)のお買い物になりました*812/26に注文したのが出荷されたのは28日の昼過ぎでした。アメリカから届くのかと思ってFedExの荷物追跡を見てみたら発送元が台北でした。Digilentは世界各地に拠点を持っているようなので、アジア地区は台湾から発送なのでしょう。いう経路で、12/28の昼過ぎに出荷されたものが29日の朝には成田に着いていて、通関から後は西濃運輸さんが運んでくれました。