互联寄生

Posted KuoGavin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了互联寄生相关的知识,希望对你有一定的参考价值。

文章目录


本章对处理和表示设计时序验证中的互联寄生的多种方法作概括。在数字设计中,将标准单元或块(block)的引脚连接在一起的线(wire)称为网络(net)。网络通常只有一个驱动,但它可以驱动多个扇出单元或块。物理实现(physical implementation)后,网络可以在芯片的多个金属层上移动,各种金属层可以具有不同的电阻和电容值(在该层上的寄生参数是等效的)。对于等效的电气表示,通常将网络划分为多个段(segment),每个段均由等效的寄生参数表示。我们也将称为互连走线(interconnect trace),也就是说,它是特定金属层上网络的一部分。



4.1 互连RLC(RLC for Interconnect)

互连电阻(R, Resistance) 来自于设计实现中的各种金属层(metal layers)和过孔(vias)。下图是一穿越各种金属层和过孔的网络示例。因此,互联电阻可认为是单元输出引脚与扇出(fanout)单元的输入引脚之间的电阻。

互连电容(C, Capacitance) 也来自金属走线,包括接地电容(grounded capacitance)以及相邻信号路径(neighboring signal route)之间的电容。

互连电感(L,Inductance) 是由于电流环路而产生的,通常,电感效应在芯片内可以忽略不计,仅在封装和板级分析中考虑。在芯片级设计中,电流环路又窄又短,这意味着电流返回路径是通过电源或地信号而紧密相连的。在大多数情况下,时序分析不考虑片上电感,片上电感分析的任何进一步描述都超出了本书的范围。接下来仅分析互连电阻和互连电容的表示方法。

理想情况下,互连走线一部分的电阻和电容(RC)用分布式(distributed)RC树表示,如下图所示。 在此图中, R C RC RC树的总电阻和总电容 R t R_t Rt C t C_t Ct分别等于 R p ∗ L R_p * L RpL C p ∗ L C_p * L CpL,其中 R p ′ R_p' Rp C p C_p Cp分别是单位长度走线的互连电阻和电容值, L L L是走线长度。 R p ′ R_p' Rp C p C_p Cp值通常是从各种配置下提取的寄生参数中获得的,并由 A S I C ASIC ASIC代工厂提供。

R t = R p ∗ L C t = C p ∗ L R_t = R_p * L \\\\ C_t = C_p * L Rt=RpLCt=CpL

R C RC RC互连可以通过各种简化模型来表示,这些将在下面的小节中进行介绍。


T模型(T-model)

在T模型表示中,总电容 C t C_t Ct建模为电阻树中间的连接。总电阻 R t R_t Rt被分为两部分(每部分均为 R t / 2 R_t/2 Rt/2),如下图所示。


π \\pi π模型(Pi-model)

π \\pi π模型如下图所示,总电容 C t C_t Ct被分为两部分(每部分 C t / 2 C_t/2 Ct/2)并且与总电阻的两端相连。

更加精确的表示方法是通过将 R t R_t Rt C t C_t Ct分为多段而获得的。对于 N N N段,每个中间部分的 R R R C C C R t / N R_t/N Rt/N C t / N C_t/N Ct/N。末端部分的建模可采用T-模型或是 π \\pi π模型。下图是分别采用上述两种模型而进行 N N N段分割的例子。

有了对RC互连建模的广泛概述,接下来描述如何在布局前阶段(通过估计)或布局后阶段(通过详细提取)利用寄生互连。下一节描述了布局前(预布局)过程中寄生互连的建模。



4.2 线负载模型(Wireload Models)

在进行布局规划(floorplanning)或布局(layout)之前,可以使用线负载模型(wireload models)来估计由互连线带来的电容、电阻以及面积开销。线负载模型可用于根据扇出数量来估计网络的长度。线负载模型取决于块(block)的面积,具有不同面积的设计可以选择不同的线负载模型。线负载模型还可以将网络的估计长度映射(map)为电阻、电容以及由于布线而产生的相应面积开销。

块内的平均走线长度与块的面积密切相关:随着块面积的增加,平均走线长度也会增加。如下图,对于不同的面积(芯片或块大小),通常将使用不同的线负载模型来确定寄生效应。因此,下图中面积小的块的电容比较小。

这里有一个线负载模型的示例:

wire_load (“wlm_conservative”) 
	resistance : 5.0;
	capacitance : 1.1;
	area : 0.05;
	slope : 0.5;
	fanout_length (1, 2.6);
	fanout_length (2, 2.9);
	fanout_length (3, 3.2);
	fanout_length (4, 3.6);
	fanout_length (5, 4.1);

resistance指的是单位长度互连线的电阻值,capacitance指的是单位长度互连线的电容值,area指的是单位互连线的面积开销。slope用于扇出-长度(fanout_length)表中未指定的数据点的外推斜率。

