From 879aba4642bc6a8c738a6753cdabac1930c65e6f Mon Sep 17 00:00:00 2001 From: Erik Kooistra <kooistra@astron.nl> Date: Thu, 12 May 2016 10:59:05 +0000 Subject: [PATCH] Adapt tb_end for regresion test. --- .../tb/vhdl/tb_tb_tr_nonbonded.vhd | 21 +++++++++++++++---- .../tr_nonbonded/tb/vhdl/tb_tr_nonbonded.vhd | 12 ++++++++++- .../io/tr_xaui/tb/vhdl/tb_tb_tr_xaui.vhd | 6 +++++- 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/libraries/io/tr_nonbonded/tb/vhdl/tb_tb_tr_nonbonded.vhd b/libraries/io/tr_nonbonded/tb/vhdl/tb_tb_tr_nonbonded.vhd index 23ea1ca296..01e642e948 100644 --- a/libraries/io/tr_nonbonded/tb/vhdl/tb_tb_tr_nonbonded.vhd +++ b/libraries/io/tr_nonbonded/tb/vhdl/tb_tb_tr_nonbonded.vhd @@ -36,13 +36,26 @@ END tb_tb_tr_nonbonded; ARCHITECTURE tb OF tb_tb_tr_nonbonded IS + CONSTANT c_tb_end_vec : STD_LOGIC_VECTOR(7 DOWNTO 0) := (OTHERS=>'1'); + SIGNAL tb_end_vec : STD_LOGIC_VECTOR(7 DOWNTO 0) := c_tb_end_vec; -- sufficiently long to fit all tb instances + SIGNAL tb_end : STD_LOGIC := '0'; BEGIN - -- g_data_w : NATURAL := 32; - -- g_sim_level : NATURAL := 0 + -- g_tb_end : BOOLEAN := TRUE; -- when TRUE then tb_end ends this simulation, else a higher multi-testbench will end the simulation + -- g_data_w : NATURAL := 32; + -- g_sim_level : NATURAL := 1 - u_tech : ENTITY work.tb_tr_nonbonded GENERIC MAP (32, 0); - u_sim : ENTITY work.tb_tr_nonbonded GENERIC MAP (32, 1); + u_tech : ENTITY work.tb_tr_nonbonded GENERIC MAP (FALSE, 32, 0) PORT MAP (tb_end_vec(0)); + u_sim : ENTITY work.tb_tr_nonbonded GENERIC MAP (FALSE, 32, 1) PORT MAP (tb_end_vec(1)); + tb_end <= '1' WHEN tb_end_vec=c_tb_end_vec ELSE '0'; + + p_tb_end : PROCESS + BEGIN + WAIT UNTIL tb_end='1'; + WAIT FOR 1 ns; + REPORT "Multi tb simulation finished." SEVERITY FAILURE; + WAIT; + END PROCESS; END tb; diff --git a/libraries/io/tr_nonbonded/tb/vhdl/tb_tr_nonbonded.vhd b/libraries/io/tr_nonbonded/tb/vhdl/tb_tr_nonbonded.vhd index 8969b9a7ff..dd8942fb07 100644 --- a/libraries/io/tr_nonbonded/tb/vhdl/tb_tr_nonbonded.vhd +++ b/libraries/io/tr_nonbonded/tb/vhdl/tb_tr_nonbonded.vhd @@ -71,9 +71,13 @@ USE dp_lib.dp_stream_pkg.ALL; ENTITY tb_tr_nonbonded IS GENERIC ( + g_tb_end : BOOLEAN := TRUE; -- when TRUE then tb_end ends this simulation, else a higher multi-testbench will end the simulation g_data_w : NATURAL := 32; g_sim_level : NATURAL := 1 ); + PORT ( + tb_end : OUT STD_LOGIC + ); END ENTITY tb_tr_nonbonded; ARCHITECTURE str of tb_tr_nonbonded IS @@ -292,8 +296,14 @@ BEGIN -- Duration p_tb_end : PROCESS BEGIN + tb_end <= '0'; WAIT for 50 us; - ASSERT FALSE REPORT "Simulation finished." SEVERITY FAILURE; + tb_end <= '1'; + IF g_tb_end=FALSE THEN + REPORT "Tb Simulation finished." SEVERITY NOTE; + ELSE + REPORT "Tb Simulation finished." SEVERITY FAILURE; + END IF; WAIT; END PROCESS; diff --git a/libraries/io/tr_xaui/tb/vhdl/tb_tb_tr_xaui.vhd b/libraries/io/tr_xaui/tb/vhdl/tb_tb_tr_xaui.vhd index bdef46b6ca..8e4d2646f7 100644 --- a/libraries/io/tr_xaui/tb/vhdl/tb_tb_tr_xaui.vhd +++ b/libraries/io/tr_xaui/tb/vhdl/tb_tb_tr_xaui.vhd @@ -38,6 +38,7 @@ END tb_tb_tr_xaui; ARCHITECTURE tb OF tb_tb_tr_xaui IS CONSTANT c_tb_end_vec : STD_LOGIC_VECTOR(31 DOWNTO 0) := (OTHERS=>'1'); SIGNAL tb_end_vec : STD_LOGIC_VECTOR(31 DOWNTO 0) := c_tb_end_vec; -- sufficiently long to fit all tb instances + SIGNAL tb_end : STD_LOGIC := '0'; BEGIN -- g_technology : NATURAL := c_tech_stratixiv; @@ -47,9 +48,12 @@ BEGIN u_tr_xaui_sim_level_0 : ENTITY work.tb_tr_xaui GENERIC MAP (c_tech_select_default, FALSE, 0) PORT MAP (tb_end_vec(0)); u_tr_xaui_sim_level_1 : ENTITY work.tb_tr_xaui GENERIC MAP (c_tech_select_default, FALSE, 1) PORT MAP (tb_end_vec(1)); + tb_end <= '1' WHEN tb_end_vec=c_tb_end_vec ELSE '0'; + p_tb_end : PROCESS BEGIN - WAIT UNTIL tb_end_vec=c_tb_end_vec; + WAIT UNTIL tb_end='1'; + WAIT FOR 1 ns; REPORT "Multi tb simulation finished." SEVERITY FAILURE; WAIT; END PROCESS; -- GitLab