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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 11555|回复: 12

[原创] set_input_delay和set_output_delay在icc、dc上的设置区别

[复制链接]
发表于 2013-6-13 15:59:31 | 显示全部楼层 |阅读模式

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

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

x
1、在DC上设置如下三种情形,得到的结果是一样的。是因为在DC中本身就不是很注重-min/hold选项么?
(1)set_input_delay -clock CK  15  [all_inputs]
       set_output_delay -clock CK  7  [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.差太多了。
望各位大虾留下你的宝贵经验,谢谢。该用哪种呢?在布局布线时。
发表于 2013-6-13 17:53:56 | 显示全部楼层
表示也想学习综合和后端
发表于 2013-6-13 22:56:54 | 显示全部楼层
3
发表于 2013-6-14 09:42:52 | 显示全部楼层
选哪种设置主要看你的实际需求,如果你明确知道你的input delay和output delay的话,根据实际值来设置,如果你的最小外部延时不确定,建议你在icc里使用第二种设置,icc就会认为io上的hold是unconstraint的,这样就不会修io上的hold,等到你的最小外部延时值确定了再加上这些设置,然后用pt或者icc修io上的hold。
 楼主| 发表于 2013-6-14 10:23:21 | 显示全部楼层
本帖最后由 whynoreason 于 2013-6-14 11:01 编辑

回复 3# 陈涛

多谢版主回复,我也是按此做的,就是违例太多。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口,不论是不同频率,或者是无频率,或者是同频但不同相,都可以不用约束么?
 楼主| 发表于 2013-6-14 10:24:38 | 显示全部楼层
本帖最后由 whynoreason 于 2013-6-14 11:03 编辑

回复 4# worshipgun

多谢!!!想再问下,如果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口,不论是不同频率,或者是无频率,或者是同频但不同相,都可以不用约束么?
发表于 2013-6-14 12:16:04 | 显示全部楼层
在未能确定io信号的时候,无法设置。也可以说,怎么设置都是对的,怎么设置都是不对的
异步信号IO,false path或者max/min delay
 楼主| 发表于 2013-6-17 11:02:53 | 显示全部楼层
回复 7# 陈涛

多谢陈大。那想问下,不约束与set_false_path,两种,最终结果不一样的在哪里?
发表于 2014-12-15 13:27:20 | 显示全部楼层
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.
发表于 2014-12-15 17:10:14 | 显示全部楼层
io timing一般都是低优先级的, 有必要再看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-18 12:42 , Processed in 0.021599 second(s), 7 queries , Gzip On, Redis On.

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