欢迎光临散文网 会员登陆 & 注册

OCV_summary

2023-04-04 20:21 作者:德井青空的UFO  | 我要投稿

        工艺偏差自集成电路诞生之日起,就是一个无法规避的因素,芯片制造过程不比生个娃简单,且每一个过程都极其精细,即使极尽所能地控制制造过程的偏差,但随着工艺进步,工艺偏差对芯片性能的影响却日渐凸现。为了模拟工艺偏差对芯片性能的影响,引入了On chip variation模型,40nm 之前简单的flat derate模型基本可以覆盖大部分情况,且不过于悲观到不能接受。但进入40 nm 之后flat derate 已不再是一个『经济』的模型,所以引入了更复杂的AOCV (Advanced OCV) 模型,考虑depth 跟 distance的影响,此时AOCV table的背后已有『统计学』的支撑,即所谓的SSTA (statistical staic timing analysis). 但限于runtime 当今STA 默认都是基于GBA (Graph Based Analysis) 进行timing 分析,这就使得Depth 的计算并不精确,从而导致过于悲观,如果用PBA (Path Based Analysis) 方式来计算Depth runtime又不能接受。于是进入16nm 之后,一种新的OCV 模型开始被广泛使用,C家称之为SOCV (statistical OCV), S家称之为POCV (Parametric OCV), 除了名字的差别,背后都是统计学都是正态分布,背后的算法也基本一致。

01

什么是Flat OCV?


  • Flat OCV使用一个固定的derate factor应用于所有的cell/net。

  • 这种OCV对setup有很大的pessimism,对hold可能会存在potential risk。这是因为Flat OCV和实际的silicon数据相比,logic path越长,pessimistic margin越大,对setup的影响越大;logic path越短,optimistic margin越大,对hold的影响越大。


02


如何设置Flat OCV?


  • Setup Timing Analysis:考虑最差情况,对capture clock path使用early timing derate,对launch clock path使用late timing derate,对data path使用late timing derate。

  • Hold Timing Analysis:考虑最差情况,对capture clock path使用late timing derate,对launch clock path使用learly timing derate,对data path使用early timing derate。

03

什么是AOCV (SBOCV)?


  • AOCV: Advanced On Chip Variation,Synopsys家叫法。

  • SBOCV: Stage Based/Stage Best On Chip Variation,Cadence家叫法。

  • AOCV是一种伪随机的统计方法,用来模拟variation (random and systematic variations),将derate值模拟为timing path的cell path depth和cell distance的函数。同一条timing path,不同的cell有不同的derate值,derate值一般通过一维或二维查找表得到。

  • random variation (depth based AOCV: local variation):

    random variation由于其随机性,所以可以相互抵消,derate值随着cell path深度的增加而减小,对某一条path来说,cell path级数越多,其分布越接近于正态分布,整条path的 random variation相互抵消的越多,总体variation越小。

  • Systematic variation (distance based AOCV: global variation):

    在芯片制造的过程中,cell之间的距离越近,cell的特性越相似,variation越小,derate值越小;cell之间的距离越远,cell的特性偏差越大,variation越大,derate值越大。

  • Path Depth: 分别计算latch path和capture path的逻辑级数,需要注意的是,如果一个cell通过两条或者两条以上的path,则该cell取级数小的derate值。path depth对random variation进行建模。

  • Distance: 包括cell distance和net distance,distance指的是cell或者net box的对角线距离。distance 对systematic variation进行建模。


04


why AOCV?


  • Flat OCV的derate设置对setup timing过于悲观,而对hold timing又过于乐观。

  • 一般情况下,随着path depth增加, random variation会逐渐减小,这是因为random variation随着cell增加,不太可能所有的cell都偏向early或者late,即cell delay会相互抵消一部分。

  • Flat OCV一般适用于90nm以上的工艺,但在90nm一下工艺或者高频设计中,需要剔除掉部分悲观derate值,防止overdesign发生。

  • AOCV在65nm工艺中引入,可以很好的模拟variation。


05


AOCV Table


  • 一般有两种AOCV derate table: 一种是一维table,index为depth;一种是二维table,index为depath和distance。

  • 每一种cell一般都会有rise/fall/late/early/data/clock六种table。

  • derate value increase with distance, derate value decrease with path depth。




06


如何计算cell depth和distance?

  • cell depth的计算:对某一个cell来说,其depth取所在所有timing path的最小值,这是因为需要考虑derate最差的情况,depth越小,derate值越差。

  • 例如:如下图所示,对于C1来说,有两条timing path,一条为C1->C2->C5->RL1共4级,另一条为C1->C2->C3->C4->C44->RS共6级,所以C1的级数为4。

  • PBA AOCV:重新计算timing path上的每个cell的depth,对同一cell的不同timing path使用不同的derate值,这会得到更精确的derate值,但会显著增加run time。



  • distance的计算:通过cell或者net的box来计算distance。

    cell max distance (Cell Dmax): timing path内所有cell的inner box的对角线距离。

    net max distance (Net Dmax):timing path内所有net的outer box的对角线距离。


07

什么是POCV (SOCV)?


  • POCV: Parametric On Chip Variation,Synopsys家叫法。

  • SOCV: Statistic On Chip Variation,Cadence家叫法。

  • 实际中的on chip variation并不是一个确定的统一数值,而是大概率服从正态分布的统计规律。对每一个cell分别建模,cell的derate值是一个基于单一均值和方差的高斯分布,这种方法考虑了cell transition和ouput load对variation的影响,也考虑了variation对cell transiton的影响。

  • POCV中nominal和sigma数值是与input slew和output load有关的函数。

  • POCV的结果与SPICE (silicon)结果更相近,同时GBA结果与PBA结果也相近。

  • POCV使用nominal delay value表示cell的delay,使用delay sigma模拟cell的delay variation变化。需要分别对data/clock的early/late设置不同的derate值。

  • POCV Analysis Flow:


08


why POCV?


  • 在40nm以下工艺,AOCV变得不准确,不能很好地降低pessimism。

  • 不同于Flat OCV和AOCV 对某一个cell使用一个确定的derate值,POCV通过delay variation (sigma)进行计算得到当前cell的derate值。

  • POCV比AOCV/Flat OCV更接近于实际的silicon数据,可以更好地模拟on-die variation。

  • local variation从SPICE corner model中去除来生成Global corner models: SSG/FFG,这可以减少long path的overdesign,同时减少short path的underdesign的风险。





summary

  • 工艺偏差导致芯片物理参数偏差,进一步导致管子电特性偏差,在STA 中表现于cell delay, cell trantion 跟 net delay的偏差。

  • STA 用PVT + OCV 来模拟cell 的timing,用Spice 仿真得到cell delay 跟variation。

  • STA 用RC corner来模拟互连线的variation。

  • PVT 跟RC corner 用于模拟Global varition。

  • Flatten OCV, AOCV, SOCV / POCV 用于模拟local variation.


OCV_summary的评论 (共 条)

分享到微博请遵守国家法律