《静态时序分析实用方法》第四章翻译

第 4 章 互连寄生(Interconnect Parasitics)

概述了用于建模和表示互连寄生的各种技术。

        本章概述了处理和表示互连寄生的各种技术,用于设计的时序验证。在数字设计中,连接标准单元和模块引脚的导线称为网络(net)。net通常只有一个驱动,而它可以驱动多个扇出单元或块。物理实现后,net可以在芯片的多个金属层上移动。不同的金属层可以有不同的电阻和电容值。对于等效电学表示,通常将net分成若干段,每个段由等效寄生参数表示。我们将互连迹线(interconnect trace)称为段的同义词,也就是说,它是特定金属层上网络的一部分。 

4.1 互连RLC(RLC for Interconnect )

        互连电阻来自设计实现中各种金属层和通孔中的互连走线。图 4-1 显示了穿过各种金属层和通孔的示例网络。因此,互连电阻可以被认为是单元的输出引脚和扇出单元的输入引脚之间的电阻。 

        互连电容的贡献也来自金属走线,包括接地电容以及相邻信号路径之间的电容。 

        电感是由电流回路引起的。通常,电感的影响在芯片内可以忽略,仅在封装和板级分析时考虑。在芯片级设计中,电流回路又窄又短——这意味着电流返回路径是通过靠近布线的电源或接地信号。在大多数情况下,时序分析不考虑片上电感。对片上电感分析的任何进一步描述超出了本书的范围。接下来描述互连电阻和电容的表示。

        一段互连走线的电阻和电容 (RC) 理想地由分布式 RC 树表示,如图 4-2 所示。在该图中,RC 树的总电阻和电容 - 分别为 Rt 和 Ct -—对应于 Rp* L 和 Cp* L,其中 Rp、Cpare 每单位长度的走线互连电阻和电容值,L 是走线长度。 Rp、Cp 值通常从提取的各种配置的寄生参数中获得,由 ASIC 代工厂提供。

         Rt= Rp* L

         Ct= Cp* L 

         RC 互连可以用各种简化模型表示。这些在下面的小节中进行了描述。 

 T -model

        在 T 模型表示中,总电容 Ct 建模为连接在电阻树的中间。总电阻 Rt 分为两部分(每部分都是 Rt/2),Ct连接在电阻树的中点,如图 4-3 所示。 

 Pi  -model

         在图 4-4 所示的 Pi 模型中,总电容 Ct 分为两部分(每部分为 Ct/2)并连接在电阻的任一侧。

         更准确的分布RC树的表示是通过将Rt和Ct分解成多个部分得到的。对于分解成的N段,R和C的每一个中间段都是Rt/ N和Ct/ N。末端段可以按照T-model或Pi-model的概念建模。图4-5为末端段采用T-model的N段,图4-6为末端段采用Pi-model的N段。

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

4.2 线载模型(Wireload Models)

         在布局规划或布局之前,线载模型可用于估计电容、电阻和互连引起的面积开销。线载模型用于根据网络的扇出数量估计网络的长度。线载模型取决于块的面积,不同面积的设计可以选择不同的线载模型。线载模型还将估计的网络长度映射到电阻、电容和相应的布线面积开销。

        块内的平均线长与块的大小密切相关;平均net长度随着块大小的增加而增加。图 4-7 显示,对于不同的区域(芯片或块大小),通常会使用不同的线载模型来确定寄生参数。因此,该图描绘了较小尺寸块的较小电容。 

         这是线载模型的示例。

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)表中未指定的数据点的外推斜率。

        线载模型说明了如何将线的长度描述为扇出的函数。上面的例子如图 4-8 所示。对于表中未明确列出的任何扇出数,互连长度是使用具有指定斜率的线性外推法获得的。例如,扇出 8 会导致以下结果:

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

互连线长度 = 4.1 + (8 - 5) * 0.5 = 5.6

电容值 = 5.6 * 1.1 = 6.16

