プロジェクトの作成フロー
- Quartus IIを開く
- "File" -> "New Project Wizard"でプロジェクト作成ウィザードを開始
- "Introduction"は何もせず"Next"を押す
- "Directory, ..."は"
- "Add Files"、他のプロジェクトの資産をリユースする場合は、ここでプロジェクトに追加する
- "Family & Device Setting"、EP3C16F484C6を指定、意味はEP3C16: DE0で使われているCyclone IIIの型番、484:ピン数、"C6":スピードグレード
- "EDA Tool Settings"、"Simulation"で"ModelSim-Altera"、フォーマットを"Verilog HDL"で指定
次にトップモジュールのVerilogファイルを作成
- "File" -> "New"でVerilog HDLを指定する
- 書く
- 保存する、初回に保存する際に(トップモジュール)+".v"で保存するファイル保存ウィンドウが出るので、そのまま保存する
次にテストベンチを作成
- コンパイルする、誤りがあれば修正する
- "Processing" -> "Start" -> "Start Test Bench Template"を選択する、これでワーキングディレクトリ下の"simulation\modelsim"フォルダに、"トップモジュール"+".vt"のテストベンチモジュールが作成される
- "Project Navigator"のHierarchyビューで、プロジェクトのトップを右クリックし、"Setting"を選択する
- "EDA Tool Settins" -> "Simulation"を選択し
- "Tool Name"で"ModelSim-Altera"を選択
- "EDA Netlist Writer setting"で"Verilog HDML"を選択
- "NativeLink setting"で、"Compile test bench"を選択し、"Test Benches..."ボタンを押す
- "Test Benches"メニューで"New..."を選択
- "Test bench and simulation files"の"File name"の横のファイル選択ボタンを押し、上記で作成したテストベンチファイルを選択する
- 横の"Add"ボタンを押して、テストベンチとして追加する
- "Test bench name"でトップモジュール名を入力する
- "Test Benches"メニューで"New..."を選択
- 上記のサブメニューを全て"OK"で抜ける
次にRTLシミュレーションに入る
- Quartus IIでRTLシミュレーションを実行する、ModelSim Alteraが上記で作成したテストベンチプロジェクトを開く
- "Library"から"work" -> 現在のプロジェクトのテストベンチ("(トップモジュール名)_vlg_test"がデフォルト名)を右クリックし、"Editを選択"
- テストベンチを書く、テストベンチ用のモジュールは上記で作成されているので、テストベクトルを書くだけ
- 保存する
- テストベンチを右クリックし、"Recompile"を選択、問題なく終わったら"Simulation"を選択
- "Object"ウィンドウから必要な信号を突かんで、"Wave"ウィンドウにドロップする
- "Transcript"で、"run -all"とすれば全てのテストベンチを実行する、もし時間を区切りたい場合には"run xns"のように時間指定する
最後にJTAGモードでDE0に書き込む
- Quartus IIから"Programmer"を実行する
- DE0をUSBに接続し、電源を入れる
- "Hardware Setup..."ボタンを押して、"USB-Blaster"を選択して、"Close"を押す
- もし書き込むファイルが選択されていなければ、"Add File..."ボタンを押して、ワーキングディレクトリ下の"output_files"の下にある、"(トップモジュール名).sof"を選択する
- "Start"ボタンを押して書き込む