雷竞技注册
技术文章

使用线性延迟模型在VLSI设计中尺寸尺寸

2020年11月16日经过Tosin Jemilehin

在本文中,我们将学习如何找到较大电路中存在的晶体管/逻辑门的最佳尺寸,以使用线性延迟模型提供所需的性能。

在我们在VLSI中晶体管尺寸的晶体管展示的延续中,我们将在我们的系列中进行三个和最终模型,线性延迟模型。如果您想了解之前,请务必查看以前的文章线性RC延迟模型和流行的Elmore延迟模型

线性延迟模型提供了一种更简单的方法来模拟大型RC分布式电路的延迟,如我们在最后一篇文章结束时所观察到的那样,Elmore延迟变得复杂或不准确。

在本文中,我们将学习如何找到较大电路中存在的晶体管/逻辑门的最佳大小以提供所需的性能。

线性延迟做了什么?

召回前一篇文章,在那里我们使用Elmore延迟将等效的RC电路模型线性化为:

\ [t_ {pd} =(p + gh)3rc \]

其中p =寄生延迟。

\ [h = \ textit {faout} = \ frac {\ textit {输入电容}} {\ textit {输出电容}} \]

\ [g = \ textit {逻辑努力} \]

通过这种表达,我们可以计算多级MOS电路的最佳尺寸。

什么是逻辑努力?

逻辑工作是栅极的有效输入电容与逆变器的输入电容的比率。有效电容本文意味着输入的电容。

检查下图所示的变频器,其中PMOS是NMOS单位大小的两倍,以提供平等的上升/下降时间。

图1。单位逆变器电路。所有图像适应CMOS VLSI设计(第4版)1尼尔H.E.Weste和David Money Harris

\ [\ textit {逻辑努力}(g)= \ frac {\ textit {有效电容}} {\ textit {逆变器的有效电容}} = \ frac {3c} {3c} = 1 \]

对于下面所示的3输入NAND门,在输入B处呈现的电容是(3c + 2c = 5c)。

图2。3输入NAND门

因此,逻辑努力是

\ [\ textit {逻辑努力}(g)= \ frac {\ texit {有效电容}} {\ textit {逆变器的有效电容}} = \ frac {5c} {3c} = \ frac {5} {3} \]

这与前一篇文章中的线性化延迟一致

\(t_ {pd} =(1 + h)3rc \)用于变频器

nand的(t_ {pd} =(5+ \ frac {5} {3} h)3rc \)

下面的图中所示的3输入和门将提供\(\ FRAC {7} {3} \)的逻辑工作如果应用相同的技术。

图3。3输入或门

这种方法可用于计算其他公共逻辑门的逻辑工作,如下表所示。

表1.普通盖茨的逻辑努力

如前一篇文章[链接]中所述或通过仿真,可以使用Elmore延迟计算寄生延迟。为了简要概括寄生延迟的效果,考虑N-Input Nand门,并且IT Elmore延迟等效值在下图中给出;

图4。n输入NAND门和RC等效电路

Elmore延迟是,

\ [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是路径的输出电容与路径的输入电容的比率。

\ [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 = 1 n = 2 n = 3. n = 4.
\ [\ textit {recall},d = nf ^ {\ frac {1} {n}} + p \] \ [\ textit {recall},d = nf ^ {\ frac {1} {n}} + p \] \ [\ textit {recall},d = nf ^ {\ frac {1} {n}} + p \] \ [\ textit {recall},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 {lowest})\] \ [d = 15.3 \]

由于3级逆变器设计是具有最低延迟的最佳设计,因此我们将在每个阶段确定逆变器的尺寸以提供最佳延迟。

由于每个阶段的努力\(f_i = 4 \),那么靠近负载电容的第一个逆变器的大小为,

\ [fi = \ frac {64} {c_ {in}},cin = \ frac {64} {4} = 16 \; \ textit {单位} \]

中间逆变器衍生为\(fi = \ frac {16} {c_ {in}},cin = \ frac {16} {4} = 4 \; \ textit {单位} \)

虽然输入的第一个逆变器的大小导出为,

\ [fi = \ frac {4} {c_ {in}},cin = \ frac {4} {4} = 1 \; \ textit {单位} \]

每个阶段的摘要如上图所示。可以观察到,一级逆变器网络提供最大的延迟,甚至 - 尽管电路的整体尺寸最小,但设计将非常慢。虽然3级设计将有更多区域,但它为设计提供了最佳延迟,因此使系统根据规范工作。

到目前为止,我们已经能够研究MOS电路中的各种延迟模型。虽然这些方法简单且合理准确,但它们不应作为CAD工具的完全替代,在这种情况下的准确性至关重要。然而,这些方法适用于提供一种快速且肮脏的方法,可以在各种电路拓扑和关键路径设计中开发洞察。