Skip to content
Snippets Groups Projects
Commit c72935be authored by Pieter Donker's avatar Pieter Donker
Browse files

L2SDP-180, processed review comments 3.

parent e1aa55a3
No related branches found
No related tags found
2 merge requests!100Removed text for XSub that is now written in Confluence Subband correlator...,!67Resolve L2SDP-200
......@@ -204,7 +204,7 @@ PACKAGE sdp_pkg is
CONSTANT c_sdp_reg_nw_10GbE_mac_addr_w : NATURAL := 13;
CONSTANT c_sdp_reg_nw_10GbE_eth10g_addr_w : NATURAL := 1;
-- statistics SST offload
-- statistics offload
CONSTANT c_sdp_stat_nof_hdr_fields : NATURAL := 3+12+4+20+1; -- 592b; 9.25 64b words
CONSTANT c_sdp_stat_hdr_field_sel : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := "101"&"111111111001"&"0111"&"01000000000000000000"&"0"; -- 0=data path, 1=MM controlled TODO
......
......@@ -202,9 +202,9 @@ BEGIN
-- assign sdp_data_id for different statistic types
IF g_statistics_type = "SST" THEN
d.data_id <= x"000000" & TO_UVEC(r.block_count, 8);
d.data_id <= x"000000" & TO_UVEC(r.block_count + c_sdp_S_pn * gn_index, 8);
ELSIF g_statistics_type = "BST" THEN
d.data_id <= x"0000" & TO_UVEC(c_beamlet_id, 24);
d.data_id <= x"0000" & TO_UVEC(c_beamlet_id, 16);
ELSIF g_statistics_type = "XST" THEN
d.data_id <= x"00" & TO_UVEC(0, 8) & TO_UVEC(0, 8) & TO_UVEC(0, 8); -- TODO: fill in right values for XST.
ELSE
......@@ -228,8 +228,7 @@ BEGIN
d.start_pulse <= '1';
d.block_count <= r.block_count + 1;
ELSE
-- prepare for next trigger interval, this is in fact don't care, because trigger will start
-- next offload interval, but may ease interpretation in the wave window
-- Prepare for next trigger interval.
d.start_address <= 0;
d.block_count <= 0;
END IF;
......
......@@ -212,10 +212,9 @@ BEGIN
p_in_sosi : PROCESS
BEGIN
proc_common_wait_until_low(dp_clk, dp_rst);
proc_common_wait_some_cycles(dp_clk, 10);
in_sosi.valid <= '1';
proc_common_wait_some_cycles(dp_clk, 12);
in_sosi.bsn <= TO_DP_BSN(16#10000#);
proc_common_wait_some_cycles(dp_clk, 1);
in_sosi.valid <= '1';
WHILE TRUE LOOP
FOR i IN 0 TO c_nof_block_per_sync-1 LOOP
FOR j IN 0 TO c_nof_clk_per_block-1 LOOP
......@@ -315,13 +314,13 @@ BEGIN
END PROCESS;
-- Count number of blocks in a sync interval, rx_request is used to start counting from 0.
p_rx_block_cnt : PROCESS(dp_clk, test_offload_sosi)
p_rx_block_cnt : PROCESS(dp_clk)
BEGIN
IF rising_edge(dp_clk) THEN
IF test_offload_sosi.sop = '1' THEN
IF rx_request = '1' THEN
rx_block_cnt <= 0;
rx_request <= '0';
rx_request <= '0';
ELSE
rx_block_cnt <= rx_block_cnt + 1;
END IF;
......@@ -338,7 +337,7 @@ BEGIN
rx_prev_bsn <= rx_bsn WHEN rising_edge(dp_clk);
-- verify number of blocks between 2 syncs and between 2 changed bsn numbers
p_verify_nof_blocks : PROCESS(dp_clk, in_sosi, rx_block_cnt, rx_prev_bsn, rx_bsn, rx_hdr_fields_raw, test_offload_sosi)
p_verify_nof_blocks : PROCESS(dp_clk)
BEGIN
IF rising_edge(dp_clk) THEN
IF init_ram_done = '1' THEN
......@@ -355,7 +354,7 @@ BEGIN
rx_data_id <= TO_UINT(rx_hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_data_id") DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_data_id")));
IF test_offload_sosi.eop = '1' THEN
ASSERT rx_data_id = rx_block_cnt REPORT "wrong block count number, received data_id not same as counted blocks" SEVERITY ERROR;
ASSERT rx_data_id = rx_block_cnt + c_sdp_S_pn * gn_index REPORT "wrong block count number, received data_id not same as counted blocks" SEVERITY ERROR;
END IF;
END IF;
......
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