本文共 353 字,大约阅读时间需要 1 分钟。
1.DUT 中寄存器的值随时可变,寄存器模型不能实时知道这种变更,有时两者不一致。
2.对于任意一个寄存器,寄存器模型有一个专门的变量用于最大可能的与DUT 保持同步,在寄存器模型中称为DUT 的镜像值。
3.还有期望值。如DUT 中invert = 0,镜像值也是0,此时希望向DUT 写入1。
1)调用前面介绍的write,镜像值与期望值都更新为1.
2)通过set将期望值设为1,之后调用update 任务,update 检查期望值与镜像值是否一致,如果不一致,把期望值写入DUT,并更新镜像值:
1)get 得到寄存器的期望值,get_mirrored_value 得到镜像值。
2)对于存储器,不存在期望值和镜像值。寄存器模型不对存储器进行任何模拟。也得到其中的值,只能用7.4.5 的四种操作。