-- ############################################################################ -- # Project : VHDL-Modellbibliothek # -- # # -- # Filename : tb_${FILENAME}.vhd # -- # # -- # Schaltung : Testbench fuer D-Flip-Flops in waehlbarer Anzahl; # -- # mit demselben Taktsignal und Resetsignal fuer # -- # alle Flip-Flops # -- # # -- # Modell : tb_dff # -- # # -- # Designer : Wolfgang Sehr # -- # Abteilung : Lehrstul 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_d_ff IS GENERIC (X : INTEGER := ${ANZAHL} -- X: Anzahl der Flip-FLops ); END TB_d_ff; ARCHITECTURE behaviour OF TB_d_ff IS SIGNAL tb_d : 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_d : D-Signal fuer die einzelnen Flip-Flops -- : -- tb_reset : Reset-Signal fuer alle Flip-Flops -- : -- tb_takt : Taktsignal fuer alle Flip-Flops -- : COMPONENT d_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: d_ff PORT MAP (${TB_ZUW_EIN} ${TB_ZUW_AUS_Q} ${TB_ZUW_AUS_NQ} reset => tb_reset, takt => tb_takt ); 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_d <= CONV_UNSIGNED(0, tb_d'LENGTH); WAIT FOR 33 ns; LOOP tb_d <= tb_d + '1'; WAIT FOR 33 ns; END LOOP; END PROCESS; END behaviour; CONFIGURATION CFG_TB_d_ff OF TB_d_ff IS FOR behaviour FOR UUT: d_ff USE CONFIGURATION WORK.CFG_d_ff; END FOR; END FOR; END CFG_TB_d_ff;