Clarify g_nof_destinations_max design revision parameter and package constants...
Compare changes
- Eric Kooistra authored
@@ -20,7 +20,7 @@
@@ -20,7 +20,7 @@
@@ -47,6 +47,9 @@ use work.sdp_bdo_pkg.all;
@@ -47,6 +47,9 @@ use work.sdp_bdo_pkg.all;
@@ -85,24 +88,30 @@ entity sdp_beamformer_output is
@@ -85,24 +88,30 @@ entity sdp_beamformer_output is
constant c_beamlet_index : natural := g_beamset_id * c_sdp_S_sub_bf; -- call beamset 'id' and beamlet 'index'
constant c_fifo_size : natural := true_log_pow2(c_sdp_cep_payload_nof_longwords) * c_sdp_N_beamsets; -- 2048
-- . field_sel = '0' for DP (dynamic), '1' for MM (fixed or programmable via MM of dp_offload_tx_v3)
@@ -115,6 +124,7 @@ architecture str of sdp_beamformer_output is
@@ -115,6 +124,7 @@ architecture str of sdp_beamformer_output is
@@ -126,10 +136,10 @@ architecture str of sdp_beamformer_output is
@@ -126,10 +136,10 @@ architecture str of sdp_beamformer_output is
@@ -137,32 +147,23 @@ architecture str of sdp_beamformer_output is
@@ -137,32 +147,23 @@ architecture str of sdp_beamformer_output is
signal mdi_nof_blocks_per_packet_slv : std_logic_vector(c_sdp_bdo_reorder_nof_blocks_w - 1 downto 0);
signal mdi_nof_beamlets_per_block_per_destination_slv : std_logic_vector(c_sdp_nof_beamlets_per_block_w - 1 downto 0);
@@ -193,7 +194,7 @@ begin
@@ -193,7 +194,7 @@ begin
@@ -217,7 +218,7 @@ begin
@@ -217,7 +218,7 @@ begin
@@ -307,71 +308,46 @@ begin
@@ -307,71 +308,46 @@ begin
mdi_nof_blocks_per_packet_slv <= to_uvec(mdi_nof_blocks_per_packet, c_sdp_bdo_reorder_nof_blocks_w);
mdi_nof_beamlets_per_block_per_destination_slv <= to_uvec(mdi_nof_beamlets_per_block_per_destination, c_sdp_nof_beamlets_per_block_w);
mdi_beamlet_index_per_destination_slv <= to_uvec(mdi_beamlet_index_per_destination, c_nof_destinations_w);
mdi_hdr_ip_dst_addr <= multi_destinations_info.ip_destination_address_arr(mdi_hdr_destination_index);
mdi_hdr_udp_dst_port <= multi_destinations_info.udp_destination_port_arr(mdi_hdr_destination_index);
@@ -415,7 +391,9 @@ begin
@@ -415,7 +391,9 @@ begin
@@ -438,7 +416,7 @@ begin
@@ -438,7 +416,7 @@ begin
@@ -523,16 +501,20 @@ begin
@@ -523,16 +501,20 @@ begin
p_assemble_offload_info : process(mdi_hdr_nof_blocks_per_packet, mdi_hdr_nof_beamlets_per_block_per_destination)
@@ -550,9 +532,9 @@ begin
@@ -550,9 +532,9 @@ begin
-- Use DP programmable destination MAC/IP/UDP from sdp_bdo_destinations_reg for multiple destinations
dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "eth_dst_mac" ) downto field_lo(c_sdp_cep_hdr_field_arr, "eth_dst_mac" )) <= mdi_hdr_eth_dst_mac;
dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "ip_dst_addr" ) downto field_lo(c_sdp_cep_hdr_field_arr, "ip_dst_addr" )) <= mdi_hdr_ip_dst_addr;
dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "udp_dst_port") downto field_lo(c_sdp_cep_hdr_field_arr, "udp_dst_port")) <= mdi_hdr_udp_dst_port;
dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_observation_id" ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_observation_id" )) <= sdp_info.observation_id;
dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_station_info" ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_station_info" )) <= station_info;
@@ -565,7 +547,7 @@ begin
@@ -565,7 +547,7 @@ begin
dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_gn_id" ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_gn_id" )) <= gn_id;
dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_beamlet_scale" ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_beamlet_scale" )) <= beamlet_scale;
dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_beamlet_index" ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_beamlet_index" )) <= TO_UVEC(c_beamlet_index, c_halfword_w);
dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_nof_blocks_per_packet" ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_nof_blocks_per_packet" )) <= TO_UVEC(nof_blocks_per_packet, c_octet_w);
dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_nof_beamlets_per_block") downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_nof_beamlets_per_block")) <= TO_UVEC(nof_beamlets_per_block, c_halfword_w);
dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_block_period" ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_block_period" )) <= sdp_info.block_period;