SIGNALdiag_init_mm_arr:t_slv_32_arr(g_nof_streams-1DOWNTO0):=(OTHERS=>(OTHERS=>'0'));-- can use t_slv_32_arr because c_mm_reg.dat_w = c_word_w = 32 fixed
-- for some reason the intermediate tx_replicate_dat_arr() signal is needed, otherwise the assignment to the tx_src_out_arr().data field remains void in the Wave window
tx_src_out_arr(I).data<=tx_replicate_dat_arr(I);
-- for some reason the intermediate tx_replicate_arr() signal is needed, otherwise the assignment to the tx_src_out_arr().data field remains void in the Wave window
tx_src_out_arr(I).data<=tx_replicate_arr(I);
tx_src_out_arr(I).valid<=tx_val_arr(I);
tx_src_out_arr(I).valid<=tx_val_arr(I);
ENDGENERATE;
-- Register mapping
-- Register mapping
diag_en<=ctrl_reg(0);-- address 0, data bit [0]
diag_en_arr(I)<=ctrl_reg_arr(I)(0);-- address 0, data bit [0]
diag_sel<=ctrl_reg(1);-- address 0, data bit [1]
diag_sel_arr(I)<=ctrl_reg_arr(I)(1);-- address 0, data bit [1]
diag_init_mm<=ctrl_reg(2*c_word_w-1DOWNTOc_word_w);-- address 1, data bits [31:0]
diag_init_mm_arr(I)<=ctrl_reg_arr(I)(2*c_word_w-1DOWNTOc_word_w);-- address 1, data bits [31:0]