超大规模集成电路设计----CMOS组合逻辑门(六)

本文仅供学习,不作任何商业用途,严禁转载。绝大部分资料来自----数字集成电路——电路、系统与设计(第二版)及中国科学院段成华教授PPT

超大规模集成电路设计----CMOS组合逻辑门(六)

  • 6.1 静态CMOS设计
    • 6.1.1 互补CMOS
      • 6.1.1.1 互补CMOS的静态特性
      • 6.1.1.2 互补CMOS门的传播延时
      • 6.1.1.3 确定互补CMOS门中晶体管尺寸
      • 6.1.1.4 扇入与传播延时
      • 6.1.1.5 降低大扇入电路的延时
        • 改变晶体管尺寸
        • 逐级加大晶体管尺寸
        • 重新安排输入
        • 重组逻辑结构
      • 6.1.1.6 组合电路的性能优化
        • 确定组合逻辑延时最小时的尺寸
        • 最小延时组合逻辑块例题
      • 6.1.1.7 CMOS逻辑门中的功耗
        • 如何改善CMOS逻辑门的功耗
          • 1. 逻辑重组
          • 2. 输入排序
          • 3. 分时复用资源
          • 4.均衡信号路径减少毛刺
    • 6.1.2 有比逻辑
      • 基本概念
      • 6.1.2.1 如何消除静态功耗及扩展摆幅至电源轨
    • 6.1.3 传输管逻辑Pass-Transistor Logic
      • 6.1.3.1基本概念
      • 6.1.3.2差分传输管逻辑
      • 6.1.3.3稳定有效的传输管设计
        • 电平恢复
        • 摆幅恢复传输管逻辑Swing-restored pass transistor logic
        • 多阈值晶体管
        • 传输门逻辑
          • 传输门链的延时(重点)
  • 6.2 动态CMOS设计
    • 6.2.1 基本原理
      • 优点:
      • 缺点:
    • 6.2.2 动态逻辑门的信号完整性问题
      • 电荷泄露
      • 电荷分享
      • 电容耦合
      • 时钟馈通
    • 6.2.3 串联动态门
      • 多米诺逻辑
      • 解决多米诺逻辑的非反问题
        • 方法一
        • 方法二(普适)
        • 方法三
  • 补充:分支努力的计算

为什么要学习这一章:组合电路是进行逻辑计算的基础,在CMOS反相器的基础上探讨组合电路的种种特性是有必要的。标黄部分属于必须掌握的部分,黑体部分表示强调部分,有助于理解,对于普通字体部分,时间紧急的浏览者可以选择忽略,对于初学者,建议博文每部分都需要连贯阅读。

6.1 静态CMOS设计

6.1.1 互补CMOS

在这里插入图片描述
上面这就是互补CMOS逻辑,必须要有PDN和PUN。

在这里插入图片描述
NMOS是强0器件,PMOS是强1器件,NMOS传递1需要下降一个阈值电压,PMOS传递0需要增加一个阈值电压

在这里插入图片描述
==NMOS管串联表示与逻辑,并联表示或逻辑,所以对于NMOS管有串与并或,相应PMOS串或并与,但是要注意互补CMOS逻辑输出都是带非的。==比如下面这张图,NMOS是串联的,但是表示的是与非门。
在这里插入图片描述
下图表示的是这个逻辑表达式, F = D + A ⋅ ( B + C ) ‾ F=\overline{{D+A\cdot(B+C)}} F=D+A(B+C)
在这里插入图片描述

6.1.1.1 互补CMOS的静态特性

在这里插入图片描述
对于不同的输入其VTC曲线是不一样的,A=B=0时有两个上拉器件,所以VTC曲线偏右。

6.1.1.2 互补CMOS门的传播延时

在这里插入图片描述
假如不考虑内部电容,输入数据不同导致电阻不同导致传播延时不同。
A = 0 , B = 0 : t P L H = 0.69 ⋅ ( R p / 2 ) ⋅ C L \begin{aligned}A{=}&0,B=0{:}\\&t_{PLH}=0.69{\cdot}(R_{p}/2){\cdot}C_{L}\end{aligned} A=0,B=0:tPLH=0.69(Rp/2)CL
A = 1 , B = 0   o r   A = 0 , B = 1 : t P L H = 0.69 ⋅ R p ⋅ C L . \begin{aligned}A=1,B=0&\mathrm{~or~}A=0,B=1:\\t_{PLH}&=0.69\cdot R_p\cdot C_L.\end{aligned} A=1,B=0tPLH or A=0,B=1:=0.69RpCL.
A = 1 , B = 1 : t P H L = 0.69 ⋅ ( 2 R N ) ⋅ C L \begin{aligned}A=1,B=1&:\\t_{PHL}&=0.69\cdot(2R_{N})\cdot C_{L}\end{aligned} A=1,B=1tPHL:=0.69(2RN)CL

