Altifigence Academy

19 / 63 · 概念

记忆的起点:反馈与 SR、D 锁存器

理解交叉耦合的两个稳定状态,解释 SR 禁止输入与 D 锁存器的透明区间。

不能仅由当前输入解释的输出

若要记住开关曾被短暂按下,即使松开后仍保留这一事实,就需要状态。组合电路的输出只由当前输入决定,而存储电路的下一结果也受先前状态影响。

由两个 NOR 交叉耦合构成的高有效 SR 锁存器锁存器 控制信号有效期间跟随输入,无效时保持数值的存储元件。它不同于只在边沿存储的触发器。满足以下关系。

Q=R+Q‾‾,Q‾=S+Q‾Q=\overline{R+\overline Q},\qquad \overline Q=\overline{S+Q}

当 S=R=0 时,(Q,Q̅)=(1,0) 与 (0,1) 都是稳定解,反馈维持此前选定的状态。但即使表达式写作 Q̅,在禁止条件下,实际输出也可能并非 Q 的补值。

SR稳定后的 Q含义
00原来的 Q保持
101置位
010复位
11两个 NOR 输出均为 0正常工作中不使用的条件

同时撤销 S=R=1 时,仅靠数字真值表真值表 完整列出所有可能输入组合及每种组合输出的表格。随时间的变化需要另行通过波形检查。了解更多无法保证最终停在哪个状态。这里“禁止”并不意味着该输入位串不可能存在,而是它无法保证所需存储行为,因此设计中应避免。由 NAND 构成的低有效active-low 信号为 0 时,请求或功能有效的约定。名称末尾的 _n 是常见命名惯例,实际行为仍由规格决定。了解更多 SR 锁存器,其输入极性与禁止组合不同。

D 锁存器将数据与使能分开

在理想模型中,D 锁存器的正常功能为:enable=1 时 Q 跟随 D,enable=0 时 Q 保持原值。

Q+={DE=1QE=0Q^{+}=\begin{cases}D & E=1\\ Q & E=0\end{cases}

可通过 S=EDS=ED、R=ED‾R=E\overline D 与 SR 行为联系起来理解。但用具有实际延迟的任意逻辑门拼接出安全锁存器是另一个问题,还必须满足数据转换与使能结束时的时序条件。

将 CLK 视为 enable,检查 D 锁存器的透明区间

假设两个 q 初始均为 0。D 锁存器在 CLK=1 时跟随 D,在 CLK=0 时保持;D 触发器只在 CLK 从 0→1 时存储 D。

在图中左侧锁存器里,把 CLK 视为 E。保持 CLK=1 并多次改变 D,Q 也会持续变化。CLK 降到 0 后,即使 D 改变,Q 也保持不变。右侧触发器触发器 在指定时钟边沿存储输入,并保持到下一边沿的元件。输入必须满足 setup、hold 条件。了解更多将在下一课比较。

并非所有反馈都能构成存储元件

将一个反相器取反 将 0 变为 1、1 变为 0 的 NOT 运算。表达式上方的横线表示对其覆盖的整个表达式应用 NOT。了解更多的输出接回自身输入,并不会得到有效的一位存储器,因为 Q=Q‾Q=\overline Q 没有 0/1 解。存储元件必须具备稳定状态、输入控制和时序条件。

延伸阅读:MIT OpenCourseWare — Sequential Logic

自己试试

一个初始 Q=0 的高电平有效 D 锁存器,依次接收 (E,D)=(0,1)→(1,1)→(1,0)→(0,0)→(0,1)。各阶段稳定后的 Q 是什么?

阅读解释

依次为 0→1→0→0→0。在 E=1 的两个阶段跟随 D;最后的 D=1 因 E=0 而未被存储。该计算描述的是满足时序条件的理想行为。

你的选择适用于此浏览器,可随时在页脚更改。