在线咨询 切换到宽版
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.

有不足之处还请指出,谢谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-9-10 22:27 , Processed in 0.017994 second(s), 3 queries , Gzip On, Redis On.

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