微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > set_input_delay的时间设置

set_input_delay的时间设置

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

在dc中设置set_input_delay和set_output_delay的时间长度的依据是什么?有什么经验性的设置建议吗?

没有什么经验性的建议。关键还在你自己的芯片设计。这个时间和IC的时钟周期,连接该IC的外部电路延时有关。

是的,但问题在于如何确定外围电路的延时,从而确定这个值的大小,在外围电路的延时不太清楚的时候,有没有什么一般性的设置值

这个值设置的意义在于,让DC到第一个DFF之前还有多长的路径余量。所以我一般的做法都是,尽量将这个余量设置的小一些,免得这一拍里面会有太多的逻辑。同时我觉得,条件允许的时候,对输入的信号立刻用一个DFF来采样是个不错的习惯。
另外,设计芯片,对外围电路的理解是必不可少的,你总要知道,你个这个IC用在哪儿吧?典型的应用电路应该是有的,延时是好估计的。剩下来得就是PAD的延时啊,之类的,都是可查的。

我一般是设置成时钟周期的 30%左右

set_input_delay/output_delay是设置外面的delay, 从而保留芯片内部的IO delay来约束
input io 到flop和flop到output port的delay,
一般紧约束为外面留70% , 里面留30% ,但实际上有些port要调整,不是每个port都需要一样的值 ,
set_input_delay[expr 0.7* $clk_period ]-clock $clk[all_valid_inputs]
set_output_delay[expr 0.7 * $clk_period ] -clock $clk [all_outputs ]

没经验, 因为每个芯片的应用场景不一, 外围条件不一样, 问问PCB工程师,看看板级的要求。

这个值的设定,取决于外部电路的具体情况,例如输入电路输入信号的数据与时钟相位关系让设计的芯片更有效的接收,输出的信号让相关的接收信号最好的接收数据,特别注意!

貌似是70%吧。留给里面的事30%吧?

70/30 是一般的规则,可以自己改的



请问你们说的“里面”和“外面”是什么意思呢?
是按照
set_input_delay clk_period * 0.7 ?
set_output_delay clk_period*0.7 ?

给外面留70%在从input→output有组合路径(input output为同一个时钟域)的情况下是不可能满足要求的,我的设计就有这种路径,所以留给外部的余量小于50%......

里面/外面指的是芯片的里面和外面,无论input还是output,总有一段路径在芯片内部,一段路径在芯片外部,两段路径都有timing delay。

对滴,因为到端口时,并不是完整的timing path,所以需要这两个描述“外面”的参数。

学习了!

请问小编,如果设置的input delay 太大或者太小会影响setup 和 hold time吗?谢谢。

有影响。

如何影响啊?还有output delay也会有影响吗?大了怎样,小了又会有什么影响

同问,set_input_delay和output_delay会怎样对时序产生影响呢

学习了~谢谢各位

设置input 、output delay主要是为了分析setup time 和hold time,太大太小都可能会引起DC综合时序违例

芯片外接的datasheet提供

尽量给外面多留点嘛

谢谢楼上各位高手的讨论,学习了

对这个set_input_delay和set_output_delay还是不太明白,请问您一般是怎么设置的?
之前我看前端的人设set_input_delay为clock period的60%,但是这样我做后端的时候,setup就违规了。不知道这个值到底该怎么设置?
非常感谢!

你好,想顺着你在12楼的回答再问一下,我有个输入端口和输出端口既是属于组合逻辑路径的,也是属于有时序器件路径的,请问这种情况下应该怎么设置我的input/output delay?我的input和output delay综合超过一个时钟周期的话,那么时序违规是必然的,怎么解决?干脆都设小一点吗?

slack负值大吗?如果小的话,可以在后端修复

恩恩学习了

不是很大,-1的样子。我就是想问一下这个set_output_delay究竟是怎么设置的?可以更改吗?谢谢!

设置时钟周期的40%~60%之间

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

网站地图

Top