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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2142|回复: 6

[求助] [求助]关于UVM数字验证的一些疑问

[复制链接]
发表于 2017-11-1 18:02:26 | 显示全部楼层 |阅读模式

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

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

x
求教各位大神,我现在有个设计,要验证该设计的功能,但是,该设计的功能是要必须发送一连串的指令来验证,而且,还要创建很多TestCase来验证,那么,我的那些一条条指令是代表着一个sequence吗?如果,要连着发几条不同的指令,我该在哪个模块(driver还是agent)中实现?各位大神可以提一下意见,或者发一下资料给我看看吗?
发表于 2017-11-1 19:29:10 | 显示全部楼层

标题

driver就是一个BFM模型,根据driver的行为粒度确定好transaction的内容,然后由sequence按照你想要的顺序随机化transaction,以后交给driver驱动就好。我觉着你没有搞清楚这些组件的作用,应该再补充一下理论知识
发表于 2017-11-2 02:34:38 | 显示全部楼层
sequence 是产生指令的地方,可以随机化指令。
指令本身应该是transition定义的,也可以说是packet。 class packet extends uvm_sequence_item.
sequence 产生指令后 将packet 发送到sequencer. sequencer是确定不同指令之间的顺序,一般简单的测试环境可以直接沿用uvm_sequencer。
sequencer 确定好顺序,将packet 发送给driver. driver 在发送给你的DUT(设计模块)。

这是比较基本的测试环境。

建议你先看一些基础概念。。
 楼主| 发表于 2017-11-2 09:06:22 | 显示全部楼层
回复 3# oceanhe29
    谢谢了,就是说sequencer是把一条条指令组合起来的?如果,要建立不同指令序列的Testcase的话,是不是就只要在每个Testcase里,override sequencer就行了?
发表于 2017-11-2 14:24:35 | 显示全部楼层
sequence可以有多个,就是若干指令的组合;sequencer是调度sequence中事务的组件,不需要override,你只要不同的tc,调用对应的seq即可。这是对于简单的情况来说的,还要根据你自己的具体需要来具体设计。
 楼主| 发表于 2017-11-2 15:55:47 | 显示全部楼层
回复 5# gaurson

    谢谢你的回答,那意思是,class packet extends uvm_sequence_item. 然后,例如,我需要发指令a,指令b,指令c,那么我是在sequence中用packet 例化a,b,c三条指令后,然后,再组合a->b->c,按这样的顺序发送到driver。我的理解对吗?
发表于 2017-11-3 13:44:32 | 显示全部楼层
是的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-23 18:53 , Processed in 0.022578 second(s), 6 queries , Gzip On, Redis On.

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