电阻值 = 5.6 * 5 =28.0

面积开销 = 5.6 * 0.05 = 0.28

         length, capacitance, resistance 和 area的单位在liberty中指定。 

4.2.1 互连树(Interconnect Trees)

        一旦确定了预布局互连的电阻和电容估计值,比如 Rwire 和 Cwire,下一个问题就是互连的结构。互连RC结构如何相对于驱动单元定位?这很重要,因为从驱动引脚到负载引脚的互连延迟取决于互连的结构。通常,互连延迟取决于路径上的互连电阻和电容。因此,此延迟可能因网络所采用的拓扑而异。 

        对于预布局估计,互连 RC 树可以使用以下三种不同表示法之一来表示(见图 4-9)。请注意,在三种情况中的每一种情况下,总互连长度(以及电阻和电容估计值)都相同。 

  • 最佳情况树(Best-case tree):

        在最佳情况树中,假设目标(负载)引脚在物理上与驱动相邻。因此,在通向目标引脚的路径中,没有任何导线电阻。来自其他扇出引脚的所有导线电容和引脚电容仍充当驱动引脚上的负载。 

  • 平衡树( Balanced tree):

        在这种情况下,假设每个目标引脚都位于互连线的单独部分。到目的地的每条路径都会看到总导线电阻和电容的相等部分。

  • 最坏情况树(Worst-case tree):

        在这种情况下,假设所有目标引脚都位于线路的远端。因此,每个目标引脚都会看到总导线电阻和总导线电容。 

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

         使用以下命令指定线载模型:

set_wire_load_model “wlm_cons” -library “lib_stdcell”
# 以上命令表示使用单元库lib_stdcell中的线负载模型wlm_cons

        当网络跨越层次边界时,可以根据线载模式将不同的线载模型应用于每个层次边界中网络的不同部分。这些线载模式是: 

  • top
  • enclosed
  • segmented

        可以使用 set_wire_load_mode 规范指定线载模式,如下所示。 

set_wire_load_mode enclosed

        在top线载模式下,层次结构内的所有网络都继承顶层的线载模型,即忽略低层模块中指定的任何线载模型。因此,顶级线载模型优先。对于图 4-10 所示的示例,块 B1 中指定的 wlm_cons 线载模型优先于块 B2、B3 和 B4 中指定的所有其他线载模型。

        在enclosed线载模式下,完全包围网络的块的线载模型用于整个网络。对于图 4-11 所示的示例,网络 NETQ 包含在块 B2 中,因此块 B2 的线载模型 wlm_light 用于该网络。完全包含在块 B3 中的其他网络使用 wlm_aggr 线载模型,而完全包含在块 B5 中的网络使用 wlm_typ 线载模型。

        在segmented线负载模式下,网络的每段(segment)都从包含该段的块中获取其线负载模型,网络的每个部分都在该层次内使用适当的线负载模型。图4-12举例说明了一个网络NETQ,它的三段分别在三个块中。B3块中此网络的扇出互连使用wlm_aggr线负载模型,B4块中使用wlm_typ线负载模型,B2块中使用wlm_light线负载模型。 

        通常,根据模块的芯片面积选择线载模型。但是,这些可以根据用户的判断进行修改或更改。例如,可以为 0 到 400 之间的块区域选择线载模型 wlm_aggr,为 400 到 1000 之间的区域选择线载模型 wlm_typ,以及为 1000 或更高的区域选择线载模型 wlm_cons。线载模型通常在单元库中定义 - 但是用户也可以定义自定义线载模型。可以选择在单元库中将默认线载模型指定为: 

default_wire_load: "wlm_light";

         在单元库中定义了基于面积选择线载模型的线载选择组。这是一个这样的例子:

