上一篇在谈到《芯片中的偏差和风险控制》时,抛出了一个问题:如何对系统性偏差进行管控呢?这一篇将进行讲解。
在新工艺下对新产品进行静态时序分析时,我们首先需要考虑的是Signoff的scenarios(或者views)组合,每一个scenario由以下三部分组成:
(1)Operating Mode,即工作模式
(2)PVT Corner
(3)Parasitics Corner
其中的Operating Mode,可以分为Function Mode和Test Mode。对于大型的SoC芯片工作模式多种多样,特别是牵涉到不同子系统工作电压可变,甚至同一子系统不同功能模块的工作电压可变,排列组合出来的Function Modes数量可以达上百个,这部分与设计是强相关的。而Test Modes与DFT是强相关的,比较常见的有Scan capture mode,Scan shift mode,Bist mode,以及Jtag mode等等。
PVT Corners
顾名思义,PVT分别标明了工艺角快慢,电压高低,温度高低,一般是对有源器件而言,比如标准单元和IP等。同一档电压下,一般地可以分为以下几种PVT Corner:
(1)Typical,例如:typical_0p8v_25c,其特点有:
typical process
nominal power voltage
nominal temperature (25c或者85c)
该Corner一般用于评估功耗,有些公司习惯可以选择25c,有些习惯选择85c,标准一致就行。按照统计数据,85c的leakage大约是25c的8倍左右,即温度每升高20度,leakage翻一倍。
(2)WCS,也称WC,例如:ssgnp_0p72v_125c,其特点有:
slow process
low power voltage (90% * nominal power voltage)
high temperature
因为先进工艺下温度对管子特性的影响不是线性的,所以按照温度的高低,又有WCL(表示Low temperate,例如ssgnp_0p72v_m40c)和WCZ(表示Zero Temperature,例如ssgnp_0p72v_0c)两个。
(3)BCF,也称BC,例如:ffgnp_0p88v_m40c,其特点有:
fast process
high power voltage (110% * normal power voltage)
low temperature
(4)ML,即Max Leakage,例如:ffgnp_0p88v_125c,期特点有:
fast process
high power voltage
high temperature
Parasitic Corners
除了有源器件部分,无源的互联绕线也会有不同的工艺角,这里主要从寄生电容C和寄生电阻R来分类,寄生电感L的建模在特殊工艺或者更先进的3nm/2nm工艺可能会更多地考虑。
(1)Ctypical
特点:电容和电阻不偏大也不偏小,居中状态
(2)Cworst (或Max C)
特点:由于绕线在制造过程中发生宽度偏大/间距变小,导致电容偏大,相应地电阻偏小的状态,对于较短的绕线,总体的RC乘积是偏大的,造成绕线延迟偏大
(3)Cbest (或Min C)
特点,与Cworst相反,电容偏小,电阻偏大,RC偏小的状态,较短的绕线延迟偏小
(4)RCworst (或Max RC)
特点:对于较长的绕线,RC值有可能是由电阻R主导,假如在制造过程中宽度偏小,造成电阻偏大,电容偏小,然而总体的RC乘积是偏大的,较长的绕线延迟偏大
(5)RCbest (或Min RC)
特点:与RCworst相反,电阻小,电容偏大,RC偏小的状态,较长的绕线延迟偏小
在先进工艺下,引入了Double Pattern(DPT)之后,对于寄生参数提取又加入了新的需要考量的因素,即同一层金属两个Mask之间的间距偏差。因此有了下图的几个新的Parasitic Corners:
(1)Ctypical_CCworst
(2)Ctypical_CCbest
(3)Cworst_CCworst
(4)RCworst_CCworst
(5)Cbest_CCbest
(6)RCbest_CCbest
特点:在引入DPT之前的Corner的基础上加入CCworst或者CCbest,CCworst表示DPT的两个Mask间距更小,往总体电容变大的方向偏,而CCbest表示DPT的两个Mask间距更大的,往总体电容变小的方向偏。另外,寄生参数的提取也和温度有关,往往和PVT Corner的温度对应。不过,实际制造过程中也会发生不同层的金属处在不同Corner的情况,在这部分没有办法Cover,只能通过Net Derate,或者Clock Uncertainty去Cover了。
在实际项目中,需要注意的是:
(1)布局布线过程中选用的Corner要充分覆盖到Signoff Corner,因为有些Design中的长线较多,有些Design中短线较多 ,在选择Cworst/Cbest还是RCworst/RCbest时要综合考虑,如果runtime能够承受,可以同时都加上。
(2)由于工艺的需要,芯片的绕线空白区域往往不可避免地需要加一些Metal Fill,而这些Metal Fill往往对寄生参数提取的结果会造成影响,特别是对于绕线密度比较低的区域。因此建议在尽早带上Metal Fill去跑寄生参数提取。
(3)大家可能会想到,在Hard IP中既有有源器件Stdcell,也有无源的绕线,在Vendor提供IP的时候一般会有各个Scenario的.lib,包括不同PVT和Parasitic Corner的组合,在使用的时候需要一一对应,避免混用。