组合逻辑表达式
组合逻辑:函数值是函数输入参数的某种组合。
逻辑门实现特定的逻辑功能。
无论是规格描述(逻辑方程)还是具体实现(逻辑门网络),都使用布尔逻辑来表示。
为什么针对逻辑功能设计逻辑门并不是一件简单的事:
在标准单元库中,未必能找到适用于所有逻辑表达式的逻辑门;
一个逻辑表达式在映射为逻辑门之后,可能会消耗较多的面积、带来更大的延迟,或者消耗更多功耗。
如果一个函数中任何一个文字变量都不能在不改变其真值的前提下被去掉,那么这个函数就是不可约的 / 无冗余的(irredundant)。
完备性
一个函数集合
NAND 是一个完备集;NOR 是一个完备集;而
传输门(Transmission gates)不是完备的。
如果你的逻辑门集合不是完备的,你就无法设计任意逻辑。
ubiquitous:无处不在
一个互补CMOS结构的上拉网络和下拉网络互为对偶网络。
XOR:异或
XNOR:同或
AOI/OAI 门
AOI = 与/或/非;OAI = 或/与/非。
用于实现更大的逻辑功能。
上拉网络和下拉网络结构更紧凑:与等效的 NAND/NOR 网络相比,面积更小、速度更快。
数字的含义:描述第一级运算的输入个数
例:AOI-221
表达式:
静态 CMOS 的 VTC 、噪声容限、传播延时取决于 一开始加在这个门上的数据输入模式
上图中,虚假尖峰信号(毛刺)发生在一个输入上时比同时发生在两个输入上时有更多的机会引起输出的错误翻转,因为当A和B同时为0时,等效反相器的NMOS相对没有那么强;但是A与B有且只有一个为1时,等效反相器的NMOS相对增强,更易引起输出从1到0的翻转
当确定一个多输入门的晶体管尺寸时,应该考虑能引起最坏情况的输入组合
注意 PPT 上的A和B与课本P160的不一样
当下面的晶体管为1,上面的晶体管从1变成0时,上拉PMOS只需对输出节点的电容充电,传播延时小
当上面的晶体管为1,下面的晶体管从1变成0时,上拉PMOS需同时对输出节点、和内部节点的电容充电,传播延时大
还需注意的一点是由高至低的传播延时取决于内部节点的初始状态。对于A和B都从0到1的情况,最坏的情况是内部节点最初被充电到
在一阶分析传输延时时,可以忽略内部节点的电容,但是扇入一旦增大,内部节点电容会变得十分复杂,需采用Elmore延时公式(假设内部节点在输入均被驱动至高时都已经充电至
传播延迟会随着扇入的增加而迅速恶化——在最坏情况下呈二次增长。
对于N输入与非门,输出节点的本征电容(PMOS器件引起)随输入 N 线性增大,
由分布参数模型,
该门的额定输出高电平
负载器件相对下拉器件的尺寸可以用来调整诸如噪声容限、传播延时、功耗等参数,因此该电路为有比电路
只需要 N+1个管子
为了使
逻辑 1 输出总是在
逻辑 0 输出高于
对于逻辑 0 输出,上拉网络和下拉网络构成一个分压器。
必须选择 n、p 晶体管的尺寸,以形成所需比例的等效电阻。
下拉网络的等效电阻必须按最坏情况来计算——串联的 n 型晶体管意味着需要更大的晶体管尺寸。
在稳态逻辑 0 输出时: 上拉网络处于饱和区;下拉网络处于线性区。上拉和下拉电流相同,
在产生
由于
采用 0.18 μm 工艺参数、1.8V 电源:
基本上,
等效电阻满足
因此,对于 pseudo-NMOS,上拉时间约为下拉时间的两倍。
印证:为了使
改进方法,M2可以做的足够弱来降低
利用差分逻辑和正反馈:差分串联电压开关逻辑 ( DCVSL:Differential Cascode Voltage Switch Logic )来完全消除静态电流和提供 电源轨线至轨线 电压摆幅的有比逻辑。
差分门:每一个输入都具有互补的形式,同时也产生互补输出。反馈机制:不需要负载器件时将其关断
下拉网络PDN1和PDN2相互排斥,一个导通,另一个则关断,这样同时实现所需功能和相反功能
假设对于给定的一组输入,使 PDN1 导通而 PDN2 不导通,而
在稳定状态,NMOS 管堆叠的下拉网络及相应的 PMOS 负载器件不会同时导通,任何一边的静态功耗为零。然而这一电路仍然是有比的,因为 PMOS 器件相对于下拉器件的尺寸不仅对电路的性能很重要,而且对于它的功能也是非常关键的(PMOS器件必须设计的弱一些)。除了会增加设计的复杂性,这一电路类型还有因渡越电流所引起的功耗问题。在翻转期间 PMOS 和 PDN 会同时导通一段时间,从而产生一条短路路径。
注意:当 Out 被下拉至
传输管逻辑允许原始输入驱动栅、源/漏端来减少所需的晶体管数目
只需N个晶体管、无比逻辑
x 点高电平损失一个
纯传输管逻辑是不可再生的——信号在经过多个传输管后会逐渐退化(可以通过插入静态 CMOS 反相器来解决)。
当
当
在高性能设计中常用 CPL(DPL)
与 DCVSL 类似,接受真输入、互补输入,产生真输出及互补输出
属于静态门逻辑,具有模块化特点(所有门的拓补结构相同,只是输入排列顺序不同),依旧与传输管逻辑一样存在噪声容限和静态功耗的问题
优点:
缺点:成为有比电路。当节点 X 由高至低的翻转瞬间,
方法2:使用零阈值的NMOS可以消除电压损失
方法3:使用传输门,可以提供电源轨线至地轨线电压全摆幅
NMOS传递强0弱1,PMOS传递强1弱0,
传输门并不是理想开关,本身有一个串联电阻,
需要特别关注传输门链相关的延时。假设所有的传输门链都导通并在输入端加一个阶跃信号,用Elmore延时公式计算
RC 链的延时
延时与n成平方关系,如何解决?加入缓冲器后的链路延时
得到的延时只与开关数
最优的缓冲间隔为
一旦动态门的输出被放电,在下一次预充电操作之前,它不能再次被充电。
在求值期间,门的输入最多只能发生一次跳变。
在求值期间,输出可能处于高阻态(PDN 关闭),状态存储在
逻辑功能仅由 PDN 实现
晶体管数量为
面积比静态互补 CMOS 更小
全摆幅输出(
非比率型(Nonratioed) —— 器件尺寸对电路能否正确工作并不重要(只影响性能)
更快的开关速度
低和高输出电平
功耗应当更好
只消耗动态功耗——没有短路功耗,因为在求值时上拉通路不导通
更低的
从结构上看,每个周期最多只有一次跳变——没有毛刺(glitch)
需要一个预充电时钟
只有当输出在上一个求值阶段被放电(产生1到0的翻转)时,才会在预充电阶段产生0到1的翻转。
动态设计中需要着重考虑信号完整性问题
存储在
输出会稳定到一个中间电压,该电压由上拉网络和下拉网络构成的电阻分压器决定。
一旦输出电压下降到低于扇出逻辑门的开关阈值,输出就会被认为是低电平。
在动态逻辑中需要考虑的另一个重要问题是电荷分享的影响。考虑图 6.59 的电路。在预充电阶段,输出节点被预充至
原先存储在
当
时,如果
直接串联动态门组成多级结构不可行
两个串联的 n 型动态反相器。在预充电阶段(即 CLK = 0),两个反相器的输出都被预充电至
串级问题的出现是由于每一个门的输出(并且也是下一个门的输入)被预充电至 1。这在求值周期开始时(从前往后传递值有延迟)可能造成无意的放电。在预充电期间置所有的输入为 0 可以解决这个问题。
多米诺逻辑模块:一个 n 型动态逻辑块 + 一个静态反相器
在预充电期间,n 型动态门的输出被充电至
在求值期间动态门有条件地放电,而反相器则有条件地完成 0→1 的翻转。
如果假设一个多米诺门的所有输入是其他多米诺门的输出,那么就能保证在预充电阶段结束时所有的输入都置 0,因而在求值期间的唯一翻转就是 0→1 的翻转。因此它符合前面所述的规则。
在预充电期间,所有的输入都置为 0。在求值期间,第一个多米诺块的输出或者停留在 0 或者从 0→1 翻转,从而影响第二个门。(第2个门只有在第1个门放完电后才开始受到影响)这一影响可以在整个多米诺链上传播,一个接着一个,有如一条崩塌的多米诺骨牌线,多米诺逻辑由此而得名。
特点:
由于每一个动态门都有一个静态反相器,因此它只能实现非反相逻辑。
可以达到非常高的速度,只存在上升沿的延时,而
由于在预充电期间多米诺门的输入在低电平,因此可以考虑 取消求值晶体管。
好处:减少时钟负载并提高下拉的驱动能力
坏处:延长预充电周期——预充电现在也必须通过这一逻辑网络传播
如果在求值期间原始输入
在时钟下降沿预充电操作开始,进一步假设
差分(双轨)多米诺——解决了非反相逻辑的问题
逻辑功能仅由 PDN 实现,只需要
面积应比静态互补 CMOS 更小
全摆幅输出(
更快的开关速度:输入电容减小(因为连接到漏极输出端的晶体管更少),以及
需要反相器
需要预充电时钟
必须考虑:设计难易度、鲁棒性(抗噪声能力)、面积、速度、功耗、系统时钟要求、扇出、功能性以及测试难易度。
当前趋势是更多地使用互补静态 CMOS:通过 DA 工具获得设计支持,鲁棒性更好,并且更适合电压缩放。
静态互补 CMOS 结合了对偶的下拉网络和上拉网络。CMOS 门的性能强烈依赖于扇入,也与扇出有关。
有比逻辑由一个有源下拉网络和一个负载器件组成。
传输晶体管逻辑将逻辑门实现为一个简单的开关网络。对于仅使用 NMOS 的 PT,其静态功耗和较小噪声容限问题可以通过电平恢复和传输门来解决。
动态逻辑:一种两相方案,由预充电阶段和后续的求值阶段组成。