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

Capture rx beamlets per longword in big endian order.

parent 5e8e0478
No related branches found
No related tags found
1 merge request!311Correct beamlet output indexing in tr_10GbE_src_out.data. Verify exact beamlet...
......@@ -1296,24 +1296,24 @@ BEGIN
proc_common_wait_until_high(ext_clk, rx_beamlet_sosi.valid);
rx_beamlet_valid <= '1';
-- Capture rx beamlets per longword in rx_beamlet_arr, for time series view in Wave window
rx_beamlet_arr_re(0) <= rx_beamlet_sosi.data(55 DOWNTO 48); -- X
rx_beamlet_arr_im(0) <= rx_beamlet_sosi.data(63 DOWNTO 56);
rx_beamlet_arr_re(1) <= rx_beamlet_sosi.data(39 DOWNTO 32); -- Y
rx_beamlet_arr_im(1) <= rx_beamlet_sosi.data(47 DOWNTO 40);
rx_beamlet_arr_re(2) <= rx_beamlet_sosi.data(23 DOWNTO 16); -- X
rx_beamlet_arr_im(2) <= rx_beamlet_sosi.data(31 DOWNTO 24);
rx_beamlet_arr_re(3) <= rx_beamlet_sosi.data( 7 DOWNTO 0); -- Y
rx_beamlet_arr_im(3) <= rx_beamlet_sosi.data(15 DOWNTO 8);
rx_beamlet_arr_im(0) <= rx_beamlet_sosi.data(63 DOWNTO 56); -- X
rx_beamlet_arr_re(0) <= rx_beamlet_sosi.data(55 DOWNTO 48);
rx_beamlet_arr_im(1) <= rx_beamlet_sosi.data(47 DOWNTO 40); -- Y
rx_beamlet_arr_re(1) <= rx_beamlet_sosi.data(39 DOWNTO 32);
rx_beamlet_arr_im(2) <= rx_beamlet_sosi.data(31 DOWNTO 24); -- X
rx_beamlet_arr_re(2) <= rx_beamlet_sosi.data(23 DOWNTO 16);
rx_beamlet_arr_im(3) <= rx_beamlet_sosi.data(15 DOWNTO 8); -- Y
rx_beamlet_arr_re(3) <= rx_beamlet_sosi.data( 7 DOWNTO 0);
IF I < c_sdp_cep_nof_beamlets_per_block / c_nof_beamlets_per_data THEN
-- Only capture the first beamlets block of each packet in rx_beamlet_list
rx_beamlet_list_re(I*4 + 0) <= rx_beamlet_sosi.data(55 DOWNTO 48); -- X
rx_beamlet_list_im(I*4 + 0) <= rx_beamlet_sosi.data(63 DOWNTO 56);
rx_beamlet_list_re(I*4 + 1) <= rx_beamlet_sosi.data(39 DOWNTO 32); -- Y
rx_beamlet_list_im(I*4 + 1) <= rx_beamlet_sosi.data(47 DOWNTO 40);
rx_beamlet_list_re(I*4 + 2) <= rx_beamlet_sosi.data(23 DOWNTO 16); -- X
rx_beamlet_list_im(I*4 + 2) <= rx_beamlet_sosi.data(31 DOWNTO 24);
rx_beamlet_list_re(I*4 + 3) <= rx_beamlet_sosi.data( 7 DOWNTO 0); -- Y
rx_beamlet_list_im(I*4 + 3) <= rx_beamlet_sosi.data(15 DOWNTO 8);
rx_beamlet_list_im(I*4 + 0) <= rx_beamlet_sosi.data(63 DOWNTO 56); -- X
rx_beamlet_list_re(I*4 + 0) <= rx_beamlet_sosi.data(55 DOWNTO 48);
rx_beamlet_list_im(I*4 + 1) <= rx_beamlet_sosi.data(47 DOWNTO 40); -- Y
rx_beamlet_list_re(I*4 + 1) <= rx_beamlet_sosi.data(39 DOWNTO 32);
rx_beamlet_list_im(I*4 + 2) <= rx_beamlet_sosi.data(31 DOWNTO 24); -- X
rx_beamlet_list_re(I*4 + 2) <= rx_beamlet_sosi.data(23 DOWNTO 16);
rx_beamlet_list_im(I*4 + 3) <= rx_beamlet_sosi.data(15 DOWNTO 8); -- Y
rx_beamlet_list_re(I*4 + 3) <= rx_beamlet_sosi.data( 7 DOWNTO 0);
END IF;
proc_common_wait_until_high(ext_clk, rx_beamlet_sosi.valid);
-- Use at least one WAIT instead of proc_common_wait_some_cycles() to
......
......@@ -1414,24 +1414,24 @@ BEGIN
proc_common_wait_until_high(ext_clk, rx_beamlet_sosi.valid);
rx_beamlet_valid <= '1';
-- Capture rx beamlets per longword in rx_beamlet_arr, for time series view in Wave window
rx_beamlet_arr_re(0) <= rx_beamlet_sosi.data(55 DOWNTO 48); -- X
rx_beamlet_arr_im(0) <= rx_beamlet_sosi.data(63 DOWNTO 56);
rx_beamlet_arr_re(1) <= rx_beamlet_sosi.data(39 DOWNTO 32); -- Y
rx_beamlet_arr_im(1) <= rx_beamlet_sosi.data(47 DOWNTO 40);
rx_beamlet_arr_re(2) <= rx_beamlet_sosi.data(23 DOWNTO 16); -- X
rx_beamlet_arr_im(2) <= rx_beamlet_sosi.data(31 DOWNTO 24);
rx_beamlet_arr_re(3) <= rx_beamlet_sosi.data( 7 DOWNTO 0); -- Y
rx_beamlet_arr_im(3) <= rx_beamlet_sosi.data(15 DOWNTO 8);
rx_beamlet_arr_im(0) <= rx_beamlet_sosi.data(63 DOWNTO 56); -- X
rx_beamlet_arr_re(0) <= rx_beamlet_sosi.data(55 DOWNTO 48);
rx_beamlet_arr_im(1) <= rx_beamlet_sosi.data(47 DOWNTO 40); -- Y
rx_beamlet_arr_re(1) <= rx_beamlet_sosi.data(39 DOWNTO 32);
rx_beamlet_arr_im(2) <= rx_beamlet_sosi.data(31 DOWNTO 24); -- X
rx_beamlet_arr_re(2) <= rx_beamlet_sosi.data(23 DOWNTO 16);
rx_beamlet_arr_im(3) <= rx_beamlet_sosi.data(15 DOWNTO 8); -- Y
rx_beamlet_arr_re(3) <= rx_beamlet_sosi.data( 7 DOWNTO 0);
IF I < c_sdp_cep_nof_beamlets_per_block / c_nof_beamlets_per_data THEN
-- Only capture the first beamlets block of each packet in rx_beamlet_list
rx_beamlet_list_re(I*4 + 0) <= rx_beamlet_sosi.data(55 DOWNTO 48); -- X
rx_beamlet_list_im(I*4 + 0) <= rx_beamlet_sosi.data(63 DOWNTO 56);
rx_beamlet_list_re(I*4 + 1) <= rx_beamlet_sosi.data(39 DOWNTO 32); -- Y
rx_beamlet_list_im(I*4 + 1) <= rx_beamlet_sosi.data(47 DOWNTO 40);
rx_beamlet_list_re(I*4 + 2) <= rx_beamlet_sosi.data(23 DOWNTO 16); -- X
rx_beamlet_list_im(I*4 + 2) <= rx_beamlet_sosi.data(31 DOWNTO 24);
rx_beamlet_list_re(I*4 + 3) <= rx_beamlet_sosi.data( 7 DOWNTO 0); -- Y
rx_beamlet_list_im(I*4 + 3) <= rx_beamlet_sosi.data(15 DOWNTO 8);
rx_beamlet_list_im(I*4 + 0) <= rx_beamlet_sosi.data(63 DOWNTO 56); -- X
rx_beamlet_list_re(I*4 + 0) <= rx_beamlet_sosi.data(55 DOWNTO 48);
rx_beamlet_list_im(I*4 + 1) <= rx_beamlet_sosi.data(47 DOWNTO 40); -- Y
rx_beamlet_list_re(I*4 + 1) <= rx_beamlet_sosi.data(39 DOWNTO 32);
rx_beamlet_list_im(I*4 + 2) <= rx_beamlet_sosi.data(31 DOWNTO 24); -- X
rx_beamlet_list_re(I*4 + 2) <= rx_beamlet_sosi.data(23 DOWNTO 16);
rx_beamlet_list_im(I*4 + 3) <= rx_beamlet_sosi.data(15 DOWNTO 8); -- Y
rx_beamlet_list_re(I*4 + 3) <= rx_beamlet_sosi.data( 7 DOWNTO 0);
END IF;
proc_common_wait_until_high(ext_clk, rx_beamlet_sosi.valid);
-- Use at least one WAIT instead of proc_common_wait_some_cycles() to
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment