Skip to content
Snippets Groups Projects
Commit 4b472bf5 authored by Reinier van der Walle's avatar Reinier van der Walle
Browse files

processed review comments

parent 8d280f50
Branches
No related tags found
1 merge request!152Resolve L2SDP-423
...@@ -55,7 +55,8 @@ peripherals: ...@@ -55,7 +55,8 @@ peripherals:
mm_port_type: REG mm_port_type: REG
mm_port_span: 2 * MM_BUS_SIZE mm_port_span: 2 * MM_BUS_SIZE
mm_port_description: | mm_port_description: |
"The SDP nof crosslets contains the number of crosslets that are being sent out the UDP offload" "The SDP nof crosslets contains the number of crosslets that are being sent out the UDP offload
where 1 <= nof_crosslets <= N_crosslets_max"
fields: fields:
- - { field_name: nof_crosslets, access_mode: RW, address_offset: 0x0 } - - { field_name: nof_crosslets, access_mode: RW, address_offset: 0x0 }
- - { field_name: unused, access_mode: RW, address_offset: 0x4 } - - { field_name: unused, access_mode: RW, address_offset: 0x4 }
......
...@@ -69,7 +69,6 @@ PACKAGE sdp_pkg is ...@@ -69,7 +69,6 @@ PACKAGE sdp_pkg is
-- L3 SDP Decision: SDP Parameter definitions -- L3 SDP Decision: SDP Parameter definitions
CONSTANT c_sdp_f_adc_MHz : NATURAL := 200; CONSTANT c_sdp_f_adc_MHz : NATURAL := 200;
CONSTANT c_sdp_N_beamsets : NATURAL := 2; CONSTANT c_sdp_N_beamsets : NATURAL := 2;
CONSTANT c_sdp_N_crosslets : NATURAL := 1;
CONSTANT c_sdp_N_crosslets_max : NATURAL := 7; CONSTANT c_sdp_N_crosslets_max : NATURAL := 7;
CONSTANT c_sdp_N_fft : NATURAL := 1024; CONSTANT c_sdp_N_fft : NATURAL := 1024;
CONSTANT c_sdp_N_pn_lb : NATURAL := 16; CONSTANT c_sdp_N_pn_lb : NATURAL := 16;
......
...@@ -159,7 +159,6 @@ ARCHITECTURE str OF sdp_statistics_offload IS ...@@ -159,7 +159,6 @@ ARCHITECTURE str OF sdp_statistics_offload IS
SIGNAL bsn_at_sync : STD_LOGIC_VECTOR(63 DOWNTO 0) := (OTHERS => '0'); SIGNAL bsn_at_sync : STD_LOGIC_VECTOR(63 DOWNTO 0) := (OTHERS => '0');
SIGNAL selected_crosslet_arr : t_selected_crosslet_arr(c_sdp_N_crosslets_max-1 DOWNTO 0); SIGNAL selected_crosslet_arr : t_selected_crosslet_arr(c_sdp_N_crosslets_max-1 DOWNTO 0);
--SIGNAL sdp_data_id : STD_LOGIC_VECTOR(31 DOWNTO 0);
BEGIN BEGIN
...@@ -244,14 +243,12 @@ BEGIN ...@@ -244,14 +243,12 @@ BEGIN
v.start_pulse := '1'; v.start_pulse := '1';
v.start_address := 0; v.start_address := 0;
v.block_count := 0; v.block_count := 0;
IF g_statistics_type = "XST" AND TO_UINT(nof_crosslets) = 1 THEN v.crosslet_count := 0;
v.block_count := c_sdp_N_crosslets_max; -- Instead of setting v.block_count to 0 we need to set it to N_crosslets_max = 7 to prevent another block to stream out.
END IF;
v.crosslet_count := 1;
v.nof_crosslets := TO_UINT(nof_crosslets); -- register nof_crosslets to make sure it does not change during packet output. v.nof_crosslets := TO_UINT(nof_crosslets); -- register nof_crosslets to make sure it does not change during packet output.
ELSIF done = '1' THEN ELSIF done = '1' THEN
-- Use done to start next packets -- Use done to start next packets
IF r.block_count < c_nof_packets-1 THEN IF r.block_count < c_nof_packets-1 THEN
IF g_statistics_type /= "XST" OR r.crosslet_count < r.nof_crosslets-1 THEN
IF r.block_count MOD c_nof_data_per_step = 0 THEN IF r.block_count MOD c_nof_data_per_step = 0 THEN
v.start_address := r.block_count / c_nof_data_per_step * c_block_size; -- jump to first packet in next block v.start_address := r.block_count / c_nof_data_per_step * c_block_size; -- jump to first packet in next block
ELSE ELSE
...@@ -259,14 +256,11 @@ BEGIN ...@@ -259,14 +256,11 @@ BEGIN
END IF; END IF;
v.start_pulse := '1'; v.start_pulse := '1';
v.block_count := r.block_count + 1; v.block_count := r.block_count + 1;
IF g_statistics_type = "XST" THEN
IF r.crosslet_count < r.nof_crosslets-1 THEN
v.crosslet_count := r.crosslet_count + 1; v.crosslet_count := r.crosslet_count + 1;
ELSE ELSE
v.crosslet_count := 0; v.crosslet_count := 0;
v.block_count := r.block_count + 1 + c_sdp_N_crosslets_max - r.nof_crosslets; -- skip block indices for unused XST blocks. -- skip block indices for unused XST blocks in this P_sq iteration by setting the block count to the next multiple of N_crosslets_max i.e. 7, 14, 21, etc.
END IF; v.block_count := r.block_count + 1 + (c_sdp_N_crosslets_max - r.nof_crosslets);
END IF; END IF;
ELSE ELSE
......
...@@ -139,7 +139,7 @@ peripherals: ...@@ -139,7 +139,7 @@ peripherals:
# Parameters of pi_st_xst.py, fixed in node_sdp_correlator.vhd / sdp_pkg.vhd # Parameters of pi_st_xst.py, fixed in node_sdp_correlator.vhd / sdp_pkg.vhd
- { name: g_nof_streams, value: 9 } # P_sq - { name: g_nof_streams, value: 9 } # P_sq
# Parameters of st_xst.vhd, st_xsq_arr.vhd fixed in node_sdp_correlator.vhd / sdp_pkg.vhd # Parameters of st_xst.vhd, st_xsq_arr.vhd fixed in node_sdp_correlator.vhd / sdp_pkg.vhd
- { name: g_nof_crosslets, value: 7 } # N_crosslets - { name: g_nof_crosslets, value: 7 } # N_crosslets_max
- { name: g_nof_signal_inputs, value: 12 } # S_pn = 12 - { name: g_nof_signal_inputs, value: 12 } # S_pn = 12
- { name: g_in_data_w, value: 16 } # W_crosslet = 16 - { name: g_in_data_w, value: 16 } # W_crosslet = 16
- { name: g_stat_data_w, value: 64 } # W_statistic = 64 - { name: g_stat_data_w, value: 64 } # W_statistic = 64
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment