Quartus Prime で FPGA/PLD に書き込むまでの流れ
久しぶりに FPGA を動かそうと思ったら、Quartus Prime(開発環境)の使い方をすっかり忘れていました。ということで、ひととおりの流れをメモしておきます。とりあえず LED点滅させてみます。
- 0. 使ったもの
- 1. Quartus Prime 起動
- 2. プロジェクト作成
- 3. デバイスの選択
- 4. ブロック図/回路図の作成
- 5. Verilogを記述
- 6. シンボル化
- 7. ブロック図/回路図にシンボルを配置
- 8. ピン割り当て
- 9. タイミング制約
- 10. コンパイル
- 11. 書き込み
0. 使ったもの
開発環境は無料版の Quartus Prime ライト エディション ver 17.0
インテル® FPGA およびプログラマブル・デバイス - インテル® FPGA
ハードは MAXⅡの小型開発ボード
WINGONEER アルテラMAX II EPM240 CPLD開発ボードラーニング・ボード・テスト・パネル
- 出版社/メーカー: WINGONEER
- メディア: エレクトロニクス
- この商品を含むブログを見る
書き込み用の USBブラスター(互換品)
ALTERA USB Blaster互換JTagケーブル [並行輸入品]
- 出版社/メーカー: ノーブランド
- メディア: エレクトロニクス
- この商品を含むブログを見る
1. Quartus Prime 起動
2. プロジェクト作成
File
-> New Project Wizard...
ファイルを保存する場所とプロジェクト名を設定。プロジェクトは1つのフォルダに1個しか作れない。入力したら Finish ボタンで閉じる。
3. デバイスの選択
Assignments
-> Device
使用するデバイスを一覧から選ぶ。
4. ブロック図/回路図の作成
File
-> New...
-> Design Files
-> Block Diagram/Schematic File
File
-> Save As...
空欄のままですが、プロジェクト名と同名で保存。
5. Verilogを記述
File
-> New
-> Design Files
-> Verilog HDL File
ここにコードを書く。
書き終わったら File
-> Save As...
で保存。
今回はクロックの立ち上がりを5千万カウントするごとに出力を反転させる。クロックは 50MHz なので LED は1秒点灯1秒消灯を繰り返す。
module div_50meg(ck, res, out); input ck, res; output out; reg [25:0] c; reg out; always @(posedge ck or posedge res) begin if (res == 1'b1) begin c <= 1'b0; out <= 1'b0; end else if(c == 26'd49999999) begin c <= 1'b0; out <= ~out; end else begin c <= c + 1'b1; end end endmodule
6. シンボル化
File
-> Create / Update
-> Create Symbol Files for Current File
処理が終わるのを待つ。Message欄にエラーが出ていないことを確認。
7. ブロック図/回路図にシンボルを配置
タブを切り替えて、さっき作成した空欄のブロック図/回路図を開く。
ORゲートのマークのボタンを押して Symbolウィンドウ を開く。
Librariesツリーの Project の下にさっき書いたVerilogがシンボル化されたものがあるのでそれを選んで [OK]。
シンボルを配置して入出力を配線。
Procesing
-> Start
-> Start Analysis & Elaboration
Message欄にエラーが表示されていないことを確認。
8. ピン割り当て
Assignments
-> Pin Planner
Node Name を ピン番号の上までドラッグし、割り当て。
9. タイミング制約
File
-> New
-> Sysnpsys Design Constraints File
タイミング制約はここに書く。
File
-> Save As...
最上位デザインファイルと同じ名前で sdcファイルを保存。
今回は使わないのでスルー。
10. コンパイル
Processing
-> Start Compilation
Message欄にエラーが表示されていないことを確認。
11. 書き込み
USBブラスターで PC とボードを接続。
Tools
-> Programmer
[Hardware Setup] ボタン
プルダウンから USB-Blaster を選択。
Auto Detect
ボタンでコンパイルしたファイルをセット。うまくいかない場合は [Add File...] ボタンから選択。
Program/Configure
Verify
Blank-Check
のチェックを入れたら [Start] ボタンで書き込み開始!
Progress
にSuccessful が表示されたら完成です。
予定通りに動きました。