-- ############################################################################ -- # Project : VHDL-Modellbibliothek # -- # # -- # Filename : tb_t_ff.vhd # -- # # -- # Schaltung : Testbench fuer Toggle-Flip-Flops in waehlbarer Anzahl; # -- # mit demselben Taktsignal und Resetsignal fuer # -- # alle Flip-Flops # -- # # -- # Modell : tb_t_ff # -- # # -- # # -- # Designer : Wolfgang Sehr # -- # Abteilung : Lehrstuhl fuer Rechnergestuetzten Schaltungsentwurf # -- # Datum : 30.03.1995 # -- ############################################################################ -- ############################################################################ -- # IEEE PACKAGES # -- ############################################################################ Library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; -- ############################################################################ ENTITY TB_t_ff IS GENERIC (X : INTEGER := ${ANZAHL} -- X: Anzahl der Flip-FLops ); END TB_t_ff; ARCHITECTURE behaviour OF TB_t_ff IS SIGNAL tb_t : UNSIGNED ((X-1) DOWNTO 0); SIGNAL tb_q : UNSIGNED ((X-1) DOWNTO 0); SIGNAL tb_nq : UNSIGNED ((X-1) DOWNTO 0); SIGNAL tb_reset : STD_LOGIC; SIGNAL tb_takt : STD_LOGIC; -- tb_t : Toggle-Signal fuer die einzelnen Flip-Flops -- : -- tb_reset : Reset-Signal fuer alle Flip-Flops -- : -- tb_takt : Taktsignal fuer alle Flip-Flops -- : COMPONENT t_ff PORT( ${TB_DEKL_EIN} ${TB_DEKL_AUS_Q} ${TB_DEKL_AUS_NQ} takt : IN STD_LOGIC; reset : IN STD_LOGIC ); END COMPONENT; BEGIN UUT: t_ff PORT MAP (${TB_ZUW_EIN} ${TB_ZUW_AUS_Q} ${TB_ZUW_AUS_NQ} takt => tb_takt, reset => tb_reset ); clock: PROCESS BEGIN tb_takt <= '0'; WAIT FOR 10 ns; LOOP tb_takt <= NOT(tb_takt); WAIT FOR 10 ns; END LOOP; END PROCESS; res: PROCESS BEGIN tb_reset <= '1'; WAIT FOR 30 ns; LOOP tb_reset <= '0'; WAIT FOR 1000 ns; tb_reset <= '1'; WAIT FOR 30 ns; END LOOP; END PROCESS; stim: PROCESS BEGIN tb_t <= CONV_UNSIGNED(0, tb_t'LENGTH); WAIT FOR 33 ns; LOOP tb_t <= tb_t + '1'; WAIT FOR 33 ns; END LOOP; END PROCESS; END behaviour; CONFIGURATION CFG_TB_t_ff OF TB_t_ff IS FOR behaviour FOR UUT: t_ff USE CONFIGURATION WORK.CFG_t_ff; END FOR; END FOR; END CFG_TB_t_ff;