Skip to content
Snippets Groups Projects
Commit 31f07b1f authored by Reinier van der Walle's avatar Reinier van der Walle
Browse files

processed review comments

parent 3ecfb72b
No related branches found
No related tags found
1 merge request!332Resolve HPR-122
Pipeline #50808 passed
......@@ -139,6 +139,11 @@
-- The src_out.empty will be 2, because:
-- (g_out_dat_w*g_out_nof_words-g_in_dat_w*g_in_nof_words)/g_out_symbol_w
-- = (32*11 - 42*8*1)/ 8 = 2 octet symbols
-- . Instead of using dp_sosi.data for intermediate results in dp_repack_data,
-- a seperate std_logic_vector is used to carry the sosi data as the required
-- vector width can become larger than c_dp_stream_data_w. Note that for the
-- in/out sosi of dp_repack_data, the dp_sosi.data field is still used such
-- that there is no added complexity for the user of dp_repack_data.
--
-- Design steps:
-- * In total the development took 5 days. On day 3 I was in distress because
......@@ -204,13 +209,13 @@ ARCHITECTURE rtl OF dp_repack_in IS
TYPE t_dat_arr IS ARRAY (INTEGER RANGE <>) OF STD_LOGIC_VECTOR(g_in_dat_w-1 DOWNTO 0);
TYPE t_reg IS RECORD
dat_arr : t_dat_arr(g_in_nof_words-1 DOWNTO 0); -- internally use dat_arr[] to represent v.src_out.data
src_out : t_dp_sosi; -- sosi output
src_out_data : STD_LOGIC_VECTOR(c_in_buf_dat_w-1 DOWNTO 0);
hold_out : t_dp_sosi; -- hold snk_in.sync/sop/eop until end of section and then hold valid src_out until src_in.ready
flush : STD_LOGIC; -- shift when snk_in.valid or flush in case the last subsection has < g_in_nof_words
dat_bit_cnt : NATURAL RANGE 0 TO c_bit_cnt_max; -- actual nof bits in subsection
pack_bit_cnt : NATURAL RANGE 0 TO c_bit_cnt_max; -- count nof bits in subsection
dat_arr : t_dat_arr(g_in_nof_words-1 DOWNTO 0); -- internally use dat_arr[] to represent v.src_out.data
src_out : t_dp_sosi; -- sosi output
src_out_data : STD_LOGIC_VECTOR(c_in_buf_dat_w-1 DOWNTO 0); -- Use seperate STD_LOGIC_VECTOR to carry the sosi data as c_in_buf_dat_w can be larger than c_dp_stream_data_w.
hold_out : t_dp_sosi; -- hold snk_in.sync/sop/eop until end of section and then hold valid src_out until src_in.ready
flush : STD_LOGIC; -- shift when snk_in.valid or flush in case the last subsection has < g_in_nof_words
dat_bit_cnt : NATURAL RANGE 0 TO c_bit_cnt_max; -- actual nof bits in subsection
pack_bit_cnt : NATURAL RANGE 0 TO c_bit_cnt_max; -- count nof bits in subsection
END RECORD;
SIGNAL data_vec : STD_LOGIC_VECTOR(c_in_buf_dat_w-1 DOWNTO 0);
......
......@@ -80,8 +80,8 @@ ARCHITECTURE str OF eth_tester_rx IS
-- Rx FIFO size can be much less than rx_block_sz_max, because st_clk >
-- eth_clk rate, but with st level tx-rx loopback the Rx FIFO does need
-- rx_block_sz_max FIFO size.
CONSTANT rx_block_sz_max : NATURAL := c_eth_tester_rx_block_len_max / g_nof_octet_input;
CONSTANT c_fifo_size : NATURAL := true_log_pow2(rx_block_sz_max);
CONSTANT rx_block_sz_max : NATURAL := ceil_div(c_eth_tester_rx_block_len_max, g_nof_octet_input);
CONSTANT c_fifo_size : NATURAL := true_log_pow2(rx_block_sz_max);
SIGNAL rx_udp_data : STD_LOGIC_VECTOR(c_word_w-1 DOWNTO 0);
SIGNAL rx_offload_sosi : t_dp_sosi;
......
......@@ -104,7 +104,7 @@ ARCHITECTURE str OF eth_tester_tx IS
CONSTANT c_nof_total_counts : NATURAL := 1; -- one to count Tx packets
CONSTANT c_nof_repack_words : NATURAL := g_nof_octet_output / g_nof_octet_generate;
CONSTANT c_nof_repack_words : NATURAL := g_nof_octet_output / g_nof_octet_generate; -- yields integer as g_nof_octet_output is multiple of g_nof_octet_generate.
CONSTANT c_generate_data_w : NATURAL := g_nof_octet_generate * c_octet_w;
CONSTANT c_out_data_w : NATURAL := g_nof_octet_output * c_octet_w;
CONSTANT c_nof_symbols_max : NATURAL := c_network_eth_payload_jumbo_max;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment