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

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

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 10919|回复: 20

[讨论] 异步FIFO的UVM验证

[复制链接]
发表于 2017-12-29 10:44:52 | 显示全部楼层 |阅读模式

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

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

x
我想要用UVM对异步FIFO做验证,但是因为没有经验,所以向大家请教一下验证框架怎么设计。下面是我异步FIFO的接口。
Capture.PNG

关于验证框架,我自己的想法是这样的。
关于写操作:
write_agent:包含write_sqr, write_driver,write_monitor
关于读操作:
read_agent:包含read_sqr, read_driver, read_monitor
环境:
env:包含write_agent, read_agent,reference_model和score_board
interface:
因为是异步时钟,所以想创建两个interface分别是read_interface和write_interface

因为刚接触UVM对各方面都不太熟悉,请大家帮忙参考下,给点意见,感谢。
发表于 2017-12-29 11:41:05 | 显示全部楼层
没必要 pusg, pop 各一份 sequencer, driver, agent,  可合併成一份.
此 sequencer, driver 使用同一份 transaction, 此 transaction 有 push and pop 的 attribute.
 楼主| 发表于 2017-12-29 17:05:24 | 显示全部楼层
回复 2# kuolifeng


   好,谢谢。不过我有疑问是,为什么不需要分开呢?我的理解是,读写操作以及相应的信号完全是不相关的,最好不要将不相关的操作混在一起。置于transaction,我原本也打算定义两种的。还是说是因为其它的原因所以必须要写在一起呢?
发表于 2017-12-29 17:24:30 | 显示全部楼层
為何读写操作以及相应的信号完全是不相关呢? 它同樣都是 FIFO 的操作和 interface, 不是嗎?  
單一責任原則, 同樣都是 FIFO 的操作就應該都放在一起, 如读, 写, 判斷空或滿, ...
发表于 2017-12-31 11:24:20 | 显示全部楼层
个人感觉分开好,你这是一个标准的two port AFIFO. 两套UVC,各自独立发transaction比较好。
发表于 2018-1-3 11:03:00 | 显示全部楼层
我感觉pop和push分开比较好。但是interface没必要分开,只需定义两个不同的clocking block就行。
发表于 2018-1-5 19:00:39 | 显示全部楼层
Interesting
 楼主| 发表于 2018-1-9 11:01:16 | 显示全部楼层
谢谢各位的回答,我感觉PUSH和POP分开比较好,因为有可能这两个操作是同时进行的。如果把他们设计成driver的两个方法,那么我同一时间只能进行PUSH或POP一个操作。而如果设计成两个driver,那么一个可以做PUSH,一个做POP,两者可以同时进行。

但是我觉得还有另一个方法就是在driver里面fork两个进程,一个用来检测PUSH,一个检测POP。同样地,在monitro等组件中也要fork两个进程。不知道这种方法会不会有什么问题,请问各位有什么意见建议呀?
发表于 2018-1-9 11:02:35 | 显示全部楼层
其实我觉得更关键的是reference_model怎么写,因为是异步FIFO,存在跨异步的操作,你的RM如果是事物级的就会与DUT行为不一致,如果写成时序级的,会有一堆的竞争/冒险问题需要考虑
 楼主| 发表于 2018-1-9 11:18:38 | 显示全部楼层
回复 9# idealm


   感谢您的回答。那这个有没有什么比较好的解决方案呢,总不至于对异步FIFO不能做验证吧。通常对异步设计做验证那要怎么做呀?或者有没有什么资料可以参考下的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-4-22 22:38 , Processed in 0.025712 second(s), 8 queries , Gzip On, MemCached On.

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