Advertisement
Guest User

Testbench

a guest
Oct 25th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 2.20 KB | None | 0 0
  1. library ieee;
  2. use ieee.std_logic_1164.all;
  3.  
  4. entity tb_module_name is
  5. end tb_module_name;
  6.  
  7. architecture tb of tb_module_name is
  8.  
  9.     component FSM
  10.         port (
  11.            clk, reset : in STD_LOGIC;
  12.            from_play : in STD_LOGIC;
  13.            from_rx_done_tick : in STD_LOGIC;
  14.            from_delay_done : in STD_LOGIC;
  15.            from_dout : in STD_LOGIC_VECTOR(7 downto 0);
  16.            from_readbus : in STD_LOGIC_VECTOR(7 downto 0);
  17.          
  18.            --Outputs
  19.            to_addrbus : out STD_LOGIC_VECTOR(7 downto 0);
  20.            to_write_enable : out STD_LOGIC;
  21.            to_delay_on : out STD_LOGIC;
  22.            to_clear_FF : out STD_LOGIC
  23.               );
  24.     end component;
  25.  
  26.     signal clk, reset : std_logic;
  27.     signal from_play, from_rx_done_tick, from_delay_done   : std_logic; -- module inputs
  28.     signal from_dout, from_readbus : std_logic_vector(7 downto 0); -- module inputs
  29.    
  30.     --outpust
  31.     signal to_write_enable, to_delay_on, to_clear_FF   : std_logic; -- module outputs
  32.     signal to_addrbus   : std_logic_vector(7 downto 0); -- module outputs
  33.  
  34.     constant clk_period : time := 10 ns;
  35.  
  36. begin
  37.  
  38.     uut : FSM
  39.     port map (clk => clk, reset => reset,
  40.               from_rx_done_tick => from_rx_done_tick, from_play => from_play,
  41.               from_delay_done => from_delay_done, from_dout => from_dout,
  42.               from_readbus => from_readbus, to_write_enable => to_write_enable,
  43.               to_delay_on => to_delay_on, to_clear_ff => to_clear_ff,
  44.               to_addrbus => to_addrbus
  45.               );
  46.  
  47.  
  48. clk_process: process
  49.    begin
  50.       clk <= '0';
  51.       wait for clk_period/2;
  52.       clk <= '1';
  53.       wait for clk_period/2;
  54.    end process;
  55.  
  56. -- Stimuli process
  57.    stim_proc: process
  58.       begin
  59.          from_rx_done_tick <= '1';
  60.          from_delay_done <= '0';
  61.          from_play <= '0';
  62.          from_readbus <= "00000000";
  63.          --reset <= '1';      
  64.          wait for clk_period*2;
  65.          --reset <= '0';      
  66.          
  67.          from_readbus<= "11111111";      
  68.          from_play <= '1';
  69.          wait for clk_period*50;
  70.          from_delay_done <= '1';
  71.          from_dout <= "01011011";
  72.          from_play <= '1';
  73.        
  74.       end process ;
  75.  
  76. end tb;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement