Synthesijer
DE0-Nano/Synthesijer
本稿ではDE0-Nano/Synthesijerで作成した環境上で synthesijer_samples の
led を DE0-Nano 上で動作させるまでの手順について記載します。
DE0-Nano/Synthesijer_QuickStart と同じく LED が点滅するサンプルです。
led ディレクトリ内に Makefile がありますので make コマンドでビルドを実行します。
$ cd ~/synthesijer_samples/sample/led/ $ make java -cp /home/beat/synthesijer-20140818.jar synthesijer.Main led.java counter.java Output VHDL: counter.vhd Output VHDL: led.vhd Output Verilog HDL: counter.v Output Verilog HDL: led.v javac -cp /home/beat/synthesijer-20140818.jar:. led_top.java java -cp /home/beat/synthesijer-20140818.jar:. led_top
DE0-Nano System Builder でプロジェクトファイルを作成します。
Synthesijer の led に合わせてプロジェクト名は led_top にします。
作成したプロジェクトを Ubuntu に移動します。
その際プロジェクトファイル内にある led_top.v はリネームしておきます。
Ubuntu 上で led_top.qsf をビルドした led の led_top.vhd にあわせて以下のように編集します。
ここでは、exstick.ucf にあるように reset の PIN は配置しません。
また上記ビルドした led_top.vhd、led.vhd、counter.vhd をコピー同じディレクトリにコピーします。
$ vi exstick.ucf NET reset LOC = A12 | IOSTANDARD = LVCMOS33; # "USER_RESET" NET reset TIG; NET clk LOC = N7 | IOSTANDARD = LVCMOS33; # "USER_CLOCK" NET clk TNM_NET = clk; TIMESPEC ts_clk = PERIOD clk 25000 kHz; NET q LOC = A2 | IOSTANDARD = LVCMOS33;
$ vi led_top.vhd library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; entity led_top is port ( clk : in std_logic; reset : in std_logic; q : out std_logic ); end led_top; ...<略>
$ vi led_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 field_flag_output set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to field_flag_output #set_location_assignment PIN_A15 -to LED[0] #set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[0] ...<略> #============================================================^M # End of pin assignments by Terasic System Builder^M #============================================================^M ^M set_global_assignment -name VHDL_FILE led.vhd^M set_global_assignment -name VHDL_FILE counter.vhd^M set_global_assignment -name VHDL_FILE led_top.vhd^M set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "2.5 V"^M
あとは上記 DE0-Nano/Synthesijer_QuickStart と同じ手順にて DE0-Nano の動作確認ができます。
以下は led サンプルをDE0-Nano で動作させた際の動画です。
2014/09/03 構成変更のため本ページに移動
2014/08/27 初稿掲載