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
Branches
Tags
1 merge request!332Resolve HPR-122
Pipeline #50808 passed
...@@ -139,6 +139,11 @@ ...@@ -139,6 +139,11 @@
-- The src_out.empty will be 2, because: -- 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 -- (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 -- = (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: -- Design steps:
-- * In total the development took 5 days. On day 3 I was in distress because -- * In total the development took 5 days. On day 3 I was in distress because
...@@ -206,7 +211,7 @@ ARCHITECTURE rtl OF dp_repack_in IS ...@@ -206,7 +211,7 @@ ARCHITECTURE rtl OF dp_repack_in IS
TYPE t_reg IS RECORD 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 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 : t_dp_sosi; -- sosi output
src_out_data : STD_LOGIC_VECTOR(c_in_buf_dat_w-1 DOWNTO 0); 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 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 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 dat_bit_cnt : NATURAL RANGE 0 TO c_bit_cnt_max; -- actual nof bits in subsection
......
...@@ -80,7 +80,7 @@ ARCHITECTURE str OF eth_tester_rx IS ...@@ -80,7 +80,7 @@ ARCHITECTURE str OF eth_tester_rx IS
-- Rx FIFO size can be much less than rx_block_sz_max, because st_clk > -- 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 -- eth_clk rate, but with st level tx-rx loopback the Rx FIFO does need
-- rx_block_sz_max FIFO size. -- rx_block_sz_max FIFO size.
CONSTANT rx_block_sz_max : NATURAL := c_eth_tester_rx_block_len_max / g_nof_octet_input; 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); 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_udp_data : STD_LOGIC_VECTOR(c_word_w-1 DOWNTO 0);
......
...@@ -104,7 +104,7 @@ ARCHITECTURE str OF eth_tester_tx IS ...@@ -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_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_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_out_data_w : NATURAL := g_nof_octet_output * c_octet_w;
CONSTANT c_nof_symbols_max : NATURAL := c_network_eth_payload_jumbo_max; 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.
Please register or to comment