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

Moved mms_dp_xonoff to src_out output, so that input and DB can always remain on.

parent 79ca44d8
Branches
No related tags found
No related merge requests found
......@@ -77,14 +77,16 @@ END node_apertif_unb1_correlator_output;
ARCHITECTURE str OF node_apertif_unb1_correlator_output IS
-- 1GbE Visibility Offload
SIGNAL dp_xonoff_snk_in_arr : t_dp_sosi_arr(0 DOWNTO 0);
SIGNAL dp_xonoff_src_out_arr : t_dp_sosi_arr(0 DOWNTO 0);
SIGNAL dp_repack_data_snk_in : t_dp_sosi;
SIGNAL dp_repack_data_snk_out : t_dp_siso;
SIGNAL apertif_unb1_correlator_vis_offload_snk_in : t_dp_sosi;
SIGNAL apertif_unb1_correlator_vis_offload_snk_out : t_dp_siso;
SIGNAL dp_xonoff_snk_out_arr : t_dp_siso_arr(0 DOWNTO 0);
SIGNAL dp_xonoff_snk_in_arr : t_dp_sosi_arr(0 DOWNTO 0);
SIGNAL dp_offload_tx_src_out_arr : t_dp_sosi_arr(0 DOWNTO 0);
SIGNAL dp_offload_tx_src_in_arr : t_dp_siso_arr(0 DOWNTO 0);
SIGNAL src_in_arr : t_dp_siso_arr(0 DOWNTO 0);
SIGNAL src_out_arr : t_dp_sosi_arr(0 DOWNTO 0);
-- Output DB
CONSTANT c_vis_header_size : NATURAL := 21; -- (pad(2) + eth(14) + ip(20) + udp(8) + app_id(16) + app_flags(24)) / 4 = 84 bytes / 4 = 21 words
......@@ -96,7 +98,6 @@ ARCHITECTURE str OF node_apertif_unb1_correlator_output IS
CONSTANT c_db_nof_data_sim : NATURAL := c_vis_nof_data_per_sync; -- in sim at least one sync interval
CONSTANT c_db_nof_data : NATURAL := sel_a_b(g_sim, c_db_nof_data_sim, c_db_nof_data_hw);
SIGNAL src_out_arr : t_dp_sosi_arr(0 DOWNTO 0);
SIGNAL db_sosi_arr : t_dp_sosi_arr(0 DOWNTO 0);
SIGNAL db_data : STD_LOGIC_VECTOR(c_32-1 DOWNTO 0);
SIGNAL db_data_se : STD_LOGIC_VECTOR(c_32-1 DOWNTO 0); -- swap endian (to account for p_connect in apertif_unb1_correlator_vis_offload)
......@@ -104,34 +105,6 @@ ARCHITECTURE str OF node_apertif_unb1_correlator_output IS
BEGIN
dp_xonoff_snk_in_arr(0) <= snk_in;
-----------------------------------------------------------------------------
-- DP Xon Off. --> output to the datawriter can be switched on or off.
-----------------------------------------------------------------------------
u_mms_dp_xonoff : ENTITY dp_lib.mms_dp_xonoff
GENERIC MAP(
g_nof_streams => 1,
g_combine_streams => TRUE,
g_bypass => FALSE,
g_default_value => sel_a_b(g_sim, '1', '0') -- Sim: on by default like block gens
)
PORT MAP(
mm_rst => mm_rst,
mm_clk => mm_clk,
reg_mosi => reg_dp_xonoff_output_mosi,
reg_miso => reg_dp_xonoff_output_miso,
dp_rst => dp_rst,
dp_clk => dp_clk,
snk_out_arr => OPEN,
snk_in_arr => dp_xonoff_snk_in_arr,
src_in_arr => (OTHERS => c_dp_siso_rdy),
src_out_arr => dp_xonoff_src_out_arr
);
-----------------------------------------------------------------------------
-- 64b -> 32b
-----------------------------------------------------------------------------
......@@ -149,7 +122,7 @@ BEGIN
rst => dp_rst,
clk => dp_clk,
snk_in => dp_xonoff_src_out_arr(0),
snk_in => snk_in,
src_in => dp_repack_data_snk_out,
src_out => dp_repack_data_snk_in
......@@ -193,14 +166,12 @@ BEGIN
snk_in => apertif_unb1_correlator_vis_offload_snk_in,
snk_out => apertif_unb1_correlator_vis_offload_snk_out,
src_out => src_out_arr(0),
src_in => src_in,
src_out => dp_xonoff_snk_in_arr(0),
src_in => dp_xonoff_snk_out_arr(0), -- ready flow control from src_in, xon = '1' thanks to mms_dp_xonoff
ID => ID
);
src_out <= src_out_arr(0);
-----------------------------------------------------------------------------
-- Data buffer to monitor visibility packets offload
-----------------------------------------------------------------------------
......@@ -219,7 +190,7 @@ BEGIN
clk => dp_clk,
rst => dp_rst,
snk_in => src_out_arr(0),
snk_in => dp_xonoff_snk_in_arr(0),
src_out => db_sosi_arr(0),
src_index_arr => db_index_arr -- [2] = sync index, [1] sop index, [0] valid index
);
......@@ -253,4 +224,35 @@ BEGIN
db_data <= db_sosi_arr(0).data(c_32-1 DOWNTO 0); -- for easier view in Wave window
db_data_se <= ntoh(db_data); -- swap endian for easier view in Wave window
-----------------------------------------------------------------------------
-- DP Xon Off. --> output to the datawriter can be switched on or off.
-----------------------------------------------------------------------------
u_mms_dp_xonoff : ENTITY dp_lib.mms_dp_xonoff
GENERIC MAP(
g_nof_streams => 1,
g_combine_streams => TRUE,
g_bypass => FALSE,
g_default_value => sel_a_b(g_sim, '1', '0') -- Sim: on by default like block gens
)
PORT MAP(
mm_rst => mm_rst,
mm_clk => mm_clk,
reg_mosi => reg_dp_xonoff_output_mosi,
reg_miso => reg_dp_xonoff_output_miso,
dp_rst => dp_rst,
dp_clk => dp_clk,
snk_out_arr => dp_xonoff_snk_out_arr,
snk_in_arr => dp_xonoff_snk_in_arr,
src_in_arr => src_in_arr,
src_out_arr => src_out_arr
);
src_out <= src_out_arr(0);
src_in_arr(0) <= src_in;
END str;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment