Synthesijer
DE0-Nano/Synthesijer

DE0-Nano/Synthesijer_Samples_LED

本稿では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 初稿掲載

syariten

BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   新規 一覧 単語検索 最終更新   最終更新のRSS