wire_load_selection (WireAreaSelGrp){
wire_load_from_area(0, 50000, "wlm_light");
wire_load_from_area(50000, 100000, "wlm_cons");
wire_load_from_area(100000, 200000, "wlm_typ");
wire_load_from_area(200000, 500000, "wlm_aggr");
}

        一个单元库可以包含许多这样的选择组。通过使用 set_wire_load_selection_group 规范,可以选择特定的一个用于 STA。 

set_wire_load_selection_group WireAreaSelGrp

        本节描述了在物理实现之前,即在预布局阶段期间对估计寄生参数的建模。下一节描述了从布局中提取的寄生参数的表示。 

4.3 提取寄生参数的表示(Representation of Extracted Parasitics)

         从布局中提取的寄生参数可以用三种格式描述:

  • 详尽寄生参数格式 :Detailed Standard Parasitic Format(DSPF)
  • 精简寄生参数格式 :Reduced Standard Parasitic Format(RSPF)
  • 标准寄生参数格式 :Standard Parasitic Extraction Format(SPEF)

        一些工具提供了寄生生物的专有二进制表示,如SBPF;这有助于保持较小的文件大小,并加快工具对寄生生物的读取。下面简要介绍上述三种格式。

4.3.1 详细标准寄生格式(Detailed Standard Parasitic Format)

 电路模拟器可读的格式,如SPICE。更多信息,请参阅[NAG75]或任何关于模拟集成电路设计或模拟的书籍

         使用DSPF格式时,详尽的寄生参数以SPICE格式表示。SPICE中的Comment语句用于表明单元类型、单元引脚及其电容。电阻和电容值采用标准SPICE语法,并且单元实例也包含在此表示格式中。这种格式的优势在于,DSPF文件可以用作SPICE仿真器本身的输入。但是,缺点是DSPF语法过于详细和冗长,导致模块的总文件大小非常大。因此,这种格式在实际中仅用于相对较小的一组网络。

        这里是一个示例DSPF文件,它描述了从主输入IN到缓冲器BUF的输入引脚a的互连,以及从BUF的输出引脚OUT到主输出引脚OUT的另一个网络。 

.SUBCKT TEST_EXAMPLE OUT IN
* Net Section
*|GROUND_NET VSS
*|NET IN 4.9E-02PF
*|P (IN I 0.0 0.0 4.1)
*|I (BUF1:A BUF A I 0.0 0.7 4.3)
C1 IN VSS 2.3E-02PF
C2 BUF1:A VSS 2.6E-02PF
R1 IN BUF1:A 4.8E00
*|NET OUT 4.47E-02PF
*|S (OUT:1 8.3 0.7)
*|P (OUT O 0.0 8.3 0.0)
*|I (BUF1:OUT BUF1 OUT O 0.0 4.9 0.7)
C3 BUF1:OUT VSS 3.5E-02PF
C4 OUT:1 VSS 4.9E-03PF
C5 OUT VSS 4.8E-03PF
R2 BUF1:OUT OUT:1 12.1E00
R3 OUT:1 OUT 8.3E00
*Instance Section
X1 BUF1:A BUF1:OUT BUF
.ENDS

        DSPF中的非标准SPICE语句是以 * |开头,并具有以下格式: 

*|I(InstancePinName InstanceName PinName PinType PinCap X Y)
*|P(PinName PinType PinCap X Y)
*|NET NetName NetCap
*|S(SubNodeName X Y)
*|GROUND_NET NetName

4.3.2 精简标准寄生格式(Reduced Standard Parasitic Format)

         在RSPF表示中,寄生以简化形式表示。简化格式包括电压源和受控电流源。RSPF格式也是SPICE文件,因为它可以读入类似SPICE的模拟器。RSPF格式要求减少详细的寄生并映射到减少的格式中。因此,这是RSPF表示的一个缺点,因为寄生提取过程的重点通常是提取精度,而不是简化为类似RSPF的紧凑格式。RSPF表示的另一个限制是双向信号流不能用这种格式表示。

        下面是一个RSPF文件的示例。原始设计和等效表示如图4-13所示。

