-- When g_use_usr_input=TRUE then the tx_seq data overrules the usr_sosi_arr
...
...
@@ -125,8 +127,14 @@
-- since diag_en went active. An incrementing tx_cnt shows that data is
-- being transmitted.
--
LIBRARYIEEE,common_lib,dp_lib;
-- . diag_mod
-- CNTR counts modulo diag_mod, so diag_mod becomes 0. Use diag_mod = 0
-- for default binary wrap at 2**g_seq_dat_w. For diag_rx_seq choose
-- diag_step = 2**g_seq_dat_w - diag_mod + g_cnt_incr to verify ok as
-- simulated with tb_tb_diag_rx_seq. In this mms_diag_tx_seq g_cnt_incr=1
-- fixed for diag_tx_seq.
LIBRARYIEEE,common_lib,dp_lib;-- init value for out_dat when diag_en = '0'
USEIEEE.std_logic_1164.ALL;
USEcommon_lib.common_pkg.ALL;
USEcommon_lib.common_mem_pkg.ALL;
...
...
@@ -165,16 +173,17 @@ ARCHITECTURE str OF mms_diag_tx_seq IS
-- Define MM slave register size
CONSTANTc_mm_reg:t_c_mem:=(latency=>1,
adr_w=>c_diag_seq_tx_reg_adr_w,-- = 2
adr_w=>c_diag_seq_tx_reg_adr_w,
dat_w=>c_word_w,-- Use MM bus data width = c_word_w = 32 for all MM registers
nof_dat=>c_diag_seq_tx_reg_nof_dat,-- = 3
nof_dat=>c_diag_seq_tx_reg_nof_dat,
init_sl=>'0');
-- Define MM slave register fields for Python peripheral using pi_common.py (specify MM register access per word, not per individual bit because mm_fields assumes 1 field per MM word)
@@ -198,6 +207,9 @@ ARCHITECTURE str OF mms_diag_tx_seq IS
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
SIGNALdiag_mod_mm_arr:t_slv_32_arr(g_nof_streams-1DOWNTO0):=(OTHERS=>(OTHERS=>'0'));-- can use t_slv_32_arr because c -- init value for out_dat when diag_en = '0'_mm_reg.dat_w = c_word_w = 32 fixed