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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5394|回复: 19

[求助] 如何用sv语言中的函数定义一个多域的寄存器。

[复制链接]
发表于 2017-12-4 10:51:54 | 显示全部楼层 |阅读模式
50资产
比如说一个【15:0】的寄存器,其中【15】是可以通过apb总线读写的,【14:8】保留的,【7:0】只读的。如何用sv语言中的function定义这个寄存器?求大神指导,谢谢了。

最佳答案

查看完整内容

可以呀,你就用类C语言的方式来定义就好了。什么掩码呀,读写操作呀,很简单,就是看你怎么和DUT配合在比对就要考虑一下了。具体的我也不好举例子。你跳出reg_model,直接写,可能会好点。
发表于 2017-12-4 10:51:55 | 显示全部楼层
可以呀,你就用类C语言的方式来定义就好了。什么掩码呀,读写操作呀,很简单,就是看你怎么和DUT配合在比对就要考虑一下了。具体的我也不好举例子。你跳出reg_model,直接写,可能会好点。
发表于 2017-12-5 14:32:55 | 显示全部楼层
用function定义寄存器?你这个function要实现什么功能呢?
 楼主| 发表于 2017-12-5 18:00:01 | 显示全部楼层
回复 2# gaurson

这个寄存器在ref_model里,apb_monitor可以抓取apb总线上的的信息打包发送到ref_model,然后ref_model根据这个信息写这个寄存器。应该是在ref_model里通过任务调用function写寄存器。。。。。
大概应该就是这样子。
uvm小白不会用寄存器模型。。
发表于 2017-12-6 14:37:14 | 显示全部楼层
意思是你要摆脱UVM的寄存器模型生成方式,自己基于此编写function?这个可能找一些案例能参考,我没这么直接写过,一般都是用UVM的寄存器模型自动生成的。
发表于 2017-12-7 17:03:21 | 显示全部楼层
自己怎么想的就怎么写,肯定能写出来,只不过可能不全面
发表于 2017-12-7 20:34:27 | 显示全部楼层
既然没看懂register model,就将它看懂好了,走出舒适区,不懂就问
 楼主| 发表于 2017-12-11 21:51:59 | 显示全部楼层
回复 6# zxm92


  嗯,我会努力看的但是我现在的老师不建议我用寄存器模型,因为时间有限。。。。。我也很苦恼,大概有120多个寄存器。。。。
 楼主| 发表于 2017-12-11 21:53:11 | 显示全部楼层
回复 5# qyxu1979

我第一次学这门语言,好多地方不懂,还是得多多向大佬们请教。
 楼主| 发表于 2017-12-11 21:58:19 | 显示全部楼层
回复 4# gaurson


   嗯,是的呀,我现在的老师不推荐我用寄存器模型,她说她也没用过,让我用别的方法,我没得问了。。。。。目前是ref_model里的寄存器预测大概有120个左右。。。。。现在也找不到一些案例了,刚刚接触sv这门语言,做起来比较吃力了。
如果您方便的话可以跟你您私下交流一下吗?我把写的ref_model里的寄存器函数给您看看?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-26 00:17 , Processed in 0.035396 second(s), 7 queries , Gzip On, Redis On.

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