_★
FPGA開発環境構築
2500円で入手できるFPGAボードである
TANG NANO 9K をDebian GNU/Linux stretchという比較的古い環境で動かしてみた。
まず
メーカページからLinux版のIDE (Gowin_V1.9.8.09_Education_linux.tar.gz)をダウンロード。
適当なディレクトリにtarボールを展開した。
binの下のgw_ideを実行。特にエラーもなく起動した。
必要なライブラリは全て一緒に配布されているかスタティックリンクされているらしい。
次に書き込みプログラムだけどIDE付属のヤツだと上手くないらしいので
オープンソースの
openFPGALoader を使うとのこと。
早速、Linuxバイナリを持ってきて動かしてみたけどlibcのバージョンが合わなくて起動できず。
仕方無いんで最新ソース(0.9.1)を持ってきて構築することにした。
途中、ライブラリが足りないと言われたんで(libhidapi-hidraw0、dev-libftdi1、libudev-dev)をインストール。
GNU/Linux stretchにはlibgpiodが無いので無視したけど結果問題無かった。(何でかは後で調べる)
ライブラリを揃えて構築。
バイナリが出来たので試しにFPGAボードを認識できるか確認。
root権限でopenFPGALoader --detectを実行したらUSB接続されたFPGAボードが認識された。
ここまで出きれば勝ったも同然。
早速IDEから例題のLチカのロジックを合成してみた。
使い勝手は他メーカのIDEとほぼ同じ。
例題通り入力して回路合成してビットストリームまで生成しopenFPGALoaderに書き込んだ。
が、Lチカしない。何故だーーーーーーーーーー。
エラーも起きていないし....
で、良く見たら物理制約ファイルを入力しただけでセーブしていなかった。
これをセーブして再度、回路合成して書き込みしたらLチカできた。
いやでもXilinxのツールならセーブしなくても良かったハズ。この辺は改良の余地がありそうだと思った。
一連のやった作業は気が向いたら
Qiita に書いておく。
記事によればこのボードはPythonで高位合成したりRISC-Vも動かせるらしい。
HDMIも動かせるくらい高速でも動くらしい。久々にワクワクしたぞ。
これならNゲージの電子連動装置を簡単に作れそう。
これも気が向いたらQiitaに書いておく。