From f257e989c8475111a312bd21054a9fc131e9c8df Mon Sep 17 00:00:00 2001 From: Erik Kooistra <kooistra@astron.nl> Date: Wed, 11 Mar 2015 11:10:46 +0000 Subject: [PATCH] The tb works for active and random stimuli, but only for active verify. --- .../base/dp/tb/vhdl/tb_tb_dp_repack_dev.vhd | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/libraries/base/dp/tb/vhdl/tb_tb_dp_repack_dev.vhd b/libraries/base/dp/tb/vhdl/tb_tb_dp_repack_dev.vhd index 291759cdc7..36312b9da7 100644 --- a/libraries/base/dp/tb/vhdl/tb_tb_dp_repack_dev.vhd +++ b/libraries/base/dp/tb/vhdl/tb_tb_dp_repack_dev.vhd @@ -55,38 +55,38 @@ BEGIN -- g_pkt_len : NATURAL := 2; -- g_pkt_gap : NATURAL := 0 - g_flow_control_stimuli : FOR I IN 0 TO 0 GENERATE -- 0 = e_active, 1 = e_random, 2 = e_pulse + g_flow_control_stimuli : FOR I IN 0 TO 1 GENERATE -- 0 = e_active, 1 = e_random, 2 = e_pulse g_flow_control_verify : FOR J IN 0 TO 0 GENERATE -- 0 = e_active, 1 = e_random, 2 = e_pulse -- no repack - u_16_1_16_1_len_10_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 16, 1, 16, 1, FALSE, c_nof_repeat, 10, 0); -- g_pkt_len > g_in_nof_words - u_16_1_16_1_len_3_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 16, 1, 16, 1, FALSE, c_nof_repeat, 3, 0); -- g_pkt_len > g_in_nof_words, odd - u_16_1_16_1_len_2_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 16, 1, 16, 1, FALSE, c_nof_repeat, 2, 0); -- g_pkt_len > g_in_nof_words, even - u_16_1_16_1_len_1_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 16, 1, 16, 1, FALSE, c_nof_repeat, 1, 0); -- g_pkt_len = g_in_nof_words + u_16_1_16_1_len_10_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 16, 1, 16, 1, FALSE, c_nof_repeat, 10, 0); -- g_pkt_len > g_in_nof_words + u_16_1_16_1_len_3_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 16, 1, 16, 1, FALSE, c_nof_repeat, 3, 0); -- g_pkt_len > g_in_nof_words, odd + u_16_1_16_1_len_2_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 16, 1, 16, 1, FALSE, c_nof_repeat, 2, 0); -- g_pkt_len > g_in_nof_words, even + u_16_1_16_1_len_1_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 16, 1, 16, 1, FALSE, c_nof_repeat, 1, 0); -- g_pkt_len = g_in_nof_words - u_16_1_16_1_len_1_gap_1 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 16, 1, 16, 1, FALSE, c_nof_repeat, 1, 1); -- g_pkt_gap > 0 + u_16_1_16_1_len_1_gap_1 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 16, 1, 16, 1, FALSE, c_nof_repeat, 1, 1); -- g_pkt_gap > 0 -- g_in_nof_words > g_pack_nof_words can use always active stimuli except when g_pkt_len MOD g_in_nof_words /= 0, because then the input stage needs to flush - u_8_4_32_1_len_1_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 8, 4, 32, 1, FALSE, c_nof_repeat, 1, 0); -- g_pkt_len < g_in_nof_words - u_8_4_32_1_len_2_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 8, 4, 32, 1, FALSE, c_nof_repeat, 2, 0); -- g_pkt_len = g_in_nof_words - u_8_4_32_1_len_3_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 8, 4, 32, 1, FALSE, c_nof_repeat, 3, 0); -- g_pkt_len > g_in_nof_words, MOD /= 0 - u_8_4_32_1_len_10_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 8, 4, 32, 1, FALSE, c_nof_repeat, 10, 0); -- g_pkt_len > g_in_nof_words, MOD /= 0 - u_8_4_32_1_len_11_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 8, 4, 32, 1, FALSE, c_nof_repeat, 11, 0); -- g_pkt_len > g_in_nof_words, MOD /= 0 - u_8_4_32_1_len_12_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 8, 4, 32, 1, FALSE, c_nof_repeat, 12, 0); -- g_pkt_len > g_in_nof_words, MOD = 0 + u_8_4_32_1_len_1_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 8, 4, 32, 1, FALSE, c_nof_repeat, 1, 0); -- g_pkt_len < g_in_nof_words + u_8_4_32_1_len_2_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 8, 4, 32, 1, FALSE, c_nof_repeat, 2, 0); -- g_pkt_len = g_in_nof_words + u_8_4_32_1_len_3_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 8, 4, 32, 1, FALSE, c_nof_repeat, 3, 0); -- g_pkt_len > g_in_nof_words, MOD /= 0 + u_8_4_32_1_len_10_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 8, 4, 32, 1, FALSE, c_nof_repeat, 10, 0); -- g_pkt_len > g_in_nof_words, MOD /= 0 + u_8_4_32_1_len_11_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 8, 4, 32, 1, FALSE, c_nof_repeat, 11, 0); -- g_pkt_len > g_in_nof_words, MOD /= 0 + u_8_4_32_1_len_12_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 8, 4, 32, 1, FALSE, c_nof_repeat, 12, 0); -- g_pkt_len > g_in_nof_words, MOD = 0 -- g_in_nof_words < g_pack_nof_words will apply backpressure, because the output stage needs to output more - u_32_1_8_4_len_1_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 32, 1, 8, 4, FALSE, c_nof_repeat, 1, 0); -- g_pkt_len = g_in_nof_words - u_32_1_8_4_len_2_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 32, 1, 8, 4, FALSE, c_nof_repeat, 2, 0); -- g_pkt_len > g_in_nof_words - u_32_1_8_4_len_3_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 32, 1, 8, 4, FALSE, c_nof_repeat, 3, 0); -- g_pkt_len > g_in_nof_words - u_32_1_8_4_len_10_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 32, 1, 8, 4, FALSE, c_nof_repeat, 10, 0); -- g_pkt_len > g_in_nof_words - u_32_1_8_4_len_11_gap_1 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 32, 1, 8, 4, FALSE, c_nof_repeat, 11, 1); -- g_pkt_gap > 0 + u_32_1_8_4_len_1_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 32, 1, 8, 4, FALSE, c_nof_repeat, 1, 0); -- g_pkt_len = g_in_nof_words + u_32_1_8_4_len_2_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 32, 1, 8, 4, FALSE, c_nof_repeat, 2, 0); -- g_pkt_len > g_in_nof_words + u_32_1_8_4_len_3_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 32, 1, 8, 4, FALSE, c_nof_repeat, 3, 0); -- g_pkt_len > g_in_nof_words + u_32_1_8_4_len_10_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 32, 1, 8, 4, FALSE, c_nof_repeat, 10, 0); -- g_pkt_len > g_in_nof_words + u_32_1_8_4_len_11_gap_1 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 32, 1, 8, 4, FALSE, c_nof_repeat, 11, 1); -- g_pkt_gap > 0 -- g_in_nof_words > 1 and g_pack_nof_words > 1 - u_24_2_16_3_len_1_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 24, 2, 16, 3, FALSE, c_nof_repeat, 1, 0); -- g_pkt_len < g_in_nof_words - u_24_2_16_3_len_2_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 24, 2, 16, 3, FALSE, c_nof_repeat, 2, 0); -- g_pkt_len = g_in_nof_words - u_24_2_16_3_len_3_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 24, 2, 16, 3, FALSE, c_nof_repeat, 3, 0); -- g_pkt_len = fractional multiple of g_in_nof_words - u_24_2_16_3_len_10_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 24, 2, 16, 3, FALSE, c_nof_repeat, 10, 0); -- g_pkt_len = integer multiple of g_in_nof_words - u_24_2_16_3_len_11_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(I), 24, 2, 16, 3, FALSE, c_nof_repeat, 11, 0); -- g_pkt_len = fractional multiple of g_in_nof_words + u_24_2_16_3_len_1_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 24, 2, 16, 3, FALSE, c_nof_repeat, 1, 0); -- g_pkt_len < g_in_nof_words + u_24_2_16_3_len_2_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 24, 2, 16, 3, FALSE, c_nof_repeat, 2, 0); -- g_pkt_len = g_in_nof_words + u_24_2_16_3_len_3_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 24, 2, 16, 3, FALSE, c_nof_repeat, 3, 0); -- g_pkt_len = fractional multiple of g_in_nof_words + u_24_2_16_3_len_10_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 24, 2, 16, 3, FALSE, c_nof_repeat, 10, 0); -- g_pkt_len = integer multiple of g_in_nof_words + u_24_2_16_3_len_11_gap_0 : ENTITY work.tb_dp_repack_dev GENERIC MAP (c_flow(I), c_flow(J), 24, 2, 16, 3, FALSE, c_nof_repeat, 11, 0); -- g_pkt_len = fractional multiple of g_in_nof_words END GENERATE; END GENERATE; -- GitLab