微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > set_input_delay和set_output_delay在icc、dc上的设置区别

set_input_delay和set_output_delay在icc、dc上的设置区别

时间:10-02 整理:3721RD 点击:
1、在DC上设置如下三种情形,得到的结果是一样的。是因为在DC中本身就不是很注重-min/hold选项么?
(1)set_input_delay -clock CK15[all_inputs]
set_output_delay -clock CK7[all_outputs]
(2)set_input_delay -clock CK-max 15[all_inputs]
set_output_delay -clock CK -max 7[all_outputs]
(3)set_input_delay -clock CK -max 15[all_inputs]
set_input_delay -clock CK-min 0[all_inputs]
set_output_delay -clock CK-max 7[all_outputs]
set_output_delay -clock CK-min 0[all_outputs]
2、 但是在ICC上却有明显的区分,
第1种情况中应该是解析成了
set_input_delay -clock CK -max 15[all_inputs]
set_input_delay -clock CK-min 15[all_inputs]
set_output_delay -clock CK-max 7[all_outputs]
set_output_delay -clock CK-min 7[all_outputs]
目前在ICC上只对比了第1种和第3种情况,DC和ICC版本都是2010.03.
想请教各位大虾:在icc布局布线时,是应该按哪种设置比较合理呢?用第三种设置是否过紧了?我用第三种的时候基本上是一塌糊涂,很难过hold time check。用第一种的话是没问题了。当然时间上分别差了15,7.差太多了。
望各位大虾留下你的宝贵经验,谢谢。该用哪种呢?在布局布线时。

表示也想学习综合和后端

3

选哪种设置主要看你的实际需求,如果你明确知道你的input delay和output delay的话,根据实际值来设置,如果你的最小外部延时不确定,建议你在icc里使用第二种设置,icc就会认为io上的hold是unconstraint的,这样就不会修io上的hold,等到你的最小外部延时值确定了再加上这些设置,然后用pt或者icc修io上的hold。

多谢小编回复,我也是按此做的,就是违例太多。hold的min取值,在未能确定io信号的时候,都按第3种来设置的么?
想再问下,如果io上的信号(并口信号)与芯片CK完全属于异步信号,且因并口信号并无确切的频率,该如何约束呢?
1、create_clock -period ** -name clka; 创建虚拟时钟,以最小的时钟周期来设?
set_input_delay ** -clock clka -max [get_ports in1]; 设置延时,如何取值?
set_false_path -from [get_clocks clka] -to [get_clocks CK]; 解除跨时钟域约束
2、直接不constraint这个io口,完全不设置。 此时ICC是如何处理的呢?
3、。
碰到类似的情况,如用芯片时钟去采样外部io信号的时候,都是如何约束该io口呢?总觉得应该是完全不care,不约束?但凡属于异步的io口,不论是不同频率,或者是无频率,或者是同频但不同相,都可以不用约束么?

多谢!想再问下,如果io上的信号(并口信号)与芯片CK完全属于异步信号,且因并口信号并无确切的频率,该如何约束呢?
1、create_clock -period ** -name clka; 创建虚拟时钟,以最小的时钟周期来设?
set_input_delay ** -clock clka -max [get_ports in1]; 设置延时,如何取值?
set_false_path -from [get_clocks clka] -to [get_clocks CK]; 解除跨时钟域约束
2、直接不constraint这个io口,完全不设置。 此时ICC是如何处理的呢?
3、。
碰到类似的情况,如用芯片时钟去采样外部io信号的时候,都是如何约束该io口呢?总觉得应该是完全不care,不约束?但凡属于异步的io口,不论是不同频率,或者是无频率,或者是同频但不同相,都可以不用约束么?

在未能确定io信号的时候,无法设置。也可以说,怎么设置都是对的,怎么设置都是不对的
异步信号IO,false path或者max/min delay

多谢陈大。那想问下,不约束与set_false_path,两种,最终结果不一样的在哪里?

Timing Constraints
When defining timing constraints you should consider that your design has synchronous paths and asynchronous paths. Synchronous paths are constrained by specifying clocks in the design. Use the create_clock command to specify a clock. After specifying the clocks, it is recommended you also specify the input and output port timing specifications. Use the set_input_delay and set_output_delay commands.
Asynchronous paths are constrained by specifying minimum and maximum delay values. Use the set_max_delay and set_min_delay commands to specify these point-to-point delays. The calculation of minimum and maximum delays are described in the following sections.
For additional information, see the Synopsys Timing Constraints and Optimization User Guide.

io timing一般都是低优先级的, 有必要再看看

  谢谢小编的悉心指导

好东西,谢谢分享

受教了,好东西

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

网站地图

Top