Skip to content
Snippets Groups Projects

Resolve L2SDP-174 & L2SDP-173

Merged
Reinier van der Wallerequested to merge
L2SDP-174 into master
2 open threads
1 file
+ 22
11
Compare changes
  • Side-by-side
  • Inline
@@ -152,9 +152,11 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_beamformer IS
-- 10GbE
CONSTANT c_exp_beamlet_index : NATURAL := NATURAL(c_subband_sp_0) * c_sdp_N_pol;
CONSTANT c_exp_beamlet : STD_LOGIC_VECTOR(15 DOWNTO 0) := x"7F81"; --Derived from simulation
CONSTANT c_exp_beamlet_re : STD_LOGIC_VECTOR(7 DOWNTO 0) := x"81"; --Derived from simulation
CONSTANT c_exp_beamlet_im : STD_LOGIC_VECTOR(7 DOWNTO 0) := x"7F"; --Derived from simulation
SIGNAL beamlet_arr2 : t_slv_16_arr(c_sdp_cep_nof_beamlets_per_block-1 DOWNTO 0);
SIGNAL beamlet_arr2_re : t_slv_8_arr(c_sdp_cep_nof_beamlets_per_block-1 DOWNTO 0);
SIGNAL beamlet_arr2_im : t_slv_8_arr(c_sdp_cep_nof_beamlets_per_block-1 DOWNTO 0);
SIGNAL tr_10GbE_src_out : t_dp_sosi;
SIGNAL tr_ref_clk_312 : STD_LOGIC := '0';
@@ -462,21 +464,29 @@ BEGIN
END LOOP;
-- First word contains 3 beamlets + 1 header part
beamlet_arr2(0) <= tr_10GbE_src_out.data(15 DOWNTO 0);
beamlet_arr2(1) <= tr_10GbE_src_out.data(31 DOWNTO 16);
beamlet_arr2(2) <= tr_10GbE_src_out.data(47 DOWNTO 32);
beamlet_arr2_re(0) <= tr_10GbE_src_out.data(7 DOWNTO 0);
beamlet_arr2_im(0) <= tr_10GbE_src_out.data(15 DOWNTO 8);
beamlet_arr2_re(1) <= tr_10GbE_src_out.data(23 DOWNTO 16);
beamlet_arr2_im(1) <= tr_10GbE_src_out.data(31 DOWNTO 24);
beamlet_arr2_re(2) <= tr_10GbE_src_out.data(39 DOWNTO 32);
beamlet_arr2_im(2) <= tr_10GbE_src_out.data(47 DOWNTO 40);
proc_common_wait_until_high(ext_clk, tr_10GbE_src_out.valid);
proc_common_wait_some_cycles(ext_clk, 1);
FOR I IN 1 TO (c_sdp_cep_nof_beamlets_per_block/4)-1 LOOP
beamlet_arr2(I*4 -1) <= tr_10GbE_src_out.data(15 DOWNTO 0);
beamlet_arr2(I*4 +0) <= tr_10GbE_src_out.data(31 DOWNTO 16);
beamlet_arr2(I*4 +1) <= tr_10GbE_src_out.data(47 DOWNTO 32);
beamlet_arr2(I*4 +2) <= tr_10GbE_src_out.data(63 DOWNTO 48);
beamlet_arr2_re(I*4 -1) <= tr_10GbE_src_out.data(7 DOWNTO 0);
beamlet_arr2_im(I*4 -1) <= tr_10GbE_src_out.data(15 DOWNTO 8);
beamlet_arr2_re(I*4 +0) <= tr_10GbE_src_out.data(23 DOWNTO 16);
beamlet_arr2_im(I*4 +0) <= tr_10GbE_src_out.data(31 DOWNTO 24);
beamlet_arr2_re(I*4 +1) <= tr_10GbE_src_out.data(39 DOWNTO 32);
beamlet_arr2_im(I*4 +1) <= tr_10GbE_src_out.data(47 DOWNTO 40);
beamlet_arr2_re(I*4 +2) <= tr_10GbE_src_out.data(55 DOWNTO 48);
beamlet_arr2_im(I*4 +2) <= tr_10GbE_src_out.data(63 DOWNTO 56);
proc_common_wait_until_high(ext_clk, tr_10GbE_src_out.valid);
proc_common_wait_some_cycles(ext_clk, 1);
END LOOP;
beamlet_arr2(c_sdp_cep_nof_beamlets_per_block-1) <= tr_10GbE_src_out.data(63 DOWNTO 48);
beamlet_arr2_re(c_sdp_cep_nof_beamlets_per_block-1) <= tr_10GbE_src_out.data(55 DOWNTO 48);
beamlet_arr2_im(c_sdp_cep_nof_beamlets_per_block-1) <= tr_10GbE_src_out.data(63 DOWNTO 56);
---------------------------------------------------------------------------
-- Verify subband statistics
@@ -522,7 +532,8 @@ BEGIN
---------------------------------------------------------------------------
-- Verify 10GbE UDP offload
---------------------------------------------------------------------------
ASSERT beamlet_arr2(c_exp_beamlet_index) = c_exp_beamlet REPORT "Wrong 10GbE output" SEVERITY ERROR;
ASSERT beamlet_arr2_re(c_exp_beamlet_index) = c_exp_beamlet_re REPORT "Wrong 10GbE output (re)" SEVERITY ERROR;
ASSERT beamlet_arr2_im(c_exp_beamlet_index) = c_exp_beamlet_im REPORT "Wrong 10GbE output (im)" SEVERITY ERROR;
---------------------------------------------------------------------------
-- End Simulation
Loading