Skip to content
Snippets Groups Projects
Commit 354275f6 authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Improve use of u_dp_fifo_fill_eop.

parent 65642566
No related branches found
No related tags found
1 merge request!389Resolve L2SDP-1013
......@@ -66,9 +66,19 @@ entity sdp_crosslets_remote is
end sdp_crosslets_remote;
architecture str of sdp_crosslets_remote is
constant c_block_size : natural := c_sdp_N_crosslets_max * c_sdp_S_pn;
constant c_block_size_longwords : natural := ceil_div(c_block_size, 2); -- 32b -> 64b
constant c_data_w : natural := c_sdp_W_crosslet * c_nof_complex;
constant c_block_size : natural := c_sdp_N_crosslets_max * c_sdp_S_pn;
constant c_block_size_longwords : natural := ceil_div(c_block_size, 2); -- 32b -> 64b
constant c_data_w : natural := c_sdp_W_crosslet * c_nof_complex;
-- The channel field carries the index of time multiplexed crosslet packets
constant c_use_channel : boolean := true;
constant c_channel_w : natural := ceil_log2(g_P_sq);
-- With 32b data repacked in 64b one empty bit is enough. For crosslets the number
-- of 32b words is c_block_size is even, so empty will be 0 always. However do
-- support odd sizes, to be save.
constant c_use_empty : boolean := true;
constant c_empty_w : natural := 1;
-- The from_ri_sosi only carries correct packets, so error field is not used.
constant c_use_error : boolean := false;
-- The size for 1 block is probably already enough as the number of blocks received
-- on the remote input of the mux probably have enough gap time in between. Just
......@@ -125,7 +135,7 @@ begin
g_bsn_w => c_dp_stream_bsn_w,
g_data_w => c_longword_w,
g_channel_w => c_word_w,
g_use_error => false,
g_use_error => c_use_error,
g_fifo_size => array_init(c_mux_fifo_size, 2)
)
port map (
......@@ -140,18 +150,18 @@ begin
to_ri_sosi <= ring_mux_sosi;
-- fill fifo to remove gaps
-- fill fifo to remove valid gaps that occur due to repack 32b/64b in local_sosi,
-- the from_ri_sosi has no valid gaps during block.
u_dp_fifo_fill_eop : entity dp_lib.dp_fifo_fill_eop
generic map (
g_data_w => c_longword_w,
g_bsn_w => c_dp_stream_bsn_w,
g_empty_w => c_dp_stream_empty_w,
g_channel_w => c_dp_stream_channel_w,
g_error_w => c_dp_stream_error_w,
g_empty_w => c_empty_w,
g_channel_w => c_channel_w,
g_use_bsn => true,
g_use_empty => true,
g_use_channel => true,
g_use_error => true,
g_use_empty => c_use_empty,
g_use_channel => c_use_channel,
g_use_error => c_use_error,
g_use_sync => true,
g_fifo_fill => c_block_size_longwords,
g_fifo_size => c_fifo_fill_size
......
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