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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] 后仿的异步信号时序检测

[复制链接]
发表于 2015-9-8 16:39:10 | 显示全部楼层 |阅读模式

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

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

x
请问各位大侠:

最近在做后仿有些困惑:
1. 后仿中异步信号时序检测是只需要依赖工具比如说vcs自动检测,还是需要人为写激励去检测呢,如果是要写激励,检测的方法应该是怎样呢?时序检测的通过准则是什么呢?
2. 带上sdf跑了之后,大多异步信号的第一级会报timing violation,可接受么?如果第二级还会报timing violation可接受么?
发表于 2015-9-8 19:05:20 | 显示全部楼层
回复 1# recorner

1. 后仿中异步信号时序检测是只需要依赖工具比如说vcs自动检测,还是需要人为写激励去检测呢,如果是要写激励,检测的方法应该是怎样呢?时序检测的通过准则是什么呢?   #:后仿还是需要激励的,一般的是挑选一个典型的前仿的case跑后仿,跟前仿唯一的区别就是替换掉了DUT,反标了SDF。
2. 带上sdf跑了之后,大多异步信号的第一级会报timing violation,可接受么?如果第二级还会报timing violation可接受么?
   #:第一级异步flop报的violation一般的可以no timing check给干掉不用检查。可是第二级不能报violation,因为第二级和前一级是同步的,不是异步。
 楼主| 发表于 2015-9-9 08:54:41 | 显示全部楼层
回复 2# acgoal

谢谢这位大侠的热心回答。反标sdf后有跑前仿的典型case。现在的问题是,这些case并不能遍历所有的异步信号。所以boss希望可以写个有针对性的激励,让异步信号翻转,以此去检测异步信号的时序是否正确,跨时钟域后能否正确采样。我有点无从下手,不知道该怎么写这个激励,而且不知道这样做有没有意义。
   
发表于 2015-9-9 12:12:24 | 显示全部楼层




   请问第一级的no timing check是怎样实现的?我是直接删除SDF中第一级的timing check部分,觉得有点笨。。。
发表于 2015-9-9 19:25:35 | 显示全部楼层
回复 3# recorner


   如果你这个设计是一个比较大的系统,有模块及验证环境的话,这个可以拿到模块及去测试对应的异步信号跳变采样。要是没有的话,你就得多准备几个测试用例了。意义嘛,肯定是有的,毕竟要保证所有的时序都收敛,所有的约束都没出错。仁者见仁智者见智吧。
发表于 2015-9-10 15:01:41 | 显示全部楼层
异步的第一级不需要检查setup和hold,因为异步很可能出问题。
至于no timing check 有几种方法,假设使用ncverilog,vcs也有同样命令:
1.如果希望仿真报告violation,可以在仿真器中加入define +ncno_notifier。
2.如果不希望仿真报告violation,可以在sdf删除针对第一级flops的timing check,或者使用系统函数$disable_waring();
发表于 2015-9-10 15:06:07 | 显示全部楼层
对于异步电路的第一级是不能检查timing violation,第二季开始一定要开始检查。
至于删除timing check根据需求可以有以下方法,假设使用ncverilog。
1. 如果希望ncverilog报告出violation,但是出现violation不出现x状态,可以在加入定义+ncno_notifier
2. 如果不希望ncverilog报告violation,可以在sdf文件中删除对应flop的timing check,或者使用系统函数$disable_warning
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-5 16:46 , Processed in 0.033927 second(s), 8 queries , Gzip On, Redis On.

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