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

Align with tb_lofar2_unb2c_sdp_station_bf.vhd.

parent 29349b42
No related branches found
No related tags found
1 merge request!348Use use_bdo_transpose = true in c_bf revision. Test use_bdo_transpose = false...
Pipeline #56285 passed
...@@ -111,7 +111,9 @@ ...@@ -111,7 +111,9 @@
-- * Default beamlet 102 also contains g_subband = 102. On HW the BF weights -- * Default beamlet 102 also contains g_subband = 102. On HW the BF weights
-- are default 0, but in sim the BF weights in node_sdp_beamformer.vhd -- are default 0, but in sim the BF weights in node_sdp_beamformer.vhd
-- are default unit weights. Therefore also write the BF weight for default -- are default unit weights. Therefore also write the BF weight for default
-- beamlet 102 to define it value, in case g_beamlet /= 102. -- beamlet 102 to define it value, in case g_beamlet /= 102. In this tb
-- the BF weigth for beamlet = g_subband = 102 is set to 0, so that the
-- g_subband = 102 will only show up in g_beamlet.
-- * A simulation only section in sdp_beamformer_output.vhd disturbs the BSN, -- * A simulation only section in sdp_beamformer_output.vhd disturbs the BSN,
-- to cause a merged payload error, so that sdp_source_info_payload_error -- to cause a merged payload error, so that sdp_source_info_payload_error
-- can be verified here. -- can be verified here.
...@@ -375,7 +377,7 @@ architecture tb of tb_lofar2_unb2c_sdp_station_bf_ring is ...@@ -375,7 +377,7 @@ architecture tb of tb_lofar2_unb2c_sdp_station_bf_ring is
constant c_mm_file_reg_hdr_dat : string := mmf_unb_file_prefix(c_last_unb_nr, c_last_node_nr) & "REG_HDR_DAT"; -- control beamlet output constant c_mm_file_reg_hdr_dat : string := mmf_unb_file_prefix(c_last_unb_nr, c_last_node_nr) & "REG_HDR_DAT"; -- control beamlet output
-- Tb BSN moments -- Tb BSN moments
constant c_stimuli_done_bsn : natural := c_init_bsn + c_bsn_latency + c_nof_block_per_sync * 3; constant c_stimuli_done_bsn : natural := c_init_bsn + c_nof_block_per_sync * 3;
constant c_verify_rx_beamlet_list_bsn : natural := c_stimuli_done_bsn - c_nof_block_per_sync; constant c_verify_rx_beamlet_list_bsn : natural := c_stimuli_done_bsn - c_nof_block_per_sync;
-- Tb -- Tb
...@@ -1456,8 +1458,8 @@ begin ...@@ -1456,8 +1458,8 @@ begin
rx_beamlet_valid <= '0'; rx_beamlet_valid <= '0';
-- Wait until start of a beamlet packet -- Wait until start of a beamlet packet
proc_common_wait_until_high(ext_clk, rx_beamlet_sosi.sop); proc_common_wait_until_high(ext_clk, rx_beamlet_sosi.sop);
-- c_sdp_cep_nof_beamlets_per_longword = 2 dual pol beamlets (= XY, XY) per 64b data word -- c_sdp_nof_beamlets_per_longword = 2 dual pol beamlets (= XY, XY) per 64b data word
for I in 0 to (c_sdp_cep_nof_beamlets_per_packet / c_sdp_cep_nof_beamlets_per_longword) - 1 loop for I in 0 to (c_sdp_cep_nof_beamlets_per_packet / c_sdp_nof_beamlets_per_longword) - 1 loop
proc_common_wait_until_high(ext_clk, rx_beamlet_sosi.valid); proc_common_wait_until_high(ext_clk, rx_beamlet_sosi.valid);
rx_beamlet_valid <= '1'; rx_beamlet_valid <= '1';
-- Capture rx beamlets per longword in rx_beamlet_arr, for time series view in Wave window -- Capture rx beamlets per longword in rx_beamlet_arr, for time series view in Wave window
...@@ -1484,7 +1486,7 @@ begin ...@@ -1484,7 +1486,7 @@ begin
-- contains no WAIT statement. -- contains no WAIT statement.
wait until rising_edge(ext_clk); wait until rising_edge(ext_clk);
rx_beamlet_valid <= '0'; rx_beamlet_valid <= '0';
rx_beamlet_cnt <= (rx_beamlet_cnt + c_sdp_cep_nof_beamlets_per_longword) mod c_sdp_cep_nof_beamlets_per_block; -- 4 blocks/packet rx_beamlet_cnt <= (rx_beamlet_cnt + c_sdp_nof_beamlets_per_longword) mod c_sdp_cep_nof_beamlets_per_block; -- 4 blocks/packet
end loop; end loop;
end process; end process;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment