- 追加された行はこの色です。
- 削除された行はこの色です。
[[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