[CU]reg model使用篇-寄存器模型的复位值,镜像值,期望值,真实值

参考资料:

(1) UVM——RAL模型运用之三(uvm_reg的访问方法介绍) - 灰信网(软件开发博客聚合) (freesion.com)

1. 简介

(1) uvm_reg_field使用四个属性来存储各种寄存器字段值,分别为valuem_mirroredm_desiredm_reset["HARD"];

复制代码
 1 class uvm_reg_field extends uvm_object;
 2 
 3    rand  uvm_reg_data_t  value; // Mirrored after randomize()
 4 
 5    local uvm_reg_data_t  m_mirrored; // What we think is in the HW
 6    local uvm_reg_data_t  m_desired;  // Mirrored after set()
 7      ...
 8    local uvm_reg_data_t  m_reset[string];
 9      ...
10 endclass
复制代码

注1:m_reset用于存储硬件复位值,有多种类型复位值如SOFT_RESET, HARD_RESET;

注2:m_desired用于存储想要设置DUT的值,先利用寄存器模型修改m_desired值,而后利用该值更新硬件值;

注3:value会被用于功能覆盖率的收集(在uvm_reg_field的set操作中,value会被更新为m_desired;在uvm_reg_field的do_predict操作中, value会被更新为predicted value);

注4:regmodel进行预测的时候(do_predict),会将镜像值,期望值和硬件寄存器值更新为一致的;

(2) uvm_reg_field的四个属性中,只有value是公共的,其他属性都是本地的,因此无法直接从类外访问它们.

2.镜像值

2.1 镜像值m_mirrored的特点

(1) register model会维护一个镜像值;镜像值是寄存器模型中用于最大可能与DUT中register保持同步的变量(镜像值是寄存器模型认为当前DUT内register的值);

(2) 镜像值并不保证是正确的,因为register model获取register信息的来源仅仅是依靠对register的read/write访问(描述不准确). 如果DUT内部通过正常的行为修改了register或register field的内容(如设置一个状态位或者counter的增加),register model的镜像值就会过期;

(3) 镜像值不是scoreboard;

2.2 镜像值的获取

(1) 可以通过get_mirrored_value得到寄存器的镜像值;

2.3 镜像值的更新

(1) register model会尽量更新镜像值;

(2) 对于每一次读操作或者peek, mirror,会基于DUT寄存器的值更新寄存器的镜像值;

(3) 对于每一次写操作或者 poke, set-update, randomize-update, register的镜像值会根据register的访问模式(如read/write, read-only, write-1-to-clear)而进行预测(DUT值也会根据register访问模式有所变化);

(4) 对register model进行reset(或者predict),会将镜像值设置为model中指定的reset值(predict不是设为指定reset值), 但不对DUT进行任何操作;

 

 

posted on   知北游。。  阅读(2982)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示