在我们关于 VLSI 中晶体管尺寸的系列的延续中,我们将讨论我们系列中的第三个也是一个模型,即线性延迟模型。如果您想了解线性 RC 延迟模型 和流行的Elmore 延迟模型,请务必查看之前的文章。
线性延迟模型提供了一种更简单的方法来对大型 RC 分布式电路的延迟进行建模,正如我们在上一篇文章末尾所观察到的,埃尔莫尔延迟变得复杂或不准确。
在本文中,我们将学习如何找到较大电路中晶体管/逻辑门的尺寸,以提供所需的性能。
线性延迟有什么作用?
回想一下上一篇文章,我们使用 Elmore 延迟将等效 RC 电路模型线性化为:
\[t_{pd}=(p+gh)3RC\]
其中 p = 寄生延迟。
\[h=\textit{扇出} =\frac {\textit{输入电容}}{\textit{输出电容}}\]
\[g=\textit{逻辑努力}\]
通过这个表达式,我们可以计算出多级 MOS 电路的尺寸。
什么是逻辑努力?
逻辑工作量是栅极的有效输入电容与反相器的输入电容之比。从这个意义上说,有效电容意味着输入端出现的电容。
查看下图所示的反相器,其中 PMOS 的单元尺寸是 NMOS 的两倍,以提供相等的上升/下降时间。
图 1.单元逆变器电路。所有图像均改编自 Neil HE Weste 和 David Money Harris 的CMOS VLSI 设计(第 4 版)1
\[\textit{逻辑工作} (g) = \frac {\textit{有效电容}}{\textit{逆变器的有效电容}} =\frac{3C}{3C}=1\]
对于如下所示的 3 输入 NAND 门,输入 B 处的电容器为 (3C + 2C = 5C)。
图 2. 3 输入与非门
因此,合乎逻辑的努力是
\[\textit{逻辑工作量} (g) = \frac {\textit{有效电容}}{\textit{逆变器的有效电容}} =\frac{5C}{3C}=\frac {5}{3 }\]
这与上一篇文章中推导的线性化延迟一致:
逆变器的\(t_{pd}=(1+h)3RC\)
\(t_{pd}=(5+ \frac{5}{3}h)3RC\) 对于 NAND
如果您应用相同的技术,下图所示的 3 输入或非门将给出 \(\frac {7}{3}\) 的逻辑工作量。
图 3. 3 输入或非门
这种方法可用于计算其他常见逻辑门的逻辑工作量,如下表所示。
寄生延迟可以使用前一篇文章[链接]中所述的埃尔莫尔延迟或通过仿真来计算。为了简要总结寄生延迟的影响,考虑一个 N 输入 NAND 门,下图给出了它的埃尔莫尔延迟等效值;
图 4. N 输入 NAND 门和 RC 等效电路
埃尔莫尔延迟是,
\[t_{pd}=R(3nC)+ \sum_{i=1}^{n-1}(\frac{iR}{n})(nC)=\left ( \frac{n^2}{ 2}+\frac {5}{2}n \右)RC\]
从表达式中可以看出,寄生延迟部分随着串联晶体管的数量(n)呈二次方增加,这就是为什么建议将两个较小的门级联形成一个较大的门以减少门的输入寄生延迟。在多级逻辑网络中可以进一步观察到这一点的含义,它是路径中每延迟的总和,如下图所示的多级逻辑网络所示。
图 5.多级逻辑网络
\[D=\sum{d_i} \; \;\textit{其中} \; \; d_i= g_ih_i+p_i\]
\[D=\sum{g_ih_i} + \sum{p_i}\]
\[D=\sum{g_ih_i} + P \;\; \textit{其中} \; g_ih_i = \textit{舞台努力}\]
\[F=\prod {f_i}=\prod {g_ih_i}=GH \textit{(阶段努力)}\]
路径电作用 H 是路径的输出电容与路径的输入电容的比率。
\[H = \frac {\textit{输出电容}}{\textit{输入电容}}= \prod{h_i}\]
路径努力F是每个阶段的阶段努力的乘积。由于目标是达到延迟值,因此每个阶段都将为 n 阶段关键路径贡献等量的阶段努力。要求每个阶段的阶段努力程度必须相等。因此,对于 N 级网络,级工作量很简单:
\(f_i=F^{\frac{1}{N}}\)-----阶段工作量
所以,
\[\sum{g_ih_i}=Nf_i\]
因此延迟表达式可以写为
\[d = NF^{\frac{1}{N}} +P\]
为了更好地理解这个概念如何在现实系统中应用,我们将考虑通过逆变器驱动 64 个电容单位所需的功能单元。了解逻辑工作后,我们可以确定提供延迟的级数。
图 6.不同级数反相器缓冲器的比较
请注意,逆变器的寄生延迟 \(p_i\) 为 1,因此对于 N 级逆变器链式网络,路径的总寄生延迟 P 将是每个逆变器的寄生延迟之和,即 N。
N = 1N = 2N = 3数 = 4
\[\textit{回忆},d =NF^{\frac{1}{N}}+P\]\[\textit{回忆},d =NF^{\frac{1}{N}}+P\]\[\textit{回忆},d =NF^{\frac{1}{N}}+P\]\[\textit{回忆},d =NF^{\frac{1}{N}}+P\]
\[P=\sum{p_i}=N =1\]\[P=\sum{p_i}=N =2\]\[P=\sum{p_i}=N =3\]\[P=\sum{p_i}=N =4\]
\[F=GH= \frac{64}{1} =64\]\[F=GH?? = \frac{64}{1} =64\]\[F=GH?? = \frac{64}{1} =64\]\[F=GH = \frac{64}{1} =64\]
\[f_i =64^{\frac{1}{1}}=64\]\[f_i =64^{\frac{1}{2}}=8\]\[f_i =64^{\frac{1}{3}}=4\]\[f_i =64^{\frac{1}{4}}=2.83\]
\[d=(1)64^{\frac{1}{1}}+1\]
\[d=(2)64^{\frac{1}{2}}+2\]\[d=(3)64^{\frac{1}{3}}+3\]\[d=(4)64^{\frac{1}{4}}+4\]
\[d=65\]\[d=18\]\[d=15 (\textit{})\]\[d=15.3\]
由于3级反相器设计是延迟的设计,因此我们应确定每级反相器的尺寸以获得延迟。
由于每个阶段的努力 \(f_i = 4\),因此靠近负载电容的个逆变器的大小为,
\[FI= \frac{64}{C_{in}}, CIN=\frac{64}{4}=16 \;\textit{UNIT}\]
中间逆变器推导为 \(FI= \frac{16}{C_{in}}, CIN=\frac{16}{4}=4 \;\textit{UNIT}\)
输入端个反相器的尺寸推导如下:
\[FI= \frac{4}{C_{in}}, CIN=\frac{4}{4}=1 \;\textit{UNIT}\]
每个阶段的总结如上图6所示。可以看出,单级逆变器网络提供的延迟,尽管电路的整体尺寸,但设计运行速度会非常慢。虽然三级设计将有更多的面积,但它为设计提供了的延迟量,从而使系统按照规范工作。
到目前为止,我们已经能够研究 MOS 电路中的各种延迟模型。虽然这些方法简单且相当准确,但在精度至关重要的情况下,它们不应完全替代 CAD 工具。然而,这些方法适合提供一种快速而肮脏的方法来深入了解各种电路拓扑和关键路径设计。