ブログのネタを探してさまよっていた中の人です。夏休みはマウスのコーディングやらバイトやらで忙しい毎日を送ってました。(今夏はアキバへ2桁回買い出しに行ってました。定期がなかったらヤバかった)
今はこの記事を書きながら
さて、今回のネタはちっちゃいFPGAをVSCode上で開発する話です。タイトルには(+PowerShell)って入ってますが、pipが入ってる(入る)ターミナルなら何でも大丈夫です。
0.TinyFPGA BXについて&開発の動機
TinyFPGA BXはLattice Semiconductor Corporation製ICE40LP8Kを使ったFPGAボードで、その名の通り小さいのが特徴です。(AX2っていうもっと小さいのもある)
サイズ感はArduino nanoやNucleo F303に近いです。
このボードGUI環境でも開発ができるのですが、なんとPython2.xを使用しているのです!(インストールしようとしたら2.7.11を突っ込もうとしてきた)
よって今回はPython3.x系で開発環境を整えようとした感じです。
1.今回の環境及び使うもの
- VSCode 1.38.1
- Python 3.7.4
- pip 19.2.3
- TinyFPGA BX
- USB micro B ケーブル
2.インストール
最初は、TinyFPGA BX User Guideに従ってインストールを進めましょう。私が環境構築をしていて詰まったところは、apio drivers --serial-enable
の前に
apio install drivers
をすることでしょうか。この辺りはそこまで難しくないはずです。
この時、一緒にverilogのExtensionをVSCodeに入れておくと.vが読みやすくなります。
Atomを入れろとなっていますが、今回は無視します。
3.実機実装
FPGAの開発では、大体の場合シミュレーションを走らせてから実機実装しますが、面倒なので飛ばします。
とりあえず、サンプルコードを使いたいので、TinyFPGA BXのリポジトリをどうにかこうにかして落としましょう。落として来たら、apio_templateをフォルダコピーしておきます。(書き換えると面倒なので)コピーしたフォルダをVSCodeで開いたら、ターミナルを出して、
apio build
と打ちましょう。.vが間違っていなければビルドが通り、hardware.binが生成されているはずです。(ほかのファイルも同時に生成)
ボードへの書き込みは、ケーブルでPCとつなぎ、リセットボタンを一回押した状態で、
tinyprog -p .\hardware.bin
と打てば書き込まれます。
参考:tinyFPGA-BX boardにTerminalのみでbuildとボードへの書き込みを行った
©2018 shts All Right Reserved.