即使我们考虑了内部电容,可以想到传播延时仍然受到输入数据的控制。

6.1.1.3 确定互补CMOS门中晶体管尺寸

如何让这个与非门有着和最小的反相器同样的上拉和下拉时间。 即要求PDN和PUN都具有和最小反相器同样大小的等效导通电阻。最小反相器的大小是给定的(在考试里面就是出题人给定的,在实际中就是公式或者用户给定的。

在这里插入图片描述

在与非门的讨论里面我们假设最小反相器NMOS: W/L=1:1 PMOS: W/L=2:1。那么与非门的宽长比设计就如上图所示,PMOS是2:1,NMOS也是2:1。

确定或非门同理,想要延时和反相器一致,就得保证这个组合逻辑门与反相器电阻一致。

6.1.1.4 扇入与传播延时

我们知道输出由高变低是所有的NMOS都工作,NMOS的电容和电阻也都加在延时里面了,而输出由低变高是所有的PMOS管都往上拉,上拉的PMOS管越多,上拉电阻越小,所以我们会发现上图随着Fan-in的增加,变化剧烈的是tpHL,因为扇入越大,NMOS数量就越多,高变低延时就会增加!所以我们一般不设计4个输入口以上的门电路。
在这里插入图片描述
同时高变低延时是扇入的二次方函数关系,具体方程为 t p H L = 0.69 R N ( ( 1 + N ) N 2 C ) t_{pHL}=0.69R_{N}(\frac{(1+N)N}2C) tpHL=0.69RN(2(1+N)NC)

6.1.1.5 降低大扇入电路的延时

改变晶体管尺寸

加大晶体管尺寸,但是如果负载电容主要是intrinsic电容,即门本身的电容,则我们不应该再增大门了,这样即使减小了电阻也会增大电容.只有当负载以扇出为主时增大尺寸才有用.

逐级加大晶体管尺寸

t p H L = 0.69 ( R 1 ⋅ C 1 + ( R 1 + R 2 ) ⋅ C 2 + ( R 1 + R 2 + R 3 ) ⋅ C 3 + ( R 1 + R 2 + R 3 + R 4 ) ⋅ C L ) t_{pHL}=0.69(R_1\cdot C_1+(R_1+R_2)\cdot C_2+(R_1+R_2+R_3)\cdot C_3+(R_1+R_2+R_3+R_4)\cdot C_L) tpHL=0.69(R1C1+(R1+R2)C2+(R1+R2+R3)C3+(R1+R2+R3+R4)CL)从这个公式知道晶体管M1的电阻被算了四次,所以越往下,电阻应该越小越好,即门越大越好。
在这里插入图片描述

重新安排输入

简单来说就是哪个输入信号来的最慢就把这个信号放到离输出最近的地方,让其他先到的信号先把NMOS的门开起来,让开了的门电容先放电,等这个关键信号(也即最慢的信号)到了,其他电容已经放完了电,这个时候它再放就很快了。
在这里插入图片描述

重组逻辑结构

多输入延迟太大了,拆开来要快一点,要实现上面这种改变,可以利用逻辑表达式,加两次非即可拆开。
在这里插入图片描述

6.1.1.6 组合电路的性能优化

把反相器延时公式 t p   =   t p 0 ( 1 + C e x t γ C g )   =   t p 0 ( 1 + f / γ ) t_p~=~t_{p0}(1+\frac{C_{ext}}{\gamma C_g})~=~t_{p0}(1+f/\gamma) tp = tp0(1+γCgCext) = tp0(1+f/γ)改写成 t p   =   t p 0 ( p + g f / γ ) t_p~=~t_{p0}(p+gf/\gamma) tp = tp0(p+gf/γ)

f f f为电气努力(electrical effort),也叫有效扇出,定义为外部负载与输入电容的比值。 p p p表示复合门和简单反相器的本征延时(空载延时)的比值。 p p p一般我们不是很关心,它与复合门本身的结构有关。常用 p p p值如下。
在这里插入图片描述
g g g称为逻辑努力(logic effort)。它有如下几种理解:

  • 对于给定的负载,这个复合门需要比反相器更努力的工作才能得到与反相器类似的响应。
  • 当这个逻辑门的输入与反相器具有相同的输入电容时,在产生输出电流方面它比反相器差多少。
  • 一个逻辑门与反相器提供相同大小的电流时,它所表现的输入电容比反相器大多少。

假定反相器PMOS与NMOS的比值是2的情况下,常用门的逻辑努力如下。
在这里插入图片描述

那么任意门的逻辑努力到底该怎么求呢?

  1. 先确定最小尺寸的反相器PMOS和NMOS的尺寸比(一般是题目给我们这个尺寸,我们假定PMOS大小为2,NMOS大小为1),求出该最小尺寸反相器导通时NMOS和PMOS的电阻,假设NMOS电阻是Reqn,PMOS导通电阻是Reqp。注意,此处不要求知道Reqn:Reqp等于多少。
  2. 确定任意逻辑门的尺寸,使任意逻辑门在PUN网络工作时保证PUN的等效电阻和最小反相器的PMOS等效电阻一致为Reqp,使任意逻辑门在PDN网络工作时保证PDN的等效电阻和最小反相器的NMOS等效电阻一致为Reqn。记录下满足上面电阻要求的管子大小,将PUN的等效电阻记作Req_up,PDN的等效电阻记作Req_down。我们知道。那我们现在要做的就是合理调整PUN网络中的PMOS尺寸让Req_up=Reqp。同时要遵守一个法则,就是MOS管变大一倍,电阻缩小一半,电容扩大一倍。
  3. 最后要注意,逻辑努力是指算任意门一个端口的输入电容大小与最小反相器输入电容的比值的。

下面来看一个具体的例子
在这里插入图片描述
上图的反相器是最小尺寸的反相器,PMOS大小是2,NMOS大小是1,那么对于二输入与非门,我们首先要保证其PUN和PDN工作时电阻与最小反相器一致,那么二输入与非门的PUN中的每个PMOS管都要取大小2,然后保证PDN网络与NMOS电阻一致,所以二输入与非门中NMOS大小都是2。

接着我们们来看单个端口的输入电容,对于A输入来说如上图所示,它输入到了大小为2的PMOS和NMOS上,我们认为它们的电容大小都是2。所以对于A输入来说它的电容就是4。如图中红线框出来的。

最后根据逻辑努力的定义,得到与非门的逻辑努力 g = 4 / 3 g=4/3 g=4/3
同理异或门的逻辑努力为 g = 5 / 3 g=5/3 g=5/3

确定组合逻辑延时最小时的尺寸

通过任意组合逻辑块的延时可以表示成如下形式。
t p = ∑ j   =   1 N t p , j = t p 0 ∑ j   =   1 N ( p j + f j g j γ ) t_p=\sum_{j\mathrm{~=~}1}^Nt_{p,j}=t_{p0}\sum_{j\mathrm{~=~}1}^N\left(p_j+\frac{f_jg_j}\gamma\right) tp=j = 1Ntp,j=tp0j = 1N(pj+γfjgj) 其中 f j = C g , j + 1 / C g , j f_j=C_{g,j+1}/C_{g,j} fj=Cg,j+1/Cg,j γ = C i n t / C g \gamma=C_{int}/C_g γ=Cint/Cg

式中N表示组合逻辑块中子组合电路的个数,子组合电路可以是一个反相器,可以是一个与非门等等。
假如我们想让组合逻辑块的延时最小,即对上面这个公式求导并令其等于0,可以得到
f 1 g 1 = f 2 g 2 = 0... = f N g N f_1g_1=f_2g_2=0...=f_Ng_N f1g1=f2g2=0...=fNgN

我们把每一级子电路的 f i g i f_ig_i figi定义成每一级子电路的门努力 h i h_i hi,即门努力(gate effort) h i = f i g i h_i=f_ig_i hi=figi
同时我们定义一个路径逻辑努力努力(path logic effort) G 1 = g 1 g 2 . . . g N = ∏ 1 N g i G_1=g_1g_2...g_N=\prod_1^Ng_i G1=g1g2...gN=1Ngi
再定义一个路径的有效扇出(路径的电气努力) F = f 1 f 2 . . . f N = C L / C g 1 F=f_1f_2...f_N=C_L/C_{\text{g}1} F=f1f2...fN=CL/Cg1
由于子电路可能是多个输入端口,整个组合逻辑块的初始输入电流一部分沿着我们分析的路径流动,一些离开了我们分析的路径。所以我们定义一个逻辑门的分支努力(branching effort) b = C o n − p a t h + C o f f − p a t h C o n − p a t h b=\frac{C_{\mathrm{on-path}}+C_{\mathrm{off-path}}}{C_{\mathrm{on-path}}} b=ConpathConpath+Coffpath
其中 C o n − p a t h C_{\mathrm{on-path}} Conpath是我们分析的路径上的负载电容。 C o f f − p a t h C_{off-path} Coffpath是离开这条路径的连线上的电容。关于分支努力的详细说明,见本博文下方补充知识。
路径分支努力定义如下 B = ∏ 1 N b i B=\prod_1^Nb_i B=1Nbi
定义总路径努力 H = ∏ 1 N h i H=\prod_1^Nh_i H=1Nhi

再有了以上定义后我们进行如下推导。

  1. F = f 1 b 1 ⋅ f 2 b 2 ⋯ f N b N = ∏ 1 N f i b i = ∏ f i B F=\frac{f_1}{b_1}\cdot\frac{f_2}{b_2}\cdots\frac{f_N}{b_N}=\prod_1^N\frac{f_i}{b_i}=\frac{\prod f_i}B F=b1f1b2f2bNfN=1Nbifi=Bfi
  2. H = ∏ 1 N h i = ∏ 1 N g i f i = G F B H=\prod_1^Nh_i=\prod_1^Ng_if_i=GFB H=1Nhi=1Ngifi=GFB
  3. 因为 h i = f i g i h_i=f_ig_i hi=figi对于每一个 i i i都相等,即每一个子电路的门努力都相等,又 H = ∏ 1 N h i H=\prod_1^Nh_i H=1Nhi,所以可以得到
    h = H N h=\sqrt[N]{H} h=NH h = H N h=\sqrt[N]{H} h=NH 是满足组合逻辑块延时最小的必要条件。

h = H N h=\sqrt[N]{H} h=NH 的条件下,路径延时的通式 t p = ∑ j = 1 N t p , j = t p 0 ∑ j = 1 N ( p j + f j g j γ ) t_{p}=\sum_{j=1}^{N}t_{p,j}=t_{p0}\sum_{j=1}^{N}\left(p_{j}+\frac{f_{j}g_{j}}{\gamma}\right) tp=j=1Ntp,j=tp0j=1N(pj+γfjgj)就可以变成最小延时 D = t p 0 ( ∑ j   =   1 N p j + N ( H N ) γ ) D=t_{p0}{\left(\sum_{j~=~1}^{N}p_j+\frac{N(\sqrt[N]{H})}\gamma\right)} D=tp0(j = 1Npj+γN(NH ))
这个公式中的 p j p_j pj叫路径本征延时 p j = 0.69 R e q C i n t p_j=0.69R_{eq}C_{int} pj=0.69ReqCint,其中 R e q 、 C i n t R_{eq}、C_{int} ReqCint是任意逻辑电路的等效电阻和本征电容,这两个乘积是个定值,因为假如我们对这个门扩大S倍,延时就变成了 p j = 0.69 1 S R e q S C i n t = 0.69 R e q C i n t p_j=0.69\frac1SR_{eq}SC_{int}=0.69R_{eq}C_{int} pj=0.69S1ReqSCint=0.69ReqCint

得到了最小延时表达式还不够,我们真正需要设计的是组合逻辑块中子电路的大小,那么我们该怎么求组合逻辑电路的大小呢?

  1. 首先回顾下尺寸系数 s s s的定义:假如一个门的尺寸系数为 s s s,那么这个门的所有端口的输入电容是参考门的输入电容的 s s s倍。这个参考门在前面推导反相器链的时候拿的是反相器举例,但是在下面的推导中我们认为参考门指的是同类型的门。即一个与非门它的参考门应该也是与非门,只不过这两个门大小比例是尺寸系数S
  2. 然后我们再回顾下逻辑努力 g g g的定义:它是指同样的驱动电流下,任意门所有端口的输入电容与最小反相器的输入电容的比值是 g g g
  3. 所以对于一个任意门的参考门,它的输入电容 C u n i t − g a t e = g C r e f C_{unit-gate}=gC_{ref} Cunitgate=gCref,其中
    C r e f C_{ref} Cref指的是参考反相器的电容。 C u n i t − g a t e C_{unit-gate} Cunitgate指的是任意门的参考门。
  4. 假如某个门的尺寸系数为 s s s,则这个门的所有端口总电容大小为 C g = s C u n i t − g a t e C_{g}=sC_{unit-gate} Cg=sCunitgate

现在我们看一下两级电路的例子。
C g 2 = ( f 1 b 1 ) C g 1 C_{g2}=\left(\frac{f_1}{b_1}\right)C_{g1} Cg2=(b1f1)Cg1
== C g 2 C_{g2} Cg2指的是第二级电路的所有端口(包括研究路径和非研究路径上的)的输入电容。
f 1 f_1 f1是第一级电路的有效扇出,回顾下有效扇出的定义 f = C e x t / C g f=C_{ext}/C_g f=Cext/Cg,即外部负载电容与输入电容的比值。
C e x t = f 1 C g 1 C_{ext}=f_1C_{g1} Cext=f1Cg1 C e x t C_{ext} Cext可以理解成第一级电路所有输出端口的所接负载的总电容。
C e x t b 1 \frac{C_{ext}}{b_1} b1Cext就可以理解成第一级电路在所关心路径上的输出外接负载电容。即 C g 2 = C e x t b 1 = ( f 1 b 1 ) C g 1 C_{g2}=\frac{C_{ext}}{b_1}=\left(\frac{f_1}{b_1}\right)C_{g1} Cg2=b1Cext=(b1f1)Cg1指的是第二级电路所有输入端口上所关心路径的输入电容。

看下面的图就可以得到解答。
在这里插入图片描述

C g 1 f 1 = C g 2 + C g 3 C_{g1}f_1=C_{g2}+C_{g3} Cg1f1=Cg2+Cg3
我们关心的路径如黄线所示,所以
C g 2 = ( f 1 b 1 ) C g 1 C_{g2}=\left(\frac{f_1}{b_1}\right)C_{g1} Cg2=(b1f1)Cg1

最小延时组合逻辑块例题

根据上面的推导我们得到这个式子。

6.1.1.7 CMOS逻辑门中的功耗

CMOS反相器功耗主要由负载电容,短路电流,阈值电压(亚阈值电流)影响。
CMOS组合逻辑门里面我们主要考虑开关频率的影响。
开关频率由逻辑功能、信号间的相关性、动态或虚假翻转(毛刺)决定。至于实际原理自行看书。

如何改善CMOS逻辑门的功耗
1. 逻辑重组

在这里插入图片描述
树形结构开关活动性比链式低,证明自行看书。

2. 输入排序

在这里插入图片描述
让翻转频率大的信号靠近输出。

3. 分时复用资源

没啥好处。

4.均衡信号路径减少毛刺

在这里插入图片描述和第一个逻辑重组很像,但是逻辑重组主要是降低开关频率,这个主要是减少毛刺。

6.1.2 有比逻辑

基本概念

PUN或PDN被一个无条件负载器件替代(无条件即一直导通)的组合逻辑电路。由PDN网络和一个栅极接地的PMOS负载组成的网络叫伪NMOS门。

伪NMOS门输出能到VDD,但是到不了0,这会降低噪声容限,低电平输出取决于负载PMOS和PDN网络的相对电阻大小。
而且因为负载PMOS一直导通,会存在静态功耗。
由于输出电压摆幅及门的功能取决于NMOS和PMOS的尺寸比,所以叫有比电路。

在这里插入图片描述
通过对上图的分析,对于伪NMOS门,负载PMOS相对NMOS越大,越难下拉,那么输出的低电平就越高。

6.1.2.1 如何消除静态功耗及扩展摆幅至电源轨

在这里插入图片描述
图a中,PDN1和PDN2是互斥的,一个导通另一个就截止,假定PDN1导通,则一开始Out=VDD-Vthp,如果Out呢能够让M2导通,则/Out=1,/Out=1就把M1关断了,那么Out=0。

这种差分逻辑产生了一个正相输出一个反相输出,而且是同步的,避免了使用CMOS反相器将正相信号转成反相从而造成时延不同步。对比图如下
在这里插入图片描述

这种门缺点就是布线复杂,动态功耗较高。

6.1.3 传输管逻辑Pass-Transistor Logic

6.1.3.1基本概念

在这里插入图片描述
优点:==门少。==包括用于产生反逻辑B的CMOS反相器,整个电路一共4个MOS管。互补CMOS逻辑需要产生F=AB需要六个MOS管,四个MOS管用于与非门,两个MOS管用于反相器。
缺点:输入0产生0没问题,输入1产生的是VDD-Vtn,甚至还会因为体效应的原因Vtn升高导致输出电压更低。

在这里插入图片描述
假如所有的输入信号都为VDD,那么上图中a图的Y就会损失两个阈值电压,b图的Y会损失一个阈值电压,所以我们要尽量避免传输管逻辑的串联。

6.1.3.2差分传输管逻辑

在这里插入图片描述
类似于DCVLS,也是同相反相一起输出。

6.1.3.3稳定有效的传输管设计

电平恢复

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/afa40eff65c04742a2aea29a87108c07.png ==200x150)
加一个反馈晶体管Mr和一个由M1、M2组成的反相器就可以解决X点拉不到VDD的问题。
但是上面这个电路存在一个问题,如下图所示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ff80f7a1bdca40d99ae96024d5d22128.png ==200x150)
当X一开始处于高电平,A=0, B从0翻转到1时,我们希望X也变成低电平,但这不是很容易做到的。
因为Mr和Mn的电阻大小决定了X的大小,如果Mr的电阻太小,X没法降到使M2导通的程度,那么Out就一直是低电平。

