跳到主要内容

1.2 锁存器

锁存器是一种具有两个稳定状态的电子逻辑电路,即它是一种双稳态多谐振荡器。锁存器具有反馈路径以保留信息,因此可以作为一种存储设备。只要设备处于通电状态,锁存器就可以存储一位信息。当使能信号被断言时,锁存器会在输入发生变化时立即改变存储的信息,即它们是电平触发的设备。当使能信号处于激活状态时,它会持续采样输入信号。

锁存器电路可以根据触发信号的高电平或低电平而工作于两种状态:高电平有效(Active – High)或低电平有效(Active – Low)。

  • 对于高电平有效的锁存器电路,通常两个输入端均为低电平。电路会在任一输入端出现短暂高电平时被触发。
  • 对于低电平有效的锁存器电路,通常两个输入端均为高电平。电路会在任一输入端出现短暂低电平时被触发。

SR锁存器

我们可以使用静态门作为基本构建模块来构建一个简单的锁存器,通过在NOR门电路中引入反馈,可以用两个NOR门来构建。

以下是一个带有反馈的简单NOR门逻辑电路。

alt text

这里,两个输入S和R均为0(S = R = 0)。第一个NOR门的输出为P = 1。该输出与R = 0一起输入到第二个NOR门,因此第二个门的输出为Q = 0。此时电路处于稳定状态,P = 1且Q = 0。如果我们将S设置为1,则P = 0。这将使Q = 1,如下所示。

alt text

这也是一个稳定状态。如果将S设置为0,则没有变化,因为Q = 1反馈到第一个NOR门,P仍然保持为0。如下图所示。

alt text

如果将R设置为1,则Q变为0,这将使P重新变为1。

alt text

如果将R设置为0,则没有变化,电路回到初始状态。

由于输出不仅取决于当前输入,还取决于过去的输入序列,因此该电路被认为具有存储功能。如果禁止输入条件S = R = 1,则稳定状态的输出始终是互补的。当S和R都等于1时,P = 0且Q = 0,这与互补条件相矛盾。因此,输入条件S = R = 1被认为是不允许的。锁存器电路通常以交叉耦合的形式绘制,以强调门之间的对称性。

alt text

在该电路中,当S = 1时,它将输出Q“置位”为1;当输入R = 1时,它将输出Q“复位”为0。在限制S = R = 1的情况下,该电路被称为置位 - 复位锁存器(SR锁存器)。

alt text

竞态条件

在逻辑电路中,竞态条件指的是“两个输入同时发生变化,从而使输出处于不确定状态”的情况。输入信号相互竞争以改变输出。这种情况通常发生在具有反馈输入的电路中。当设备试图同时执行两个操作(即同时改变两个输入的状态)时,就会出现这种不希望的情况。我们可以通过使用边沿触发或采用主从触发器来避免竞态条件。

SR锁存器的状态转换表(真值表)

状态表类似于组合电路的真值表,它提供了有关电路状态的信息。由于时序电路的输出取决于当前状态和先前状态,因此它们以表格形式表示,称为状态表,它根据当前状态和其他输入显示下一个状态。

SR锁存器的状态表如下所示。

alt text

状态图

除了表格和方程之外,状态机(或系统)还可以通过状态图来表示。在该状态图中,状态由圆圈表示,状态之间的转换由连接圆圈的线或弧表示。简单SR锁存器的状态图如下所示。

alt text

状态图提供了状态表所具有的所有信息。它直接从状态表中获得。

门控S-R锁存器

通常,锁存器是透明的,即当输入发生变化时,输出会立即改变。但在许多应用中,希望有一个隔离期,在此期间即使输入发生变化,输出也不会改变。在这段时间内,输出被认为真正地“锁存”了。通过使用额外的输入(使能、时钟或门控)可以实现这一点。如果未断言使能(或时钟或门控)信号,则忽略输入,输出保持为先前的值。为了使用这个额外的信号,需要添加额外的逻辑。这些电路被称为门控或时钟锁存器。

可以通过以下两种方式构建门控SR锁存器:在SR锁存器中添加第二级与门,或在SR\overline{S}\overline{R}锁存器(反向SR锁存器)中添加第二级与非门。

以下是从NOR门构建的门控SR锁存器的电路图。

alt text

以下是从与非门构建的门控SR锁存器的电路图。

alt text

由于与非门会反转输入,因此SR\overline{S}\overline{R}锁存器变成了门控SR锁存器。

当使能(或时钟)为高电平时,锁存器被认为是使能的,即输出会对输入做出响应。

当使能(或时钟)为低电平时,锁存器被禁用,并保持在该状态下,直到使能信号被断言。

门控SR锁存器的符号如下所示。

alt text

门控SR锁存器的真值表如下所示。

alt text

门控SR锁存器的状态图如下所示。

alt text

D锁存器

数据锁存器或延迟锁存器(D锁存器)是一种简单的锁存器,用于存储数据。它也被称为透明锁存器。可以通过两个与非门构建一个简单的D锁存器。

在SR锁存器中,当S = R = 1时出现的竞态条件可以在D锁存器中避免,因为R输入被替换为反向的S,这被重新命名为D。因此,不存在非法或禁止的输入。在D锁存器中,Q始终等于D。

D锁存器的符号如下所示。

alt text

这些简单的D锁存器并不常用于实际应用,但门控D锁存器却非常常见。简单D锁存器的真值表如下所示。

alt text

门控D锁存器

可以通过修改门控SR锁存器轻松构建一个门控D锁存器。对门控SR锁存器的唯一修改是将R输入改为反向的S。以下是从NOR SR锁存器形成的门控D锁存器。

alt text

当时钟或使能为高电平(逻辑1)时,输出锁存D输入上的内容。当时钟或使能为低电平(逻辑0)时,最后一次使能高电平时的D输入将是输出。

由于单个D输入被反向以提供给两个输入,因此该锁存器电路永远不会出现“竞态”条件。因此,没有相同输入条件的可能性。因此,D锁存器电路可以安全地用于任何电路。

门控D锁存器的符号如下所示。

alt text

与门控NOR SR锁存器类似,也可以从门控NAND SR锁存器构建门控D锁存器。以下是从门控NAND SR锁存器构建的门控D锁存器的电路图。

alt text

由于可以使用与非门来获得反向值,因此可以避免使用反相器。需要对上述电路进行一些修改,最终电路如下所示。

alt text

门控D锁存器的真值表(或状态表)如下所示。

alt text

门控D锁存器的状态图如下所示。

alt text

锁存器的应用

  • 它们是基本的1位存储设备。
  • D锁存器通常用于异步系统的输入/输出端口。
  • 数据锁存器有时用于同步双相系统,以减少晶体管数量。

锁存器的优点

  • 锁存器速度更快,因为它无需等待时钟信号,因此它们常用于高速设计。
  • 它们功耗更低。
  • 基于锁存器的设计具有较小的芯片面积。
  • 锁存器的主要优点是“时间借用”。如果某个操作未能在规定时间内完成,则会从其他操作时间中借用所需的时间来执行该操作。

锁存器的缺点

  • 锁存器的可预测性较差,因为它们更容易受到竞态条件的影响。
  • 锁存器是电平敏感型器件,因此更容易出现亚稳态。
  • 由于锁存器的电平敏感特性,锁存器电路的分析较为困难。