* Design Name : TEST1
* Date : 7 September 2002
* Time : 02:00:00
* Resistance Units : 1 ohms
* Capacitance Units : 1 pico farads
*| RSPF 1.0
*| DELIMITER "_"
.SUBCKT TEST1 OUT IN
*| GROUND_NET VSS
*|NET CP 0.075PF
*|DRIVER CKBUF_Z CKBUF Z
*|S (CKBUF_Z_OUTP 0.0 0.0)
R1 CKBUF_Z CKBUF_Z_OUTP 8.85
C1 CKBUF_Z_OUTP VSS 0.05PF
C2 CKBUF_Z VSS 0.025PF
*|LOAD SDFF1_CP SDFF1 CP
*|S (SDFF1_CP_INP 0.0 0.0)
E1 SDFF1_CP_INP VSS CKBUF_Z VSS 1.0
R2 SDFF1_CP_INP SDFF1_CP 52.0
C3 SDFF1_CP VSS 0.1PF
*|LOAD SDFF2_CP SDFF2 CP
*|S (SDFF2_CP_INP 0.0 0.0)
E2 SDFF2_CP_INP VSS CKBUF_Z VSS 1.0
R3 SDFF2_CP_INP SDFF2_CP 43.5
C4 SDFF2_CP VSS 0.1PF
*Instance Section
X1 SDFF1_Q SDFF1_QN SDFF1_D SDFF1_CP SDFF1_CD VDD VSS SDFF
X2 SDFF2_Q SDFF2_QN SDFF2_D SDFF2_CP SDFF2_CD VDD VSS SDFF
X3 CKBUF_Z CKBUF_A VDD VSS CKBUF
.ENDS
.END

         此文件具有以下功能:

  • 在每个扇出单元的输入引脚上都使用0.1pF的电容(C3和C4)和电阻(R2和R3)对引脚到引脚(pin-to-pin)的互连延迟进行建模,电阻值的选取原则是使RC延迟对应于引脚到引脚的互连延迟。驱动单元输出引脚上的π型负载模拟了通过该单元的延迟。
  • 输入端的RC元件由理想电压源(E1和E2)驱动,该电压源等于驱动单元输出端的电压。

4.3.3 标准寄生交换格式(Standard Parasitic Extraction Format)

        SPEF 是一种紧凑的格式,可以表示详细的寄生参数。下面显示了具有两个扇出的网络示例。

*D_NET NET_27 0.77181
*CONN
*I *8:Q O *L 0 *D CELL1
*I *10:I I *L 12.3
*CAP
1 *9:0 0.00372945
2 *9:1 0.0206066
3 *9:2 0.035503
4 *9:3 0.0186259
5 *9:4 0.0117878
6 *9:5 0.0189788
7 *9:6 0.0194256
8 *9:7 0.0122347
9 *9:8 0.00972101
10 *9:9 0.298681
11 *9:10 0.305738
12 *9:11 0.0167775
*RES
1 *9:0 *9:1 0.0327394
2 *9:1 *9:2 0.116926
3 *9:2 *9:3 0.119265
4 *9:4 *9:5 0.0122066
5 *9:5 *9:6 0.0122066
6 *9:6 *9:7 0.0122066
7 *9:8 *9:9 0.142205
8 *9:9 *9:10 3.85904
9 *9:10 *9:11 0.142205
10 *9:12 *9:2 1.33151
11 *9:13 *9:6 1.33151
12 *9:1 *9:9 1.33151
13 *9:5 *9:10 1.33151
14 *9:12 *8:Q 0
15 *9:13 *10:I 0
*END

        寄生参数 R 和 C 的单位在 SPEF 文件的开头指定。附录 C 中提供了对 SPEF 的更详细描述。 由于其表示的紧凑性和完整性,SPEF 是表示设计中寄生效应的首选格式。 