摆幅恢复传输管逻辑Swing-restored pass transistor logic

在这里插入图片描述

这是电平恢复器概念的改进。

多阈值晶体管

在这里插入图片描述

把管子的阈值改成0就不会存在电压降的问题了。但是阈值降低会增加亚阈值漏电。

传输门逻辑

在这里插入图片描述
能够得到轨到轨的输出,即输出为VDD到GND

传输门能实现异或逻辑,如下图所示。
在这里插入图片描述

传输门电阻由PMOS和NMOS电阻并联组成,差不多是个常数。看下图可知
在这里插入图片描述

传输门链的延时(重点)

在这里插入图片描述
根据Elmore近似公式, t p ( V n ) = 0.69 ∑ k = 0 n C R e q k = 0.69 C R e q n ( n + 1 ) 2 t_p(V_n)=0.69\sum_{k=0}^nCR_{eq}k=0.69CR_{eq}\frac{n(n+1)}2 tp(Vn)=0.69k=0nCReqk=0.69CReq2n(n+1)
式中Req是传输门等效电阻。
观察上式可得传播延时正比于 n 2 n² n2,链中的开关数目增加延时也迅速增加。

我们知道这个延时与 n 2 n² n2成正比, 还是太大了,我们希望小一点,最好的做法就是每隔m个传输门开关切断串联链,然后插入一个缓冲器,假定缓冲器延时 t b u f t_{buf} tbuf。那么就会形成 n m \frac{n}{m} mn段反相器链接,每段反相器链的延时
t p 0 = 0.69 [ C R e q m ( m + 1 ) 2 ] t_{p0}=0.69\biggl[CR_{eq}\frac{m(m+1)}{2}\biggr] tp0=0.69[CReq2m(m+1)],所有段反相器链延时加起来为, t p 1 = n m t p 0 = 0.69 [ n m C R e q m ( m + 1 ) 2 ] t_{p1}=\frac{n}{m}t_{p0}=0.69\biggl[\frac{n}{m}CR_{eq}\frac{m(m+1)}{2}\biggr] tp1=mntp0=0.69[mnCReq2m(m+1)],整个电路的延时还要加上所有缓冲器的延时 ( n m − 1 ) t b u f \left(\frac nm-1\right)t_{buf} (mn1)tbuf,所以整个电路的延时为所有传输门子链的延时+所有缓冲器延时,为 0.69 [ C R e q n ( m + 1 ) 2 ] + ( n m − 1 ) t b u f 0.69\left[CR_{eq}\frac{n(m+1)}2\right]+\left(\frac nm-1\right)t_{buf} 0.69[CReq2n(m+1)]+(mn1)tbuf
观察这个总延时式子可知,延时不再与级数n成二次方比例,而是与n成线性关系。

