VLSI 设计 - 顺序 MOS 逻辑电路

逻辑电路分为两类 − (a) 组合电路和 (b) 顺序电路。

在组合电路中,输出仅取决于最新输入的条件。

在顺序电路中,输出不仅取决于最新输入,还取决于先前输入的条件。顺序电路包含存储元件。

逻辑电路分类

顺序电路有三种类型 −

双稳态 − 双稳态电路有两个稳定的工作点,将处于任一状态。示例 −存储单元、锁存器、触发器和寄存器。

单稳态 − 单稳态电路只有一个稳定的工作点,即使它们暂时被扰动到相反的状态,它们也会及时返回到其稳定的工作点。示例:定时器、脉冲发生器。

非稳态 − 电路没有稳定的工作点,并且在几个状态之间振荡。示例 −环形振荡器。

CMOS 逻辑电路

基于 NOR 门的 SR 锁存器

Gate Level

如果设置输入 (S) 等于逻辑 "1" 且重置输入等于逻辑 "0"。 则输出 Q 将被强制为逻辑 "1"。而 $\overline{Q}$ 则被强制为逻辑 "0"。这意味着 SR 锁存器将被设置,而不管其先前的状态如何。

类似地,如果 S 等于"0"且 R 等于 "1" 则输出 Q 将被强制为 "0" 而 $\overline{Q}$ 则被强制为 "1"。这意味着锁存器被重置,无论其先前保持的状态如何。最后,如果输入 S 和 R 都等于逻辑 "1",则两个输出都将被强制为逻辑 "0",这与 Q 和 $\overline{Q}$ 的互补性相冲突。

因此,在正常运行期间不允许这种输入组合。表中给出了基于 NOR 的 SR 锁存器的真值表。

S R Q $\overline{Q}$ 操作
0 0 Q $\overline{Q}$ 保持
1 0 1 0 设置
0 1 0 1 重置
1 1 0 0 不允许

下图所示为基于 NOR 门的 CMOS SR 闩锁。

CMOS SR 闩锁

如果 S 等于 VOH,R 等于 VOL,则并联连接的晶体管 M1 和 M2 均将导通。节点$\overline{Q}$上的电压将呈现逻辑低电平VOL = 0。

同时,M3和M4均关闭,导致节点Q上的逻辑高电压VOH。如果R等于VOH且S等于VOL,则M1和M2关闭,M3和M4打开。

基于NAND门的SR锁存器

SR锁存器

图中显示了基于NAND的SR锁存器的框图和门级示意图。S和R输入端的小圆圈表示电路响应低电平有效输入信号。基于 NAND 的 SR 锁存器的真值表如表所示

S R Q Q′
0 0 NC NC 无变化。闩锁保持当前状态。
1 0 1 0 闩锁已设置。
0 1 0 1 闩锁已重置。
1 1 0 0 无效条件。

如果 S 变为 0(而 R = 1),Q 变为高电平,将 $\overline{Q}$ 拉低,锁存器进入设置状态

S = 0 则 Q = 1(如果 R = 1)

如果 R 变为 0(而 S = 1),Q 变为高电平,将 $\overline{Q}$ 拉低,锁存器复位

R = 0 则 Q = 1(如果 S = 1)

保持状态要求 S 和 R 都为高电平。如果 S = R = 0,则不允许输出,因为这会导致不确定的状态。基于 NAND 门的 CMOS SR 锁存器如图所示。

CMOS on NAND gate

基于 NAND 门的耗尽负载 nMOS SR 锁存器如图所示。其操作与 CMOS NAND SR 锁存器类似。CMOS 电路实现具有较低的静态功耗和较高的噪声容限。

CMOS 逻辑电路

时钟 SR 锁存器

该图显示了一个基于 NOR 的 SR 锁存器,其中添加了一个时钟。仅当 CLK 为高电平时,锁存器才会对输入 S 和 R 做出响应。

Clocked SR Latch

当 CLK 为低电平时,锁存器会保持其当前状态。观察 Q 是否改变状态 −

  • 当 S 在正 CLK 期间变为高电平时。
  • 在 CLK 低电平期间 S 和 R 发生变化后,在 CLK 上升沿上。
  • CLK 为高电平时,S 中出现正向毛刺
  • 当 R 在正 CLK 期间变为高电平时。
clocked NOR 的实现

图中显示了基于时钟 NOR 的 SR 锁存器的 CMOS AOI 实现。请注意,只需要 12 个晶体管。

  • 当 CLK 为低时,N 树 N 中的两个串联端子处于打开状态,而树 P 中的两个并联晶体管处于打开状态,从而将状态保留在存储单元中。

  • 当时钟为高时,电路变为简单的基于 NOR 的 CMOS 锁存器,它将响应输入 S 和 R。

基于 NAND 门的时钟 SR 锁存器

based on NAND Gate

电路由四个 NAND 门实现。如果该电路采用 CMOS 实现,则需要 16 个晶体管。

  • 仅当 CLK 为高电平时,锁存器才会对 S 或 R 做出响应。
  • 如果输入信号和 CLK 信号均为高电平有效:即,当 CLK ="1"、S ="1"和 R ="0"时,将设置锁存器输出 Q
  • 类似地,当 CLK ="1"、"S ="0"和
  • 时,将重置锁存器。

当 CLK 为低电平时,锁存器将保持其当前状态。

时钟 JK 锁存器

时钟 JK

上图显示了基于 NAND 门的时钟 JK 锁存器。 SR 锁存器的缺点是,当 S 和 R 都为高电平时,其输出状态变得不确定。JK 锁存器通过使用从输出到输入的反馈来消除此问题,这样真值表的所有输入状态都是允许的。如果 J = K = 0,锁存器将保持其当前状态。

如果 J = 1 且 K = 0,锁存器将在下一个正向时钟沿设置,即 Q = 1,$\overline{Q}$ = 0

如果 J = 0 且 K = 1,锁存器将在下一个正向时钟沿重置,即 Q = 1 且 $\overline{Q}$ = 0。

如果 J = K = 1,锁存器将在下一个正向时钟沿切换

表中给出的真值表总结了时钟 JK 锁存器的操作。

J

K

Q

$\overline{Q}$

S

R

Q

$\overline{Q}$

操作

0 0 0 1 1 1 0 1 Hold
1 0 1 1 1 0
0 1 0 1 1 1 0 1 Reset
1 0 1 0 0 1
1 0 0 1 0 1 1 0 Set
1 0 1 1 1 0
1 1 0 1 0 1 1 0 toggle
1 0 1 0 0 1

CMOS D 锁存器实现

CMOS 门级 CMOS D 锁存器

D 锁存器通常采用传输门 (TG) 开关实现,如图所示。输入 TG 由 CLK 激活,而锁存器反馈环路 TG 由 CLK 激活。当 CLK 为高电平时,输入 D 被接受。当 CLK 变为低电平时,输入开路,锁存器由先前的数据 D 设置。