最近またFPGAを遊んでみたいと思いました。
Altera DE0はMSX環境から変えたくない、その他のFPGAボードは資金にしたくて売却済みだったので、新しいのを購入することにしました。
とは言ってもALTERA(INTEL)やXILINX(AMD)は高価なので、手軽に試せないなと思って探してたところ、手軽な価格で良いのがありました。
FPGA Sipeed Tang Primer 20K

コアボード自体はSO-DIMMのサイズで端子しかないので、各種インターフェースが使用できるDOCKとのセットを購入しました。

今回はAliexpressで約6,500円で購入しましたが、同じものがAmazonにもありました。
youyeetoo Sipeed Tang Primer 20K FPGAコアボード 学習ボード 検証ボード 拡張版
このDOCKはわかりやすく、裏に対応するピンの名前が書いてありました。

Logic unitsが20736個あるモデルで、他のメーカーと単位が違うので一概に比較できませんが、ファミコンを動かした事例もあるようなので、割と大規模なこともできそうです。
この性能で1万円以下でまともに使えるのは助かります。
開発環境はGowin EDAを使用します。
GOWIN EDA ホーム | GOWIN Semiconductor
無料で使用できますが、ユーザー登録をしてライセンスを申請する必要があります。
色々調べ試しながら動かして上手くまとめられなかったので、今回は詳細なセットアップやソフトの使用方法は省略します。
試しに以下のようなVerilog HDLソースを書いてみました。
module sample01(LED, KEY);
input [4:0] KEY;
output [4:0] LED;
assign LED[4] = KEY[4];
assign LED[3] = KEY[3];
assign LED[2] = KEY[2];
assign LED[1] = KEY[1];
assign LED[0] = KEY[0];
endmoduleI/O Connection (ピン配置)は下のように設定しました。
| Port | Location |
| KEY[0] | T10 |
| KEY[1] | T3 |
| KEY[2] | T2 |
| KEY[3] | D7 |
| KEY[4] | C7 |
| LED[0] | C13 |
| LED[1] | A13 |
| LED[2] | N16 |
| LED[3] | N14 |
| LED[4] | L14 |
これを合成して実行しました。

LEDが明るくて写真ではわかりずらいですが、S3のボタンを押すと3番のLEDが点灯してます。
今までALTERA(INTEL)やXILINX(AMD)の開発環境を使ってたのですが、小さいプログラムでも合成や書き込みに時間がかかってました。
Gowin EDAはこの位の規模ではすぐに終わります。
ALTERA(INTEL)やXILINX(AMD)は安定した動作のために合成処理中に色々な事をしているので遅いかもしれませんが、軽く遊ぶときは速いのは手軽で助かります。
