From cad67065ec4b274c39ffbcf721a3bfa263dd6b5f Mon Sep 17 00:00:00 2001 From: Daniel van der Schuur <schuur@astron.nl> Date: Fri, 14 Jul 2017 13:25:02 +0000 Subject: [PATCH] -Added symbol width generics to dp_field_blk and dp_concat_field_blk; -Set symbol width to 8 (was 1) to dp_concat_field_blk instance used in arts_unb1_sc4_output_tab_i_packetizer. -Verified OK sim sim (empty field indicated 22, is 6 now). --- .../arts_unb1_sc4_output_tab_i_packetizer.vhd | 4 +++- .../base/dp/src/vhdl/dp_concat_field_blk.vhd | 16 ++++++++++------ libraries/base/dp/src/vhdl/dp_field_blk.vhd | 12 ++++++++---- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/applications/arts/designs/arts_unb1_sc4/src/vhdl/arts_unb1_sc4_output_tab_i_packetizer.vhd b/applications/arts/designs/arts_unb1_sc4/src/vhdl/arts_unb1_sc4_output_tab_i_packetizer.vhd index 5320cbdd27..b1da21e7d3 100644 --- a/applications/arts/designs/arts_unb1_sc4/src/vhdl/arts_unb1_sc4_output_tab_i_packetizer.vhd +++ b/applications/arts/designs/arts_unb1_sc4/src/vhdl/arts_unb1_sc4_output_tab_i_packetizer.vhd @@ -455,7 +455,9 @@ BEGIN g_nof_streams => c_nof_offloadstreams, g_data_w => c_data_w, g_hdr_field_arr => c_hdr_field_arr, - g_hdr_field_sel => c_hdr_field_sel + g_hdr_field_sel => c_hdr_field_sel, + g_in_symbol_w => c_byte_w, + g_out_symbol_w => c_byte_w ) PORT MAP ( mm_rst => mm_rst, diff --git a/libraries/base/dp/src/vhdl/dp_concat_field_blk.vhd b/libraries/base/dp/src/vhdl/dp_concat_field_blk.vhd index d48f2300c3..18c80f9e1e 100644 --- a/libraries/base/dp/src/vhdl/dp_concat_field_blk.vhd +++ b/libraries/base/dp/src/vhdl/dp_concat_field_blk.vhd @@ -38,7 +38,9 @@ ENTITY dp_concat_field_blk IS g_nof_streams : NATURAL; g_data_w : NATURAL; g_hdr_field_arr : t_common_field_arr; -- User defined header fields - g_hdr_field_sel : STD_LOGIC_VECTOR -- For each header field, select the source: 0=data path, 1=MM controlled + g_hdr_field_sel : STD_LOGIC_VECTOR; -- For each header field, select the source: 0=data path, 1=MM controlled + g_in_symbol_w : NATURAL := 1; + g_out_symbol_w : NATURAL := 1 ); PORT ( mm_rst : IN STD_LOGIC; @@ -100,10 +102,12 @@ BEGIN -- Create multi-cycle header block from single-cycle wide header SLV u_dp_field_blk : ENTITY work.dp_field_blk GENERIC MAP ( - g_field_arr => field_arr_set_mode(g_hdr_field_arr , "RW"), - g_field_sel => g_hdr_field_sel, - g_snk_data_w => c_dp_field_blk_snk_data_w, - g_src_data_w => c_dp_field_blk_src_data_w + g_field_arr => field_arr_set_mode(g_hdr_field_arr , "RW"), + g_field_sel => g_hdr_field_sel, + g_snk_data_w => c_dp_field_blk_snk_data_w, + g_src_data_w => c_dp_field_blk_src_data_w, + g_in_symbol_w => g_in_symbol_w, + g_out_symbol_w => g_out_symbol_w ) PORT MAP ( dp_clk => dp_clk, @@ -134,7 +138,7 @@ BEGIN u_dp_concat : ENTITY work.dp_concat GENERIC MAP ( g_data_w => g_data_w, - g_symbol_w => 1 + g_symbol_w => g_out_symbol_w ) PORT MAP ( rst => dp_rst, diff --git a/libraries/base/dp/src/vhdl/dp_field_blk.vhd b/libraries/base/dp/src/vhdl/dp_field_blk.vhd index 578ebc75d5..0e93ccca2d 100644 --- a/libraries/base/dp/src/vhdl/dp_field_blk.vhd +++ b/libraries/base/dp/src/vhdl/dp_field_blk.vhd @@ -76,10 +76,12 @@ USE work.dp_stream_pkg.ALL; ENTITY dp_field_blk IS GENERIC ( - g_field_arr : t_common_field_arr; + g_field_arr : t_common_field_arr; g_field_sel : STD_LOGIC_VECTOR; - g_snk_data_w : NATURAL; - g_src_data_w : NATURAL + g_snk_data_w : NATURAL; + g_src_data_w : NATURAL; + g_in_symbol_w : NATURAL := 1; + g_out_symbol_w : NATURAL := 1 ); PORT ( dp_rst : IN STD_LOGIC; @@ -186,7 +188,9 @@ BEGIN g_in_dat_w => g_snk_data_w, g_in_nof_words => ceil_div(g_src_data_w, g_snk_data_w), g_out_dat_w => g_src_data_w, - g_out_nof_words => ceil_div(g_snk_data_w, g_src_data_w) + g_out_nof_words => ceil_div(g_snk_data_w, g_src_data_w), + g_in_symbol_w => g_in_symbol_w, + g_out_symbol_w => g_out_symbol_w ) PORT MAP ( rst => dp_rst, -- GitLab