微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 如何从波形图上判断是建立时间违例还是保持时间违例

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

时间:10-02 整理:3721RD 点击:

加入SDF文件后,将delay类型选为min时仿真正确,将delay类型选为max,仿真出现不定态。追溯不定态产生的原因最后找到相应的触发器,判断信号D端经过触发器到Q端时出现不定态,但是不会判断到底是建立时间不够还是由于保持时间不够?



不定态产生的原因就是因为该图中打红圈的触发器造成的。



因此在modelsim中查看该触发器的D端,Q端和CK端,RN端的关系,发现D端变化的时刻离CK上升沿有390ps的时间间隔,如下图所示:



问题是:根据该图判断,到底是这个触发器的建立时间不够,还是保持时间不够?(这个分析一直很疑惑,希望解答)
解决方法:是在D端插入buffer,还是在D端去掉buffer

自己顶一个,希望大家能为我解答疑惑啊?

"将delay类型选为min时仿真正确,将delay类型选为max,仿真出现不定态。"
根据上面的描述,可以肯定是setup出问题。接着看波形图,D端出现1到0的跳变,如果CK正常采样,Q端也会出现1到0的跳变。结果Q端出现1到不定态。说明CK没有正确采样到D端的值。建立时间违规。
返回后端工具,重新check 所有到这个reg的setup 时序。加buffer或是去buffer都有可能改善setup的时序。具体要看你的设计,自己决定。

首先谢谢你的回复,目前已经确认是建立时间违例,在这个地方去掉了两个buffer,不过还有一个问题请教一下你,我在后仿的时候有些信号找不到,师姐告诉我是被综合掉了,我有没有方法找到这些信号?

将delay类型选为min时仿真正确,将delay类型选为max时,移位寄存器也出现错误,这个地方,我能否认为后端约束给的不够?

1、被综合优化掉的就找不到了。需要保留的,可以用set_dont_touch设置。但是会影响到时序。一般不这么做。除非有特别需要关心的电路,我通常是直接例化,然后对其set_dont_touch。
2、后端约束不够。不过就你的描述来看,估计设计中的约束有问题。用check_timing检查一下,是否电路都有被约束上。
单纯的移位电路是很好满足setup要求的。

从图中可明显看出是set up 不满足,信号delay过大,最好不要动clock path,去data path buffer

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top