4.4 表示耦合电容(Representing Coupling Capacitances)

         上一节说明了将网络电容表示为接地电容(grounded capacitances)的情况。由于纳米技术中的大多数电容是侧壁电容(sidewall capacitances),这些电容的正确表示是信号到信号耦合电容(coupling capacitance)。

        DSPF 中耦合电容的表示是原始 DSPF 标准的附加内容,因此不是唯一的。耦合电容在两组耦合网络之间复制。这意味着 DSPF 不能直接读入 SPICE,因为两组网络中的耦合电容是重复的。一些输出 DSPF 的工具通过在两个耦合网络中包含一半的耦合电容来解决这种差异。 

        RSPF 是简化的表示,因此不适合表示耦合电容。 

        SPEF 标准以统一和明确的方式处理耦合电容,因此是当对串扰时序感兴趣时选择的提取格式。此外,SPEF 是文件大小方面的紧凑表示,用于表示有和没有耦合的寄生效应。

        如附录 C 中所述,管理文件大小的机制之一是在文件开头设置名称目录。许多提取工具现在在 SPEF 文件的开头指定一个网络名称目录(将网络名称映射到索引),以避免重复网络名称的冗长。这显着减小了文件大小。 SPEF 的附录中显示了名称为目录的示例。

4.5 分层方法(Hierarchical Methodology)

         大型复杂设计在物理设计过程中通常需要分层方法来进行寄生提取和时序验证。在这种情况下,块的寄生参数在块级别被提取,然后可以在更高层次的层次结构中使用。

        一个块的布局提取寄生参数可用于与布局尚未完成的另一个块的时序验证。在这种情况下,布局完整块的布局提取寄生参数通常与基于线载模型的pre-layout块的估计寄生参数一起使用。

        在分层流的情况下,顶级布局已完成但块仍表示为黑盒(pre-layou),基于线载模型的寄生参数估计可用于较低级别的块以及布局提取的寄生参数最高水平。块的布局完成后,可以将顶部的布局提取寄生参数和块缝合在一起。 

在布局中复制块(Block Replicated in Layout)

         如果一个设计块在布局中被多次复制,则一个实例的寄生提取可以用于所有实例。这要求对于块的各种实例化,块的布局在所有方面都相同。例如,从块内布线的网络来看,布局环境应该没有区别。这意味着块级网络不与块外的任何网络电容耦合。实现这一点的一种方法是确保没有顶层网络在块上布线,并且在块边界附近布线的网络有足够的屏蔽或间距。

4.6 减少关键网络寄生效应(Reducing Parasitics for Critical Nets)

         本节简要概述了管理关键网络寄生效应影响的常用技术。

降低互连电阻(Reducing Interconnect Resistance)

         对于关键网络,保持低转换值(或快速转换时间)很重要,这意味着应降低互连电阻。通常,有两种方法可以实现低电阻:

  • 宽走线(Wide trace):走线比最小宽度更宽可降低互连电阻,而不会导致寄生电容显着增加。因此,减少了总的 RC 互连延迟和转换时间。
  • 上层(较厚)金属布线(Routing in upper (thicker) metals):上层金属层通常具有低电阻率,可用于布线关键信号。低互连电阻减少了互连延迟以及目标引脚的转换时间。

增加线距(Increasing Wire Spacing)

         增加走线之间的间距会降低网络的耦合电容和总电容。大耦合电容会增加串扰,避免串扰是在相邻走线中长距离布线的网络的重要考虑因素。

相关网络的寄生参数(Parasitics for Correlated Nets)

         在很多情况下,一组网络必须在时序上匹配。一个例子是高速 DDR 接口的字节通道内的数据信号。由于字节通道内的所有信号看到相同的寄生信号很重要,因此所有信号都在同一金属层中布线。例如,虽然金属层 M2 和 M3 具有相同的平均值和相同的统计变化,但这些变化是独立的,因此这两个金属层中的寄生变化不会相互跟踪。因此,如果关键信号的时序匹配很重要,那么每个金属层的布线必须相同。

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值