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

Use c_sdp_P_sum = 2, instead of c_dual.

parent bd843c1d
Branches
No related tags found
1 merge request!389Resolve L2SDP-1013
...@@ -70,11 +70,11 @@ architecture str of sdp_beamformer_remote is ...@@ -70,11 +70,11 @@ architecture str of sdp_beamformer_remote is
constant c_block_size : natural := c_sdp_S_sub_bf * c_sdp_N_pol_bf; constant c_block_size : natural := c_sdp_S_sub_bf * c_sdp_N_pol_bf;
constant c_fifo_size : natural := 2**ceil_log2((c_block_size * 9) / 16); -- 9/16 = 36/64, 1 block of 64 bit words rounded to the next power of 2 = 1024. constant c_fifo_size : natural := 2**ceil_log2((c_block_size * 9) / 16); -- 9/16 = 36/64, 1 block of 64 bit words rounded to the next power of 2 = 1024.
signal dispatch_sosi_arr : t_dp_sosi_arr(c_dual - 1 downto 0) := (others => c_dp_sosi_rst); -- 1 for local, 1 for remote. signal dispatch_sosi_arr : t_dp_sosi_arr(c_sdp_P_sum - 1 downto 0) := (others => c_dp_sosi_rst); -- 1 for local, 1 for remote.
signal dp_fifo_sosi : t_dp_sosi := c_dp_sosi_rst; signal dp_fifo_sosi : t_dp_sosi := c_dp_sosi_rst;
signal dp_fifo_siso : t_dp_siso := c_dp_siso_rdy; signal dp_fifo_siso : t_dp_siso := c_dp_siso_rdy;
signal beamlets_data_sosi_arr : t_dp_sosi_arr(c_dual - 1 downto 0) := (others => c_dp_sosi_rst); signal beamlets_data_sosi_arr : t_dp_sosi_arr(c_sdp_P_sum - 1 downto 0) := (others => c_dp_sosi_rst);
signal beamlets_sosi_arr : t_dp_sosi_arr(c_dual - 1 downto 0) := (others => c_dp_sosi_rst); signal beamlets_sosi_arr : t_dp_sosi_arr(c_sdp_P_sum - 1 downto 0) := (others => c_dp_sosi_rst);
signal i_bf_sum_sosi : t_dp_sosi := c_dp_sosi_rst; signal i_bf_sum_sosi : t_dp_sosi := c_dp_sosi_rst;
signal bf_sum_data_sosi : t_dp_sosi := c_dp_sosi_rst; signal bf_sum_data_sosi : t_dp_sosi := c_dp_sosi_rst;
begin begin
...@@ -132,7 +132,7 @@ begin ...@@ -132,7 +132,7 @@ begin
u_mmp_dp_bsn_align_v2 : entity dp_lib.mmp_dp_bsn_align_v2 u_mmp_dp_bsn_align_v2 : entity dp_lib.mmp_dp_bsn_align_v2
generic map( generic map(
-- for dp_bsn_align_v2 -- for dp_bsn_align_v2
g_nof_streams => c_dual, g_nof_streams => c_sdp_P_sum,
g_bsn_latency_max => 2, -- max 2 blocks latency g_bsn_latency_max => 2, -- max 2 blocks latency
g_nof_aligners_max => g_nof_aligners_max, g_nof_aligners_max => g_nof_aligners_max,
g_block_size => c_block_size, g_block_size => c_block_size,
...@@ -141,7 +141,7 @@ begin ...@@ -141,7 +141,7 @@ begin
g_rd_latency => 1, g_rd_latency => 1,
-- for mms_dp_bsn_monitor_v2 -- for mms_dp_bsn_monitor_v2
g_nof_clk_per_sync => c_sdp_N_clk_sync_timeout, -- Using c_sdp_N_clk_sync_timeout as g_nof_clk_per_sync is used for BSN monitor timeout. g_nof_clk_per_sync => c_sdp_N_clk_sync_timeout, -- Using c_sdp_N_clk_sync_timeout as g_nof_clk_per_sync is used for BSN monitor timeout.
g_nof_input_bsn_monitors => c_dual, g_nof_input_bsn_monitors => c_sdp_P_sum,
g_use_bsn_output_monitor => true g_use_bsn_output_monitor => true
) )
port map ( port map (
...@@ -185,7 +185,7 @@ begin ...@@ -185,7 +185,7 @@ begin
--------------------------------------------------------------- ---------------------------------------------------------------
u_dp_complex_add : entity dp_lib.dp_complex_add u_dp_complex_add : entity dp_lib.dp_complex_add
generic map( generic map(
g_nof_inputs => c_dual, g_nof_inputs => c_sdp_P_sum,
g_data_w => c_sdp_W_beamlet_sum g_data_w => c_sdp_W_beamlet_sum
) )
port map( port map(
......
...@@ -74,12 +74,13 @@ package sdp_pkg is ...@@ -74,12 +74,13 @@ package sdp_pkg is
constant c_sdp_N_pn_max : natural := 16; -- max 16 PN per ring = per antenna band constant c_sdp_N_pn_max : natural := 16; -- max 16 PN per ring = per antenna band
constant c_sdp_N_pol : natural := 2; constant c_sdp_N_pol : natural := 2;
constant c_sdp_N_pol_bf : natural := 2; constant c_sdp_N_pol_bf : natural := 2;
constant c_sdp_N_rings_sdp : natural := 1; constant c_sdp_N_rings_sdp : natural := 1; -- number of QSFP rings in SDP, each has N_lane = 8 lanes
constant c_sdp_N_ring_lanes_max : natural := 8; -- = N_lane in doc constant c_sdp_N_ring_lanes_max : natural := 8; -- = N_lane in doc
constant c_sdp_N_sub : natural := 512; constant c_sdp_N_sub : natural := 512;
constant c_sdp_N_sync_rcu : natural := 1; constant c_sdp_N_sync_rcu : natural := 1;
constant c_sdp_N_taps : natural := 16; constant c_sdp_N_taps : natural := 16;
constant c_sdp_P_sq : natural := 9; -- = N_pn / 2 + 1 constant c_sdp_P_sq : natural := 9; -- = N_pn / 2 + 1 square correlator cells for XST
constant c_sdp_P_sum : natural := 2; -- sums of two in ring beamformer adder tree
constant c_sdp_Q_fft : natural := 2; constant c_sdp_Q_fft : natural := 2;
constant c_sdp_S_pn : natural := 12; constant c_sdp_S_pn : natural := 12;
constant c_sdp_S_rcu : natural := 3; constant c_sdp_S_rcu : natural := 3;
...@@ -589,8 +590,8 @@ package sdp_pkg is ...@@ -589,8 +590,8 @@ package sdp_pkg is
constant c_sdp_reg_stat_hdr_dat_bst_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_stat_hdr_dat_addr_w; constant c_sdp_reg_stat_hdr_dat_bst_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_stat_hdr_dat_addr_w;
constant c_sdp_reg_bsn_monitor_v2_bst_offload_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bsn_monitor_v2_addr_w; constant c_sdp_reg_bsn_monitor_v2_bst_offload_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bsn_monitor_v2_addr_w;
constant c_sdp_reg_bsn_monitor_v2_beamlet_output_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bsn_monitor_v2_addr_w; constant c_sdp_reg_bsn_monitor_v2_beamlet_output_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bsn_monitor_v2_addr_w;
constant c_sdp_reg_bsn_align_v2_bf_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_dual) + c_sdp_reg_bsn_align_v2_addr_w; constant c_sdp_reg_bsn_align_v2_bf_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_sdp_P_sum) + c_sdp_reg_bsn_align_v2_addr_w;
constant c_sdp_reg_bsn_monitor_v2_rx_align_bf_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_dual) + c_sdp_reg_bsn_monitor_v2_addr_w; constant c_sdp_reg_bsn_monitor_v2_rx_align_bf_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_sdp_P_sum) + c_sdp_reg_bsn_monitor_v2_addr_w;
constant c_sdp_reg_bsn_monitor_v2_aligned_bf_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bsn_monitor_v2_addr_w; constant c_sdp_reg_bsn_monitor_v2_aligned_bf_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bsn_monitor_v2_addr_w;
constant c_sdp_reg_ring_lane_info_bf_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + 1; constant c_sdp_reg_ring_lane_info_bf_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + 1;
constant c_sdp_reg_bsn_monitor_v2_ring_rx_bf_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bsn_monitor_v2_addr_w; constant c_sdp_reg_bsn_monitor_v2_ring_rx_bf_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bsn_monitor_v2_addr_w;
......
...@@ -419,8 +419,8 @@ architecture str of sdp_station is ...@@ -419,8 +419,8 @@ architecture str of sdp_station is
constant c_addr_w_reg_bdo_destinations : natural := c_sdp_reg_bdo_destinations_info_w_one; constant c_addr_w_reg_bdo_destinations : natural := c_sdp_reg_bdo_destinations_info_w_one;
constant c_addr_w_reg_dp_xonoff : natural := 1; constant c_addr_w_reg_dp_xonoff : natural := 1;
constant c_addr_w_ram_st_bst : natural := ceil_log2(c_sdp_S_sub_bf * c_sdp_N_pol * (c_longword_sz / c_word_sz)); constant c_addr_w_ram_st_bst : natural := ceil_log2(c_sdp_S_sub_bf * c_sdp_N_pol * (c_longword_sz / c_word_sz));
constant c_addr_w_reg_bsn_align_v2_bf : natural := ceil_log2(c_dual) + c_sdp_reg_bsn_align_v2_addr_w; constant c_addr_w_reg_bsn_align_v2_bf : natural := ceil_log2(c_sdp_P_sum) + c_sdp_reg_bsn_align_v2_addr_w;
constant c_addr_w_reg_bsn_monitor_v2_rx_align_bf : natural := ceil_log2(c_dual) + c_sdp_reg_bsn_monitor_v2_addr_w; constant c_addr_w_reg_bsn_monitor_v2_rx_align_bf : natural := ceil_log2(c_sdp_P_sum) + c_sdp_reg_bsn_monitor_v2_addr_w;
constant c_addr_w_reg_ring_lane_info_bf : natural := 1; constant c_addr_w_reg_ring_lane_info_bf : natural := 1;
-- Read only sdp_info values -- Read only sdp_info values
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment