[[Synthesijer]] ~ [[DE0-Nano/Synthesijer]] ~ #contents * DE0-Nano/Synthesijer_Samples_LED [#yf3f458c] 本稿では[[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 q set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to q #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 で動作させた際の動画です。~ #youtube(ghHBbJ3bLk8); ~ * 更新履歴 [#x97495b5] 2014/09/03 文言修正 ~ 2014/09/03 構成変更のため本ページに移動 ~ 2014/08/27 初稿掲載 ~ RIGHT:syariten