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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: haier822

[求助] 已解决-DC与PT的时序分析差异,请帮我分析

[复制链接]
发表于 2012-1-7 21:12:13 | 显示全部楼层
回复 9# haier822


    不知道在DC中要改成什么样子?  是target_library ?  set_min_library要不要加?
才可以两个库同时使用
 楼主| 发表于 2012-1-9 09:47:18 | 显示全部楼层
回复 11# lyz543212

       不知道在DC中要改成什么样子?  是target_library ?  set_min_library要不要加?
才可以两个库同时使用

回:DC中 target_library 填入worst lib(最好悲观些), link_library中把 best, typical, worst lib都填入用来分析setup和hold timing. set_min_library不用加。
发表于 2012-1-14 23:20:03 | 显示全部楼层
回复 12# haier822


    请问为什么要设置set_min_library啊??
发表于 2012-1-15 12:13:05 | 显示全部楼层
回复 9# haier822


   楼主分析的非常详细了,有几个问题我想确定下。在dc中,我使用set_operation_condition -max max_lib -min min_lib
那么这样的分析时采用bc_wc分析吗?这样分析是否能够有如你所有的“覆盖最悲观的情况”。
发表于 2012-1-15 14:59:56 | 显示全部楼层
楼主最后的分析搞得我比较凌乱。
按理说一般的lib提供商会将BC和WC两种condition做在一个库里。当然也有分开做在不同的库里的。
而且,PT的分析模式默认是single吧我记得。就是说一次只能做一次条件分析,例如Max或者Min。
而Bc_WC模式则挑选两个corner来作分析。所以一次可以做最坏和最好两种分析。
另外set_min_delay是设置例外制约的和楼主所说的应该没有关联吧
发表于 2012-1-15 15:05:47 | 显示全部楼层
回复 14# estyzq


    最悲观的情况我觉得应该是OCV模式的时候做的。例如做setup分析時clock path用BC,data path用WC,hold分析时则相反。
不知道我说的对不对求高手批评!
发表于 2012-1-15 18:26:35 | 显示全部楼层
回复 16# 牧月


    我也是不太清楚。
在dc中倒是有个命令是set_min_library,作用时在进行增量编译的时候,能够修复hold violation,但不违背setup violation。
set_operation_condition的max和min也可以优化设计。
不知道是不是说dc中只要用一个就可以?以及,用了哪个是对应bc_wc分析,而另外一个是OCV分析?
发表于 2012-1-15 20:51:56 | 显示全部楼层
回复 17# estyzq

不是说DC中只要一个就可以了,而是由lib的提供商来决定的吧
如果两种条件做在一个裤里面就直接调用一次就行,如果BC和WC做在两个庫時就需要用到set_min_library这样的命令了。
揣测!求高手正解。
发表于 2012-1-15 21:32:32 | 显示全部楼层
回复 18# 牧月


   我的意思是在dc中是不是只要使用set_min_library和set_operation_condition中的一个就可以了,以及哪一个是针对WC_BC,哪一个是针对ocv。    我一般在dc中就直接只用set_operation_condition,合理吗?
    楼主的意思是说,在pt中需要同时使用set_min_library和set_operation_condition,不知道我理解的对不对?
下述是引用楼主的tcl,可以看到楼主的脚本中是同时使用了这两个,请问楼主这是在pt和dc中都要这么用的吗?
#environment conditions
set_min_library l180hv_wc.db -min_version l180hv_bc.db
set_operating_conditions -min l180hv_bc -min_library l180hv_bc -max l180hv_wc -max_library l180hv_wc

set_wire_load_model -name "wl50" -library l180hv_wc -max
set_wire_load_model -name "wl10" -library l180hv_wc -min
set_wire_load_mode top
 楼主| 发表于 2012-2-9 14:58:23 | 显示全部楼层
回复 19# estyzq

1.  我的意思是在dc中是不是只要使用set_min_library和set_operation_condition中的一个就可以了,以及哪一个是针对WC_BC,哪一个是针对ocv。    我一般在dc中就直接只用set_operation_condition,合理吗?
答:首先你写错了,是set_operating_conditions而不是set_operation_condition,在DC中只要写set_operating_conditions就可以了,比如set_operating_conditions -max l180hv_wc -min l180hv_bc。这样DC就按照bc_wc方式来分析和优化时序的。在.synopsys_dc.setup中 已经写到 set link_library [list {*} l180hv_bc.db l180hv_typ.db l180hv_wc.db],三种库已经读入到DC的内存中。两种operating conditions分别为 l180hv_wc和l180hv_bc是能够从内存中搜索到的。user guide中提到在set_operating_conditions 如果用到了-min,-max,那么默认模式就是BC-WC。只有再加入声明 -analysis_type OCV才是OCV的分析方式,例如set_operating_conditions -max l180hv_wc -min l180hv_bc -analysis_type OCV。
     在DC后的PT分析中BC_WC和OCV两种分析方式结果是一致的。原因就在于还没有真实的版图,时钟时理想的,没有buffer等器件构成的时钟树。对比Best-case/worst-case简写:bc_wc。和On-chip variation 简写: OCV。在DC后的PT中因为时钟树是理想的,所以在时钟路径中没有额外器件,best-case operating condition和worst-case operating condition对于时钟的延迟是没有影响的。所以在DC后的PT中,bc_wc和OCV两种分析方式结果上没有差异。注意在PR后的PT中,因为加入了时钟树,即时钟路径中有器件,那么best-case operating condition和worst-case operating condition对于时钟路径就有不同的影响了,这种情况下,两种分析模式就不同了,OCV显然更加悲观。但是OCV由于太悲观了,在astro的user guide中并不推荐该种分析方式。但是在PT的user guide中推荐模式又是OCV,请大家注意,想必PT考虑到未来工艺的进步,时钟走线对时钟的影响越显著,未来OCV的分析方式会越来流行。

2.  楼主的意思是说,在pt中需要同时使用set_min_library和set_operation_condition,不知道我理解的对不对?
下述是引用楼主的tcl,可以看到楼主的脚本中是同时使用了这两个,请问楼主这是在pt和dc中都要这么用的吗?
#environment conditions
set_min_library l180hv_wc.db -min_version l180hv_bc.db
set_operating_conditions -min l180hv_bc -min_library l180hv_bc -max l180hv_wc -max_library l180hv_wc
set_wire_load_model -name "wl50" -library l180hv_wc -max
set_wire_load_model -name "wl10" -library l180hv_wc -min
set_wire_load_mode top

答:在PT中是同时使用set_min_library和set_operating_conditions,前面的帖子已有介绍。这点不同于DC的是:PT的link_path是不同于DC的.synopsys_dc.setup中的link_library。仔细读下我前面的帖子,其依据取材于PT的user guide。方便看,我再重复写一下:之前我的问题是没有为PT分析min delay和max delay指明相应的lib,虽然在脚本中也写到:set_operating_conditions -min l180hv_bc -min_library l180hv_bc -max l180hv_wc -max_library l180hv_wc。但是link_path的对象不对,只能是worst-case lib,还有缺少了set_min_delay,该命令主要是在两种库之间建立max/min的关系,为后面PT同时进行min delay和max delay分析做好库的准备。对于PT的delay分析过程,PT的手册中说到:PrimeTime first checks the library cell in the maximum library, and then looks in the minimum library to see if a match exists. If a library cell with the same name, the same pins, and the same timing arcs exists in the minimum library, PrimeTime uses that timing information for minimum analysis.

有不足之处还请指出,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-20 06:18 , Processed in 0.027326 second(s), 7 queries , Gzip On, Redis On.

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