| ||
其他芯片变化相关分析模式
随着制造工艺越来越先进,在时序分析规模不断增大的同时,对时序分析精度的要求也越来越高,因此常规的芯片变化相关分析模式已经无法满足当前更高级的时序分析要求。
本节将介绍两种更高级的芯片变化相关分析模式:高级芯片变化相关分析模式和参数化芯片变化相关分析模式。
高级芯片变化相关(AOCV)分析模式
在真实状态下,由于晶圆的片上局部工艺偏差,PVT等因素在单一芯片所造成的影响是随机的,比如在同一条时序路径上,可能有的单元的延时会加快,有的单元的延时会变慢。基于常规的芯片变化相关分析模式的时序分析方法由于使用统一的时序减免值,所以该分析模式存在缺点。基于OCV分析模式的建立时间计算示意图如下所示。
建立时间的计算公式如下:
Tlc+Td+Ts<Tcc+Tp
其中,Tlc为发射时钟最快路径延时值,Td为最快数据路径延时值,Ts为捕获时序单元的建立时间要求值,Tcc为最慢捕获时钟路径延时值,Tp为时钟周期。
时序减免值设置如下:
set_timing_derate -early 0.9
set_timing_derate -late 1.1
那么Tlc、Td、Ts的延时会变大,Tcc的延时会加快。其建立时间由于在最快路径和最慢路径中分别使用统一的时序减免值,这样最快路径延时会越来越快,最慢路径延时越来越慢,是时序分析结果过于悲观,这样会导致时序收敛难度加大。
OCV分析模式在保持时间的计算上也同样存在时序分析过于悲观的问题,如下图所示。
如上图所示,保持时间的计算式如下。
Tlc+Td>Tcc+Th
其中Tlc为发射时钟最快路径延时,Td为最快数据路径延时,Th为捕获时序单元的保持时间要求值,Tcc为最慢捕获时钟路径延时。
时序减免值设置如下:
set_timing_derate -early 0.9
set_timing_derate -late 1.1
那么Tlc、Td的延时会加快,Tcc、Th的延时会变慢。和计算建立时间一样,其保持时间分析在计算中由于在最快路径和最慢路径中分别使用统一的时序减免值,这样最快路径延时越来越快,最慢路径延时越来越慢,那使时序分析结果过于悲观,到时时序收敛难度增大。
AOCV分析模式它通过更详细的模拟仿真结果来最大程度地接近真实情况下片上局部变化影响的随机性,通过动态地调整时序减免值来达到更加接近真实情况的目的。因此AOCV模式可以使时序分析结果更加接近真实状态,从而减少悲观结果带来的时序收敛难度。
AOCV分析模式分别通过分析时序路径的逻辑深度(depth)和物理距离(distance),分别覆盖局部片上随机的工艺偏差和有规律的工艺偏差的影响,来动态调用对应的时序减免进行时序分析计算。AOCV分析模式动态地调整时序减免值是通过查找表的方法来实现的,AOCV分析模式查找表格式如下。
version:1.0
object_type : design
rf_type : rise fall
delay_type : cell net
path_type : clock path
derate_type : early
object_spec : top
depth : 0 1 2 3
distance : 100 200
table : \
0.87 0.93 0.95 0.96 \
0.83 0.85 0.87 0.90
此查找表为最快时钟路径时序减免值查找表。这里需要说明的是,depth为基于cell在整条路径上的所处的深度或者说级数;distance为基于cell或net跨越的物理距离。有的查找表基于depth一种情况考虑derate减免值,这里基于两种情况考虑derate减免值。
2.参数化芯片变化相关(POCV)分析模式
由于AOCV有如下缺点:
1.随着制造工艺越来越先进,比如在14nm工艺下,AOCV分析模式中动态设置时序减免值的方法已经不能满足当前时序分析精度的要求,其时序分析结果的悲观性也无法很好地改变。
2.AOCV分析模式需要先分析时序路径的逻辑深度和物理距离两个因素,再设置时序减免值,导致其时序分析计算工作量增大。
3.如果在AOCV分析模式下,在设计中需要改变时序路径的逻辑深度,那么其时序路径的逻辑深度改变后就需要重新设置时序减免值,这样会导致时序分析时需要不停地刷新时序减免值设置,并重新计算。
因此,时序分析中引入参数化芯片变化相关(POCV)分析模式来提供比AOCV分析模式更好的时序分析结果悲观性移除效果。
与AOCV分析模式动态设置时序减免值的方法不同,POCV分析模式把单元的最终延时表示为片上随机变化影响的一个计算函数式,POCV分析模式计算如下式。
DELAY=Delaynom+Delayvar*P
其中,Delaynom指单元正常的平均延时,Delayvar是指一倍标准差延时,P是指标准正态分布N(0,1)。
POCV分析模式的数据输入格式有两种:
1.使用与AOCV一样的查找表数据输入格式,POCV分析模式查找表格式如下:
version : 4
ocvm_type : pocv
object_type : lib_cell
rf_type : rise fall
delay_type : cell
derate_type : early
object_spec : lib28nm/invx*
coefficient : 0.05
可通过片上随机变化系数计算出实际的延时值,该片上随机变化系数的值可通过SPICE蒙特卡洛仿真得到。其系数的计算如下式。
POCV coefficient = ρ(delay variation)/μ(nominal delay)
2.在时序信息文件中通过POCV电平转换或负载查找表直接定义。
POCV电平转换或负载查找表简称LVF。传统LVF 中有对cell delay, output transiton, timing check 的ocv_sigma_* table, 这些值表示与相关NLDM表中包含的标称值的偏差,该值用1-sigma 表示。在表中用关键词 "sigma_type" 来表示是用于early path 还是late path 的分析,基于early path的格式如下。
ocv_sigma_cell_rise("delay_template_7*7"){
sigma_type : "early";
index_1("0.0088,0.0264,0.0608,0.1296");
index_2("0.0010,0.0024,0.0052,0.0108");
valus("0.000476,0.000677,0.001075,0.00187",\
"0.000651,0.000901,0.001303,0.002081",\
"0.000840,0.001166,0.001714,0.002558",\
"0.001115,0.00152,0.002193,0.003317";)
}