L e n g t h = 4.1 + ( 8 − 5 ) ∗ 0.5 = 5.6   u n i t s C a p a c i t a n c e = L e n g t h ∗ c a p _ c o e f f ( 1.1 ) = 6.16   u n i t s R e s i s t a n c e = L e n g t h ∗ r e s _ c o e f f ( 5.0 ) = 28.0   u n i t s A r e a   o v e r h e a d   d u e   t o   i n t e r c o n n e c t = L e n g t h ∗ a r e a _ c o e f f ( 0.05 ) = 0.28   a r e a   u n i t s Length = 4.1+(8-5)*0.5=5.6\\:units \\\\ Capacitance = Length*cap\\_coeff(1.1)=6.16\\:units \\\\ Resistance = Length*res\\_coeff(5.0)=28.0\\:units \\\\ Area\\:overhead\\:due\\:to\\:interconnect=Length*area\\_coeff(0.05)=0.28 \\:area\\: units Length=4.1+(85)0.5=5.6unitsCapacitance=Lengthcap_coeff(1.1)=6.16unitsResistance=Lengthres_coeff(5.0)=28.0unitsAreaoverheadduetointerconnect=Lengtharea_coeff(0.05)=0.28areaunits

单位长度,电容,电阻和面积的单位在库中指定。


4.2.1 互连树(Interconnect Trees)

一旦电阻和电容估计过后,预布局 R w i r e R_wire Rwire C w i r e ′ C_wire' Cwire便确定下来了,接下来的问题便是互连线的结构。互连RC结构相对于驱动单元该如何分布呢? 这一点很重要,因为从驱动引脚(driver pin)到负载引脚(load pin)的互连延迟取决于互连的结构。通常,互连延迟取决于沿路径的互连电阻和电容大小。因此,延迟值可能会有所不同,具体取决于给这个网络(net)假定的拓扑结构。

对于预布局估计,互连RC树可以表示为以下三种不同表示方法的一种,如下图所示。注意总的互连线长度(因此电阻和电容估计)在以下三种方法中是一样的。

  • Best-case tree:在最佳情况树中,假定负载引脚在物理上与驱动引脚相邻。因此,到负载引脚的路径中都没有互连电阻,来自其它扇出引脚的所有互连线电容和引脚电容仍然作为驱动引脚上的负载。
  • Balanced RC tree:在该场景下,假定每个负载引脚在互连线的分割部分上。每个通往负载引脚的路径上的电阻电容视作为总线电阻和电容的等比例部分。
  • Worst-case tree:在该场景下,假定所有的负载引脚都远离线,在互连线的另一端。因此每个负载引脚都具有全部的总线电阻和总线电容。

4.2.2 指定线负载模型(Specifying Wireload Models)

线负载模型可由set_wire_load_model命令来指定:

set_wire_load_model "wlm_cons" -library "lib_stdcell"
# Says to use the wireload model wlm_cons present in the
# cell library lib_stdcell.

当一个网络跨越了设计层次(hierarchical)的边界时,可以基于线负载模式(wireload mode)将不同的线负载模型应用于每个层次中网络的不同部分。这些线负载模式是:

  • i .          t o p i.\\,\\,\\,\\,\\,\\,\\,\\, top i.top
  • i i .       e n c l o s e d ii.\\,\\,\\,\\,\\, enclosed ii.enclosed
  • i i i .     s e g m e n t e d iii.\\,\\,\\, segmented iii.segmented

线负载模式可以使用set_wire_load_mode命令来指定:

set_wire_load_mode enclosed

t o p top top线负载模式下,层次结构中的所有网络都将继承顶层( t o p top top)的线负载模型,即忽略下级层级中指定的任何线负载模型。因此,顶层的线负载模型具有优先权。对于下图所示的例子,块 B 1 B1 B1中指定的wlm_cons线负载模型优先于块 B 2 B2 B2 B 3 B3 B3 B 4 B4 B4中指定的所有其它线负载模型。

e n c l o s e d enclosed enclosed线负载模式下,将完全包含网络的那个块中使用的线负载模型用于整个网络。对于下图中所示的例子,网络 N E T Q NETQ NETQ被完全包含在块 B 2 B2 B2中,因此将块 B 2 B2 B2的线负载模型wlm_light用于该网络。同理,完全包含在块 B 3 B3 B3中的网络使用wlm_aggr线负载模型,而完全包含在块 B 5 B5 B5中的网络使用wlm_typ线负载模型。

s e g m e n t e d segmented

以上是关于互联寄生的主要内容,如果未能解决你的问题,请参考以下文章

金属硬掩膜物理气相沉积系统

Python编程实现Gauss-Seidel(高斯-赛德尔)方法计算金属板内网格温度分布

Python编程实现Gauss-Seidel(高斯-赛德尔)方法计算金属板内网格温度分布

Python编程实现Gauss-Seidel(高斯-赛德尔)方法计算金属板内网格温度分布

Python编程实现Gauss-Seidel(高斯-赛德尔)方法计算金属板内网格温度分布

导线的寄生电容和寄生电感##导线的寄生电感和寄生电容##寄生电容和寄生电感怎么产生