6.2 动态CMOS设计

6.2.1 基本原理

在这里插入图片描述
这种电路能避免静态功耗。电路分为预充电和求值阶段。CLK为低,预充电管Mp导通,此时预充电,这个时候求值管Me关闭,无静态功耗。CLK为高,预充电管Mp关断,Me导通,此时是求值阶段。要注意的是PDN在求值阶段只能放电一次,放没了就没了。 还有如果求值阶段PDN关断,那么Out处于高阻,普通静态门可不会有高阻节点。

优点:

  1. 门少,只有N+2
  2. 无比逻辑,PMOS大小不影响逻辑功能和电平,只影响充电快慢。
  3. 门少了,开关速度快。

缺点:

  1. 虽然只有动态功耗,但是功耗还是比静态门大。

6.2.2 动态逻辑门的信号完整性问题

电荷泄露

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6df8bad05c7b427eaffedc34356d78c3.png ==300x400)
M1的反偏二极管和亚阈值漏电。 解决办法如下。
在这里插入图片描述
加个“充电器”–反相器和一个晶体管Mbl。

电荷分享

在这里插入图片描述
预充电阶段,Vout一开始是0,B=0,A从0变到1,CL就会与CB分享电荷导致Vout降低,如果这个电路后面接反相器,可能会导致后面的静态CMOS反相器产生静态功耗。

