|

楼主 |
发表于 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.
有不足之处还请指出,谢谢。 |
|