DE0-CVは古いFPGAボードですが,以前購入してそのまま放置してあったので,動かしてみました.
開発環境はQuartus Prime 22.1で現段階で最も最新です.ボードが古いけど,最新版のQuartusで大丈夫かな・・・・と少し心配したけど,なんとか動きました.
その一連の手順を備忘録代わりに残しておきます.
プロジェクトファイルを作成
「File」から「New Project Wizard」をクリックする
Nextをクリック
パスは自分の作業用フォルダを指定
プロジェクト名は適当に.今回は「led1」とします
Nextをクリック
Nextをクリック
デバイスは,DE0-CVは「5CEBA4F23C7」なので,これを選択
Nextをクリック
Finishで終了.これだけです.
回路図を作成
定石としてはVerilogでコードを書くんでしょうけど,ここではあえてCADで回路を作成してみたいと思います.
「File」→「New」をクリック
「Block Diagram/Schematic Files」を選択してOKすると,方眼紙のようなフィールドが出ます.ここに回路図を書いていきます.
最初なので簡単なLチカにしました.単につきっぱなしでは面白くないので,一定時間間隔で点滅するようにしたいと思います.
回路図の拡大です.
方法はカウンタを7つカスケードに接続して,クロック入力の50MHzをどんどん下げていきます.7つのカウンタがあるので最終的には\(1/8^7\)に周波数を下げて,その出力をLEDに割り当てようと思います.
そうしないと点滅が速すぎて,ずーっと点灯しているようにみえます.
ピンの割り当て
次は,作成した回路の入力ピンと出力ピンをFPGA回路内の何に割り当てるのかを設定します.
Pin Plannerを起動します.
DE0-CVのマニュアルをみると,このような表があるので,クロック50MHzを入力とするには,4つのピンのどれかを割り当てるとよさそうです.
ここでは,PIN_V15を入力ピンの「Location」に設定したいと思います.
LEDも同じです.今回の回路では4つの出力ピンがあるので,それぞれ,上から順にPIN_AA2, PIN_AA1, PIN_W2, PIN_Y3の4つを割り当てます.
設定が終わったらclose.saveはしなくて大丈夫.
コンパイル,書き込み
次にProgrammerを起動して,ボードに書き込みますが,その前にコンパイルです.
▷のアイコンがあるので,これを押してコンパイル.少し時間がかかります.
終わったら,Programmerを起動します.
「Hardware Setup」が「No Hardware」となっているので,これを「USB Blaster」に変更.
最後に「Start」ボタンを押すと,実行ファイルが書き込まれて実行開始されます.
こんな感じで光りました!