电容耦合

在这里插入图片描述

动态门的输出是通过高阻节点的电容来保持电平的,我们知道高阻节点很容易受到串扰,如图所示,Out2通过栅漏电容耦合反过来影响Out1。

时钟馈通

栅极端接时钟信号,而源极和漏极端通过信号时,由于存在栅源电容(Cgs)和栅漏电容(Cgd),时钟信号可能会耦合到源极和漏极端从而影响信号的现象。

6.2.3 串联动态门

在这里插入图片描述
一句话,串联动态门是不被允许的,会导致后级提前放电我们通常采用多米诺逻辑来改进这个缺点。

多米诺逻辑

在这里插入图片描述
==加一个静态反相器在输出上就好了。==但是这样的话,多米诺逻辑就只能实现非反逻辑了。

解决多米诺逻辑的非反问题

方法一

在这里插入图片描述
就是用德摩根定律,把有非的逻辑变成没有非,再使用多米诺逻辑。但是这种优化并不是总是可行。

方法二(普适)

在这里插入图片描述
双轨多米诺逻辑,Mf1和Mf2的作用是用来补偿电荷共享和电荷泄露的。

方法三

使用n-pCMOS
在这里插入图片描述
使用n-pMOS可以直接级联,但是要注意CLK的极性对于两块电路要反一下。

