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 291759cdc7d0ba871710cf105cc165ae74237ea2..36312b9da747d5f825fa2ffb1041776effc163b5 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;