オープンソースGPGPUをいろいろと調査しているが、その中でなかなか完成度の高いもののひとつであるNyuziProcessor、テストパタンの動作までは上手く行ったが、FPGAにインプリメントしてみたい。
少し調べてみたのだが、どうやらALTERAのFPGA、そしてDE2-115というFPGAボードでのみ動作確認をしているようだ。しまった!ALTERAの実装経験が無い!
だが、プロジェクトファイルはあるようだし、論理合成とインプリメントまでは出来るはずだ。そうすると、もっと安いALTERAのボードでも入るか分かるかもしれない。やってみよう。
Intel Quartusのインストール
Intel Quartusは普通にIntelのページからダウンロードしてくる。どうやら13.1以上をサポートしているようだが、現在は17.0がリリースされている。別に最新バージョンでも論理合成は問題なく実行できた。
- インテル Quartus Prime ダウンロードセンター
https://www.altera.co.jp/downloads/download-center.html
ここで最新のLinux版をダウンロードしてインストールした。例によってVirtualBox上のUbuntuにインストールしている。GUIを使ってインストールして、だいたいインストール完了まで30分程度だった。
NyuziProcessorのFPGA論理合成とインプリメント
論理合成とインプリメントと言っても、実はすべてMakefileが用意されており一発makeを叩くだけなので何の問題もない。以下のようにして論理合成を実行した。
cd hardware/fpga/de2-115/ make
終わりである。すると、Quartusが実行されて論理合成とインプリメントを実行した。しばらく待っていると(1時間くらい?)無事に終了したようだ。
最後にサマリが表示されている。
Fmax 53.51MHz 71,728 Logic elements
Intel(ALTERA) FPGAのグレードについて詳しくないので、これがどれくらいのものなのかよく分からない。
ただし、上記のDE2-115のスペックを見てみると、
- Cyclone® IV EP4CE115
- 114,480 logic elements (LEs)
- 3,888 Embedded memory (Kbits)
- 266 Embedded 18 x 18 multipliers
- 4 General-purpose PLLs
- 528 User I/Os
というわけでLE(XilinxでいうLUTのことかな?)の半分以上を消費している。
このDE2-115というボード以外でどのようなボードがあるのかちょっと調査したのだが、まあ同じくらいのデバイスを搭載していて多少安いものもあるにはあるようだ。
もし入手できる機会があれば、やってみても良いかもしれない。まあALTERA初心者なのでものすごく苦労すると思うけど。