OpenCores
URL https://opencores.org/ocsvn/generic_booth_multipler/generic_booth_multipler/trunk

Subversion Repositories generic_booth_multipler

[/] [generic_booth_multipler/] [trunk/] [rtl/] [benches/] [TB_BoothMultiplier.vhd] - Rev 3

Compare with Previous | Blame | View Log

-- TestBench Template 
 
  LIBRARY ieee;
  USE ieee.std_logic_1164.ALL;
  USE ieee.numeric_std.ALL;
 
  ENTITY TB_BoothMultiplier IS
  END TB_BoothMultiplier;
 
  ARCHITECTURE behavior OF TB_BoothMultiplier IS 
 
  -- Component Declaration
  component BoothMultiplier is
  generic(COUNTER_SIZE : positive := 2);
  port(
    clock : in  std_logic;
    clear : in   std_logic;
    start : in  std_logic;
    X_data: in   std_logic_vector(2**COUNTER_SIZE-1 downto 0);
    Y_data: in   std_logic_vector(2**COUNTER_SIZE-1 downto 0);
    ready : out std_logic;
    Result: out std_logic_vector(2*(2**COUNTER_SIZE)-1 downto 0));
  end component;
 
		signal	clock :std_logic := '0';
		signal	reset :std_logic := '0';
		signal	start :std_logic := '0';
		signal	ready4 :std_logic := '0';
		signal	ready8 :std_logic := '0';
 
		signal	X_data4 :std_logic_vector(3 downto 0);
		signal	Y_data4 :std_logic_vector(3 downto 0);
		signal	Result8 :std_logic_vector(7 downto 0);
    signal	X_data8 :std_logic_vector(7 downto 0);
    signal  Y_data8 :std_logic_vector(7 downto 0);
    signal  Result16 :std_logic_vector(15 downto 0);
 
  begin
	desing_under_test4bit: BoothMultiplier
	generic map(
    COUNTER_SIZE => 2)
	port map(
    clock => clock,
    clear => reset,
    start => start,
    X_data => X_data4,
    Y_data => Y_data4,
    ready => ready4,
    Result => Result8);
 
	desing_under_test8bit: BoothMultiplier
    generic map(
      COUNTER_SIZE => 3)
    port map(
      clock => clock,
      clear => reset,
      start => start,
      X_data => X_data8,
      Y_data => Y_data8,
      ready => ready8,
      Result => Result16);
 
	 clock 	<= not clock after 5 ns;	 
	 start 	<= '1' after 10 ns ;
 
  reset <=  '1' after 0010 ns ,'0' after 0020 ns;
--            '1' after 0410 ns, '0' after 0420 ns,	 
--            '1' after 0810 ns, '0' after 0820 ns,	 
--            '1' after 1210 ns, '0' after 1220 ns;
--            	 
  X_data8 <=  X"23" , -- 35
              X"03" after 0400 ns, -- 3
              X"FA" after 0800 ns, -- -8
              X"F5" after 1200 ns; -- -10
 
  Y_data8 <=  X"03" , -- 3 
              X"23" after 0400 ns, -- 35
              X"F5" after 0800 ns, -- -10
              X"FA" after 1200 ns;  -- -8
  X_data4 <=  X"3" , -- 35
              X"3" after 0400 ns, -- 3
              X"A" after 0800 ns, -- -8
              X"5" after 1200 ns; -- -10
 
  Y_data4 <=  X"3" , -- 3 
              X"3" after 0400 ns, -- 35
              X"5" after 0800 ns, -- -10
              X"A" after 1200 ns;  -- -8
 
end;
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.