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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5082|回复: 10

请教几个验证的问题

[复制链接]
发表于 2008-7-30 11:59:25 | 显示全部楼层 |阅读模式

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

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

x
1:各个层次之间是通过new来连接的吗;同层次之间是同过put/get来连接的吗;那写interface又是为什么呢~和上述两种连接方式有什么不同吗。还有pins_if这些东西又是干什么的哦
2:基本的写验证平台的过程是什么,我理解是这样的
      首先是写一个stimulate,然后写个driver,然后写他们两个之间连接关系
      然后再写个scorboard,然后写它和stimulate的连接关系
      然后再吧把自己要测试的dut和driver连接起来
      然后再写个monitor,再写个连接把它和dut连接起来。
      最后再吧monitir和scoreboard连接起来


     也就是说每两个部分之间的接口都要写是吗?分别用哪个函数哪个类来写?
      假如用一个简单的1位全加器来说stimulate就是指写个时钟的意思吗?那driver又该怎么写?它表达个什么意思?
                                                          scoreboard的意思就是说再同样的激励下对比我用rtl级代码写的全加器,和我理想
                                                                            所得到的结果(如c=a+b)是不是一样的意思吗?
                                                          monitor     在这里边又是什么意思是监视我的rtl级别的结果出来没有的意思吗?就是
                                                                            说看看我的dut一次计算的结果出来没有~出来的话就和记分板上的理
                                                                            论结果比较一下的意思是吗?
3 好像avm机制里头写接口的有很多形式~比如说*_pins_if,*_put/get_*,*_port之类的~分别怎么用~可以的话请详细说一下
4 还有slave master 模块又是干什么用的~

先问这几个~看了3个星期的《高级验证方法学》没看明白。
请高人不吝赐教~
发表于 2008-10-9 23:15:10 | 显示全部楼层
也来学习 等高人给意见
发表于 2008-10-10 19:16:31 | 显示全部楼层
1:各个层次之间是通过new来连接的吗;同层次之间是同过put/get来连接的吗;那写interface又是为什么呢~和上述两种连接方式有什么不同吗。还有pins_if这些东西又是干什么的哦
你说的这些都是一些TLM的概念,可以去看看SYSTEMC的资料。
一般来说,为了降低模块之间的耦合度,模块之间的通讯需要借助一个第三方资源,比如channel/fifo等,
然后在每个模块内部维护一个指向此第三方资源的指针,如果两个模块的指针都指向了同一个资源,
则此两个模块便可通过此第三方资源完成通讯。
你所谓的new只是完成参数的传递功能,至于能不能连接上,要看你传的是什么参数
而put/get则是对第三方资源的访问接口
interface接口,顾名思义就是定义一些基本的接口功能,但不实现其具体细节,类似于空架子。

[ 本帖最后由 telantan 于 2008-10-10 23:18 编辑 ]
发表于 2008-10-11 00:23:06 | 显示全部楼层
不懂,帮顶了。
发表于 2009-1-8 14:13:08 | 显示全部楼层
我也来学习学习
发表于 2009-1-8 14:15:13 | 显示全部楼层
刚入门,什么都不懂,好专业啊
发表于 2009-1-9 11:22:46 | 显示全部楼层
也来学习 等高人给意见
发表于 2009-1-9 12:35:03 | 显示全部楼层
用什么啊?VMM?
发表于 2009-1-9 12:57:16 | 显示全部楼层
基本的写验证平台的过程是什么,我理解是这样的
      首先是写一个stimulate,然后写个driver,然后写他们两个之间连接关系
      然后再写个scorboard,然后写它和stimulate的连接关系
      然后再吧把自己要测试的dut和driver连接起来
      然后再写个monitor,再写个连接把它和dut连接起来。
      最后再吧monitir和scoreboard连接起来

其实无所谓先后顺序,一般是由不同的人同时编写。
发表于 2009-1-9 13:09:49 | 显示全部楼层
假如用一个简单的1位全加器来说stimulate就是指写个时钟的意思吗?那driver又该怎么写?它表达个什么意思?
                                                          scoreboard的意思就是说再同样的激励下对比我用rtl级代码写的全加器,和我理想
                                                                            所得到的结果(如c=a+b)是不是一样的意思吗?
                                                          monitor     在这里边又是什么意思是监视我的rtl级别的结果出来没有的意思吗?就是
                                                                            说看看我的dut一次计算的结果出来没有~出来的话就和记分板上的理
                                                                            论结果比较一下的意思是吗?
以下只是个人观点,欢迎指正:
就一个1位全加器来说
stimulate是用来产生000(a=0,b=0,cin=0), 001(),....这些输入序列的模块。我们一般叫transaction gen,
driver把这些序列转成物理信号,有点像协议的物理层:)
scoreboard和monitor概念比较模糊,每人理解不一样,这里就不说了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-19 01:54 , Processed in 0.025354 second(s), 10 queries , Gzip On, Redis On.

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