
使用线性延迟模型确定 VLSI 设计中的晶体管尺寸
2024-12-02 09:41:17
晨欣小编
线性延迟模型
线性延迟模型为我们提供了一种更简洁的方式来对大型 RC 分布式电路的延迟进行建模。正如我们在上一篇文章的结尾所提到的,埃尔莫尔延迟变得复杂且可能不够准确。在本文中,我们将探讨如何根据所需性能来确定大规模电路中晶体管或逻辑门的尺寸。
线性延迟的作用
回顾上一篇文章,我们使用 Elmore 延迟将等效 RC 电路模型线性化为:
tpd=(p+gh)3RC
其中,p 代表寄生延迟。
h=扇出=输出电容输入电容g=逻辑努力
通过此表达式,我们可以计算出多级 MOS 电路的尺寸。
什么是逻辑努力?
逻辑努力是栅极的有效输入电容与反相器的输入电容之比。在这个意义上,"有效电容"是指输入端实际出现的电容。
查看下图所示的反相器,假设 PMOS 的尺寸是 NMOS 的两倍,以保证相等的上升/下降时间。
**图1. 单元逆变器电路。**所有图像改编自 Neil HE Weste 和 David Money Harris 的《CMOS VLSI设计(第4版)》。
逻辑努力(g)=逆变器的有效电容有效电容=3C3C=1
对于下图所示的 3 输入 NAND 门,输入 B 处的电容器为3C+2C=5C。
图2. 3 输入与非门
因此,逻辑工作量为:
逻辑努力(g)=逆变器的有效电容有效电容=3C5C=35
这与上一篇文章中推导的线性化延迟一致:
逆变器的延迟:
tpd=(1+h)3RC
对于 NAND 门:
tpd=(5+35h)3RC
如果应用相同的技术,下面图示的 3 输入或非门会得到37 的逻辑工作量。
图3. 3 输入或非门
这种方法可以用于计算其他常见逻辑门的逻辑工作量,如下表所示。
寄生延迟的影响
寄生延迟可以通过前一篇文章中所述的 Elmore 延迟模型来计算,或者通过仿真得出。为了简要总结寄生延迟的影响,我们考虑一个 N 输入 NAND 门。下图给出了其 Elmore 延迟的等效电路。
图4. N 输入 NAND 门和 RC 等效电路
Elmore 延迟的公式为:
tpd=R(3nC)+i=1∑n−1(niR)(nC)=(2n2+25n)RC
从表达式中可以看出,寄生延迟部分随着串联晶体管数量n 的增加呈二次增长。因此,建议将两个较小的门级联形成一个较大的门,从而减少门的输入寄生延迟。在多级逻辑网络中,这一现象尤为明显,正如下图所示的多级逻辑网络所示。
图5. 多级逻辑网络
D=∑di其中di=gihi+piD=∑gihi+∑piD=∑gihi+P其中gihi=阶段努力
路径电容H 是路径的输出电容与输入电容的比率:
H=输入电容输出电容=∏hi
路径努力F 是每个阶段的努力的乘积。由于目标是最小化延迟,因此每个阶段的努力应当尽可能相等。因此,对于 N 级网络,阶段工作量计算为:
fi=FN1阶段工作量
因此:
∑gihi=Nfi
最终,延迟表达式可以表示为:
d=NFN1+P
实际应用:逆变器缓冲器的设计
为了更好地理解这一概念在实际系统中的应用,假设我们需要通过逆变器驱动 64 个电容单位。在了解逻辑工作量后,我们可以确定所需的级数。
图6. 不同级数反相器缓冲器的比较
请注意,逆变器的寄生延迟pi 为 1。因此,对于 N 级逆变器链,路径的总寄生延迟P 将是每个逆变器的寄生延迟之和,即P=N。
回忆d=NFN1+P
举例来说,当N=1,2,3,4 时,计算出的寄生延迟分别为:
P=∑pi=1,2,3,4
假设路径努力F=GH=64,得到每个阶段的工作量:
fi=FN1=⎩⎨⎧6411=64,6421=8,6431=4,6441=2.83,N=1N=2N=3N=4
最终的延迟计算如下:
d=(1)6411+1=65d=(2)6421+2=18d=(3)6431+3=15d=(4)6441+4=15.3
在这四种情况下,最优的延迟设计是 3 级反相器设计,延迟最小。因此,我们需要确定每级反相器的尺寸,以达到理想的延迟。
由于每个阶段的工作量fi=4,我们可以推导出每个反相器的尺寸。靠近负载电容的逆变器的尺寸为:
FI=Cin64,Cin=464=16UNIT
中间逆变器的尺寸为:
FI=Cin16,Cin=416=4UNIT
输入端的逆变器尺寸推导为:
FI=Cin4,Cin=44=1UNIT
如图6所示,每个阶段的总结图表显示,尽管单级逆变器网络的整体尺寸较大,但其运行速度较慢。相比之下,三级设计虽然占据更多的面积,但可以显著降低延迟,使系统能够按照规范工作。
总结
通过分析各种延迟模型,我们能够理解 VLSI 电路设计中延迟的关键因素。虽然这些方法提供了简单而准确的结果,但在精度要求极高的场合,仍建议使用 CAD 工具进行更精细的设计。然而,这些模型为我们理解延迟提供了基本框架。