Synthesijer
DE0-Nano/Synthesijer
本稿ではDE0-Nano/Synthesijerで作成した環境上で synthesijer_samples の
quickstart を DE0-Nano 上で動作させるまでの手順について記載します。
quickstart は LED が点滅するサンプルです。
Synthesijer の Web ページに記載されているのと同様の手順でビルドします。
$ cd ~/synthesijer_samples/sample/quickstart/ $ java -cp $SYNTHESIJER synthesijer.Main Test.java Top.java Output VHDL: Top.vhd Output VHDL: Test.vhd Output Verilog HDL: Top.v Output Verilog HDL: Test.v
DE0-Nano System Builder でプロジェクトファイルを作成します。
Synthesijer の quickstart に合わせてプロジェクト名は Top にします。
作成したプロジェクトを Ubuntu に移動します。
その際プロジェクトファイル内にある Top.v はリネームしておきます。
Ubuntu 上で Top.qsf をビルドした quickstart のTop.vhd にあわせて以下のように編集します。
また上記ビルドした Top.vhd、Test.vhd をコピー同じディレクトリにコピーします。
$ vi Top.vhd library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; entity Top is port ( clk : in std_logic; reset : in std_logic; flag_return : out std_logic ); end Top; ...<略>
$ vi Top.qsf ...<略> #============================================================ # CLOCK #============================================================ set_location_assignment PIN_R8 -to clk set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to clk #set_location_assignment PIN_R8 -to CLOCK_50 #set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to CLOCK_50 #============================================================ # LED #============================================================ set_location_assignment PIN_A15 -to flag_return set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to flag_return #set_location_assignment PIN_A15 -to LED[0] #set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[0] ...<略> #============================================================ # End of pin assignments by Terasic System Builder #============================================================ set_location_assignment PIN_A11 -to reset set_instance_assignment -name IO_STANDARD 2.5V -to reset set_global_assignment -name VHDL_FILE Test.vhd set_global_assignment -name VHDL_FILE Top.vhd set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "2.5 V"
Quartus を起動し、File -> Open Project から Top.qpf を選択します。
$ quartus
#ref(): File not found: "quartus001.png" at page "DE0-Nano/Synthesijer_QuickStart"
Processing -> Start Complication を押下します。
ここで作成した Project 内の各ファイルのコンパイル(分析・統合)を行います。
注: Warning は大量に表示されますが、特に問題ありません。
Assignments -> Pin Planner を押下し、上記変更箇所が反映されていることを確認します。
#ref(): File not found: "quartus002.png" at page "DE0-Nano/Synthesijer_QuickStart"
Tools -> Programmer を押下します。
Programmer は作成されたイメージを DE0-Nano にプログラミング(書き込む)ための機能です。
またどのデバイスで書き込むかも選択します。本稿では上記で設定した USB-Blaster を選択します。
もし No Hardware と表示されている場合、Hardware Settingsを押下し、
下図のように Currently selected hardware 内の USB-Blasterを選択します。
注:USB-Blaster の選択が表示されていない場合は再度追加した
udev ルールファイルを確認してください。
完了後Programeer 内 Startを押下します。
これで作成されたイメージを DE0-Nano に転送します。
Progress が 100%(Successful)になることを確認し、
その際 DE0-Nano の LED0が点滅を開始することを確認します。 ~
以上で quickstart の動作確認は完了です。