[[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

BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS