5)第三个有如下: read/peek 和write/poke 对DUT完成读写后,也会调用此函数,它们的参数是UVM_PREDICT_READ和UVM_PREDICT_WRITE。 5.要实现在参考模型中更新寄存器模型而不影响DUT 的值,要使用UVM_PREDICT_DIRECT: 1)predict 操作会更新镜像值和期望值。 6.仿真完成后可以检查DUT 和寄存器模型中的counter 是否一...
read/peek和write/poke操作在对DUT完成读写后,也会调用此函数,只是它们给出的参数是UVM_PREDICT_READ和UVM_PREDICT_WRITE。要实现在参考模型中更新寄存器模型而又不影响DUT的值,需要使用UVM_PREDICT_DIRECT,即默认值: 在测试用例中,仿真完成后可以检查DUT中counter的值是否与寄存器模型中的counter值一致: 二、寄存器模...
其中第一个参数表示要预测的值, 第二个参数是byte_en, 默认-1的意思是全部有效, 第三个参数是预测的类型, 第四个参数是后门访问或者是前门访问。要实现在参考模型中更新寄存器模型而又不影响DUT的值, 第三个参数需要使用UVM_PREDICT_DIRECT ,第三个参数预测类型有如下几种可以选择 UVM_PREDICT_DIRECT :Predicted...
如果想在模型中得到DUT的技术值,这就需要手动更新镜像值,又不能对DUT进行操作,这可以通过predict函数。 第三个参数是uvm_predict_e枚举类型,他有如下三个元素: 如果想要更新镜像值又不对DUT进行操作,要用UVM_PREDICT_DIRECT。 write、read、peek和poke在完成对DUT的读写之后也会调用这个函数,更新镜像值。 1.6 ran...
参数为UVM_PREDICT_DIRECT时:人为更新期望值和镜像值,不更新DUT中寄存器 引入reg_predictor 引入reg_predictor的原因:配置寄存器的总线存在多个master时,可能存在不通过寄存器模型访问总线来配置DUT中寄存器的情况,这时寄存器模型 就不能检查到 DUT中寄存器的变化,所以需要引入reg_predictor,通过monitor检测总线,将采集到的tr...
参数为UVM_PREDICT_DIRECT时:人为更新期望值和镜像值,不更新DUT中寄存器 引入reg_predictor 引入reg_predictor的原因:配置寄存器的总线存在多个master时,可能存在不通过寄存器模型访问总线来配置DUT中寄存器的情况,这时寄存器模型 就不能检查到 DUT中寄存器的变化,所以需要引入reg_predictor,通过monitor检测总线,将采集到的tr...
UVM_PREDICT_DIRECT表示不需要经过read/write行为直接将value值更新到对应的m_mirrored和m_desired值上,并不会考虑该uvm_reg_field的m_access(访问属性)值是否可写(例如RO也会被更新),这种调用存在一定的风险,需要建立在对该uvm_reg_field足够了解,并且如果此时该uvm_reg_field所在的uvm_reg不处于空闲状态,那么pre...
参数为UVM_PREDICT_DIRECT时:人为更新期望值和镜像值,不更新DUT中寄存器 引入reg_predictor 引入reg_predictor的原因:配置寄存器的总线存在多个master时,可能存在不通过寄存器模型访问总线来配置DUT中寄存器的情况,这时寄存器模型 就不能检查到 DUT中寄存器的变化,所以需要引入reg_predictor,通过monitor检测总线,将采集到的tr...
针对UVM_DIRECT_PREDICT,也是一般验证中常用的predict,无论reg的access为甚么类型,都能够直接修改value,m_desired和m_mirrored成为我们期望predict的值。predict函数相当于将寄存器的值改成用户期望的值,但不会立刻与DUT进行比较,只有在mirror,或者read操作的时候才会将DUT中读出来的值与相应的mirror或者desire值进行比较,...
predict virtual function bit predict (uvm_reg_data_tvalue, uvm_reg_byte_en_tbe=-1, uvm_predict_ekind=UVM_PREDICT_DIRECT, uvm_path_epath=UVM_FRONTDOOR, uvm_reg_mapmap=null, stringfname="", intlineno=0) Update the mirrored value for this register. ...