| |
1. 在如果是使用synopsys amba vip,根据要求需要开启 UVM的UVM_DISABLE_AUTO_ITEM_RECORDING宏(不开启会报错)。
2. 如果环境中使用了ral寄存器模型,且与模型关联的sequencer不是synopsys amba vip(比如项目自己的 cfg_agent的cfg_sequencer),可能会出现调用寄存器的read、write任务时候出现卡死的现象。
3.一般这种情况首先要检查在在cfg_driver中在调用seq_item_oprt.item_doen();只有是否有调用end_tr(req); 如说没有的则需要在seq_item_oprt.item_doen();后面调用end_tr(req);
//in driver
//........
seq_item_oprt.item_doen();
end_tr(req);
4.简单说明:在uvm_reg_map中的do_read()、du_write()、方法中,等待了uvm_transaction的end_event:
rw.end_event.wait_on();
而这个end_event在没define UVM_DISABLE_AUTO_ITEM_RECORDING这个宏时会自动触发(在uvm_sequence的finish_item中的sequencer.end_tr(item)触发),define该宏后则无法自动触发。具体见uvm源码。