Quartus 新規プロジェクトの作成~Lチカまで
まずはFPGAマスターへのの第一歩目、LED点滅(通称Lチカ)してみました
本当に無知でわかっていないところが多いので、間違っていたらすみません
<参考>
URL: http://monoist.atmarkit.co.jp/mn/articles/1509/10/news002_4.html
Quartusを起動すると、下記ウィンドウがでるので、真ん中を選択
Quartus起動-左上のFile-NewProjectWizard
「プロジェクト保存フォルダ/プロジェクト名前/top-level entitiyの名前」
好みの場所や名前で問題ありません。
※top-level entityの名前はプログラムソースで使用するmoduleの名前と合わせる必要がある?
まだ理解できていない部分があるので、後程追記・修正します
Empty project-Next
※他者が作成したプロジェクトを流用する場合はProject templateを選択
※既にソースコードがあればここで追加できますが、
後で追加できるのでここはスルーでOKです
使用するMAX10の型番を選択
Odyssey MAX10は「10M08SAU169C8GES」
使用するフォーマットを選択
私は"Verilog HDL"を選択。それ以外そのままの設定
※ここもいまいち理解していないので、後程追記する可能性あります
次にソースコードを準備します。
まだほとんど理解できていないので、まずは引用します
下記ページに1秒間隔で点滅するソースコードが載っているのでそのままコピペ
http://monoist.atmarkit.co.jp/mn/articles/1509/10/news002_5.html
コピペはメモ帳でOKです。保存後、拡張子だけ".txt"→".v"に変更して下さい。
準備したソースは作成したプロジェクトフォルダに入れておくと管理しやすそうです。
次にプロジェクトにソースコードを追加します。
Quartusの画面から左側Entityの"LED_tika"を右クリック→setting
左からFile-参照で"LED_tika.v"を選択-Addで追加-OK
Filesタブを見ると"LED_tika.v"追加されてます。ダブルクリックをするとここでソースの修正も可能です。
※注意
ソースの23行目に"module LED_Flash_all"があります。
moduleの名前を宣言していますが、これがプロジェクト作成時のTop-level design entityの名前と一致していないと、
下記エラーが発生します。
Error (12007): Top-level design entity "LED_tika" is undefined
私の場合"LED_Flash_all"を"LED_tika"に直します
ソースコードも登録したので、コンパイルです。
再生ボタンを押すとコンパイル開始。1~2分かかります。
警告がいっぱい出ますが、エラー以外は無視しても動きました
ここでFPGAへ書き込めるように感じるのですが、まだです。
次にI/Oのピン設定をします。
Quartus上部メニューのAssignment→Pin planer(もしくはCtrl + shift + N)
どのピンがLEDに接続されているかなどは、マクニカページより回路図をみるのですが、
使いそうなピンを下記にリストアップしておきました。(間違っていたらすいません・・・)
-------------------------------------------------------------
<Odyssey MAX10 ポート設定>
回路図URL:http://www.m-pression.com/odyssey-max10-sch
LED0 L13
LED1 J13
LED2 K12
LED3 H10
LED4 H9
LED5 G12
LED6 G13
LED7 H13
clk F13
--------------------------------------------------------------
また、projectのフォルダ内に~.psfのファイルが生成されているので、
そのファイルを編集して設定することも可能です。
I/O設定をおこなったら、そのウィンドウを閉じ、再度コンパイル
いよいよFPGAに書き込みます。
PCにUSB-Blasterを接続
Odyssey MAX10にmicroUSBで給電&USB-Blaster接続
コネクタの向き注意(コネクタの矢印マークが1番。基板側は基板にシルクで書いてあります)
左Taskの中のProgramDeviceをダブルクリック
Hardware Setup-USB-Blaster
作成したProjectフォルダ内-Output_files-"LED_tika.pof"
Program/Configureチェック-Start
尚、ソースコード解説は下記URLに記載されています。
参考にしてください。
http://monoist.atmarkit.co.jp/mn/articles/1510/13/news023.html
次回はスイッチを押すとLEDが点灯するプログラムです。
簡単にできると思います。
余談ですが、家のPCはSurface pro3なのですが,
スペックの不満よりも、スクショが撮りにくい泣
そもそもSurfaceでFPGAやってるの?とか叩かれそうですね・・・