--========================================================== -- Design units : MULTtb (Testbench) -- -- File name : MULTtb.vhd -- -- Purpose : Testbench for multiplier array benchmark -- -- Limitations : None -- -- Library : WORK -- -- Dependencies : IEEE, MULTpack -- -- Author : Hans-Peter Eich, REFT -- -- Simulator : Synopsys V3.1a on Sun SPARCstation 10 -- ----------------------------------------------------------- -- Revision list -- Version Author Date Changes -- -- V1.0 hpe 14.01.95 ESA standard -- V1.0 cjt 07.06.95 none --========================================================= LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE work.MULTpack.ALL; ENTITY MULTtb IS END MULTtb; --============================ARCHITECTURE================== ARCHITECTURE Testbench OF MULTtb IS CONSTANT N: POSITIVE := 4; SIGNAL A : Integer RANGE 2**N-1 DOWNTO 0; -- data in SIGNAL B : Integer RANGE 2**N-1 DOWNTO 0; -- data in SIGNAL P : Integer RANGE (2**(2*N))-1 DOWNTO 0; -- Integer out SIGNAL Avec : std_logic_vector(N-1 DOWNTO 0); -- data in SIGNAL Bvec : std_logic_vector(N-1 DOWNTO 0); -- data in SIGNAL Pvec : std_logic_vector(2*N-1 DOWNTO 0); -- std_logic_vector out BEGIN behavior_model: MULTbehave GENERIC MAP(N) PORT MAP(A => A, B => B, P => P); structure_model: MULTstruc GENERIC MAP(N) PORT MAP(A => Avec, B => Bvec, P => Pvec); A <= 15 AFTER 10 Ns, 10 AFTER 60 Ns, 8 AFTER 120 Ns, 5 AFTER 180 Ns; B <= 15 AFTER 10 Ns, 12 AFTER 60 Ns, 7 AFTER 120 Ns, 0 AFTER 180 Ns; Avec <= "1111" AFTER 10 Ns,"1010" AFTER 60 Ns, "1000" AFTER 120 Ns,"0000" AFTER 180 Ns; Bvec <= "1111" AFTER 10 Ns,"1100" AFTER 60 Ns, "1000" AFTER 120 Ns,"0000" AFTER 180 Ns; END Testbench; --============================CONFIGURATION================= CONFIGURATION MULTtb_Config OF MULTtb IS FOR Testbench FOR behavior_model : MULTbehave USE ENTITY work.MULTbehave(Behavior); END FOR; FOR structure_model : MULTstruc USE ENTITY work.MULTstruc(Structure); END FOR; END FOR; END MULTtb_Config;