补充:分支努力的计算

在这里插入图片描述
对于A点的分支努力我们该如何计算。
b 1 = C N A N D 2 + C N O R 2 C N A N D 2 = ( 2 + r ) + ( 1 + 2 r ) 2 + r = 3 ( 1 + r ) 2 + r \begin{aligned}b_1=\frac{C_{NAND2}+C_{NOR2}}{C_{NAND2}}=\frac{(2+r)+(1+2r)}{2+r}=\frac{3(1+r)}{2+r}\end{aligned} b1=CNAND2CNAND2+CNOR2=2+r(2+r)+(1+2r)=2+r3(1+r)

上图各种门结构及其参数如下。

与非门的结构如下
在这里插入图片描述
或非门结构及参数如下
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/224851.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

本项目基于Spring boot的AMQP模块,整合流行的开源消息队列中间件rabbitMQ,实现一个向rabbitMQ

在业务逻辑的异步处理,系统解耦,分布式通信以及控制高并发的场景下,消息队列有着广泛的应用。本项目基于Spring的AMQP模块,整合流行的开源消息队列中间件rabbitMQ,实现一个向rabbitMQ添加和读取消息的功能。并比较了两种模式&…

【头歌系统数据库实验】实验2 MySQL软件操作及建库建表建数据

目录 第1关:创建数据库 第2关:创建供应商表S,并插入数据 第3关:创建零件表P,并插入数据 第4关:创建工程项目表J,并插入数据 第5关:创建供应情况表SPJ,并插入数据 …

