Scenario
scenario:${library_name}_${case}_${mode} Mode+PVT+RC_Corner
library_name(corner_list): ssgnp_0p675v_m40c_cwt ssgnp_0p675v_125c_rcwt ssgnp_0p675v_125c_cb ssgnp_0p675v_m40c_cw ffgnp_0p825v_125c_rcw ffgnp_0p825v_m40c_rcb tt_0p75v_25c tt_0p75v_85c
case: function/scan/max_min
mode:timing

关于PVT:
WCS(慢工艺、低电压、高温):ssgnp_0p675v_125c_rcwt (ssgnp_0p675v_m40c_cwt ssgnp_0p675v_m40c_cw ssgnp_0p675v_125c_cb)
BCF(快工艺、高电压、低温):ffgnp_0p825v_m40c_rcb (ffgnp_0p825v_125c_rcw)
Typical(典型工艺、标准电压、标准温度):tt_0p75v_25c (tt_0p75v_85c)
WCL(低温下的最差情况:慢工艺、低电压、低温)
关于RC Corner
互联线直接影响cell delay、energy consumption、power distribution、noise等等。
互联线的电阻和电容大小的计算直接影响sta的结果。
为提高interconnect net的准确性,需要使用不同的model进行参数提取。
C Croner RC Corner(考虑到耦合电容对delay的影响)
C Corner:
在早期工艺,一般cell的R值都远大于net的R值,与C相乘的时候net的R就可以忽略不计,所以对于一条net来讲,它的C是我们要重点关注的,可以说这时候电容占主导地位。C最大的时候,net delay最大,C最小的时候,net delay最小。由此衍生出两个corner:cbest(Cmin) cworst(Cmax)。
随着工艺的进步,cell的R值不再“远大于”net的R值,尤其对比较长的net,它的电阻已经到了不可忽略的地步,因此再单单选用C的极大极小来代表net delay的极大极小变得不再那么可取,所以需要综合考虑net的RC情况。衍生出两个corner:RCbest RCworst。
并不是说在先进工艺下cbest cworst corner就没用了,实际上,只有当导线比较长的时候,delay的极值才会发生在rcbest和rcworst的corner上,对于短导线、driver电阻很大的时候,cbest和cworst才能反映delay的极值。所以实际为了稳妥起见,这四个corner都会进行signoff。
(在路径延时计算中Cworst/Cbest corners被用作短线延迟计算,RCworst/RCbest corners 被用作长线延迟计算;tipical被用作平均长度的线上delay计算;)
C corner和RC corner的主要区别:不仅考虑金属线宽变化和线高变化的影响,还需要考虑线与线之间的间距和上下金属层厚度的影响,即考虑耦合电容的影响。
RC Corner
-
一般C Corner主要考虑两种: Cbest和Cworst
-
Cbest (Cmin): 电容最小,电阻最大,对于short nets来说,有最小的delay,可以用于min-path-analysis。
-
Cworst (Cmax): 电容最大,电阻最小,对于short nets来说,有最大的delay,可以用于max-path-analysis。
-
在90nm之后,net delay占比增加,耦合电容对delay的影响不能忽略。在Cbest和Cworst的基础上增加了RCbest和RCworst Corner。
-
RCbest(xtalk corner): (对地电容+耦合电容)*电阻最小,耦合电容最小,电阻最小,对于long nets来说,有最小的delay,可以用于min-path-analysis。
-
RCworst(delay corner): (对地电容+耦合电容)*电阻最大,耦合电容最大,电阻最大,对于long nets来说,有最大的delay,可以用于max-path-analysis。
Setup RC Corner: Cworst_T和RCworst_T
Hold RC Corner: Cbest、RCbest、Cworst和RCworst
注:"_T"代表tight corner,一般只用于setup timing分析。
function_hold_ffgnp0p825v125c_rcworstCCw125c
function_hold_ffgnp0p825vn40c_rcbestCCbn40c
function_hold_ssgnp0p675v125c_cbestCCb125c
function_hold_ssgnp0p675vn40c_cworstCCwn40c
function_hold_tt0p75v25c_typical25c
function_hold_tt0p75v85c_typical85c
function_setup_ssgnp0p675v125c_rcworstCCwT125c
function_setup_ssgnp0p675vn40c_cworstCCwTn40c
#corners only for setup timing check
if {[string match "ssgnp_0p675v_m40c_cwt" $library_name]} {
set_false_path -hold -through [get_pins * -hier]
}
if {[string match "ssgnp_0p675v_125c_rcwt" $library_name]} {
set_false_path -hold -through [get_pins * -hier]
}
#corners only for hold timing check
if {[string match "tt_0p75v_25c" $library_name]} {
set_false_path -setup -through [get_pins * -hier]
}
if {[string match "tt_0p75v_85c" $library_name]} {
set_false_path -setup -through [get_pins * -hier]
}
if {[string match "ffgnp_0p825v_125c_rcw" $library_name]} {
set_false_path -setup -through [get_pins * -hier]
}
if {[string match "ffgnp_0p825v_m40c_rcb" $library_name]} {
set_false_path -setup -through [get_pins * -hier]
}
if {[string match "ssgnp_0p675v_m40c_cw" $library_name]} {
set_false_path -setup -through [get_pins * -hier]
}
if {[string match "ssgnp_0p675v_125c_cb" $library_name]} {
set_false_path -setup -through [get_pins * -hier]
}

浙公网安备 33010602011771号