--========================================================== -- Design units : MinMaxStim(Entity,Architecture) -- -- File name : MinMax_Stimuli.vhd -- -- Purpose : Stimuli Generator for MinMax-Circuit -- -- Limitations : -- -- Library : IEEE -- -- Dependencies : -- -- Author : Claus-Juergen Thomas, REFT -- -- Simulator : Synopsys V3.1a on SUN SPARCstation 10 -- ----------------------------------------------------------- -- Revision list -- Version Author Date Changes -- -- v1.0 cjt 13.12.95 new --========================================================= LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY MinMaxStim IS GENERIC (M : positive := 9); PORT(DataIn : OUT std_logic_vector(M-1 DOWNTO 0); DataInBeh : OUT integer; Enable : OUT std_logic; Clk : OUT std_logic; Clear : OUT std_logic; Reset : OUT std_logic); END MinMaxStim; --============================ARCHITECTURE================== ARCHITECTURE Behavior OF MinMaxStim IS BEGIN DataIn <= "000000010" AFTER 20 Ns, -- 0 "000001010" AFTER 120 Ns, -- 10 "000001111" AFTER 220 Ns, -- 15 "111111101" AFTER 320 Ns, -- -3 "000000110" AFTER 420 Ns, -- 6 "000001000" AFTER 520 Ns, -- 8 "111111100" AFTER 620 Ns, -- -4 "000000010" AFTER 720 Ns, -- 2 "000010100" AFTER 820 Ns, -- 20 "001111000" AFTER 920 Ns, -- 120 "101111111" AFTER 1020 Ns, -- -130 "000000101" AFTER 1120 Ns, -- 5 "000000100" AFTER 1220 Ns; -- 4 DataInBeh <= 2 AFTER 20 Ns, 10 AFTER 120 Ns, 15 AFTER 220 Ns, -3 AFTER 320 Ns, 6 AFTER 420 Ns, 8 AFTER 520 Ns, -4 AFTER 620 Ns, 2 AFTER 720 Ns, 20 AFTER 820 Ns, 120 AFTER 920 Ns, -130 AFTER 1020 Ns, 5 AFTER 1120 Ns, 4 AFTER 1220 Ns; ---------------------------------------------------------------------------------- -- Show Behavior for control signals --------------------------------------------------------------------------------- -- First: (- 350 Ns) : Clear = '1' => Out = '0', no matter what other signals do -- Second: (- 530 Ns) : Clear = '0', Enable = '0' => Out = Last Value -- Third: (- 830 Ns) : Clear = '0', Enable = '1', Reset = '1' => Out follows In --Clear <= '0' AFTER 10 Ns, -- '1' AFTER 130 Ns, -- '0' AFTER 320 Ns; -- -- --Reset <= '0' AFTER 10 Ns, -- '1' AFTER 20 Ns, -- '0' AFTER 70 Ns, -- '1' AFTER 170 Ns, -- '0' AFTER 210 Ns, -- '1' AFTER 530 Ns; -- --Enable <= '0' AFTER 10 Ns, -- '1' AFTER 30 Ns, -- '0' AFTER 100 Ns, -- '1' AFTER 260 Ns, -- '0' AFTER 370 Ns, -- '1' AFTER 530 Ns; -- ------------------------------------------------------------------------------ -- Show Behavior for MinMax computing ------------------------------------------------------------------------------ Clear <= '0' AFTER 0 Ns; Reset <= '0' AFTER 0 Ns, '1' AFTER 10 Ns, '0' AFTER 70 Ns; Enable <= '0' AFTER 0 Ns, '1' AFTER 80 Ns; -- Clock signal Clk <= '0' AFTER 0 Ns, '1' AFTER 50 Ns, '0' AFTER 100 Ns, '1' AFTER 150 Ns, '0' AFTER 200 Ns, '1' AFTER 250 Ns, '0' AFTER 300 Ns, '1' AFTER 350 Ns, '0' AFTER 400 Ns, '1' AFTER 450 Ns, '0' AFTER 500 Ns, '1' AFTER 550 Ns, '0' AFTER 600 Ns, '1' AFTER 650 Ns, '0' AFTER 700 Ns, '1' AFTER 750 Ns, '0' AFTER 800 Ns, '1' AFTER 850 Ns, '0' AFTER 900 Ns, '1' AFTER 950 Ns, '0' AFTER 1000 Ns, '1' AFTER 1050 Ns, '0' AFTER 1100 Ns, '1' AFTER 1150 Ns, '0' AFTER 1200 Ns, '1' AFTER 1250 Ns, '0' AFTER 1300 Ns, '1' AFTER 1350 Ns, '0' AFTER 1400 Ns, '1' AFTER 1450 Ns, '0' AFTER 1500 Ns, '1' AFTER 1550 Ns; END Behavior;