はじめに
今年のG.W.に何をしようかなぁと考えていましたが、前から気になっていたTang-Nano-9Kを使ってFPGAの勉強をしてみることにしました。
さっそく、秋月電子通商さんに行って購入(https://akizukidenshi.com/catalog/g/gM-17448/) 。数量限定キャンペーンで参考文献[1](以下、冊子)がもらえました(2023年4月29日現在)。(バックナンバーを購入するつもりだったので助かりました)
家に帰って、もらった冊子を読んでみると、開発ツールであるGowin EDAからのビットストリームのフラッシュメモリへの書き込み&ベリファイが失敗するとのこと。
とはいえ、ツールのバージョンも冊子よりは進んでいるので修正されているんじゃないかと思って試したところ、フラッシュメモリへの書き込みのみはできたので記事にすることにしました。
追記:そもそもこちらで、「ベリファイは選ばないように」と書かれていました。(2023年5月4日現在)
https://wiki.sipeed.com/hardware/en/tang/Tang-Nano-Doc/questions.html#Download-slowly
なお、各種バージョンは以下のとおりです。
- FPGA: GW1NR-LV9QN88PC6/I5
- EDA: Gowin V1.9.8.09 Education Edition (Windows)
- OS: Windows11
準備
ビットストリームの書き込みまでの環境構築などは他の記事や冊子を参照してください。
私は冊子の基礎編 第3章「FPGA開発初体験!LED点滅(Lチカ)」の回路を準備しました。
Gowin EADからの書き込み
Gowin EADを使った書き込み方法を以下で説明します。ビットストリームの生成までは問題なくできているとします。
ビットストリームの生成
ツールバーにある次のアイコンをクリックしてビットストリームを生成します。
生成先は<プロジェクト・ディレクトリ>/impl/pnr/<プロジェクト名>.fs
になります。後ほど、こちらのファイルを指定することになります。
プログラマーの設定
以下の作業はTang-Nano-9KをPCと接続して行ってください。まず、ツールバーから次のアイコンをクリックします。
すると次のCable Settingダイアログが開きます。私はデフォルト設定のままで問題ありませんでした。
Gowin Programmerが開きます。まずは次のアイコンをクリックしてデバイスを登録します。
次のように"Series"と"Device"を適当に選択します。
"Operation"列をダブルクリックすると次のDevice Configurationダイアログが開くので"Access Mode"、"Operation"欄を次のように設定します。"File name"には先ほどの*.fs
ファイルを指定します。
"Operation"欄で"Verify"込みの設定もありますが、そちらを選択すると冒頭に書いたようにベリファイで失敗してしまいました。
全ての設定が終わったらツールバーの次のアイコンをクリックすると書き込まれて実行されます。
おわりに
ベリファイに失敗してしまうのは残念ですが、一つのツールで書き込みまで完結するのは快適です。ベリファイもツールのバージョンアップで修正される可能性があるので改めて確認したいです。個人的にはメインでMacを使っているので、Macにも対応した開発ツールが出れば良いなと思っています。
参考文献
[1] CQ出版社. 2500円ボードで始めるFPGA開発 Vol.2. Interface. 2022, 12月号, 別冊付録1