Advertisement
Mihailo21

TBA

Dec 2nd, 2023
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 2.31 KB | None | 0 0
  1. library ieee;
  2. use ieee.std_logic_1164.all;
  3. use ieee.std_logic_unsigned.all;
  4.  
  5. entity zadatakA_tb is
  6. end entity;
  7.  
  8. architecture Test of zadatakA_tb is
  9.  
  10.     --Inputs and outputs
  11.    signal sCLK   : std_logic := '0';
  12.    signal sRST   : std_logic := '0';
  13.    signal sEN    : std_logic := '0';
  14.     signal sDEC   : std_logic_vector(2 downto 0);
  15.     signal sGREAT    : std_logic;
  16.     signal sCNTP   : std_logic_vector(3 downto 0);
  17.     signal sCNTN   : std_logic_vector(3 downto 0);
  18.    
  19.     constant iCLK_PERIOD : time := 10 ns;
  20.    
  21.    component zadatakA is port(
  22.             iCLK    : in  std_logic;
  23.          iRST    : in  std_logic;
  24.          iEN     : in  std_logic;
  25.             iDEC     : in std_logic_vector(2 downto 0);
  26.             oGREAT   : out std_logic;
  27.             oCNTP   : out std_logic_vector(3 downto 0);
  28.             oCNTN   : out std_logic_vector(3 downto 0)
  29.       );
  30.    end component;
  31.  
  32. begin
  33.  
  34.    uut: zadatakA port map (
  35.           iCLK => sCLK,
  36.           iRST => sRST,
  37.           iEN => sEN,
  38.              iDEC => sDEC,
  39.              oGREAT => sGREAT,
  40.              oCNTP => sCNTP,
  41.              oCNTN => sCNTN
  42.         );
  43.    
  44.     --takt process
  45.     clk_proc : process
  46.     begin
  47.         sCLK <= '1';
  48.         wait for iCLK_PERIOD / 2;
  49.         sCLK <= '0';
  50.         wait for iCLK_PERIOD / 2;
  51.     end process;
  52.    
  53.    -- Stimulus process
  54.    stim_proc: process
  55.    begin
  56.        
  57.         sDEC <= "000";--da ne bude crveno na pocetku
  58.         sRST <= '1';
  59.         wait for 5.25 * iCLK_PERIOD;
  60.         sRST <= '0';
  61.         --Postaviti na ulaz dekodera takvu vrednost da brojač neparnih brojeva izbroji do 10
  62.         sDEC <= "000";
  63.         sEN <= '1';
  64.         wait for iCLK_PERIOD;
  65.         sEN <= '0';
  66.         wait for 9 * iCLK_PERIOD;
  67.         --Postaviti na ulaz dekodera takvu vrednost da brojač parnih brojeva izbroji do 8
  68.         sDEC <= "010";
  69.         sEN <= '1';
  70.         wait for iCLK_PERIOD;
  71.         sEN <= '0';
  72.         wait for 8 * iCLK_PERIOD;
  73.         --Resetovati sistem na 5 perioda takta
  74.         sRST <= '1';
  75.         wait for 5 * iCLK_PERIOD;
  76.         sRST <= '0';
  77.         ----Postaviti na ulaz dekodera takvu vrednost da izlaz iz komparatora bude ‘1’ 10 perioda takta
  78.         sEN <= '1';
  79.         sDEC <= "111";
  80.         wait for iCLK_PERIOD;
  81.         sEN <= '0';
  82.         wait for 9 * iCLK_PERIOD;
  83.         ----Postaviti na ulaz dekodera takvu vrednost da izlaz iz komparatora bude ‘0’ 10 perioda takta
  84.         sDEC <= "010";
  85.         sEN <= '1';
  86.         wait for iCLK_PERIOD;
  87.         sEN <= '0';
  88.         wait for 9 * iCLK_PERIOD;
  89.         ----Resetovati sistem
  90.         sRST <= '1';
  91.        
  92.         wait;
  93.    end process;
  94.  
  95. end architecture;
  96.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement