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
No related branches found
No related tags found
No related merge requests found
...@@ -77,14 +77,16 @@ END node_apertif_unb1_correlator_output; ...@@ -77,14 +77,16 @@ END node_apertif_unb1_correlator_output;
ARCHITECTURE str OF node_apertif_unb1_correlator_output IS ARCHITECTURE str OF node_apertif_unb1_correlator_output IS
-- 1GbE Visibility Offload -- 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_in : t_dp_sosi;
SIGNAL dp_repack_data_snk_out : t_dp_siso; 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_in : t_dp_sosi;
SIGNAL apertif_unb1_correlator_vis_offload_snk_out : t_dp_siso; 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_out_arr : t_dp_sosi_arr(0 DOWNTO 0);
SIGNAL dp_offload_tx_src_in_arr : t_dp_siso_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 -- 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 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,42 +98,13 @@ ARCHITECTURE str OF node_apertif_unb1_correlator_output IS ...@@ -96,42 +98,13 @@ 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_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); 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_sosi_arr : t_dp_sosi_arr(0 DOWNTO 0);
SIGNAL db_data : STD_LOGIC_VECTOR(c_32-1 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) 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)
SIGNAL db_index_arr : t_natural_arr(2 DOWNTO 0); SIGNAL db_index_arr : t_natural_arr(2 DOWNTO 0);
BEGIN 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 -- 64b -> 32b
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
...@@ -149,7 +122,7 @@ BEGIN ...@@ -149,7 +122,7 @@ BEGIN
rst => dp_rst, rst => dp_rst,
clk => dp_clk, clk => dp_clk,
snk_in => dp_xonoff_src_out_arr(0), snk_in => snk_in,
src_in => dp_repack_data_snk_out, src_in => dp_repack_data_snk_out,
src_out => dp_repack_data_snk_in src_out => dp_repack_data_snk_in
...@@ -193,14 +166,12 @@ BEGIN ...@@ -193,14 +166,12 @@ BEGIN
snk_in => apertif_unb1_correlator_vis_offload_snk_in, snk_in => apertif_unb1_correlator_vis_offload_snk_in,
snk_out => apertif_unb1_correlator_vis_offload_snk_out, snk_out => apertif_unb1_correlator_vis_offload_snk_out,
src_out => src_out_arr(0), src_out => dp_xonoff_snk_in_arr(0),
src_in => src_in, src_in => dp_xonoff_snk_out_arr(0), -- ready flow control from src_in, xon = '1' thanks to mms_dp_xonoff
ID => ID ID => ID
); );
src_out <= src_out_arr(0);
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
-- Data buffer to monitor visibility packets offload -- Data buffer to monitor visibility packets offload
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
...@@ -219,7 +190,7 @@ BEGIN ...@@ -219,7 +190,7 @@ BEGIN
clk => dp_clk, clk => dp_clk,
rst => dp_rst, rst => dp_rst,
snk_in => src_out_arr(0), snk_in => dp_xonoff_snk_in_arr(0),
src_out => db_sosi_arr(0), src_out => db_sosi_arr(0),
src_index_arr => db_index_arr -- [2] = sync index, [1] sop index, [0] valid index src_index_arr => db_index_arr -- [2] = sync index, [1] sop index, [0] valid index
); );
...@@ -253,4 +224,35 @@ BEGIN ...@@ -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 <= 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 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; END str;
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