Advertisement
Mihailo21

Signal svetlo tb

Feb 11th, 2024
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 1.53 KB | None | 0 0
  1. library ieee;
  2. use ieee.std_logic_1164.all;
  3.  
  4. entity Signal_light_tb is
  5. end entity;
  6.  
  7. architecture Test of Signal_light_tb is
  8.  
  9.    signal sCLK      : std_logic := '0';
  10.    signal sRST  : std_logic := '0';
  11.    signal siLEFT  : std_logic := '0';
  12.     signal siRIGHT : std_logic := '0';
  13.     signal soLEFT   : std_logic_vector(2 downto 0);
  14.     signal soRIGHT  : std_logic_vector(2 downto 0);
  15.    
  16.     constant iCLK_period : time := 10 ns;
  17.    
  18.     component Signal_light is port (
  19.     iCLK    : in  std_logic;
  20.     iRST    : in  std_logic;
  21.     iLEFT   : in  std_logic;
  22.     iRIGHT      : in  std_logic;
  23.     oLEFT       : out std_logic_vector(2 downto 0);
  24.     oRIGHT  : out std_logic_vector(2 downto 0)
  25.     );
  26.     end component;
  27.  
  28. begin
  29.  
  30.    uut: Signal_light port map (
  31.           iCLK  => sCLK,
  32.           iRST  => sRST,
  33.              iLEFT  => siLEFT,
  34.              iRIGHT => siRIGHT,
  35.           oLEFT     => soLEFT,
  36.           oRIGHT    => soRIGHT
  37.         );
  38.          
  39.     iCLK_process: process
  40.     begin
  41.         sCLK <= '0';
  42.         wait for iCLK_period / 2; -- iCLK_period je konstanta
  43.         sCLK <= '1';
  44.         wait for iCLK_period / 2;
  45.     end process;
  46.  
  47.    stim_proc : process
  48.    begin       
  49.        
  50.         sRST<='1';
  51.         wait for 5.25*iCLK_period;
  52.         sRST<='0';
  53.         siLEFT<='1';
  54.        
  55.         wait for 30*iCLK_period;
  56.         siLEFT<='0';
  57.         siRIGHT<='1';
  58.        
  59.         wait for 30*iCLK_period;
  60.        
  61.         siRIGHT<='0';
  62.        
  63.         sRST<='1';
  64.         wait for 3*iCLK_period;
  65.         sRST<='0';
  66.         siRIGHT<='1';
  67.         wait for 12*iCLK_period;
  68.         siRIGHT<='0';
  69.         siLEFT<='1';
  70.         wait for 22*iCLK_period;
  71.         siLEFT<='0';
  72.         sRST<='1';
  73.        
  74.        
  75.        
  76.        
  77.        
  78.        
  79.         wait;
  80.    end process;
  81. end architecture;
  82.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement