-- C:\JFB\XILINX\MWD\WORK\CHANNELCTRL\CHNCTRL -- VHDL Test Bench created by -- HDL Bencher 6.1i -- Fri Jun 09 15:34:43 2006 -- -- Notes: -- 1) This testbench has been automatically generated from -- your Test Bench Waveform -- 2) To use this as a user modifiable testbench do the following: -- - Save it as a file with a .vhd extension (i.e. File->Save As...) -- - Add it to your project as a testbench source (i.e. Project->Add Source...) -- LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_TEXTIO.ALL; USE STD.TEXTIO.ALL; ENTITY fifo3_tbw IS END fifo3_tbw; ARCHITECTURE testbench_arch OF fifo3_tbw IS -- If you get a compiler error on the following line, -- from the menu do Options->Configuration select VHDL 87 FILE RESULTS: TEXT OPEN WRITE_MODE IS "results.txt"; COMPONENT fifo3 PORT ( reset : In std_logic; clk : In std_logic; acqen : In std_logic; tmode : In std_logic; fifo3_en : In std_logic; rstdataready : In std_logic; dataready : Out std_logic; rst3 : Out std_logic; wen3 : Out std_logic ); END COMPONENT; SIGNAL reset : std_logic; SIGNAL clk : std_logic; SIGNAL acqen : std_logic; SIGNAL tmode : std_logic; SIGNAL fifo3_en : std_logic; SIGNAL rstdataready : std_logic; SIGNAL dataready : std_logic; SIGNAL rst3 : std_logic; SIGNAL wen3 : std_logic; BEGIN UUT : fifo3 PORT MAP ( reset => reset, clk => clk, acqen => acqen, tmode => tmode, fifo3_en => fifo3_en, rstdataready => rstdataready, dataready => dataready, rst3 => rst3, wen3 => wen3 ); PROCESS -- clock process for clk, BEGIN CLOCK_LOOP : LOOP clk <= transport '0'; WAIT FOR 6 ns; clk <= transport '1'; WAIT FOR 6 ns; WAIT FOR 9 ns; clk <= transport '0'; WAIT FOR 9 ns; END LOOP CLOCK_LOOP; END PROCESS; PROCESS -- Process for clk VARIABLE TX_OUT : LINE; VARIABLE TX_ERROR : INTEGER := 0; PROCEDURE CHECK_rst3( next_rst3 : std_logic; TX_TIME : INTEGER ) IS VARIABLE TX_STR : String(1 to 4096); VARIABLE TX_LOC : LINE; BEGIN -- If compiler error ("/=" is ambiguous) occurs in the next line of code -- change compiler settings to use explicit declarations only IF (rst3 /= next_rst3) THEN STD.TEXTIO.write(TX_LOC,string'("Error at time=")); STD.TEXTIO.write(TX_LOC, TX_TIME); STD.TEXTIO.write(TX_LOC,string'("ns rst3=")); IEEE.STD_LOGIC_TEXTIO.write(TX_LOC, rst3); STD.TEXTIO.write(TX_LOC, string'(", Expected = ")); IEEE.STD_LOGIC_TEXTIO.write(TX_LOC, next_rst3); STD.TEXTIO.write(TX_LOC, string'(" ")); TX_STR(TX_LOC.all'range) := TX_LOC.all; STD.TEXTIO.writeline(results, TX_LOC); STD.TEXTIO.Deallocate(TX_LOC); ASSERT (FALSE) REPORT TX_STR SEVERITY ERROR; TX_ERROR := TX_ERROR + 1; END IF; END; PROCEDURE CHECK_wen3( next_wen3 : std_logic; TX_TIME : INTEGER ) IS VARIABLE TX_STR : String(1 to 4096); VARIABLE TX_LOC : LINE; BEGIN -- If compiler error ("/=" is ambiguous) occurs in the next line of code -- change compiler settings to use explicit declarations only IF (wen3 /= next_wen3) THEN STD.TEXTIO.write(TX_LOC,string'("Error at time=")); STD.TEXTIO.write(TX_LOC, TX_TIME); STD.TEXTIO.write(TX_LOC,string'("ns wen3=")); IEEE.STD_LOGIC_TEXTIO.write(TX_LOC, wen3); STD.TEXTIO.write(TX_LOC, string'(", Expected = ")); IEEE.STD_LOGIC_TEXTIO.write(TX_LOC, next_wen3); STD.TEXTIO.write(TX_LOC, string'(" ")); TX_STR(TX_LOC.all'range) := TX_LOC.all; STD.TEXTIO.writeline(results, TX_LOC); STD.TEXTIO.Deallocate(TX_LOC); ASSERT (FALSE) REPORT TX_STR SEVERITY ERROR; TX_ERROR := TX_ERROR + 1; END IF; END; PROCEDURE CHECK_dataready( next_dataready : std_logic; TX_TIME : INTEGER ) IS VARIABLE TX_STR : String(1 to 4096); VARIABLE TX_LOC : LINE; BEGIN -- If compiler error ("/=" is ambiguous) occurs in the next line of code -- change compiler settings to use explicit declarations only IF (dataready /= next_dataready) THEN STD.TEXTIO.write(TX_LOC,string'("Error at time=")); STD.TEXTIO.write(TX_LOC, TX_TIME); STD.TEXTIO.write(TX_LOC,string'("ns dataready=")); IEEE.STD_LOGIC_TEXTIO.write(TX_LOC, dataready); STD.TEXTIO.write(TX_LOC, string'(", Expected = ")); IEEE.STD_LOGIC_TEXTIO.write(TX_LOC, next_dataready); STD.TEXTIO.write(TX_LOC, string'(" ")); TX_STR(TX_LOC.all'range) := TX_LOC.all; STD.TEXTIO.writeline(results, TX_LOC); STD.TEXTIO.Deallocate(TX_LOC); ASSERT (FALSE) REPORT TX_STR SEVERITY ERROR; TX_ERROR := TX_ERROR + 1; END IF; END; BEGIN -- -------------------- reset <= transport '0'; acqen <= transport '1'; fifo3_en <= transport '1'; -- -------------------- WAIT FOR 12 ns; -- Time=12 ns CHECK_rst3('0',12); CHECK_wen3('1',12); CHECK_dataready('0',12); -- -------------------- WAIT FOR 30 ns; -- Time=42 ns CHECK_rst3('0',42); CHECK_wen3('1',42); CHECK_dataready('0',42); -- -------------------- WAIT FOR 30 ns; -- Time=72 ns CHECK_rst3('0',72); CHECK_wen3('1',72); CHECK_dataready('0',72); -- -------------------- WAIT FOR 30 ns; -- Time=102 ns CHECK_rst3('0',102); CHECK_wen3('1',102); CHECK_dataready('0',102); -- -------------------- WAIT FOR 18 ns; -- Time=120 ns reset <= transport '1'; -- -------------------- WAIT FOR 12 ns; -- Time=132 ns CHECK_rst3('0',132); CHECK_wen3('1',132); CHECK_dataready('0',132); -- -------------------- WAIT FOR 30 ns; -- Time=162 ns CHECK_rst3('0',162); CHECK_wen3('1',162); CHECK_dataready('0',162); -- -------------------- WAIT FOR 18 ns; -- Time=180 ns acqen <= transport '0'; -- -------------------- WAIT FOR 12 ns; -- Time=192 ns CHECK_rst3('1',192); CHECK_wen3('1',192); CHECK_dataready('0',192); -- -------------------- WAIT FOR 30 ns; -- Time=222 ns CHECK_rst3('1',222); CHECK_wen3('1',222); CHECK_dataready('0',222); -- -------------------- WAIT FOR 30 ns; -- Time=252 ns CHECK_rst3('1',252); CHECK_wen3('1',252); CHECK_dataready('0',252); -- -------------------- WAIT FOR 30 ns; -- Time=282 ns CHECK_rst3('1',282); CHECK_wen3('1',282); CHECK_dataready('0',282); -- -------------------- WAIT FOR 30 ns; -- Time=312 ns CHECK_rst3('1',312); CHECK_wen3('1',312); CHECK_dataready('0',312); -- -------------------- WAIT FOR 30 ns; -- Time=342 ns CHECK_rst3('1',342); CHECK_wen3('1',342); CHECK_dataready('0',342); -- -------------------- WAIT FOR 30 ns; -- Time=372 ns CHECK_rst3('1',372); CHECK_wen3('1',372); CHECK_dataready('0',372); -- -------------------- WAIT FOR 30 ns; -- Time=402 ns CHECK_rst3('1',402); CHECK_wen3('1',402); CHECK_dataready('0',402); -- -------------------- WAIT FOR 30 ns; -- Time=432 ns CHECK_rst3('1',432); CHECK_wen3('1',432); CHECK_dataready('0',432); -- -------------------- WAIT FOR 30 ns; -- Time=462 ns CHECK_rst3('1',462); CHECK_wen3('1',462); CHECK_dataready('0',462); -- -------------------- WAIT FOR 30 ns; -- Time=492 ns CHECK_rst3('1',492); CHECK_wen3('1',492); CHECK_dataready('0',492); -- -------------------- WAIT FOR 30 ns; -- Time=522 ns CHECK_rst3('1',522); CHECK_wen3('1',522); CHECK_dataready('0',522); -- -------------------- WAIT FOR 30 ns; -- Time=552 ns CHECK_rst3('1',552); CHECK_wen3('1',552); CHECK_dataready('0',552); -- -------------------- WAIT FOR 30 ns; -- Time=582 ns CHECK_rst3('1',582); CHECK_wen3('1',582); CHECK_dataready('0',582); -- -------------------- WAIT FOR 30 ns; -- Time=612 ns CHECK_rst3('1',612); CHECK_wen3('1',612); CHECK_dataready('0',612); -- -------------------- WAIT FOR 30 ns; -- Time=642 ns CHECK_rst3('1',642); CHECK_wen3('1',642); CHECK_dataready('0',642); -- -------------------- WAIT FOR 18 ns; -- Time=660 ns fifo3_en <= transport '0'; -- -------------------- WAIT FOR 12 ns; -- Time=672 ns CHECK_rst3('1',672); CHECK_wen3('0',672); CHECK_dataready('0',672); -- -------------------- WAIT FOR 30 ns; -- Time=702 ns CHECK_rst3('1',702); CHECK_wen3('0',702); CHECK_dataready('0',702); -- -------------------- WAIT FOR 30 ns; -- Time=732 ns CHECK_rst3('1',732); CHECK_wen3('0',732); CHECK_dataready('0',732); -- -------------------- WAIT FOR 30 ns; -- Time=762 ns CHECK_rst3('1',762); CHECK_wen3('0',762); CHECK_dataready('0',762); -- -------------------- WAIT FOR 30 ns; -- Time=792 ns CHECK_rst3('1',792); CHECK_wen3('0',792); CHECK_dataready('0',792); -- -------------------- WAIT FOR 30 ns; -- Time=822 ns CHECK_rst3('1',822); CHECK_wen3('0',822); CHECK_dataready('0',822); -- -------------------- WAIT FOR 30 ns; -- Time=852 ns CHECK_rst3('1',852); CHECK_wen3('0',852); CHECK_dataready('0',852); -- -------------------- WAIT FOR 30 ns; -- Time=882 ns CHECK_rst3('1',882); CHECK_wen3('0',882); CHECK_dataready('0',882); -- -------------------- WAIT FOR 30 ns; -- Time=912 ns CHECK_rst3('1',912); CHECK_wen3('0',912); CHECK_dataready('0',912); -- -------------------- WAIT FOR 30 ns; -- Time=942 ns CHECK_rst3('1',942); CHECK_wen3('0',942); CHECK_dataready('0',942); -- -------------------- WAIT FOR 30 ns; -- Time=972 ns CHECK_rst3('1',972); CHECK_wen3('0',972); CHECK_dataready('0',972); -- -------------------- WAIT FOR 30 ns; -- Time=1002 ns CHECK_rst3('1',1002); CHECK_wen3('0',1002); CHECK_dataready('0',1002); -- -------------------- WAIT FOR 30 ns; -- Time=1032 ns CHECK_rst3('1',1032); CHECK_wen3('0',1032); CHECK_dataready('0',1032); -- -------------------- WAIT FOR 30 ns; -- Time=1062 ns CHECK_rst3('1',1062); CHECK_wen3('0',1062); CHECK_dataready('0',1062); -- -------------------- WAIT FOR 30 ns; -- Time=1092 ns CHECK_rst3('1',1092); CHECK_wen3('0',1092); CHECK_dataready('0',1092); -- -------------------- WAIT FOR 30 ns; -- Time=1122 ns CHECK_rst3('1',1122); CHECK_wen3('0',1122); CHECK_dataready('0',1122); -- -------------------- WAIT FOR 30 ns; -- Time=1152 ns CHECK_rst3('1',1152); CHECK_wen3('0',1152); CHECK_dataready('0',1152); -- -------------------- WAIT FOR 30 ns; -- Time=1182 ns CHECK_rst3('1',1182); CHECK_wen3('0',1182); CHECK_dataready('0',1182); -- -------------------- WAIT FOR 30 ns; -- Time=1212 ns CHECK_rst3('1',1212); CHECK_wen3('0',1212); CHECK_dataready('0',1212); -- -------------------- WAIT FOR 30 ns; -- Time=1242 ns CHECK_rst3('1',1242); CHECK_wen3('0',1242); CHECK_dataready('0',1242); -- -------------------- WAIT FOR 30 ns; -- Time=1272 ns CHECK_rst3('1',1272); CHECK_wen3('0',1272); CHECK_dataready('0',1272); -- -------------------- WAIT FOR 30 ns; -- Time=1302 ns CHECK_rst3('1',1302); CHECK_wen3('0',1302); CHECK_dataready('0',1302); -- -------------------- WAIT FOR 30 ns; -- Time=1332 ns CHECK_rst3('1',1332); CHECK_wen3('0',1332); CHECK_dataready('0',1332); -- -------------------- WAIT FOR 18 ns; -- Time=1350 ns fifo3_en <= transport '1'; -- -------------------- WAIT FOR 12 ns; -- Time=1362 ns CHECK_rst3('1',1362); CHECK_wen3('0',1362); CHECK_dataready('0',1362); -- -------------------- WAIT FOR 30 ns; -- Time=1392 ns CHECK_rst3('1',1392); CHECK_wen3('0',1392); CHECK_dataready('0',1392); -- -------------------- WAIT FOR 30 ns; -- Time=1422 ns CHECK_rst3('1',1422); CHECK_wen3('0',1422); CHECK_dataready('0',1422); -- -------------------- WAIT FOR 30 ns; -- Time=1452 ns CHECK_rst3('1',1452); CHECK_wen3('0',1452); CHECK_dataready('0',1452); -- -------------------- WAIT FOR 30 ns; -- Time=1482 ns CHECK_rst3('1',1482); CHECK_wen3('0',1482); CHECK_dataready('0',1482); -- -------------------- WAIT FOR 30 ns; -- Time=1512 ns CHECK_rst3('1',1512); CHECK_wen3('0',1512); CHECK_dataready('0',1512); -- -------------------- WAIT FOR 30 ns; -- Time=1542 ns CHECK_rst3('1',1542); CHECK_wen3('0',1542); CHECK_dataready('0',1542); -- -------------------- WAIT FOR 30 ns; -- Time=1572 ns CHECK_rst3('1',1572); CHECK_wen3('0',1572); CHECK_dataready('0',1572); -- -------------------- WAIT FOR 30 ns; -- Time=1602 ns CHECK_rst3('1',1602); CHECK_wen3('0',1602); CHECK_dataready('0',1602); -- -------------------- WAIT FOR 30 ns; -- Time=1632 ns CHECK_rst3('1',1632); CHECK_wen3('0',1632); CHECK_dataready('0',1632); -- -------------------- WAIT FOR 30 ns; -- Time=1662 ns CHECK_rst3('1',1662); CHECK_wen3('0',1662); CHECK_dataready('0',1662); -- -------------------- WAIT FOR 30 ns; -- Time=1692 ns CHECK_rst3('1',1692); CHECK_wen3('0',1692); CHECK_dataready('0',1692); -- -------------------- WAIT FOR 30 ns; -- Time=1722 ns CHECK_rst3('1',1722); CHECK_wen3('0',1722); CHECK_dataready('0',1722); -- -------------------- WAIT FOR 30 ns; -- Time=1752 ns CHECK_rst3('1',1752); CHECK_wen3('0',1752); CHECK_dataready('0',1752); -- -------------------- WAIT FOR 30 ns; -- Time=1782 ns CHECK_rst3('1',1782); CHECK_wen3('0',1782); CHECK_dataready('0',1782); -- -------------------- WAIT FOR 30 ns; -- Time=1812 ns CHECK_rst3('1',1812); CHECK_wen3('0',1812); CHECK_dataready('0',1812); -- -------------------- WAIT FOR 30 ns; -- Time=1842 ns CHECK_rst3('1',1842); CHECK_wen3('0',1842); CHECK_dataready('0',1842); -- -------------------- WAIT FOR 30 ns; -- Time=1872 ns CHECK_rst3('1',1872); CHECK_wen3('0',1872); CHECK_dataready('0',1872); -- -------------------- WAIT FOR 30 ns; -- Time=1902 ns CHECK_rst3('1',1902); CHECK_wen3('0',1902); CHECK_dataready('0',1902); -- -------------------- WAIT FOR 30 ns; -- Time=1932 ns CHECK_rst3('1',1932); CHECK_wen3('0',1932); CHECK_dataready('0',1932); -- -------------------- WAIT FOR 30 ns; -- Time=1962 ns CHECK_rst3('1',1962); CHECK_wen3('0',1962); CHECK_dataready('0',1962); -- -------------------- WAIT FOR 30 ns; -- Time=1992 ns CHECK_rst3('1',1992); CHECK_wen3('0',1992); CHECK_dataready('0',1992); -- -------------------- WAIT FOR 30 ns; -- Time=2022 ns CHECK_rst3('1',2022); CHECK_wen3('0',2022); CHECK_dataready('0',2022); -- -------------------- WAIT FOR 30 ns; -- Time=2052 ns CHECK_rst3('1',2052); CHECK_wen3('0',2052); CHECK_dataready('0',2052); -- -------------------- WAIT FOR 30 ns; -- Time=2082 ns CHECK_rst3('1',2082); CHECK_wen3('0',2082); CHECK_dataready('0',2082); -- -------------------- WAIT FOR 30 ns; -- Time=2112 ns CHECK_rst3('1',2112); CHECK_wen3('0',2112); CHECK_dataready('0',2112); -- -------------------- WAIT FOR 30 ns; -- Time=2142 ns CHECK_rst3('1',2142); CHECK_wen3('0',2142); CHECK_dataready('0',2142); -- -------------------- WAIT FOR 30 ns; -- Time=2172 ns CHECK_rst3('1',2172); CHECK_wen3('0',2172); CHECK_dataready('0',2172); -- -------------------- WAIT FOR 30 ns; -- Time=2202 ns CHECK_rst3('1',2202); CHECK_wen3('0',2202); CHECK_dataready('0',2202); -- -------------------- WAIT FOR 30 ns; -- Time=2232 ns CHECK_rst3('1',2232); CHECK_wen3('0',2232); CHECK_dataready('0',2232); -- -------------------- WAIT FOR 30 ns; -- Time=2262 ns CHECK_rst3('1',2262); CHECK_wen3('0',2262); CHECK_dataready('0',2262); -- -------------------- WAIT FOR 30 ns; -- Time=2292 ns CHECK_rst3('1',2292); CHECK_wen3('0',2292); CHECK_dataready('0',2292); -- -------------------- WAIT FOR 30 ns; -- Time=2322 ns CHECK_rst3('1',2322); CHECK_wen3('0',2322); CHECK_dataready('0',2322); -- -------------------- WAIT FOR 30 ns; -- Time=2352 ns CHECK_rst3('1',2352); CHECK_wen3('0',2352); CHECK_dataready('0',2352); -- -------------------- WAIT FOR 30 ns; -- Time=2382 ns CHECK_rst3('1',2382); CHECK_wen3('0',2382); CHECK_dataready('0',2382); -- -------------------- WAIT FOR 30 ns; -- Time=2412 ns CHECK_rst3('1',2412); CHECK_wen3('0',2412); CHECK_dataready('0',2412); -- -------------------- WAIT FOR 30 ns; -- Time=2442 ns CHECK_rst3('1',2442); CHECK_wen3('0',2442); CHECK_dataready('0',2442); -- -------------------- WAIT FOR 30 ns; -- Time=2472 ns CHECK_rst3('1',2472); CHECK_wen3('0',2472); CHECK_dataready('0',2472); -- -------------------- WAIT FOR 30 ns; -- Time=2502 ns CHECK_rst3('1',2502); CHECK_wen3('0',2502); CHECK_dataready('0',2502); -- -------------------- WAIT FOR 30 ns; -- Time=2532 ns CHECK_rst3('1',2532); CHECK_wen3('0',2532); CHECK_dataready('0',2532); -- -------------------- WAIT FOR 30 ns; -- Time=2562 ns CHECK_rst3('1',2562); CHECK_wen3('0',2562); CHECK_dataready('0',2562); -- -------------------- WAIT FOR 30 ns; -- Time=2592 ns CHECK_rst3('1',2592); CHECK_wen3('0',2592); CHECK_dataready('0',2592); -- -------------------- WAIT FOR 30 ns; -- Time=2622 ns CHECK_rst3('1',2622); CHECK_wen3('0',2622); CHECK_dataready('0',2622); -- -------------------- WAIT FOR 30 ns; -- Time=2652 ns CHECK_rst3('1',2652); CHECK_wen3('0',2652); CHECK_dataready('0',2652); -- -------------------- WAIT FOR 30 ns; -- Time=2682 ns CHECK_rst3('1',2682); CHECK_wen3('0',2682); CHECK_dataready('0',2682); -- -------------------- WAIT FOR 30 ns; -- Time=2712 ns CHECK_rst3('1',2712); CHECK_wen3('0',2712); CHECK_dataready('0',2712); -- -------------------- WAIT FOR 30 ns; -- Time=2742 ns CHECK_rst3('1',2742); CHECK_wen3('0',2742); CHECK_dataready('0',2742); -- -------------------- WAIT FOR 30 ns; -- Time=2772 ns CHECK_rst3('1',2772); CHECK_wen3('0',2772); CHECK_dataready('0',2772); -- -------------------- WAIT FOR 30 ns; -- Time=2802 ns CHECK_rst3('1',2802); CHECK_wen3('0',2802); CHECK_dataready('0',2802); -- -------------------- WAIT FOR 30 ns; -- Time=2832 ns CHECK_rst3('1',2832); CHECK_wen3('0',2832); CHECK_dataready('0',2832); -- -------------------- WAIT FOR 30 ns; -- Time=2862 ns CHECK_rst3('1',2862); CHECK_wen3('0',2862); CHECK_dataready('0',2862); -- -------------------- WAIT FOR 30 ns; -- Time=2892 ns CHECK_rst3('1',2892); CHECK_wen3('0',2892); CHECK_dataready('0',2892); -- -------------------- WAIT FOR 30 ns; -- Time=2922 ns CHECK_rst3('1',2922); CHECK_wen3('0',2922); CHECK_dataready('0',2922); -- -------------------- WAIT FOR 30 ns; -- Time=2952 ns CHECK_rst3('1',2952); CHECK_wen3('0',2952); CHECK_dataready('0',2952); -- -------------------- WAIT FOR 30 ns; -- Time=2982 ns CHECK_rst3('1',2982); CHECK_wen3('0',2982); CHECK_dataready('0',2982); -- -------------------- WAIT FOR 30 ns; -- Time=3012 ns CHECK_rst3('1',3012); CHECK_wen3('0',3012); CHECK_dataready('0',3012); -- -------------------- WAIT FOR 30 ns; -- Time=3042 ns CHECK_rst3('1',3042); CHECK_wen3('0',3042); CHECK_dataready('0',3042); -- -------------------- WAIT FOR 30 ns; -- Time=3072 ns CHECK_rst3('1',3072); CHECK_wen3('0',3072); CHECK_dataready('0',3072); -- -------------------- WAIT FOR 30 ns; -- Time=3102 ns CHECK_rst3('1',3102); CHECK_wen3('0',3102); CHECK_dataready('0',3102); -- -------------------- WAIT FOR 30 ns; -- Time=3132 ns CHECK_rst3('1',3132); CHECK_wen3('0',3132); CHECK_dataready('0',3132); -- -------------------- WAIT FOR 18 ns; -- Time=3150 ns -- -------------------- IF (TX_ERROR = 0) THEN STD.TEXTIO.write(TX_OUT,string'("No errors or warnings")); STD.TEXTIO.writeline(results, TX_OUT); ASSERT (FALSE) REPORT "Simulation successful (not a failure). No problems detected. " SEVERITY FAILURE; ELSE STD.TEXTIO.write(TX_OUT, TX_ERROR); STD.TEXTIO.write(TX_OUT, string'( " errors found in simulation")); STD.TEXTIO.writeline(results, TX_OUT); ASSERT (FALSE) REPORT "Errors found during simulation" SEVERITY FAILURE; END IF; END PROCESS; END testbench_arch; CONFIGURATION fifo3_cfg OF fifo3_tbw IS FOR testbench_arch END FOR; END fifo3_cfg;