tps/1/src/rtl/intersection_ctrl.vhd (1292B)
1 library ieee; 2 use ieee.std_logic_1164.all; 3 use work.semaphore_pkg.all; 4 5 entity intersection_ctrl is 6 7 generic(MAX_CNT : integer := 50e6); 8 port( 9 clk : in std_logic; 10 rst : in std_logic; 11 12 red_1 : out std_logic; 13 yel_1 : out std_logic; 14 gre_1 : out std_logic; 15 red_2 : out std_logic; 16 yel_2 : out std_logic; 17 gre_2 : out std_logic); 18 19 end entity; 20 21 architecture intersection_ctrl_arq of intersection_ctrl is 22 23 signal state : state_t; 24 signal seg_flag : std_logic; 25 signal state_flag : std_logic; 26 27 begin 28 29 rtc : entity work.rtc(rtc_arq) 30 generic map(MAX_CNT => MAX_CNT) 31 port map( 32 clk => clk, 33 rst => rst, 34 seg_flag => seg_flag); 35 36 cnt : entity work.cnt(cnt_arq) 37 port map( 38 clk => clk, 39 rst => rst, 40 ena => seg_flag, 41 state => state, 42 state_flag => state_flag); 43 44 semaphore : entity work.semaphore(semaphore_arq) 45 port map( 46 clk => clk, 47 rst => rst, 48 state_flag => state_flag, 49 50 red_1 => red_1, 51 yel_1 => yel_1, 52 gre_1 => gre_1, 53 red_2 => red_2, 54 yel_2 => yel_2, 55 gre_2 => gre_2, 56 57 state => state); 58 59 end architecture;
