--========================================================== -- Design units : StopWatchTestbench (Entity,Architecture,Configuration) -- -- File name : StopWatchTest.vhd -- -- Purpose : Testbench for Stopwatch Benchmark circuit -- -- Limitations : none -- -- Library : IEEE -- -- Dependencies : StopPackage,Pulse Generator,StopWatchBehave,StopWatchStruc -- -- Author : Claus-Juergen Thomas, REFT -- -- Simulator : Synopsys V3.1a on SUN SPARCstation 10 -- ----------------------------------------------------------- -- Revision list -- Version Author Date Changes -- -- v 1.0 cjt 18.01.96 new --========================================================= LIBRARY IEEE; USE IEEE.std_logic_1164.all; USE work.ELEMpack.all; USE work.StopPack.all; ENTITY StopWatchTestbench IS END StopWatchTestbench; --============================ARCHITECTURE================== ARCHITECTURE Structure OF StopWatchTestbench IS SIGNAL StartStop,Reset,Clk,clk_int:std_logic; -- Control data SIGNAL Tenths,Seconds,Tens:integer; -- output data MUT SIGNAL tens_1:std_logic_vector(2 DOWNTO 0); -- output SPEC tens of seconds SIGNAL tenths_1,seconds_1:std_logic_vector(3 DOWNTO 0); -- other outputs SPEC SIGNAL int_1,int_2,int_3:std_logic; BEGIN Clock : Pulse_Generator -- Stimuli generator PORT MAP(Clk); SPEC : StopWatchBehave -- Specifying behavioral description PORT MAP(StartStop, Reset, Clk, Tenths, Seconds, Tens); MUT : StopWatchStruc -- Structural description, PORT MAP(StartStop, -- to be tested Reset, Clk, tenths_1, seconds_1, tens_1); StartStop <= '0' AFTER 0 Ns, '1' AFTER 19500 Ns, '0' AFTER 760000 Ns; Reset <= '1' AFTER 0 Ns, '0' AFTER 10000 Ns, '1' AFTER 15000 Ns, '0' AFTER 780000 Ns, '1' AFTER 800000 Ns; END Structure; --============================CONFIGURATION================= CONFIGURATION StopWatchTestbench_Config OF StopWatchTestbench IS FOR Structure FOR Clock : Pulse_Generator USE ENTITY work.Pulse_Generator(Behavior); END FOR; FOR SPEC: StopWatchBehave USE ENTITY work.StopWatchBehave(Behavior); END FOR; FOR MUT: StopWatchStruc USE entity work.StopWatchStruc(Structure); END FOR; END FOR; END StopWatchTestbench_Config;