TE0720でLED点滅--その4

5.合成・インプリメンテーションする

 

作成したファイルを開くと自動生成されたコードが書かれています。 new_source

 

このファイルの内容を下記のように編集してください。

 

 

--blink.vhd
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use IEEE.NUMERIC_STD.ALL;

entity blink is
    Port ( clk50_i : in  STD_LOGIC;
           led_o : out  STD_LOGIC);
end blink;

architecture Behavioral of blink is

	signal clk50 	: std_logic;
	signal timer    : std_logic_vector(23 downto 0);
	signal led      : std_logic_vector(7 downto 0);

begin

	clk50 <= clk50_i;
	led_o <= led(1);

	process(clk50) begin
		if(clk50'event and clk50 = '1')then
				if(timer = 49999999)then
				    timer <= (others => '0');
				    led <= led + 1;
				else
				    timer <= timer + 1;
				end if;
		end if;

	end process;

end Behavioral;

 

 

 

 

Flow Navigator の Synthesis から Run Synthesis をクリックして論理合成をしてください。 論理合成が正常に終了すると Synthesis Completed ウィンドウが開きます。Run Implementation を選択して OK をクリックしてください。 合成に失敗してエラーが出た場合はソースコードにミスがないかを確認し、再度論理合成をしてください。 next-synthesis

 

 

 

Implementationが終了したらImplementation Completed ウィンドウが開きます。

 

今回は何もしないので、 Cancel をクリックして終了してください。
open_implemented_design

 

ツールバー上のレイアウトタブを開いて I/O Planning を選択してください。
io_planning

 

 

I/O Planning の画面が表示されます。I/O Ports を下表のように設定してください。

 

Port Name Direction Site I/O Std
clk50_i in Y18 LVCMOS33
led_o out R21 LVCMOS33

 

io_planning_2

 

 

Flow Navigator にある Program and Debug 内の Generate Bitstream をクリックしてください。

 

このとき次のようなウィンドウが出ます。 File name を 「blink_master」 として OK をクリックしてください。 save_constrains

 

 

*.bit ファイルは (プロジェクトのディレクトリ)/blink.runs/impl_1/ に作成されます。