dtaidistance笔记:dtw_ndim (高维时间序列之间的DTW)

1 数据 第一个维度是sequence的index,每一行是多个元素(表示这一时刻的record) from dtaidistance.dtw_ndim import *s1 np.array([[0, 0],[0, 1],[2, 1],[0, 1],[0, 0]], dtypenp.double) s2 np.array([[0, 0],[2, 1],[0, 1],[0, .5],[0…

Elasticsearch SQL插件调研与问题整理

在最新的es8.11版本中,开始有了es|ql语言。非常接近sql,但是还是不太一样。而在之前的版本中,sql能力很弱,并且属于白金版本的内容。也就是说需要氪金才能体验,才能使用。 我是es研发工程师。负责公司内部的es集群的日…

Netty线程模型

Netty线程模型 Netty中两个线程池, 分别是BossGroup和WorkGroup, 线程模型如下图所示: 模型解释: Netty 抽象出两组线程池BossGroup和WorkerGroup,BossGroup专门负责接收客户端的连接, WorkerGroup专门负责网络的读写BossGroup和WorkerGr…

面试官:说说Loader和Plugin的区别

面试官:说说Loader和Plugin的区别?编写Loader,Plugin的思路? 一、区别 loader 是文件加载器,能够加载资源文件,并对这些文件进行一些处理,诸如编译、压缩等,最终一起打包到指定的文…

【Unity动画】Sprite 2D精灵创建编辑到动画

如何切图(sprite editor) 有时候一张图可能包含了很多张子图,就需要在Unity 临时处理一下,切开,比如动画序列帧图集 虽然我们可以在PS里面逐个切成一样的尺寸导出多张,再放回Unity,但是不需要这…

docker镜像与容器的基本操作,容器打包以及镜像迁移

docker镜像拉取---docker pull docker pull image_name[:tag] 这是直接拉取官方镜像 image_name: 镜像的名称,例如 ubuntu, nginx, mysql 等。tag: 镜像的标签,表示版本或者特定的标识。如果未指定标签,默认为 latest。 例如,…

Qt之QGraphicsView —— 笔记1.2:将QGraphicsView放置主窗口上,绘制简单图元(附完整源码)

效果 相关类介绍 QGraphicsView类提供了一个小部件,用于显示QGraphicsScene的内容。QGraphicsView在可滚动视口中可视化。QGraphicsView将滚动其视口,以确保该点在视图中居中。 QGraphicsScene类 提供了一个用于管理大量二维图形项的场景。请注意,QGraphicsScene没有自己的视…

【Spring】依赖注入之属性注入详解

前言: 我们在进行web开发时,基本上一个接口对应一个实现类,比如IOrderService接口对应一个OrderServiceImpl实现类,给OrderServiceImpl标注Service注解后,Spring在启动时就会将其注册成bean进行统一管理。在Co…

CleanMyMac最新版本4.14.5有哪些新功能?

CleanMyMac是一款专业的Mac清理工具,只需要一键智能清理,便能让Mac恢复原始的性能,是MAC系统非常好用的工具。CleanMyMac4.14.5自身拥有一个安全数据库,它是一个项目列表,拥有一定的规格,可以确保软件能够正…

销售技巧培训课程内容如何设计才能更好地落地

销售技巧培训课程内容如何设计才能更好地落地 在当今竞争激烈的市场环境中,销售人员的角色和作用越来越重要,是公司业绩来源的核心,也是公司能否在激烈竞争的市场中立于不败之地的关键。 因此,对销售人员进行有效的销售技巧培训&a…

两种伦敦银缺口 如何为我们的交易服务?

我们做伦敦银也会碰到缺口,有的朋友会说伦敦银不是24小时交易的品种吗?怎么有缺口呢?虽说伦敦银是24小时交易的品种,但是在北京时间的凌晨也会停止交易一段时间,这是平台结算时间。在亚盘早段伦敦银重新开盘之后&#…

40 mysql join 的实现

前言 join 是一个我们经常会使用到的一个 用法 我们这里 看一看各个场景下面的 join 的相关处理 测试数据表如下, 两张测试表, tz_test, tz_test03, 表结构 一致 CREATE TABLE tz_test (id int(11) unsigned NOT NULL AUTO_INCREMENT,field1 varchar(128) DEFAULT NULL,fi…

AWS攻略——创建VPC

文章目录 创建一个可以外网访问的VPCCIDR主路由表DestinationTarget 主网络ACL入站规则出站规则 子网创建EC2测试连接创建互联网网关(IGW)编辑路由表 知识点参考资料 在 《AWS攻略——VPC初识》一文中,我们在AWS默认的VPC下部署了一台可以SS…

Tomcat管理功能使用

前言 Tomcat管理功能用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。在默认情况下是处于禁用状态的。如果需要开启这个功能,需要配置管理用户,即配置tomcat-users.xml文件。 !!!注意:测试功…

Numpy 实现C4.5决策树

C4.5 信息增益比实现决策树 信息增益比 g R ( D , A ) g ( D , A ) H ( D ) g_{R}(D, A)\frac{g(D, A)}{H(D)} gR​(D,A)H(D)g(D,A)​ 其中, g ( D , A ) g(D,A) g(D,A)是信息增益, H ( D ) H(D) H(D)是数据集 D D D的熵 代码实现 import numpy as …

探究Spring Boot 中实现跨域的几种方式

文章目录 前言1. 使用CrossOrigin注解2. 使用WebMvcConfigurer配置3. 使用Filter配置4. 使用全局配置结束语 前言 在现代Web应用中,由于安全性和隐私的考虑,浏览器限制了从一个域向另一个域发起的跨域HTTP请求。解决这个问题的一种常见方式是实现跨域资…

webpack学习-3.管理输出

webpack学习-3.管理输出 1.简单练手2.设置 HtmlWebpackPlugin3.清理 /dist 文件夹4.manifest5.总结 1.简单练手 官网的第一个预先准备,是多入口的。 const path require(path);module.exports {entry: {index: ./src/index.js,print: ./src/print.js,},output: …

基于SSM框架家电商城系统分前后台【项目源码+数据库脚本+报告】

一、项目简介 本项目是一套基于SSM框架家电商城系统,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目可以直接作为bishe使用。 项目都经过严格调试,确保可以运行…
最新文章