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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: 晓强

[讨论] 异步FIFO的UVM验证

[复制链接]
发表于 2018-1-9 12:44:14 | 显示全部楼层
回复 9# idealm

ref model在事务级开发,保证数据先进先出,没有丢数就好了,有必要做到每个时钟周期都和DUT行为一样么?
发表于 2018-1-9 13:18:48 | 显示全部楼层
回复 11# nativeda


   空满状态产生的正确与否你怎么验证?还有,假设FIFO深度是10,当你写了10个数据后,后面来了一个读操作,下一拍又来个写操作(从接口上看),你的RM可能认为先读后写,没有问题;但是DUT的读跨异步到写时钟域可能需要3拍,导致DUT认为是先写后读,所以DUT就把最后一个写给丢弃了,RM和DUT的行为会不一致。
发表于 2018-1-9 13:26:21 | 显示全部楼层
回复 10# 晓强


   具体看你做的是什么验证,一般FIFO在一个项目中都是比较公共的类似IP的组件。如果你是验证一个模块,而模块里面用到了FIFO,我觉得没必要在把FIFO的功能全验证一遍,只要保证使用的正确(状态上报正确,水线设置合理等)就OK。但是如果你就是做一个异步FIFO的UT验证,我认为还是有必要做到时序级的RM。RM里面的竞争/冒险可以通过#0的方式尽量避免,但是确实比较麻烦。
发表于 2018-1-9 20:58:05 | 显示全部楼层
Interesting
发表于 2018-1-9 20:58:45 | 显示全部楼层
Useful informations
发表于 2018-1-10 09:15:23 | 显示全部楼层
 楼主| 发表于 2018-1-11 10:35:15 | 显示全部楼层
回复 13# idealm


   我就是单纯地验证一个FIFO,没想到还有这么多问题。多谢你的回答,我回去再好好想想。
发表于 2018-1-16 14:29:43 | 显示全部楼层
好帖!对隐藏比较深时序bug的验证方法确实需要好好思考。每次项目后期都会很焦虑,总是害怕有较深的时序bug没发觉。
发表于 2018-1-20 21:38:07 | 显示全部楼层
首先,EDA基本是不能验证异步问题的;
你的方法只能验一下fifo的出口与入口相符,其实加上时钟和激励后,端到端就ok。风简单的方法是用断言;
如果真的要检查异步问题,我们EDA上能做的不多,比如增加时钟的jitter,可以检查出一部分异步问题;
异步问题,主要是靠设计规范以及STA搞得。
发表于 2021-11-15 18:07:20 来自手机 | 显示全部楼层
您好,请问您的参考模型是怎么解决的呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-3 13:02 , Processed in 0.029715 second(s), 8 queries , Gzip On, Redis On.

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