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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4004|回复: 7

[求助] 如何从波形图上判断是建立时间违例还是保持时间违例

[复制链接]
发表于 2017-5-12 20:37:43 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 mysoul 于 2017-5-13 10:39 编辑

加入SDF文件后,将delay类型选为min时仿真正确,将delay类型选为max,仿真出现不定态。追溯不定态产生的原因最后找到相应的触发器,判断信号D端经过触发器到Q端时出现不定态,但是不会判断到底是建立时间不够还是由于保持时间不够?
Q.png
不定态产生的原因就是因为该图中打红圈的触发器造成的。
Q2.png
因此在modelsim中查看该触发器的D端,Q端和CK端,RN端的关系,发现D端变化的时刻离CK上升沿有390ps的时间间隔,如下图所示:
Q1.png
问题是:根据该图判断,到底是这个触发器的建立时间不够,还是保持时间不够?(这个分析一直很疑惑,希望解答)
解决方法:是在D端插入buffer,还是在D端去掉buffer
 楼主| 发表于 2017-5-12 21:37:39 | 显示全部楼层
回复 1# mysoul
自己顶一个,希望大家能为我解答疑惑啊?
发表于 2017-5-13 13:45:57 | 显示全部楼层
"将delay类型选为min时仿真正确,将delay类型选为max,仿真出现不定态。"

根据上面的描述,可以肯定是setup出问题。接着看波形图,D端出现1到0的跳变,如果CK正常采样,Q端也会出现1到0的跳变。结果Q端出现1到不定态。说明CK没有正确采样到D端的值。建立时间违规。

返回后端工具,重新check 所有到这个reg的setup 时序。加buffer或是去buffer都有可能改善setup的时序。具体要看你的设计,自己决定。
 楼主| 发表于 2017-5-16 15:11:21 | 显示全部楼层
回复 3# mnluan


    首先谢谢你的回复,目前已经确认是建立时间违例,在这个地方去掉了两个buffer,不过还有一个问题请教一下你,我在后仿的时候有些信号找不到,师姐告诉我是被综合掉了,我有没有方法找到这些信号?
 楼主| 发表于 2017-5-16 15:17:20 | 显示全部楼层
回复 3# mnluan


    将delay类型选为min时仿真正确,将delay类型选为max时,移位寄存器也出现错误,这个地方,我能否认为后端约束给的不够?
发表于 2017-5-17 17:59:55 | 显示全部楼层
回复 5# mysoul


   1、被综合优化掉的就找不到了。需要保留的,可以用set_dont_touch设置。但是会影响到时序。一般不这么做。除非有特别需要关心的电路,我通常是直接例化,然后对其set_dont_touch。
   2、后端约束不够。不过就你的描述来看,估计设计中的约束有问题。用check_timing检查一下,是否电路都有被约束上。
        单纯的移位电路是很好满足setup要求的。
发表于 2017-5-19 11:12:42 | 显示全部楼层
从图中可明显看出是set up 不满足,信号delay过大,最好不要动clock path,去data path buffer
发表于 2024-2-27 23:12:31 | 显示全部楼层
我有个问题,请各位大佬能够抽出时间给予讲解。问题如下:
我们在后仿的过程中如何去分析时序违例,比如如何来 辨别是建立时间的问题还是hold时间的问题,  这两个问题在波形上表现是什么样子的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-2-13 23:24 , Processed in 0.020420 second(s), 8 queries , Gzip On, Redis On.

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