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

Connect destinations_info register.

parent 52c6385d
No related branches found
No related tags found
1 merge request!357Move func_sdp_bdo_cep_hdr_field_sel_dest() from sdp_bdo_pkg to...
Pipeline #58516 passed
......@@ -60,6 +60,9 @@ entity sdp_beamformer_output is
reg_hdr_dat_mosi : in t_mem_mosi := c_mem_mosi_rst;
reg_hdr_dat_miso : out t_mem_miso;
reg_destinations_copi : in t_mem_copi := c_mem_mosi_rst;
reg_destinations_cipo : out t_mem_cipo;
reg_dp_xonoff_mosi : in t_mem_mosi := c_mem_mosi_rst;
reg_dp_xonoff_miso : out t_mem_miso;
......@@ -131,6 +134,7 @@ architecture str of sdp_beamformer_output is
signal station_info : std_logic_vector(15 downto 0) := (others => '0');
-- Multiple destinations
signal destinations_info : t_sdp_bdo_destinations_info;
signal eth_dst_mac : std_logic_vector(c_network_eth_mac_addr_w - 1 downto 0);
signal ip_dst_addr : std_logic_vector(c_network_ip_addr_w - 1 downto 0);
signal udp_dst_port : std_logic_vector(c_network_udp_port_w - 1 downto 0);
......@@ -245,10 +249,6 @@ begin
snk_in => dp_repack_beamlet_src_out,
src_out => dp_packet_reorder_src_out
);
-- Use constant defaults for beamlet data output to one destination.
nof_blocks_per_packet <= c_sdp_cep_nof_blocks_per_packet; -- = 4;
nof_beamlets_per_block <= c_sdp_S_sub_bf; -- = 488 dual pol beamlets;
end generate;
gen_multiple_destinations : if g_use_multiple_destinations = true generate
......@@ -267,16 +267,20 @@ begin
g_use_transpose => g_use_transpose
)
port map (
mm_clk => mm_clk,
mm_rst => mm_rst,
dp_clk => dp_clk,
dp_rst => dp_rst,
reg_destinations_copi => reg_destinations_copi,
reg_destinations_cipo => reg_destinations_cipo,
destinations_info => destinations_info,
snk_in => dp_repack_beamlet_src_out,
src_out => dp_packet_reorder_src_out
);
-- Use dynamic sizes for beamlet data output to multiple destination.
nof_blocks_per_packet <= c_sdp_cep_nof_blocks_per_packet; -- = 4;
nof_beamlets_per_block <= c_sdp_S_sub_bf; -- = 488 dual pol beamlets;
end generate;
-- Debug signals for view in Wave window
......@@ -425,6 +429,21 @@ begin
--
-- DP dp_bsn
p_assemble_offload_info : process(destinations_info)
begin
if g_use_multiple_destinations = false then
-- Use constant defaults for beamlet data output to one destination.
nof_blocks_per_packet <= c_sdp_cep_nof_blocks_per_packet; -- = 4;
nof_beamlets_per_block <= c_sdp_S_sub_bf; -- = 488 dual pol beamlets;
else
-- Use dynamic sizes for beamlet data output to multiple destination.
nof_blocks_per_packet <= destinations_info.nof_blocks_per_packet_act;
nof_beamlets_per_block <= c_sdp_S_sub_bf; -- = 488 dual pol beamlets;
-- TODO check channel field to set destination addresses in dp_offload_tx_hdr_fields
end if;
end process;
station_info <= sdp_info.antenna_field_index & sdp_info.station_id;
-- Use MM programmable source MAC/IP/UDP instead of source MAC/IP/UDP based
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment