-- ############################################################################ -- # Project : VHDL-Modellbibliothek # -- # # -- # Filename : tb_fog_sync_counter.vhd # -- # # -- # Schaltung : Testbench fuer parametrierbaren binaeren synchronen # -- # Auf-/Abwaertszaehler # -- # # -- # Modell : tb_fog_sync_counter # -- # # -- # Designer : Wolfgang Sehr; ueberarbeitet von Stefan Schmechtig # -- # Abteilung : Lehrstul fuer rechnergestuetzten Schaltungsentwurf # -- # Datum : 22.02.1995 # -- ############################################################################ -- ############################################################################ -- # IEEE PACKAGES # -- ############################################################################ Library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; -- ############################################################################ -- ############################################################################ -- # PROJECT - SPEZIFISCHE PACKAGES # -- ############################################################################ use WORK.local.all; -- ############################################################################ ENTITY TB_fog_sync_counter IS GENERIC (MAX: INTEGER := @MAX); END TB_fog_sync_counter; ARCHITECTURE behaviour OF TB_fog_sync_counter IS SIGNAL tb_takt : STD_LOGIC; SIGNAL tb_reset : STD_LOGIC; SIGNAL tb_mode : STD_LOGIC; SIGNAL tb_zaehlwert : UNSIGNED(LOG_2(MAX) DOWNTO 0); SIGNAL tb_null_detect : STD_LOGIC; COMPONENT fog_sync_counter PORT( takt : IN STD_LOGIC; reset : IN STD_LOGIC; mode : IN STD_LOGIC; zaehlwert : OUT UNSIGNED(LOG_2(MAX) DOWNTO 0); null_detect : OUT STD_LOGIC ); END COMPONENT; BEGIN UUT: fog_sync_counter -- einzige Schaltung PORT MAP( takt => tb_takt, reset => tb_reset, mode => tb_mode, zaehlwert => tb_zaehlwert, null_detect => tb_null_detect ); stim_1: PROCESS BEGIN tb_reset <= '1'; WAIT FOR 10 ns; LOOP tb_reset <= NOT(tb_reset); WAIT FOR 1000 ns; tb_reset <= NOT(tb_reset); WAIT FOR 50 ns; END LOOP; END PROCESS; stim_2: PROCESS BEGIN tb_takt <= '1'; WAIT FOR 15 ns; LOOP tb_takt <= NOT(tb_takt); WAIT FOR 15 ns; END LOOP; END PROCESS; stim_3: PROCESS BEGIN tb_mode <= '1'; WAIT FOR 150 ns; LOOP tb_mode <= not(tb_mode); WAIT FOR 150 ns; END LOOP; END PROCESS; END behaviour; CONFIGURATION CFG_TB_fog_sync_counter OF TB_fog_sync_counter IS FOR behaviour FOR UUT: fog_sync_counter USE CONFIGURATION WORK.CFG_fog_sync_counter; END FOR; END FOR; END CFG_TB_fog_sync_counter;