数字CMOS集成电路复习笔记:第六篇
动态逻辑电路概述
在前面,我们学习的都是使用CMOS搭建的静态逻辑电路,不含任何人为加入的电容等储能元件。
何为静态逻辑,何为动态逻辑?
- 静态逻辑门:
- 所有逻辑电平都是稳定的静态工作点,所有的输出电压都是由输入电压的改变经过一定延时后确定的。只要电源电压存在,输入信号不发生变化,输出电压会永远保持。
- 输出电压不需要刷新。需要的晶体管数量多,延时大。
- 动态逻辑门:
- 逻辑电平不是稳定的静态工作点,而是由节点上的寄生电容的电荷来暂时保持的。
- 输出信号由输入信号变化和时钟信号的改变确定,需要定时更新或者刷新,因为电荷会丢失,造成电压改变,信息丢失。
"In Figure 4, if the input A is 1 during precharge, contention will take place because both the pMOS and nMOS transistors will be ON. When the input cannot be guaranteed to be 0 during precharge, an extra clocked evaluation transistor can be added to the bottom of the nMOS stack to avoid contention as shown in Figure 5. The extra transistor is sometimes called a foot. Figure 4-5 shows generic footed and unfooted gates.
The footed and unfooted terminology is from IBM [Nowka98]. Intel calls these styles D1 and D2, respectively."所谓的 ‘脚’ (foot),是指在动态电路设计中用来避免在预充电阶段产生竞争的一种技术手段。具体来说,在预充电阶段,如果输入信号无法保证为低电平,那么就可能在预充电时出现PMOS和NMOS同时导通的情况,这会导致竞争。为了避免这种情况,可以在NMOS堆栈的底部增加一个额外的受时钟控制的评估晶体管,这个额外的晶体管就被称为‘脚’。
这一设计允许在不确定输入状态的情况下进行安全的预充电操作。
相比静态逻辑门,动态逻辑门有如下优点:
- 能够实现带有存储功能的简单时序电路
- 整个系统使用同一个时钟信号使得各个电路模块的工作同步
- 实现复杂逻辑功能一般比静态电路的面积小
- 由于寄生电容小,通常动态功耗比静态逻辑电路小
- 速度快
动态D锁存器
使用两个反相器和一个电容可以实现动态D锁存器。
CK=1时,传输晶体管MP导通,输入信号D对寄生电容Cx充电或者放电,输出Q=D。
CK=0时,传输晶体管MP截止,电容Cx与输入信号D断开,输出Q由上一次CK为1时保存在寄生电容Cx上的电荷决定,输入D不影响Q的值。
因此,电路实现了Latch的功能,而不需要交叉耦合的反相器对。
节点Vx被称为软节点,由于电路的保持功能是由该节点的寄生电容实现的,输出保持的时间取决于寄生电容上的电荷能够维持的时间。
由于电路中的反偏PN结漏电、亚阈值漏电等会造成电荷泄漏,另外空间的α粒子或者宇宙射线也很容易造成该节点电压翻转(单粒子翻转),所以Vx点的电压是不可靠或者不稳定的。
传输晶体管行为
不可能考的。要是考到了我把服务器硬盘吃了。
逻辑1传输
假设Vx初始状态为0,Vin=VOH=VDD,忽略PMOS的体效应,则:
可求得:
当传输管级联时,我们需要考虑阈值电压损失:
24年PPT修改内容
逻辑0传输
分为线性区与饱和区。
我们可写出最终的传输时间:
电荷的存储与泄放
- 长沟道器件中,Ileakage主要是亚阈值电流和反偏PN结电流
- 短沟道器件中,亚阈值电流要明显大于反偏PN结电流
- 超深亚微米器件中,由于隧穿效应,栅极上的电流也不能忽略了
电压自举技术
因为阈值电压损失,即使Vin=0,Vout也无法到达VDD,会比Vx低一个阈值电压。如果增大Vx,我们就能让输出达到电源电压!
我们在M2的栅源之间跨接上一个电容,并假设假设iCboot和iCS流过的电流近似相等,得到:
若Cboot远大于Cs,为了克服阈值电压损失,Vx最小值为:
可求得Cboot与Cs的关系为:
同步动态电路技术
耗尽型nMOS负载动态移位寄存器
Phase1有效时,Vin输入保存在Cin1上,第一级反相器输出驱动Cout1,第二级反相器输出值由寄生电容Cin2上的值决定,对Cout2充放电,并驱动Cin3,决定Vout。
Phase2有效时,Vin被断开,第一级反相器的输入为Cin1上保持的值,输出驱动Cout1,并改变Cin2上的电压,第二级反相器输出值因此改变,对Cout2充放电,Cin3保持上一次第二个反相器的输出,保持Vout不变。
Phase1再次有效时,Vin输入新的值,保存到Cin1上,上一次写入的Vin值被保存到Cin2上,并传输到Vout。实现按照时钟控制将Vin不断移位到Cout1、Cout2和Vout的功能。
Phase | Vin | Cin1 | Cout1 | Cin2 | Cout2 | Cin3 | Cout3 |
---|---|---|---|---|---|---|---|
1 | Vin1 | - | - | ||||
2 | nVin1 | Vin1 | |||||
1 | Vin2 | Vin1 | nVin1 | ||||
2 | nVin2 | Vin2 | |||||
1 | Vin3 | Vin2 | nVin2 | ||||
2 | nVin3 | Vin3 | |||||
1 | Vin4 | Vin3 | nVin3 | ||||
2 | nVin4 | Vin4 | |||||
1 | Vin5 | Vin4 | nVin4 |
24年PPT新增内容
同步复合逻辑
把反相器改成更复杂的组合逻辑电路,前面的动态移位寄存器就可以变成同步复合逻辑电路。
由于每一级的逻辑延时都不相同,时钟信号的半周期时间要比所有电路中延时最大的单级电路的信号延时时间要长。
增强型nMOS负载动态移位寄存器
Phase1有效时,Vin传递到Cin1上,Phase2有效时,负载晶体管导通,第一级反相器输出有效值传递到Cin2。当Phase1再次有效时,第二级反相器输出有效值,传递到Cin3。同时,第一级输入一个新的Vin到Cin1。
Phase2有效时,如果Cin1上是高电平,第一级反相器的负载管和驱动管共同决定输出的VOL,VOL的大小取决于驱动管和负载管的尺寸比例,所以这是有比逻辑 (ratio logic)。如果Cin1上是低电平,则Cout1为高电平,Cin2上是VDD-VTN。
Phase1有效时,Vin传递到Cin1上,第一级反相器输出有效结果;Phase2有效时,负载晶体管截止,输出Cout1的结果传递到Cin2,第二级反相器输出驱动Cout2。当Phase1再次有效时,Cout2上保存的结果传递到Cin3。同时,第一级输入一个新的Vin到Cin1。
Phase2有效时,如果Cin1上是高电平,第一级反相器的驱动管将输出Vout1下拉到地,如果Cin1上是低电平,则Cout1上是高电平,所以这是无比逻辑,输出与负载管和驱动管的尺寸无关,为无比例动态电路(ratioless logic)。
Phase | Vin | Cin1 | Cout1 | Cin2 | Cout2 | Cin3 | Cout3 |
---|---|---|---|---|---|---|---|
1 | Vin1 | nVin1 | - | - | |||
2 | nVin1 | Vin1 | |||||
1 | Vin2 | nVin2 | Vin1 | nVin1 | |||
2 | nVin2 | Vin2 | |||||
1 | Vin3 | nVin3 | Vin2 | nVin2 | |||
2 | nVin3 | Vin3 | |||||
1 | Vin4 | nVin4 | Vin3 | nVin3 | |||
2 | nVin4 | Vin4 | |||||
1 | Vin5 | nVin5 | Vin4 | nVin4 |
Phase2导通将使Cout1上的高电平和Cin2会发生电荷分享。为了保证高电平输出正确,设计中要使Cout/Cin足够大。
比例♂不比例?
由于负载器件受时钟信号控制,并不是始终有电流,所以功耗低于耗尽型负载nMOS逻辑。
注意负载管由哪一相时钟控制即可。
电荷分享效应
动态CMOS电路技术
动态CMOS传输门逻辑
PE逻辑
PE(Precharge Evaluate) 逻辑,又称预充电-求值逻辑,是一种CMOS动态逻辑,可以大大减少实现逻辑函数的晶体管数目。
- 优点:
- n输入只要(n+2)个晶体管
- 寄生电容少,功耗小
- 无直流静态功耗
- 输入寄生电容小,因只有单个nMOS负载
- 上拉时间较短
- 缺点:
- 输出结果时间小于50%时钟周期
- 下拉网络增加了串联晶体管使得下拉时间增大
- 输出电压容易受到电荷分享效应的影响
- 最大时钟周期受寄生电容C的泄放速度限制
- 最小时钟周期受C的放电速度和输入延时限制
- 输入信号只能在预充电阶段改变(只能单向变化),PE逻辑门不能直接级联
- 噪声容限低
为什么PE逻辑的求值阶段不允许任何一级电路的输入信号由1变为0?
以上图为例。在预充电阶段,C会被充电到高电平。随后,在求值阶段参与第一个NMOS运算网络的运算。
若求值阶段有输入变为0,因刚进入求值阶段时该输入仍为1,会导致C上的电荷一开始就被泄放掉,与之后的变为0的输入计算出的结果冲突。而在求值阶段有输入变为1的话,因一开始该输入是0,因此有可能会不影响C上的电荷泄放,因NMOS关闭,通路可能不存在。
PE逻辑电荷分享效应
输出Vx预充电到VDD,在求值阶段,C1和C2发生电荷分享,Vx电压下降,使后一级反相器可能产生静态功耗,甚至输出错误。
如何防止电荷分享效应?
PMOS Keeper
注意加入的PMOS的连接方式。以前考过。
我们加入一个弱上拉的PMOS,防止在求值期间,由于电荷分享效应造成的输出电压损失:
但因为多加了一个上拉,这会导致下拉能力减弱,下拉速度变慢,从而增大延时。因此,要设计成。
反相器逻辑阈值电压修改
电荷分享效应使得反相器的输入比原来低。我们只要让反相器对此电压下降不敏感即可。因此,让反相器的逻辑阈值电压更低即可。但是这样会牺牲反相器的上拉速度。
为什么?
考虑逻辑阈值电压的表达式:
若要让Vth减小,则需要增大,即增大NMOS尺寸或减小PMOS尺寸,但均会导致上拉能力变弱、上拉速度减慢。
内部节点预充电
我们也可以用额外的上拉网络提前给内部的节点充电:
这样子同时也能实现多输出的多米诺逻辑!
缺点:增加了下拉的延时,因为NMOS网络需要泄放更多的电荷。
高性能动态逻辑CMOS电路
多米诺逻辑
PE逻辑输出的是反相逻辑,因此需要接进反相器才能级联到下一级。中间插入CMOS逻辑也必须是偶数级逻辑门,避免输出被反相。
此外,多米诺逻辑的最大级数受限于求值时间,每一级运算后必须在求值时间窗口内结束。
下拉网络时间改进
对于多输入的NMOS下拉网络,可以用Shoji的结论对下拉晶体管尺寸进行优化:
则通过减小靠近输出节点的NMOS尺寸可以缩短总延迟。同样,我们可以依次用于下面的所有晶体管。最终,我们可以得到优化尺寸后的版图:
最下面的晶体管尺寸最大,依次向上逐步减小尺寸,这样可以减小延时约20%。
缺点:
- 增加了版图设计的难度
- 浪费了面积
NORA CMOS逻辑
NORA CMOS逻辑(NP多米诺逻辑),使用两种不同的动态逻辑电路进行串联运算。
和多米诺逻辑相比:
- 优点:
- PE逻辑每一级电路无需反相器,节省两个晶体管
- 与多米诺逻辑兼容,加上反相器后就可以级联
- 可以构造流水线结构
- 缺点:
- PMOS网络构成的求值逻辑电路速度比较慢,需要较大的尺寸
- 每一级的输出节点对噪声更加敏感,因为没有反相器驱动后一级
Zipper CMOS电路
电路结构与NORA完全相同,但是驱动预充电管的时钟信号不一样。
预充电管在求值期间弱导通,消除了电荷分享效应和高阻节点的电荷泄放。
因时钟电路过于复杂,并没有在工业界大量应用。
TSPC动态CMOS电路
考过。熟悉时钟流程。
电路只需要单相时钟(只要CK,不需要CK非)就可以实现流水线操作,不需要反相时钟,没有时钟偏斜问题。
为什么没有时钟偏斜问题?
因为同一相的时钟内偏斜是恒定的,不会改变。
工作速度快,晶体管数量少。但是噪声容限小!
总结
对比项 | 全互补静态CMOS | 伪NMOS静态逻辑 | CMOS多米诺逻辑 |
---|---|---|---|
噪声容限 | 大 | 一般 | 小 |
输出电平 | 无比逻辑 | 有比逻辑 | 无比逻辑[1] |
速度 | 慢 | 较快 | 快 |
晶体管数量 | 多 | 少 | 较少 |
电路复杂程度 | 复杂 | 简单 | 较简单 |
版图面积 | 大 | 小 | 较小 |
静态功耗 | 无 | 有 | 无 |
动态功耗 | 较大 | 小 | 较大 |
同步设计难度 | 无时钟、无同步机制 | 有时钟、有同步机制 | |
版图布局难度 | 可实现版图自动化 | 不适合版图自动化 | 无法版图自动化 |
存在问题 | 寄生参数较大 | 噪声容限对晶体管尺寸敏感 | 存在电荷分享效应, 依赖节点寄生电容保存信息 |
不考虑电荷共享的情况下 ↑