1functionvoid uvm_reg::reset(stringkind ="HARD");2foreach (m_fields[i])3m_fields[i].reset(kind);4//Put back a key in the semaphore if it is checked out5//in case a thread was killed during an operation6void'(m_atomic.try_get(1));7m_atomic.put(1);8m_process =null;9Xset_b...
1functionvoid uvm_reg::reset(stringkind ="HARD");2foreach (m_fields[i])3m_fields[i].reset(kind);4//Put back a key in the semaphore if it is checked out5//in case a thread was killed during an operation6void'(m_atomic.try_get(1));7m_atomic.put(1);8m_process =null;9Xset_b...
5.比较复位值是不是与硬件一侧的寄存器描述一致,先用get_rest得到软件一侧的复位值,再用后门从硬件里读回硬件复位值(硬件在外部先复位),再比较 @(negedgep_sequencer.vif.rstn);@(posedgep_sequencer.vif.rstn);rgm.reg.reset();value=rgm.reg.get_reset();value2=rgm.reg.read(status,data,UVM_BACKDOOR)...
返回模型中寄存器的期望值,而不是DUT中的寄存器值。 1.3 get_mirrored_value virtual function uvm_reg_data_t get_mirrored_value( string fname = "", int lineno = 0 ) 1. 返回模型中寄存器的镜像值。 1.4 get_reset virtual function uvm_reg_data_t get_reset( string kind = "HARD" ) 1. 返回...
get()是与set()的关系类似于reset()与get_reset(),用来获取调用uvm_reg_field的m_desired(期望值)。 randomize() 这里并没有定义randomize()函数,而是定义了相应的callback函数来对randomize()前后的行为进行一定的约束,我们知道randomize()实际是对value值做的随机,在randomize()前会自动调用pre_randomize()将m...
这里个get_reset()方法指的也是寄存器模型的复位值,而不是硬件。 mirror()方法与read()方法类似,也可以选择前门访问后者后门访问,不同的是,mirror()不会返回读回的数值,但是会将对应的镜像值修改。在修改镜像值之前,用户还可以选择是否将读回的值与模型中的原镜像值进行比较。下面的例码一方面在更新镜像值之前,...
reset可以被设置为多种类型的reset的值。 主要functionconfigure。 uvm_reg中的主要变量有,m_locked,由顶层的reg_block调用 m_parent,指向的uvm_reg_block; m_is_busy,当该reg正在执行frontdoor的读写操作时,该信号置 1,避免此时做predict。 m_backdoor,外部设置进去的backdoor的方法。
(string name,uvm_component parent);super.new(name,parent);endfunctionfunctionvoidbuild_phase(uvm_phase phase);wb_mon_ap=new("wb_mon_ap",this);m_config=wb_config::get_config(this);// get config objectm_bfm=m_config.WB_mon_bfm;// set local virtual if propertym_bfm.proxy=this;//Set...
//assert(uvm_config_db#(virtual fifo_interface)::get(this, “”, “vitf”, itf)); endfunction task my_monitor::run_phase(uvm_phase phase); super.run_phase(phase); @(itf.reset_n) `uvm_info(get_full_name(),“reset done!!”,UVM_LOW); ...
这个ps:UVMUVMget_reset reset reset_re上述函数都是在、con 设置JVMset r 17、e些。然后 crc error是simv +UVM_MAX_QUIT_COUNT=10我觉得应该用不大到,就不做笔记了config_db 机制uvm_config_db#(类型):set/get(component 指针,”;"变量名字 ”,para4)都是4个参数:第一个参数是一个 component指针,...