1class uvm_predict_s;2bit addr[uvm_reg_addr_t];3uvm_reg_item reg_item;4endclass56//---7//8//CLASS: uvm_reg_predictor9//10//Updates the register model mirror based on observed bus transactions11//12//This class converts observed bus transactions of type ~BUSTYPE~ to generic13//re...
(1) read/peek和write/poke操作对DUT完成读写后,也会调用此函数,只是它们给出的参数是UVM_PREDICT_READ和UVM_PREDICT_WRITE(使用这两个参数的区别? 详见uvm_reg_field的do_predict函数); (2) 在显式预测中,predictor内会调用uvm_predict函数进行镜像值的更新; 5.3 predict源码 1functionbit uvm_reg::predict ...
被称为寄存器模型的auto predict 功能。使用如下语句打开此功能: 2.右图另外一种形式。monitor 将总线收集到的transaction交给寄存器模型,后者更新相应寄存器的值。 3.用这种方法更新数据,需要理会一个reg_predictor,并例化: 1)要将reg_predictor和 bus_agt的 ap 连接,并设置reg_predictor 的adapter 和map。 2)只有...
UVM_PREDICT_READ, rw.path, rw.map); field_val&= ('b1 << m_size)-1;end UVM_PREDICT_DIRECT: beginif(m_parent.is_busy()) begin `uvm_warning("RegModel", {"Trying to predict value of field '", get_name(),"' while register '",m_parent.get_full_name(),"' is being accessed"...
regm.thres.predict('h100); reg的predict本质就是依次去调用其中所有reg_field的predict函数,然后将reg predict参数中的寄存器值分别拆成对应field的predict,传给reg_field.predict。针对UVM_DIRECT_PREDICT,也是一般验证中常用的predict,无论reg的access为甚么类型,都能够直接修改value,m_desired和m_mirrored成为我们期望...
一般设置default_map.set_auto_predict(1);,这样当寄存器访问结束时,会调用do_predict,自动更新uvm_reg_filed中的三个变量值。 // uvm_reg.svh // do_write task uvm_reg::do_write (uvm_reg_item rw); ... // EXECUTE WRITE... case(rw.path) /...
uvm_reg_model——寄存器模型(⼀) 对于⼀个复杂设计,寄存器模型要能够模拟任意数量的寄存器域操作。UVM提供标准的基类库,UVM的寄存器模型来⾃于继承⾃VMM 的RAL(Register Abstract Layer),现在可以先将寄存器模型进⾏XML建模,再通过脚本⼯具直接⽣产寄存器模型。⾸先来看看 uvm_reg_model的代码...
寄存器模型(reg_model)的高級用法之uvm_reg_predictor 一、在通常的寄存器測試中,寄存器模型主要是依賴driver將讀取值返回,來更新鏡像值和期望值。這個功能被稱之為auto_predict功能。在建立寄存器模型時需要...点赞(0) 踩踩(0) 反馈 访问所需:1 积分 同意申明访问第三方链接 ...
virtualfunctionstringget_type_name();endfunction//Function: pre_predict///Override this method to change the value or re-direct the//target register//virtualfunctionvoid pre_predict(uvm_reg_item rw);endfunctionlocal uvm_predict_s m_pending[uvm_reg];//Function- write///not a user-level meth...
答:desired value 和 mirrored value // do_predict function void uvm_reg_field::do_predict(uvm_reg_item rw, uvm_predict_e kind = UVM_PREDICT_DIRECT, uvm_r