この記事について
Sipeed社が出しているFPGAのTang primer 25kについて、使い方の情報が少なかったので記しておきます。
この記事を見て使い方の理解が深まってくれたらうれしいです。
1.Gowin EDAをインストールする
まずはこのFPGAに書き込むためのソフトウェアをインストールします。
このサイトにアクセスし、まずはアカウントを作成します。
アカウントを作成出来たら、Gowin Educationの方をダウンロードします
アカウント作成からインストールの流れは以下の記事が参考になります
2.プロジェクトを新規作成
-
Gowin EDAを起動します
-
New Projectを押し、FPGA Design Projectを選択します
-
プロジェクトの名前と保存場所を選択します。
-
使用するFPGAの機種を選択します
以下の画像のように選択し、出来たらNextを押します。 -
Summaryが表示されるのでFinishを選択します。
3.Verilogファイルを書き込む
-
左上のNewボタンを押し、Verilog Fileを選択します
-
名前を決めます。(今回はLED.vとする)
-
Verilogのコードを書き込みます。
今回はFPGA本体の動作をさせてみたいのでFPGAについているボタンとLEDを使ったプログラムにしました。
以下のファイルをLED.Vに張り付け、そのあとにSynthesizeをダブルクリックしてください。LED.vmodule blink_simple ( input wire S1, // システムクロック output reg L1 // LED 出力 ); initial L1 = 0; always @(posedge S1) begin L1 <= ~L1; end endmodule
-
FPGAの本体設定をする
現在はLEDやスイッチを使用する設定になっていないので設定で変更していきますProjectのConfigurationを押します
Place & RouteのDual-Purpose Pinを選択します
すべての項目をオンにしますこれでFPGAのスイッチやLEDが使えるようになります
4.ピン配置を設定
-
FloorPlannerが開いたらPackage Viewを選択し、正方形の配置マップが出るので以下のように配置していきます(左のPortsの中のやつをマップにドラッグすることで割り当てられます)
L1 = D7
S1 = H11そして、S1はPull ModeをDownにしてください
-
左上の保存ボタンを押し、"ウィンドウを開いた状態のまま"次の作業を行います(閉じると保存したのになぜか適応されないことがあります)
-
Place & Routeをダブルクリックし、エラーがないことを確認します
(この時に以下のような警告が出ますが、気にしないでいいです)
豆知識
Tang primer 25k kitのスイッチとLEDは以下のように対応しています
S1 = H11
S2 = H10
READY = E8
DONE = D7
5.マイコンに書き込み
-
Programmerを選択し、Calbe Settingが表示されるのでSaveを押します
(このとき、FPGAをUSBでパソコンに接続した状態にしてください) -
Program/Configureボタン(再生マークみたいなのがついてるやつ)を押して、FPGAのSRAMにこのプログラムを保存します
プログラムが書き込まれ、FPGA本体のS1ボタンを押すとDONEのLEDがついたり消えたりするはずです。
補足(FPGAのフラッシュメモリにプログラムを書き込みたい場合)
-
Operationを開き、以下の画像のように設定した後にSaveを押します
-
RAMの時と同じようにプログラムを書き込みます
これによってFPGAのフラッシュメモリに書き込まれ、FPGAをパソコンから切断した後でも電源さえあれば動くようになります
おわり
Tang primer 25k kitは秋月電子などで販売されておりとても安価なFPGAですが、ネットに情報が少ないのでどのように使えばいいかよくわからないところがあるものです。
しかし、使いこなせたらかなり便利なものなのでぜひ使ってみてください。