timing derate
片上误差(OCV, on chip variation),指的是在工艺相同的前提下,芯片上两个完全相同的单元由于在芯片上的位置不同,即使在相同的输入信号和相同的负载的条件下,它们的实际的时序延时有所不同。由于片上误差会对设计中的时序产生直接的负面影响,这就使得片上误差的存在成为时序检查中的重要的工作,因此必须在时序分析及设计中考虑到片上误差造成的影响[24]。
在考虑片上误差时,它对设计中的时钟树的路径延时偏差和数据路径的时序延时应考虑其更严格的要求,即考虑其芯片上的时序最为悲观的情况,如果最悲观的情况满足设计中的时序要求,那么就会满足由于片上误差存在造成影响的时序要求,即采用悲观的思维去计算时序信息。工具可以通过指定的因素模拟不同操作条件的影响来调整最小延迟和最大延迟。计算延迟的这种调整称为降级。降级的数值大小成为降额因子(derating),用于影响设计的延迟和松弛值[25]。
如图所示为寄存器到寄存器的基本的时序路径。其中 launch path 和capture path具有相同的时钟源,采用悲观的计算方式去分析时序,我们需要分为setup 和 hold两种情况考虑计算片上误差。
计算 setup的时序时,第一级寄存器输出的数据经过组合逻辑网络到达第二级寄存器的输入端的时刻相对于第二级寄存器的时钟端的时钟采集信号(第二个时钟周期)要提前至少大于等于时序单元库中所定义的setup的时间,使得setup的 slack大于等于零,才能保证在该条时序路径中不会出现建立时间的违例。
考虑到片上误差的存在,将数据路径和时钟路径在计算时序的时候分别悲观化计算,
在时序路径延时变化的可能性上分别增加额外的预算,即将数据路径的延时乘以一个大于1 的降额因子的数值,而在时钟路径上将延时乘以小于1 的降额因子数值,这样就会使得数据路径的数据更慢到达后一级寄存器的输入端,使得 setup的余量变小,造成 setup 的时序更严格。
同理,在计算 hold的时序时,
将数据路径的延时乘以小于 1的降额因子数值,
而在时钟路径上乘以大于 1的降额因子数值,
使得数据路径的数据更早更快的到达第二级寄存器的输入端,这样就使得hold 的 slack变小, hold的时序更严格。
但是,需要注意的是,数据路径和时钟路径包含公共的路径,即U1 和 U2 两个缓冲器buffer,在分别计算建立和保持时间时序的时候,在数据路径和时钟路径上分别将公共路径的延时通过不同的降额因子计算两次,但由于公共路径的延时是客观固定的,即在数据路径和时钟路径上的延时是相同的, 两次计算的结果使得公共路径上的时序误差增大,因此时序分析过于悲观,这种现象称为悲观时钟收敛。因此在分析时序时解决这种现象采用“共同路径悲观去除”CRPR(common reconvergence pessimism removal)的方法,即将两次计算公共路径的延时的悲观计算数值减去,从而消除这种情况
在芯片的制造工艺中,器件从栅极到栅极片上误差的随机变化倾向于彼此抵消,因此,采用 OCV 和 CRPR的计算方法,仍会使得时序计算的结果偏向悲观。在 28nm 工艺的数字电路设计中, 提出并使用了高级片上误差(AOCV,advanced
on-chip variation) 的计算方法。高级片上误差的计算方法是对 OCV精确度的改
善,它基于所分析的时序路径长度和物理距离跨度不同路径来确定降额因子,在
较长的时序路径(具有更多的门)或覆盖更大的物理距离时计算时序时误差更小。
因此, AOCV 适用在较短的时序路径中采用较高的降额值和较长的时序路径采用
较低的降额值。
与传统的片上误差分析方法进行对比, 高级片上误差分析方法可以根据不同的时序路径情况采用不同的降额值,使其计算结果更接近实际值,提高了时序报告和设计优化的精度。
3.2.2 新的时序计算算法
在以上阐述了时序路径中的延迟算法,在考虑片上误差时,它对设计中的时钟树的路径延时偏差和数据路径的时序延时提出了更严格的要求,即考虑其芯片上的时序最为悲观的情况,如果最悲观的情况满足设计中的时序要求,那么就会满足由于片上误差存在造成影响的时序要求,即采用悲观的思维去计算时序信息。利用 OCV 的方法计算的时候,但引入的计算结果过于悲观,因此,将两次计算公共路径的延时的悲观计算数值减去,从而消除这种情况。
本文提出了另一种考虑片上误差影响的时序计算方法。如图所示, clk为时钟源, clk1和clk2 分别为寄存器 FF1 和 FF2的时钟端,clk 到达 FF1和FF2的时钟偏差为 skew。 U1和U2 处于 FF1和FF2 时钟路径的公共路径上,在公路径上不会影响 clcok skew值的大小。A点为两条时钟路径的分叉点,由此可见,时钟信号从 A 点分别到达 clk1 和 clk2的差值就是时间偏差skew
传统的 AOCV 算法的路径延迟以时钟源 Clk 端为起点,数据路径的延迟从lk 到FF2 的D2 端进行计算,考虑到片上误差的影响,数据路径的延迟会乘以降额因子。时钟路径的延迟从时钟源 Clk 端到Clk2 端计算,时钟延迟也会乘以降额因子。公共路径上的延迟被计算两次,为了减小误差减去公共路径上的延迟,从而得到由分叉点到寄存器的 D端和 Clk 端的延迟。因此, 可以改进时序算法
从时钟路径和数据路径的分叉点开始计算时序延迟。在计算时序路径中,将 A 点看成相对时钟源信号, 数据路径为 A 点到 FF2寄存器的 D2 端,时钟路径为A点到 Clk2端,同时考虑到 AOCV 的影响, 数据路径和时钟路径分别乘以降额因子得到时序结果。这样计算的结果,不用考虑在共同路径上的过于悲观的计算误差
浙公网安备 33010602011771号