16 nm工艺下的新一代静态时序分析技术SOCV
2017-05-10胡云生胡越黎王伟平承文龙杨晔晨
胡云生,胡越黎,2,王伟平,承文龙,杨晔晨
(1.上海大学 微电子研究与开发中心,上海 200072; 2.上海大学 机电工程与自动化学院,上海 200072)
16nm工艺下的新一代静态时序分析技术SOCV
胡云生1,胡越黎1,2,王伟平1,承文龙1,杨晔晨1
(1.上海大学 微电子研究与开发中心,上海 200072; 2.上海大学 机电工程与自动化学院,上海 200072)
工艺偏差在更加先进的工艺节点上别的尤为重要;最初使用工艺偏差方法学(on-chipvariation,OCV)使用一个系数因子在整条时序路径上放大缩小来模仿工艺变化,这种方法学过于悲观;先进的片上误差方法学(advancedocv,AOCV)可以在不同的时序路径上不同的逻辑深度添加不同的系数因子来模拟工艺误差;但是这种方法学分析的时间太长,消耗的内存太多,并且分析的场景出现的概率很低;介绍一种在16nm下最新的一代时序分析技术-统计学片上误差分析(statisticocv,SOCV);SOCV能够模拟某种误差使得延时出现的概率,因此SOCV较AOCV更为准确,能够去除部分特别悲观和特别乐观的场景;SOCV耗时明显要低于AOCV,因此SOCV能加快sign-off的时间。
静态时序分析;AOCV;SOCV
0 引言
半导体技术发展日益迅速,集成电路芯片设计日趋复杂。芯片的日趋复杂,给时序验证不可避免带来更大的难度,静态时序分析(STA,static timing analysis)技术作为对芯片时序验证的主要方法,也随着工艺的进步也一直在改进[1]。最初的时序分析技术只有单一模式和最好-最差模式(BC-WC),这种技术在.18 um工艺以前基本能完成时序分析[2]。然而到深亚微米阶段时候最好-最差模式已经不能完成设计任务,随之而采用的技术是OCV(on-chip variation)模式[3]。OCV模式虽然对芯片环境有了更多的考虑,但是仍然不够准确,因为其在launth path或者capture path添加的单个降额系数因子derate值影响了一整条路径。这显得过于悲观,无法确切的用单个系数因子描述工艺偏差对一条逻辑线路的影响,特别在千万级门电路设计中,带来的问题是时序无法很快的收敛。于是AOCV模式应运产生,相比于传统的OCV模式在一条路径上设置一个固定的系数因子值的方法,AOCV则是动态的调整系数因子的值,系数因子的值根据逻辑深度和线的长度通过二维查表得到。
但是随着集成电路规模的扩大,设计难度使得电路复杂性极大提高,诸如本课题组自主设计芯片[4-6]规模尽管不算大,然而其中依然包含了较为复杂的逻辑深度和线长,此时AOCV不足之处便体现出来,带来的是较长的运行时间,不利于芯片设计中多次迭代验证,在一定程度上降低了芯片设计的效率。而且AOCV是根据OCV发展而来的方法学,其继承了OCV的MMMC(multi mode multi corner),然而,在实际芯片运行过程中,MMMC的很多分析场景(analysis view)出现的概率很低,若依然花费大量的时间和内存去分析,则很明显的有一种得不偿失的后果。
因此,目前在16 nm工艺下的静态时序分析正在逐渐推广SOCV技术,SOCV方法学是从AOCV和SSTA(统计学的静态时序分析)继承而来。SOCV无论是在分析时间,消耗的内存,以及数据的准确性都比AOCV有明显的提高。
1 WC-BC模式
芯片的时序验证主要有两种方法:静态时序分析(STA)和动态时序分析。两者是相对而言的,静态时序分析作为一种穷尽分析方法,能够遍历芯片中的所有路径,计算信号在每条路径上的传播延时信息,找出违反时序约束的路径,并且其运算速度快,能够克服动态分析的很多缺陷,成为芯片设计中时序验证最主要的方法。
早期的静态时序分析方法主要建立在针对建立时间setup time和保持时间hold time两个芯片时序最重要的参数的分析上。对于芯片的不同工作环境,主要是工艺、工作电压、温度3种,即所谓的PVT环境,不同的组合有3种不同的工作条件:WORST、TYPICAL、BEST[7]。早期的STA简单的采用WC_BC模式,即一般情况下使用WC(Worst Condition)的情况下进行setup time check,使用BC(Best Condition)的环境对hold time check。
然而,随着半导体工艺的发展,芯片尺寸不断减小。WC-BC模式在0.18um及其更小工艺上的芯片时序验证时,由于PVT参数受到工艺偏差的影响增大了以后,早期对工艺偏差的假设不再成立;同时,不同的电路呈现出不同的参数敏感特性[3],使得WC-BC模式不能很好的分析出电路中的实际时序信息。因此,实现对由于工艺偏差带来的电路时序不确定性的建模分析成为当前静态时序分析的发展突破方向。
2 AOCV模式
2.1 OCV模式
OCV(on-chip variation)即指在同一个芯片上由于PVT(process,voltage,temperature)的影响,不同的位置的物理信息不一样。甚至在同一个晶圆(wafter)上不同的die之间也存在这种工艺差异。于是为了保证芯片能够在广泛的环境下依然正常工作,OCV模式下考虑最悲观的情况下,分析setup time用最悲观的情况,即对于launch path,采用最大延时情况,而对capture path,则采用最小延时,得到最悲观的时序余量slack;分析hold time时用最好情况,即此时launch path延时为最小值,而capture path延时为最大值,得到最悲观的时序余量slack。则当分析结果最悲观,此时最小的slack依然满足大于0的条件时,即表明在考虑到的情况下,芯片时序总能满足,以此保证芯片的正常工作。
同时,OCV还允许分析setup和hold的时候能分别在launtch path和capture path添加降额系数因子derate。这样能保证最终sign-off的芯片一定能正常工作,虽然这依然可能导致过于悲观或过于乐观。
2.2 AOCV模式
AOCV (advance on-chip variation)是根据OCV(on-chip variation)的改良而来,以解决传统OCV模式对于路径分析不够精确导致更多不必要的分析时间和内存。由于传统的OCV模式下,单纯的设置一个固定的系数因子的值来对路径进行降额处理,这导致检查setup的时候,将launtch path上所有的单元延时都过度放大,而在检查hold的时候capture path是所有的单元延时都过度缩小。这虽然保证了芯片的可靠性,但是无疑增加了时序收敛的难度,并且对芯片的设计带来更大且不是非常必要的难度。对此,AOCV进行时序分析时,可以根据路径中每个单元不同的逻辑深度和线的长度建立了一个以逻辑深度和线的长度为变量的二维系数因子表格。每个单元通过逻辑深度和线的长度获得其对应的系数因子的值,即每个门单元有不同的、真正能够较为精确的模拟实际工作情况的系数因子derate。如图1所示,列举一个典型的AOCV库文件。
图1 AOCV 库文件
上图中的二维表格表示的是门单元TC2DFFLQXH在capture path 上check setup 时不同的逻辑深度和线长度对应的系数因子的值。Stage变量表示电路单元的逻辑深度,在二维表中每个值分别对应不同的一列;Distance则代表的是路径中不同单元对应的线长,每个Distance的值则对应不同的一行。因此,便可以根据电路单元的不同逻辑环境来唯一确定一个合适的系数因子值。
在AOCV模式下,由于同一条路径不同的cell根据各自的逻辑环境下,有不同的系数因子,而不是对整条路径盲目的添加相同系数,相比于传统的OCV,有效的提高了时序分析的精确度,并且有效的避免了过度悲观带来的部分不必要的过紧的时序约束。
然而,在AOCV中,逻辑深度的计算比较复杂,在此介绍一种较为简单的模型。如图2所示的时序路径为典型的reg-reg类型,该类型的路径在芯片中占据了绝大多数,其逻辑深度的计算具有较大的代表性。逻辑深度从共同时钟分支点(common clock branch point)开始计算,每经过一个门单元则逻辑深度加1,因此图2中,capture path 的逻辑深度为2,launch path 的逻辑深度为5。
图2 逻辑深度计算
当计算出逻辑深度并给出线长度即可以查找二维表格得出系数因子的值,如图3所示。通过观察可以发现系数因子的值有一个收敛的过程。相比于OCV模式,AOCV更加接近蒙特卡洛的spice分析。
图3 系数因子表格
3 SOCV模式
在深亚微米工艺下大型设计最大的挑战是工艺的偏差,STA为了应对工艺的偏差的问题,采取了MMMC (multi mode multi corner ,多模式多端角)的方法学。由于引入了大量的工艺角(corner),在解决工艺偏差的问题后,带来的是STA的方法学变得十分复杂,并且分析时序的时间变得非常长。而且MMMC中的大量的仿真场景(analysis view)中,很多场景都过于乐观或过于悲观,并且由于芯片工作在每个参数最差或最好的情况下的概率是很低的,因此这些过于悲观或过于乐观的场景几乎不会在现实中出现,很多场景缺少分析的价值。
为了有效的处理工艺偏差问题并且减少低概率的不必要的过于悲观场景,统计学的静态时序分析方法学被提出。并且在深亚微米下,单纯的用一个确切的值代表一个参数显得不合理,工艺参数如线宽、介电系数、金属厚度等都是遵循概率密度分布的。基于此,统计学静态时序分析(SSTA)将参数都表示成一个概率密度函数。
统计学静态时序分析将时序模型中的参数表示为基于一系列均值mean和标准差sigma的形式,并且分析模型的数值分布特性,对电路中的延时计算同样使用统计学的概念,通过引入统计学的概念,使得SSTA的方法很好的模拟了芯片在实际工作环境中可能面临的实际状况,对芯片的时序问题有了更加全面的分析,使得处理结果在资源耗费以及精确度上有了较大的改善。
SOCV则是结合了AOCV和统计学静态时序分析(SSTA)两者的特点产生的新一代静态时序分析技术。SOCV不但能缩短仿真的时间,节省仿真的内存,而且仿真的准确性明显的优于AOCV。由于SOCV有SSTA的统计学特性,因此还能准确的在sign-off前就对良品率有很好的估测。
3.1 基于统计学的OCV方法学
SOCV能计算芯片设计中特定工艺角下某种工艺参数差异对门单元的延时和逻辑翻转的影响。某种意义上来讲,SOCV方法学也是单参数的SSTA方法学。工艺差异在SOCV中用sigma表示,如下图4所示,slew、delay、arrival、slack 等参数都是服从高斯分布函数的,主要参数为mean 和sigma。图4中定义了在检查setup时最悲观的取值和在检查hold时最乐观的取值。SOCV计算单参数的片上误差比以往的AOCV添加系数因子的方法更为准确和迅速。例如某条路径检查setup的时候,当从库文件中查得门单元的延时为10 ns,AOCV方法学是根据设置一个系数因子的值来模拟工艺误差带来的额外延时,例如设置derate=0.2,门单元的延时计算为12 ns,而SOCV计算出门单元在此工艺误差下总延时大于11 ns的概率为0.001%,小于11 ns的概率为99.99%,因此门单元的延时最悲观情况下只取11 ns。AOCV的数据和SOCV对比无疑显示的过于悲观和不切实际。
图4 主要参数计算表
Mean 和sigma的计算一直是SOCV的难点。定义sigma结合mean值就可以得出误差使门单元在某点处出现的延时。SOCV主要参数的计算方法如下所示,Other End AT Mean是指到达触发器的时间,phase shifer指时钟周期,cppr mean指cppr计算的值。Setup sigma指门单元由于工艺误差导致的setup时间变化,此值可以从特殊的library中查得,查找方法是根据输入引脚的翻转时间和输出引脚的负载电容的二维查找表格。
Required Time Mean = Other End AT Mean -Setup Mean + Phase Shift + CPPR Mean
Required Time Sigma = sqrt (Other End AT Sigma 2 + Setup Sigma 2)
Next Stage Arrival Time Mean = Arrival Mean + Delay Mean
Next Stage Arrival Time Sigma= sqrt (Arrival Sigma 2 + Delay Sigma 2)
Slack Time Mean = Required Time Mean -Arrival Time Mean + CPPR
Slack Time Sigma=sqrt (Required Time Sigma2 + Arrival Time Sigma 2 -CPPRSigma2)
当RTSigma2+ATSigma2 < CPPRSigma2 时,slack Sigma = 0.000
SOCV需要特定的库文件描述工艺偏差对门单元输入信号翻转时间的影响。使用如下命令导入库文件:
create_library_set -name libsetMax -timing [list-socv [list{socv_lib_path}/lib1.socv{socv_lib_path}/lib2.socv]
图5 socv库文件
每一级误差传递的计算方法是该门单元输入的误差和该门单元本身具备的误差的算术平均和,当前门单元的输出误差中包含前级门单元的输出误差和自有的误差。如图6所示,buff_4_1输出的误差值为0.001 18,buff_4_2的输出误差为自有的误差和输入误差(buff_4_1的输出误差)的算术平均和0.001 68。因此误差会随着逻辑深度传递。
图6 门单元误差随着逻辑深度传递
4 测试环境与仿真结果
本文的测试环境为Cadence 最新一代的EDA 数字平台 Innovus 15.10 ,采用的电路为特定测试SOCV的测试例子。通过对同一条时序路径采用不同的方法比较可以发现,如图7所示,SOCV即使考虑了CPPR的情况下,时序余量还是比AOCV要小,因此运用SOCV方法学更能准确的找到关键时序路径。
进一步地,比较整个设计的QoR(quality of report)。如表1所示,SOCV无论是在WNS还是TNS都要明显要优于AOCV。对比时序违规的路径(Violating Paths)条数,AOCV比SOCV多出了502条,占总数的25%,表明SOCV比AOCV更加准确。
图7 AOCV 和SOCV 时序分析比较
表1QOR比较
AOCVSOCVWNS(ps)-560.33-536.33TNS(ps)-5594.1-5106.3ViolatingPaths19841482AllPaths2950529505
5 结论
AOCV的产生,解决了传统OCV分析方法的分析结果部分过于悲观的问题。但是由于AOCV是对OCV的继承,尤其在MMMC的情况下,存在一些极端环境概率太小的问题。而SOCV对AOCV而言,采用统计学理论,并且可以去除部分过于悲观的场景,因此,SOCV不管在耗时以及分析结果准确性上,比AOCV都有较好的优化。
[1]DeshpandeA.VerificationofIP-CorebasedSoC’s[A].9thInternationalSymposiumonQualityElectronicDesign.SanJoseCA[C]. 2008: 433-466.
[2]SarkarS,ShindeS,ChandarSG.AneffectiveIPreusemethodologyforqualitySystem-on-Chipdesign[A].2005InternationalSymposiumonSystem-on-Chip.Tampere,Proceedings[C]. 2005:104-107.
[3] 陈 祺,林平分,张 玥. 超大规模集成电路中基于OCV的时序收敛方法[J]. 电子科技, 2009,22(7): 30-33.
[4] 郭腊梅,胡越黎.一种微控制器总线结构的设计[J].计算机测量与控制, 2005.7,13(7):715-717.
[5] 黄俊凉,胡越黎.MV10微处理器与APB总线的接口设计[J].计算机测量与控制,2011,11,19(12):3089-3095.
[6] 王龙杰,胡越黎,刘廷尧,等.多核MV12片上系统中断控制器的设计与实现[J].半导体技术,2012,10(10):755-759,785.
[7] 曹 建. 静态时序分析中不同工作模式的分析及应用[J]. 信息技术,2011, 01(101): 127-129, 132.
[8] 刘元龙.基于路径的OCV分析方法研究与实现[D].长沙:国防科学技术大学,2013.
[9] 胡新安.支持动态任务调度的多核分布式操作系统设计[D].哈尔滨:哈尔滨工业大学,2011.
[10] 赵 阳.多核系统中基于DVS的实时节能调度方法研究[D].株洲:湖南工业大学,2013.
Hu Yunsheng1, Hu Yueli1,2,Wang Weiping1,Cheng Wenlong1,Yang Yechen1
(1.Research and Develop Center of Microelectronics, Shanghai University, Shanghai 200072, China;2.School of Mechanical and Electronic Engineering and Automation, Shanghai University, Shanghai 200072, China)
Process variation on a more advanced process nodes is particularly important. The original methodology on-chip variation(OCV)using a coefficient factor zoom on a timing path to mimic the process of change, which is too pessimistic. Advanced on-chip variation can uses the different coefficient factor to simulate the process on different paths and different logical depth. But this analysis consume too long time and too much memory, and the analysis scenario has a low probability. 16 nm is presented in the text of the latest generation statistical static timing analysis (SOCV). SOCV can simulates the probability a certain error delay, so SOCV is more accurate than AOCV, and it can remove the pessimistic and optimistic scenarios. SOCV is less than AOCV in timing consumption, so SOCV can speed up the sign-off.
static timing analysis; advanced on-chip variation;statistical on-chip variation
2016-11-15;
2016-12-06。
胡云生(1993-),男,四川宜宾人,硕士研究生,主要从事芯片设计方向的研究。
胡越黎(1959-),男,上海市人,教授,博导,主要从事机器视觉、芯片设计、SOC方向的研究。
1671-4598(2017)04-0213-03DOI:10.16526/j.cnki.11-4762/tp
TN
A
New-generation Static Timing Analysis Technique SOCV of 16 nm Process