| |
uvm_component→uvm_object→uvm_void
driver和sequencer是component;uvm_sequence_item和uvm_sequence是object。
uvm_config_db#(virtual my_if)::set/get(null/this, inst_name, field_name, value);
copy/print/compare/delete/pack_bytes(所有字段打包成byte流)/unpack_bytes(将byte流恢复到某个类的实例中)
pop_front,push_back
+ntb_random_seed_automatic/+ntb_random_seed=$(value)
UVM_ACTIVE(生成激励)/UVM_PASSIVE(只监视) uvm_env
p_sequencer(uvm_declare_p_sequencer)和m_sequencer(内部自带)
sequence中
task body(starting_phase.raise_objection/drop_objection)
i_agt→mdl;mdl→scb;o_agt→scb(uvm_analysis_port→uvm_tlm_analysis_fifo→uvm_blocking_get_port)
`uvm_info(get_type_name(), $psprintf("count[i]=%d",count[i]), UVM_MEDIUM)
寄存器模型
uvm_reg_block(uvm_reg_maps)→uvm_reg→uvm_reg_field
reg2bus bus2reg $cast
前门访问
后门访问 read/write peek/poke