?? top_traffic_light1.vhd
字號:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
--該交通燈系統實現交通燈的正常控制并顯示倒計時時間,reset輸入信號接撥盤開關的
--第八個鍵,對交通燈進行復位清零操作;data_led是數據的輸出,利用動態顯示的原理同時
--用發光二極管顯示交通燈的燈亮的狀態和用數碼管顯示倒計時的時間。shift4是數碼管
--的位選信號,選通所要顯示的數碼管。
entity top_traffic_light1 is
Port ( clk : in std_logic;
reset : in std_logic;
cs : out std_logic_vector(1 downto 0); --數碼管和發光二極管的片選信號
data_led : out std_logic_vector(7 downto 0);--最終送數據總線的數據
shift4 : out std_logic_vector(3 downto 0)); --數碼管的位選信號
end top_traffic_light1;
architecture Behavioral of top_traffic_light1 is
component state_machine is
Port ( clk:in std_logic;
reset : in std_logic;
clk_1hz:out std_logic;
dataout1,dataout2: out std_logic_vector(3 downto 0);
data_ledfa : out std_logic_vector(7 downto 0 ));
end component state_machine;
component dynamic_display is
Port ( clk : in std_logic;
reset: in std_logic;
datain1,datain2: in std_logic_vector(3 downto 0);
data_ledfa:in std_logic_vector(7 downto 0 );
cs:out std_logic_vector(1 downto 0);
shift: out std_logic_vector(3 downto 0);
led : out std_logic_vector(7 downto 0));
end component dynamic_display;
component yellowflash is
Port ( f_1hz : in std_logic;
in_yellow:in std_logic;
out_yellow : out std_logic);
end component yellowflash;
signal dataout1,dataout2: std_logic_vector(3 downto 0);
signal data_ledfa: std_logic_vector(7 downto 0 );
signal clk_1hz: std_logic;
signal in_yellow1,in_yellow2: std_logic;
signal out_yellow1,out_yellow2 : std_logic;
begin
u1: state_machine port map (clk=>clk,reset=>reset,clk_1hz=>clk_1hz,data_ledfa(3)=>in_yellow2,
data_ledfa(0)=>in_yellow1,data_ledfa(7 downto 4)=>data_ledfa(7 downto 4),data_ledfa(2 downto 1)=>data_ledfa(2 downto 1),
dataout1=>dataout1,dataout2=>dataout2);
u2: dynamic_display port map (clk=>clk,reset=>reset,datain1=>dataout1,datain2=>dataout2 ,data_ledfa(3)=>out_yellow2,
data_ledfa(0)=>out_yellow1,data_ledfa(7 downto 4)=>data_ledfa(7 downto 4),data_ledfa(2 downto 1)=>data_ledfa(2 downto 1),
cs=>cs,shift=>shift4,led=>data_led);
u3: yellowflash port map (f_1hz=>clk_1hz,in_yellow=>in_yellow1,out_yellow=>out_yellow1);
u4: yellowflash port map (f_1hz=>clk_1hz,in_yellow=>in_yellow2,out_yellow=>out_yellow2);
end Behavioral;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -