在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8478|回复: 11

[讨论] register model的几种常用操作简单叙述

[复制链接]
发表于 2014-10-28 15:56:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
最近一直在研究RAL模型的各种使用方法。只是想说,UVM里提供的各种寄存器读写的方法实在是太多太多了,无法一一描述,总结了几个最常用的给大家分享一下

read & write(status, value, UVM_FRONTDOOR):
      这个是针对于DUT的寄存器进行读写操作,采用的是前门访问,读写完毕以后,会对register model的desired value & mirrored value进行更新
peek & poke(status, value):
      这个也是针对于DUT的寄存器进行读写操作,不同的是,peek & poke有点类似于强盗模式,也就是对DUT的寄存器进行强行读写操作,而不管该寄存器是否能够被读写,而且寄存器不会因为这种强盗模式的读写操作进行相关属性的处理。举个栗子~譬如一个WCRS的寄存器,如果是read & write操作以后,会分别对应其寄存器属性进行set & clear操作;但是,如果是peek & poke读写操作以后,其寄存器会被读取当前值 & 写入某一值,但是,不会触发其属性动作,也就是set & clear操作;
update(status, UVM_FRONTDOOR):
      这个是针对DUT寄存器的操作。首先是对寄存器模型的desired value & mirrored value进行比较,如果不一致,将把desired value写入mirrored value中,并且,以UVM_FRONTDOOR的模式写入DUT的寄存器中;
mirror(status, UVM_NO_CHECK, UVM_FRONTDOOR):
      这个是针对寄存器模型的操作。首先是对DUT的寄存器值 & mirrored value 进行比较,如果不一致,也不会进行error提示,以为设置了UVM_NO_CHECK;然后,把DUT寄存器的值以UVM_FRONTDORR的模式写入寄存器模型中的desired value & mirrored value。

才疏学浅,有错的话希望指出,谢谢~
发表于 2014-10-28 20:32:56 | 显示全部楼层
感觉跟vmm的很像
发表于 2014-10-29 09:20:18 | 显示全部楼层
不管是UVM 还是 VMM的 RAL,效率都太低,特别是规模比较大的片子, 一般来说都有上万的寄存器;
用C++来做shadow memory比较现实。
发表于 2014-10-31 10:56:05 | 显示全部楼层
回复 3# asic_wang


   请问该怎么做shadow memory呢,UVM有办法实现么?
发表于 2014-11-8 12:54:44 | 显示全部楼层
回复 3# asic_wang
能详细说一下C++的方法么?
发表于 2014-11-10 09:11:10 | 显示全部楼层
关键不是C++,而是有一个固定的寄存器描述文件和一个生成C++的脚本工具;
比如ralgen可以根据XLM格式的寄存器描述文件来生成vmm ral,这是类似的。
发表于 2014-11-10 12:16:05 | 显示全部楼层
重要的不是C++,而是利用统一的寄存器描述文件如XML来生成C++文件以及.V和.VH文件,
用C++实现的shadow本身没什么特别的,无非就是一个大的case语句,以及一些用map、
vector等容器描述的registers
发表于 2014-11-10 13:37:30 | 显示全部楼层
回复 7# asic_wang


    无法理解你所说的vmm对寄存器测试效率低的问题。
发表于 2014-11-10 16:41:27 | 显示全部楼层
既然和ralgen类似,那效率高在什么地方呢?都要调用API啊
发表于 2014-11-10 16:43:19 | 显示全部楼层
回复 7# asic_wang

跟ralgen比为什么效率高很多呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-5-22 12:46 , Processed in 0.030182 second(s), 9 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表