IR Drop的学习

IR Drop 的定义:指在集成电路中电源和地网络上电压下降和升高的一种现象。

随着半导体工艺的不断演进,金属互连线的宽度越来越窄,导致电阻值不断变大(供电电压越来越小),IR Drop的效应越来越明显。

芯片都把IR drop的分析作为芯片signoff的一个必要步骤。

Signoff 的定义:签发,指将设计数据交给芯片制造厂商生产之前,对设计数据进行复检,确认设计数据达到交付标准,这些检查和确认统称为signoff。

 IR Drop的学习_第1张图片

使用Redhawk:

IR drop 分类:

  • Static IR Drop:主要是电源网络的金属连线的分压

IR Drop的学习_第2张图片

IR Drop的学习_第3张图片

  • Dynamic Voltage Drop :电源在电路开关切换时电流波形引起的电压压降。这种现象产生在时钟的触发沿,时钟沿跳变不仅带来自身的大量晶体管开关,同事带来组合逻辑电路的跳变,往往在短时间内在整个芯片上产生大量的电流,这个瞬间的大电流引起了IR Drop现象。同时开关的晶体管数量越多,越容易触发动态IR Drop现象。

IR Drop的学习_第4张图片

 IR Drop的学习_第5张图片

 下面对Input files 进行介绍:

ploc文件:(pad文件),其中包含design中所有的供电点信息。power pad/center pad的instance name、坐标位置、layer层、power net信息。

lef文件:Std cell,IP,Memory,io,bond pad,子模块的lef。除了子模块的lef外,其他fab厂都会提供对应的文件。子模块的lef可以由Milkyway来生成。这里需要注意的是tech lef必须写在lef list中的第一个。

lib文件:指design中所用到的standard cell,memory,ip,io等子模块的lib文件,这些文件fab厂或者Vendor均有提供。

tech文件:是指Apache的tech文件,这个文件一般可以通过ircx2tech来产生。

Timing文件:可以通过STA中的PT session来产生对应的Timing文件。

VCD(Value Change Dump)文件:一般由数字前端工程师提供。VCD文件是IEEE1364标准(Verilog HDL语言标准)中定义的一种ASCII文件。它主要包含了头信息,变量的预定义和变量值的变化信息。正是因为它包含了信号的变化信息,就相当于记录了整个仿真的信息,我们可以用这个文件来再现仿真,也就能够显示波形。因为VCD是 Verilog HDL语言标准的一部分,因此所有的verilog的仿真器都要能够实现这个功能,也要允许用户在verilog代码中通过系统函数来dump VCD文件。我们可以通过Verilog HDL的系统函数$dumpfile 来生成波形,通过$dumpvars的参数来规定我们抽取仿真中某些特定模块和信号的数据。因为VCD记录了信号的完整变化信息,我们还可以通过VCD文件来估计设计的功耗,而这一点也是其他波形文件所不具备的。

PrimeTime PX (Prime Power,这个工具其实是功耗分析的Signoff工具)都可以通过输入网表文件,带功耗信息的库文件以及仿真后产生的VCD文件来实现功耗分析。

由于静态IR Drop分析是基于power平均分布在每个instance上,因此我们在分析IR Drop前还需要给design中各个子模块指定一个预估的功耗值。这个功耗值的确定需要根据以往的项目经验或者实测功耗值,额外再添加点margin。这个功耗值如果设置不合理,分析出来的结果也是不具备参考价值的。另外,还需要设置合理的toggle rate值。

动态 IR Drop : 1)基于Vectless;2)基于VCD的动态IR Drop分析,可以不指定各个子模块的功耗值,工具可以从VCD中获取对应的power值,如果没有对应的功耗值,则采用用户设置的值。VCD中的信息,告诉工具那些cell在什么时候会翻转。

IR Drop的影响:

性能下降电压降低后,gate的开关速度变慢,性能降低。因此,对于高性能的设计,必须将IR Drop控制在很小的范围内。芯片功能错误在极端的情况下功能也会受影响的。在深亚微米下,如果power network做的不够好,然后碰上了很不好的case,IR drop在某个局部区域特别大(特别是动态IR drop),从而导致STA阶段signoff的timing 与实际情况不一致(考虑OCV仍然无法cover design的要求),导致setup或者hold的违例。setup的违例,可以通过抬高电压来提升频率,但是代价是功耗上去了,而且如果动态IR drop不够robust,可能通过抬电压,setup能提升的空间也有限。而一旦出现hold违例,那芯片就无法正常工作。因此在先进工艺中,IR drop的影响特别大,需要引起各位的高度重视。

改善IR drop的方法:

  • 提高power mesh密度(电阻小,静态IR drop小)
  • 增加power switch cell数量
  • 插足够多的decap cell(含decoupling capacitance)
  • 将同时翻转的寄存器摊开些摆放
  • 使用useful skew的方法,错开寄存器翻转的时间窗口

你可能感兴趣的:(数字后端,fpga开发,dsp开发,pcb工艺)