微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > 问下uvm的predict update 还有镜像值 期望值

问下uvm的predict update 还有镜像值 期望值

时间:12-12 整理:3721RD 点击:
大神解释一下吧 ,看书没看明白;
比如dut的功能是a+b 输出为c
应该是从dut读出一个值(c)来,和model中算出来的期望值(c')比较
怎么还多出个mirror;
predict又是什么鬼

你说这些都是寄存器model的吧  
  

概念太多了,一下子是说不清楚的,需要实践的。建议:
1.看书
2.看例子
3.看源代码

先predict设置期望值,run dut 得到寄存器值c,再mirror将寄存器值c更新到register model 的镜像值。此时uvm会比较期望值和mirror得到的镜像值 若不一致会报uvm_error 从而实现dut和model比对.

一直不明白 reg_name.predict(value)
进行哪些操作;
看手册上说是更新mirror值;
那更新mirror值就不需要给这个函数一个value了;直接把dut的值读出来给mirror不就完了;

更新mirror值一种方法是mirror从寄存器读回 另一种是predict直接设置value而不改变寄存器值 这就是regname.predict(value)的作用

你说的这是一种方法,我看到大多数方法是这样的:
setreg=xx;  
reg.write(status,setreg);
...
reg.read(status,dutreg);
在比较dutreg==setreg

write/read是先给dut写一个值再读回来,只适用于初始化配置和寄存器读写接口测试;要验证a+b=c的功能 还是要先在model用predict预测,再mirror读回比对  用途是不一样的

从dut读回来的不是面向过程的马上就比,而是放到mirror通过callback回调和expect/predicted用scoreboarding的方式对比,所以需要mirror.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top