贵州电子信息职业技术学院实训中心电工电子与控制 · 虚拟仿真

基础 D 锁存器

带数据输入和使能输入的简单 D 锁存器。初步学习数字存储和透明锁存器的工作方式。

交互式仿真

本地工程状态

原作者完整工程已本地恢复;实际验证范围见交付清单。原远程交互电路已停用。

载入 H18 基础 D 锁存器 的本机副本。载入前会确认当前工程的保存选择。

学习目标

  • 认识 D 锁存器是一种单数据输入存储元件。
  • 理解 D 锁存器如何消除 SR 锁存器的非法输入状态。
  • 区分透明模式(enable = 1,Q 跟随 D)与保持模式(enable = 0,Q 保持不变)。
  • 建立 D 锁存器结构与其底层 SR 锁存器之间的联系。
  • 识别 D 锁存器是构成寄存器的基本单元。

工作原理

该电路包含两个输入开关、一个封装式 D 锁存器和两个输出指示灯。Data 开关驱动 D,Enable(使能) 开关驱动锁存器的电平敏感使能输入。两个指示灯分别显示 Q 和 ¬Q。

Enable = 1 时,锁存器处于透明模式:经过传播延迟后,Q 跟随 D。Enable = 0 时,锁存器处于保持模式:D 的变化不会改变 Q,先前捕获的位继续存储。其特征方程为 Qnext = Enable·D + ¬Enable·Q。

在 Enable 有效期间,常规门控 D 锁存器根据 D 和 ¬D 生成互斥的置位与复位控制信号,从而避免基本高电平有效 SR 锁存器中置位与复位同时有效的情况。封装式元件呈现所得行为,而不显示内部门电路。

由于锁存器为电平敏感器件,它可能在整个使能区间内响应 D 的每次跳变。边沿触发 D 触发器通过附加时序结构,使采样仅发生在时钟边沿。锁存器或触发器阵列可构成多位寄存器。

真值表

Qprev 是求值前存储的状态。Enable=0 时,无论 D 为何值都保持 Qprev;Enable=1 时,Qnext 等于 D。

输入输出
EDQprevQ¬Q
00001保持 0;Enable 为低电平时忽略同为低电平的 D。
00110保持 1;Enable 为低电平时忽略处于低电平的 D。
01001保持 0;Enable 为低电平时忽略处于高电平的 D。
01110保持 1;Enable 为低电平时忽略处于高电平的 D。
10001透明模式捕获 D=0,并将 Q 清零。
10101透明模式下,由于 D=0,Q 保持低电平。
11010透明模式捕获 D=1,并将 Q 置 1。
11110透明模式下,由于 D=1,Q 保持高电平。

布尔表达式

Qnext=E⋅D+E‾⋅QQ_{next} = E \cdot D + \overline{E} \cdot Q

Enable 为高电平时,D 项决定次态;Enable 为低电平时,反馈项保持当前 Q 值。

逐步尝试

在上方嵌入式电路中设置输入,然后阅读预期结果并验证。

  1. 1
    D = 0Enable = 1
    预期: Q = 0,¬Q = 1
    观察结果: Enable 为高电平、D 为低电平时,透明锁存器将 Q 清零并使 ¬Q 有效。
  2. 2
    D = 1Enable = 1
    预期: Q = 1,¬Q = 0
    观察结果: 保持 Enable 为高电平并将 D 置为高电平,Q 跟随 D 变为高电平。
  3. 3
    D = 0Enable = 0
    预期: Q 保持为 1,¬Q 保持为 0
    观察结果: 将 Enable 置为低电平,再使 D 返回低电平。Q 仍保持高电平,体现存储状态而非缓冲器行为。
  4. 4
    D = 0Enable = 1
    预期: Q = 0,¬Q = 1
    观察结果: D 为低电平时重新使 Enable 有效,锁存器再次进入透明模式并将 Q 清零。

所用元件

实际应用

译码器输出锁存。 地址译码器有时会锁存输出,避免带毛刺的地址跳变传播为多个片选脉冲。

处理器流水级。 早期流水线 CPU(中央处理器) 使用级间 D 锁存器保持下一时钟阶段所需的值;现代 CPU 更常使用边沿触发器。

配置寄存器存储。 初始化期间设置的配置位可使用 D 锁存器,并以一次性使能脉冲固定其值。

外设数据保持。 若外设输出总线每周期读取一次,可将总线选通信号作为使能,使用 D 锁存器保持数据。

教学过渡。 D 锁存器内部结构较为简单,通常先于 D 触发器讲授;理解透明模式与保持模式后,即可进一步理解边沿触发。

常见问题

Enable 是否等同于时钟边沿?

Enable 是电平敏感的门控信号,而非边沿触发时钟。Enable 为高电平期间,Q 可在整个使能区间内跟随 D 的变化;Enable 变为低电平后,锁存器保持最后捕获的值。边沿触发 D 触发器则仅在时钟跳变时采样。

该结构如何消除 SR 锁存器的非法输入状态?

D 输入及其反相信号 (D, ¬D) 构成底层的 S 与 R。由于 S = D、R = ¬D,两者始终互补,不会同时为高电平。因此,从结构上无法到达非法输入状态 S=R=1。

D 锁存器与缓冲器在实际行为上有何区别?

Enable 为高电平时,两者都会在传播延迟后传递 D。Enable 为低电平时,该锁存器保留先前的 Q 值,而缓冲器仍会继续跟随输入。能否保持状态是二者的本质区别。

为什么同时提供 Q 和 ¬Q 输出?

这是底层 SR 锁存器对称结构的结果。许多电路需要两种极性的信号,可由此省去外部反相器。教材中也常将 ¬Q 称为 Q-bar 或 Q-prime。

如何将该结构扩展为多位存储?

可并行复制锁存器。N 位寄存器由 N 个 D 锁存器并联构成,所有锁存器共用同一使能信号,且各自独立存储一位。这是构成 CPU 寄存器堆的基本结构之一。

继续学习

先学习这些

进阶课程