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

read back current BG BSN.

parent 06c96959
No related branches found
No related tags found
1 merge request!297Resolve L2SDP-837 "B"
...@@ -96,7 +96,8 @@ entity diag_block_gen is ...@@ -96,7 +96,8 @@ entity diag_block_gen is
ctrl_hold : out t_diag_block_gen; -- hold current active ctrl ctrl_hold : out t_diag_block_gen; -- hold current active ctrl
en_sync : in std_logic := '1'; en_sync : in std_logic := '1';
out_siso : in t_dp_siso := c_dp_siso_rdy; out_siso : in t_dp_siso := c_dp_siso_rdy;
out_sosi : out t_dp_sosi out_sosi : out t_dp_sosi;
out_bsn : out std_logic_vector(c_diag_bg_bsn_init_w-1 downto 0)
); );
end diag_block_gen; end diag_block_gen;
...@@ -301,6 +302,8 @@ begin ...@@ -301,6 +302,8 @@ begin
buf_addr <= TO_UVEC(r.mem_cnt, g_buf_addr_w); buf_addr <= TO_UVEC(r.mem_cnt, g_buf_addr_w);
buf_rden <= r.rd_ena; buf_rden <= r.rd_ena;
out_bsn <= rin.bsn_cnt when rising_edge(clk) and rin.sop = '1';
ctrl_hold <= r.ctrl_hold; ctrl_hold <= r.ctrl_hold;
end rtl; end rtl;
...@@ -39,7 +39,8 @@ entity diag_block_gen_reg is ...@@ -39,7 +39,8 @@ entity diag_block_gen_reg is
dp_clk : in std_logic; dp_clk : in std_logic;
mm_mosi : in t_mem_mosi; -- Memory Mapped Slave in mm_clk domain mm_mosi : in t_mem_mosi; -- Memory Mapped Slave in mm_clk domain
mm_miso : out t_mem_miso := c_mem_miso_rst; mm_miso : out t_mem_miso := c_mem_miso_rst;
bg_ctrl : out t_diag_block_gen := g_diag_block_gen_rst bg_ctrl : out t_diag_block_gen := g_diag_block_gen_rst;
bg_bsn : in std_logic_vector(c_diag_bg_bsn_init_w-1 downto 0)
); );
end diag_block_gen_reg; end diag_block_gen_reg;
...@@ -109,9 +110,9 @@ begin ...@@ -109,9 +110,9 @@ begin
when 5 => when 5 =>
mm_miso.rddata(c_diag_bg_mem_high_adrs_w -1 downto 0) <= mm_bg_ctrl.mem_high_adrs; mm_miso.rddata(c_diag_bg_mem_high_adrs_w -1 downto 0) <= mm_bg_ctrl.mem_high_adrs;
when 6 => when 6 =>
mm_miso.rddata(31 downto 0) <= mm_bg_ctrl.bsn_init(31 downto 0); mm_miso.rddata(31 downto 0) <= bg_bsn(31 downto 0);
when 7 => when 7 =>
mm_miso.rddata(31 downto 0) <= mm_bg_ctrl.bsn_init(63 downto 32); mm_miso.rddata(31 downto 0) <= bg_bsn(63 downto 32);
when others => null; -- not used MM addresses when others => null; -- not used MM addresses
end case; end case;
end if; end if;
......
...@@ -174,6 +174,7 @@ ARCHITECTURE rtl OF mms_diag_block_gen IS ...@@ -174,6 +174,7 @@ ARCHITECTURE rtl OF mms_diag_block_gen IS
SIGNAL ram_bg_data_mosi_arr : t_mem_mosi_arr(g_nof_streams -1 DOWNTO 0); SIGNAL ram_bg_data_mosi_arr : t_mem_mosi_arr(g_nof_streams -1 DOWNTO 0);
SIGNAL ram_bg_data_miso_arr : t_mem_miso_arr(g_nof_streams -1 DOWNTO 0); SIGNAL ram_bg_data_miso_arr : t_mem_miso_arr(g_nof_streams -1 DOWNTO 0);
SIGNAL bg_ctrl : t_diag_block_gen; SIGNAL bg_ctrl : t_diag_block_gen;
SIGNAL bg_bsn : STD_LOGIC_VECTOR(c_diag_bg_bsn_init_w-1 downto 0);
SIGNAL mux_ctrl : NATURAL RANGE 0 TO c_mux_nof_input-1; SIGNAL mux_ctrl : NATURAL RANGE 0 TO c_mux_nof_input-1;
SIGNAL mux_snk_out_2arr_2 : t_dp_siso_2arr_2(g_nof_streams-1 DOWNTO 0); -- [g_nof_streams-1:0][c_mux_nof_input-1:0] = [1:0] SIGNAL mux_snk_out_2arr_2 : t_dp_siso_2arr_2(g_nof_streams-1 DOWNTO 0); -- [g_nof_streams-1:0][c_mux_nof_input-1:0] = [1:0]
...@@ -216,7 +217,8 @@ BEGIN ...@@ -216,7 +217,8 @@ BEGIN
dp_clk => dp_clk, dp_clk => dp_clk,
mm_mosi => reg_bg_ctrl_mosi, mm_mosi => reg_bg_ctrl_mosi,
mm_miso => reg_bg_ctrl_miso, mm_miso => reg_bg_ctrl_miso,
bg_ctrl => bg_ctrl bg_ctrl => bg_ctrl,
bg_bsn => bg_bsn
); );
-- Combine the internal array of mm interfaces for the bg_data to one array that is connected to the port of the MM bus -- Combine the internal array of mm interfaces for the bg_data to one array that is connected to the port of the MM bus
...@@ -288,7 +290,8 @@ BEGIN ...@@ -288,7 +290,8 @@ BEGIN
ctrl_hold => bg_ctrl_hold_arr(I), -- active BG control can differ in time per stream ctrl_hold => bg_ctrl_hold_arr(I), -- active BG control can differ in time per stream
en_sync => en_sync, en_sync => en_sync,
out_siso => bg_src_in_arr(I), out_siso => bg_src_in_arr(I),
out_sosi => bg_src_out_arr(I) out_sosi => bg_src_out_arr(I),
out_bsn => bg_bsn
); );
END GENERATE; END GENERATE;
END GENERATE; END GENERATE;
......
...@@ -158,9 +158,11 @@ ARCHITECTURE tb OF tb_eth_tester IS ...@@ -158,9 +158,11 @@ ARCHITECTURE tb OF tb_eth_tester IS
SIGNAL eth_rxp : STD_LOGIC; SIGNAL eth_rxp : STD_LOGIC;
SIGNAL eth_corrupt : STD_LOGIC := '0'; SIGNAL eth_corrupt : STD_LOGIC := '0';
-- Use same bg_ctrl for all streams, this provides sufficient test coverage -- Use same bg_ctrl for all others streams, this provides sufficient test coverage
SIGNAL bg_ctrl_arr : t_diag_block_gen_integer_arr(g_nof_streams-1 DOWNTO 0); SIGNAL bg_ctrl_arr : t_diag_block_gen_integer_arr(g_nof_streams-1 DOWNTO 0);
SIGNAL bg_bsn : STD_LOGIC_VECTOR(c_diag_bg_bsn_init_w-1 downto 0);
SIGNAL tx_fifo_rd_emp_arr : STD_LOGIC_VECTOR(g_nof_streams-1 DOWNTO 0); SIGNAL tx_fifo_rd_emp_arr : STD_LOGIC_VECTOR(g_nof_streams-1 DOWNTO 0);
-- ETH UDP data path interface -- ETH UDP data path interface
...@@ -360,6 +362,22 @@ BEGIN ...@@ -360,6 +362,22 @@ BEGIN
END IF; END IF;
ASSERT c_bg_nof_bps_total < 10.0**9 REPORT "Tx flow control will keep ETH bitrate < 1Gbps." SEVERITY NOTE; ASSERT c_bg_nof_bps_total < 10.0**9 REPORT "Tx flow control will keep ETH bitrate < 1Gbps." SEVERITY NOTE;
-------------------------------------------------------------------------
-- Manually verify: BG nof blocks and BSN
-------------------------------------------------------------------------
FOR I IN g_nof_streams-1 DOWNTO 0 LOOP
v_offset := I * c_diag_bg_reg_adr_span;
-- Read current BSN from BG
proc_mem_mm_bus_rd(v_offset + 6, mm_clk, reg_bg_ctrl_cipo, reg_bg_ctrl_copi); -- low part
proc_mem_mm_bus_rd_latency(1, mm_clk);
bg_bsn(31 DOWNTO 0) <= reg_bg_ctrl_cipo.rddata(c_word_w-1 DOWNTO 0);
proc_mem_mm_bus_rd(v_offset + 7, mm_clk, reg_bg_ctrl_cipo, reg_bg_ctrl_copi); -- high part
proc_mem_mm_bus_rd_latency(1, mm_clk);
bg_bsn(63 DOWNTO 32) <= reg_bg_ctrl_cipo.rddata(c_word_w-1 DOWNTO 0);
proc_common_wait_some_cycles(mm_clk, 1);
END LOOP;
------------------------------------------------------------------------- -------------------------------------------------------------------------
-- Verification: Total counts -- Verification: Total counts
------------------------------------------------------------------------- -------------------------------------------------------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment