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 63c6a9ad92cd873e61c7230f857b5300455a31ad..2ad38181d7f13681d06ce4865398de664fbdef1d 100644 --- a/libraries/base/diag/src/vhdl/mms_diag_block_gen.vhd +++ b/libraries/base/diag/src/vhdl/mms_diag_block_gen.vhd @@ -194,6 +194,8 @@ BEGIN no_bg : IF g_use_bg=FALSE GENERATE reg_bg_ctrl_miso <= c_mem_miso_rst; ram_bg_data_miso <= c_mem_miso_rst; + + bg_src_out_arr <= (OTHERS=>c_dp_sosi_rst); END GENERATE; gen_bg : IF g_use_bg=TRUE GENERATE @@ -287,28 +289,25 @@ BEGIN END GENERATE; - no_dp_mux : IF c_use_mux=FALSE GENERATE - --------------------------------------------------------------------------- - -- User input only - --------------------------------------------------------------------------- - gen_usr_input : IF g_use_usr_input=TRUE GENERATE - usr_siso_arr <= mux_src_in_arr; - mux_src_out_arr <= usr_sosi_arr; - END GENERATE; - --------------------------------------------------------------------------- - -- BG only - --------------------------------------------------------------------------- - gen_bg : IF g_use_bg=TRUE GENERATE - bg_src_in_arr <= mux_src_in_arr; - mux_src_out_arr <= bg_src_out_arr; - END GENERATE; + --------------------------------------------------------------------------- + -- No multiplexer, so only one input or no input at all + --------------------------------------------------------------------------- + no_dp_mux : IF c_use_mux=FALSE GENERATE -- so g_use_usr_input and g_use_bg are not both TRUE + -- default pass on flow control + usr_siso_arr <= mux_src_in_arr; + bg_src_in_arr <= mux_src_in_arr; + + -- User input only, BG only or no input + mux_src_out_arr <= usr_sosi_arr WHEN g_use_usr_input=TRUE ELSE + bg_src_out_arr WHEN g_use_bg=TRUE ELSE + (OTHERS=>c_dp_sosi_rst); END GENERATE; ----------------------------------------------------------------------------- -- Multiplex user input and BG ----------------------------------------------------------------------------- - gen_dp_mux : IF c_use_mux=TRUE GENERATE + gen_dp_mux : IF c_use_mux=TRUE GENERATE -- so g_use_usr_input and g_use_bg are both TRUE gen_streams : FOR I IN 0 TO g_nof_streams-1 GENERATE -- Add user xon flow control if the user input does not already support it u_dp_xonoff : ENTITY dp_lib.dp_xonoff