diff --git a/libraries/base/diag/src/vhdl/diag_block_gen.vhd b/libraries/base/diag/src/vhdl/diag_block_gen.vhd index 1956204af9265c2562b5343127229da3dbc8b9b7..148212a21eed27f9e01254c4c660a16f0e8df646 100644 --- a/libraries/base/diag/src/vhdl/diag_block_gen.vhd +++ b/libraries/base/diag/src/vhdl/diag_block_gen.vhd @@ -81,6 +81,7 @@ entity diag_block_gen is buf_rddat : in std_logic_vector(g_buf_dat_w-1 downto 0); buf_rdval : in std_logic; ctrl : in t_diag_block_gen; + ctrl_reg : out t_diag_block_gen; -- current active ctrl en_sync : in std_logic := '1'; out_siso : in t_dp_siso := c_dp_siso_rdy; out_sosi : out t_dp_sosi @@ -286,5 +287,7 @@ begin out_sosi <= out_sosi_i; buf_addr <= TO_UVEC(r.mem_cnt, g_buf_addr_w); buf_rden <= r.rd_ena; + + ctrl_reg <= r.ctrl_reg; end rtl; diff --git a/libraries/base/diag/src/vhdl/mms_diag_block_gen.vhd b/libraries/base/diag/src/vhdl/mms_diag_block_gen.vhd index 051b6cbe9f0a93e04e7e8f79ecffb236e7227b4c..f219957f2e8025630dc3b1beadc69147757ee5cc 100644 --- a/libraries/base/diag/src/vhdl/mms_diag_block_gen.vhd +++ b/libraries/base/diag/src/vhdl/mms_diag_block_gen.vhd @@ -140,6 +140,7 @@ ENTITY mms_diag_block_gen IS reg_tx_seq_mosi : IN t_mem_mosi := c_mem_mosi_rst; -- Tx seq control (one per stream because c_reg_tx_seq_broadcast=FALSE) reg_tx_seq_miso : OUT t_mem_miso; -- ST interface + bg_ctrl_active_arr : OUT t_diag_block_gen_arr(g_nof_streams-1 DOWNTO 0); usr_siso_arr : OUT t_dp_siso_arr(g_nof_streams-1 DOWNTO 0); -- connect when g_use_usr_input=TRUE, else leave not connected usr_sosi_arr : IN t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0) := (OTHERS=>c_dp_sosi_rst); out_siso_arr : IN t_dp_siso_arr(g_nof_streams-1 DOWNTO 0) := (OTHERS=>c_dp_siso_rdy); -- Default xon='1' @@ -283,7 +284,8 @@ BEGIN buf_rden => st_rd_arr(I), buf_rddat => st_rddata_arr(I), buf_rdval => st_rdval_arr(I), - ctrl => bg_ctrl, + ctrl => bg_ctrl, -- same BG control for all streams + ctrl_reg => bg_ctrl_active_arr(I), -- active BG control can differ in time per stream en_sync => en_sync, out_siso => bg_src_in_arr(I), out_sosi => bg_src_out_arr(I)