TA147

Ejecicios y trabajos prácticos de la materia Taller de Sistemas Digitales (TA147)
Index Commits Files Refs
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;