多corner综合
一般一个工艺会提供不同工艺角的标准单元库,如果希望在综合的时候能在两个边界工艺库上做分析,可以利用set_min_library
和set_operating_conditions
两个命令。
set_min_library
用法如下
set_min_library max_lib.db -min_version min_lib.db
max_lib.db是本次分析所用的worst lib,min_lib.db是本次分析所用的best lib。
set_operating_conditions
用来定义当前设计的operating conditions。operating conditions在标准单元库中有定义,字段就是operating_conditions。该命令的参数如下
-analysis_type bc_wc | on_chip_variation
bc_wc和on_chip_variation两个选项是互斥的,bc_wc将指定的两种operating condition认为是两种极端情况,在max condition下分析setup,在min condition下分析hold。这种分析认为整个芯片要么都处于max condition,要么都处于min condition。on chip variation则认为max condition和min condition是芯片所处的工况的两个边界,工具会用最坏的情况进行时序分析,例如分析setup时,launch端使用max condition,capture端使用min condition。显然on_chip_variation是更保守的情况,虽然可能过于悲观。这篇文章提到对于90nm以上的工艺直接用bc_wc即可,对于90nm一下的更先进的工艺最好选择ocv模式。另外OCV模式还牵扯到时钟重合悲观量(Clock recovergence pessimism),这个放到一个单独的文章写吧,这篇文章还提到OCV模式下CRPR,即Clock Recovergence Pessimism Remove,方法是
set_app_var timing_remove_clock_recovergence_pessimism true
-min -min_library -max -max_library
指定min condition和max condition以及对应的单元库