第 11 章 从反馈到存储:锁存器
1. 本章要解决的问题
前十章的电路都有一个共同特点:输入稳定后,输出由当前输入唯一决定。这样的电路能计算,却不能记住过去。
本章要回答五个问题:
- 一组逻辑门怎样保存一位信息?
- 反馈为什么能让电路具有两个稳定状态?
- SR 锁存器怎样执行置位、复位和保持?
- 为什么 SR 锁存器存在禁止输入组合?
- D 锁存器怎样用一个数据端避免正常使用中的禁止组合?
2. 与第 10 章的联系
第 10 章讨论组合逻辑的传播延迟:输入变化后,信号沿路径传播,输出经过暂态后稳定。锁存器也由有延迟的逻辑门构成,但它把输出送回输入,形成反馈环路。环路中的旧输出会继续影响新输出,于是“历史”进入了电路行为。
组合逻辑常写成
\[ Y=F(X), \]
其中 \(X\) 是当前输入。具有状态的时序逻辑需要写成
\[ Q^{+}=F(X,Q), \]
\(Q\) 是当前保存的状态,\(Q^{+}\) 是输入作用并稳定后的下一状态。即使当前输入相同,只要原来的 \(Q\) 不同,下一状态或输出就可能不同。
3. 前置知识快速检查
- 反相器输入为 0 或 1 时,稳定输出分别是什么?
- 组合逻辑输出为什么不会在输入变化的同一时刻完成变化?
- NOR 门和 NAND 门分别在什么输入条件下输出 1 和 0?
- “有效低”信号的命名和有效状态是什么?
参考答案:
- 输入 0 时输出 1,输入 1 时输出 0。
- 门具有传播延迟,节点还要给负载电容充放电。
- NOR 仅在全部输入为 0 时输出 1;NAND 仅在全部输入为 1 时输出 0。
- 本书使用后缀
_n表示有效低;信号为 0 时执行命名动作。
若第 1、2 题不熟悉,先回看第 3 章和第 4 章;若第 3、4 题不熟悉,回看第 5 章和第 8 章。
4. 学习目标
学完本章后,你应能:
- 用“当前输入加当前状态”解释时序逻辑;
- 说明反馈怎样形成双稳态;
- 画出 NOR 型和 NAND 型 SR 锁存器并写出状态表;
- 根据输入序列逐步判断 \(Q\) 与 \(\overline Q\);
- 解释禁止输入组合及其释放风险;
- 画出高电平有效 D 锁存器的门级结构;
- 区分透明期、保持期和边沿触发;
- 根据 \(D\)、\(EN\) 波形画出锁存器输出;
- 说明锁存器在集成电路中的基本用途和使用风险。
5. 组合逻辑为什么记不住
设一个 2 选 1 MUX 当前输入为 \(D_0=0\)、\(D_1=1\)、\(S=0\)。无论一秒前发生过什么,它的稳定输出都由当前条件决定:\(Y=D_0=0\)。只要当前输入完全相同,稳定输出也完全相同。
存储元件不同。图 11-1 给出两段历史:当前外部控制输入都处于“保持”,但第一段历史曾把状态写成 1,第二段历史曾把状态写成 0,因此当前输出不同。
图 11-1 组合逻辑由当前输入唯一决定;存储元件在保持条件下延续先前状态
状态(state)是电路对过去信息的内部保存。一个能保存 1 bit 的元件至少需要两个可区分的稳定状态,分别代表逻辑 0 和逻辑 1。
6. 反馈把输出重新变成输入
反馈(feedback)是把电路输出的一部分送回前级输入。对纯前向组合逻辑,沿信号方向走一遍会到达输出;加入反馈后,沿路径可能回到原节点,形成环路。
最基础的存储直觉来自两个交叉耦合反相器:第一个反相器的输出连接第二个反相器的输入,第二个反相器的输出又连接第一个反相器的输入。两个内部节点记作 \(Q\) 和 \(\overline Q\)。
观察图 11-2 的两个稳定状态。若 \(Q=1\),另一节点被反相为 0;这个 0 又支持 \(Q=1\)。若 \(Q=0\),同样的反馈关系支持另一组状态。每个状态都通过环路强化自己。
图 11-2 两个交叉耦合反相器形成双稳态,\(Q=1\) 与 \(Q=0\) 都能自我维持
具有两个稳定状态的性质称为双稳态(bistability)。数字存储正是用两个稳定的电压状态代表 0 和 1。这里仍然遵守模拟电路规律:节点电压、器件增益、噪声和传播延迟决定电路怎样从中间状态走向某个稳定状态;门级模型只保留最终逻辑关系。
两个交叉耦合反相器能够保持状态,却缺少方便、受控的写入端。SR 锁存器在反馈环路上加入置位和复位输入,让外部信号能够选择稳定状态。
7. NOR 型 SR 锁存器:高有效置位与复位
SR 锁存器(set-reset latch)由两个交叉耦合逻辑门构成。先看由 NOR 门构成的高有效版本。输入 \(S\) 表示置位(set),输入 \(R\) 表示复位(reset):
- \(S=1\) 请求把 \(Q\) 置为 1;
- \(R=1\) 请求把 \(Q\) 复位为 0;
- \(S=R=0\) 时不再强迫新状态,反馈维持原值。
采用图 11-3 的连接定义:
\[ Q=\overline{R+\overline Q}, \]
\[ \overline Q=\overline{S+Q}. \]
图 11-3 高有效 NOR 型 SR 锁存器的交叉耦合结构、输入动作和稳定状态表
状态表如下。
| \(S\) | \(R\) | \(Q^{+}\) | 动作 |
|---|---|---|---|
| 0 | 0 | \(Q\) | 保持 |
| 1 | 0 | 1 | 置位 |
| 0 | 1 | 0 | 复位 |
| 1 | 1 | 禁止 | 两个输出同时被压为 0 |
表中的 \(Q\) 表示当前状态,\(Q^{+}\) 表示输入传播并稳定后的状态。前三行有效时,下一状态可以写成特征方程:
\[ Q^{+}=S+\overline{R}\,Q,\qquad SR=0. \]
条件 \(SR=0\) 表示 \(S\) 与 \(R\) 不能同时为 1。这个方程的作用是压缩有效状态表:\(S=1\) 时直接置位;\(S=0,R=0\) 时保留 \(Q\);\(R=1\) 时清零。
立即检查
若当前 \(Q=0\),先施加 \(S=1,R=0\),再回到 \(S=R=0\),最终 \(Q\) 是多少?
答案是 1。置位阶段把 \(Q\) 写成 1,回到保持输入后,反馈继续维持这个状态。
8. 置位过程不是“查表瞬移”
以初始 \(Q=0,\overline Q=1\) 为例,施加 \(S=1,R=0\):
- 下方 NOR 门看到 \(S=1\),经过传播延迟后把 \(\overline Q\) 拉到 0;
- 上方 NOR 门看到 \(R=0\) 且反馈 \(\overline Q=0\),再经过传播延迟后把 \(Q\) 拉到 1;
- \(Q=1\) 又通过反馈确保 \(\overline Q=0\);
- 即使 \(S\) 回到 0,两个节点仍停留在 \(Q=1,\overline Q=0\)。
因此,“锁存”不是抽象符号凭空保存数据,而是两个有增益、带延迟的门持续相互驱动。只要电源存在且反馈环路正常,状态就能维持。
9. 禁止输入为什么危险
NOR 型 SR 锁存器在 \(S=R=1\) 时,两个 NOR 输出都被强制为 0,因而 \(Q=\overline Q=0\)。这破坏了正常状态下两者互补的关系。
真正的风险出现在 \(S\) 和 \(R\) 从 1 返回 0 时。如果两路控制并非严格同时释放,或者两个门的实际延迟略有差别,一侧会先取得优势,反馈随后把电路推向对应稳定状态。最终可能得到 \(Q=1\),也可能得到 \(Q=0\)。
图 11-4 把“同时禁止”与“释放后的竞争”分开画出。门级数字图中的同时变化只是理想描述;实际电路总有微小失配和噪声。
图 11-4 NOR 型 SR 锁存器进入禁止状态后,释放次序和内部延迟决定最终落入哪个稳定状态
若两个内部节点在一段时间内都没有迅速落入合法高低电平,电路可能经历亚稳态的直观情形。第 15 章会正式讨论亚稳态、恢复过程和同步器。本章只需记住:禁止组合不能用来可靠地“随机选择”一个状态。
10. NAND 型 SR 锁存器:输入有效电平相反
把两个 NOR 门换成交叉耦合 NAND 门,可得到低有效 SR 锁存器。输入写作 \(S_n\) 和 \(R_n\):
- \(S_n=0\) 时置位;
- \(R_n=0\) 时复位;
- \(S_n=R_n=1\) 时保持;
- \(S_n=R_n=0\) 为禁止组合,此时两个输出都被强制为 1。
| \(S_n\) | \(R_n\) | \(Q^{+}\) | 动作 |
|---|---|---|---|
| 1 | 1 | \(Q\) | 保持 |
| 0 | 1 | 1 | 置位 |
| 1 | 0 | 0 | 复位 |
| 0 | 0 | 禁止 | 两个输出同时为 1 |
高有效 NOR 型与低有效 NAND
型不能只靠门的外形区分,还要看输入名、有效电平和状态表。看到下划线、上划线或
_n 后缀时,先翻译成一句动作语言,例如“\(R_n=0\) 才执行复位”。
11. 从 SR 到 D:让两个控制请求不再冲突
SR 锁存器给了外部两个动作输入,但普通数据存储更希望只有一个数据端:写 1 时置位,写 0 时复位。D 锁存器(data latch)使用数据 \(D\) 和使能 \(EN\),内部生成互斥的置位与复位请求:
\[ S=EN\cdot D, \]
\[ R=EN\cdot\overline D. \]
因为 \(D\) 与 \(\overline D\) 不会在稳定条件下同时为 1,所以 \(S\) 与 \(R\) 不会同时为 1。图 11-5 展示了高电平有效 D 锁存器的逻辑关系。
图 11-5 使能与数据生成互斥的置位/复位请求,使 NOR 型 SR 锁存器成为 D 锁存器
它的状态表很短:
| \(EN\) | \(D\) | \(Q^{+}\) | 动作 |
|---|---|---|---|
| 0 | 0 或 1 | \(Q\) | 保持 |
| 1 | 0 | 0 | 写入 0 |
| 1 | 1 | 1 | 写入 1 |
对应的特征方程为
\[ Q^{+}=EN\cdot D+\overline{EN}\cdot Q. \]
这个方程与 2 选 1 MUX 完全同形:\(EN=1\) 时选择新数据 \(D\),\(EN=0\) 时选择反馈回来的旧状态 \(Q\)。因此 D 锁存器也可以理解为“输入数据与反馈状态之间的受控选择”。
12. 透明期与保持期
对高电平有效 D 锁存器:
- \(EN=1\) 称为透明期(transparent phase)。\(D\) 的变化经过内部传播延迟后出现在 \(Q\);
- \(EN=0\) 称为保持期(hold phase)。数据通路关闭,反馈维持原状态。
“透明”不等于零延迟。只要 \(EN=1\),\(Q\) 会跟随 \(D\),但每次变化都要穿过实际门或传输结构。图 11-6 中,阴影区表示透明期,白色区表示保持期。
图 11-6 高电平有效 D 锁存器在 \(EN=1\) 时跟随 \(D\),在 \(EN=0\) 时保持关闭前写入的状态
锁存器关闭前,\(D\) 需要提前稳定一小段时间;关闭后也需要继续稳定一小段时间,才能可靠保存预期值。这两段要求分别对应建立时间和保持时间,第 14 章会给出正式定义和时序检查方法。
13. 锁存器不是边沿触发器
高电平有效 D 锁存器在整个 \(EN=1\) 区间都允许数据穿过,属于电平敏感(level-sensitive)存储元件。边沿触发器只在特定时钟边沿附近采样数据,第 12 章会详细讨论。
一个常见误读是:看到 \(EN\) 上升沿,就认为锁存器只在那个瞬间读取一次 \(D\)。实际情况是,只要 \(EN\) 继续保持 1,后续 \(D\) 变化仍会传播到 \(Q\)。直到 \(EN\) 变为 0,状态才被关在反馈环路中。
如果多个同相有效的锁存器串联,并且它们同时处于透明期,数据可能连续穿过多级,这称为穿透或竞赛式传播风险。基础同步系统常通过不重叠相位、主从结构或边沿触发器控制这种行为。
14. 门级模型与晶体管实现之间的连接
本章主要使用门级模型,因为当前任务是理解状态和控制关系。落到 CMOS 电路时,锁存器仍由晶体管、内部节点电容和反馈增益构成。
常见 D 锁存器可以使用传输门和交叉耦合反相器实现:
- 透明期打开输入传输门,让 \(D\) 驱动内部节点;
- 保持期关闭输入通路并接通反馈通路,让反相器环维持状态;
- 互补时钟控制两个传输门,避免输入通路与反馈通路处于错误状态。
这与第 2 章传输门和第 3 章反相器形成直接连接。实际单元还要检查内部竞争、短路电流、时钟负载、数据建立/保持窗口和 PVT 条件。
15. 完整例题
例题 1:证明当前输入相同仍可得到不同输出
有两个相同的 NOR 型 SR 锁存器,当前都满足 \(S=R=0\)。锁存器甲此前执行过置位,锁存器乙此前执行过复位。求当前输出。
分析: \(S=R=0\) 是保持条件,不指定新值。
- 甲此前置位,所以 \(Q_A=1\);
- 乙此前复位,所以 \(Q_B=0\)。
两个电路当前外部输入相同,输出却不同,这正是内部状态的含义。
变式: 若这是两个组合 NOR 门且当前输入相同,它们的稳定输出不会保留这种历史差异。
例题 2:逐步分析 NOR 型 SR 输入序列
初始 \(Q=0\),依次施加:
| 阶段 | \(S\) | \(R\) |
|---|---|---|
| 1 | 0 | 0 |
| 2 | 1 | 0 |
| 3 | 0 | 0 |
| 4 | 0 | 1 |
| 5 | 0 | 0 |
逐行判断:
- 保持初值,\(Q=0\);
- 置位,\(Q=1\);
- 保持刚写入的 1,\(Q=1\);
- 复位,\(Q=0\);
- 保持 0,\(Q=0\)。
输出序列为 0, 1, 1, 0, 0。
变式: 若阶段 2 的 \(S=1\) 脉冲短于锁存器的最小有效脉冲宽度,实际电路不一定完成可靠置位。
例题 3:翻译低有效 NAND 型 SR 输入
初始 \(Q=0\),输入从 \((S_n,R_n)=(1,1)\) 变为 \((0,1)\),随后回到 \((1,1)\)。
先按有效电平翻译:\(S_n=0\) 表示执行置位。因此第二阶段得到 \(Q=1\);回到 \((1,1)\) 后进入保持,最终仍为 1。
变式: \((S_n,R_n)=(1,0)\) 执行复位;\((0,0)\) 不是“同时置位和复位后取平均”,而是禁止组合。
例题 4:从状态表推导 D 锁存器方程
高电平有效 D 锁存器有两种工作模式:
- \(EN=1\) 时,\(Q^{+}=D\);
- \(EN=0\) 时,\(Q^{+}=Q\)。
把 \(EN\) 当作 2 选 1 MUX 的选择信号:
\[ Q^{+}=EN\cdot D+\overline{EN}\cdot Q. \]
第一项只在透明期把 \(D\) 送入,第二项只在保持期选择旧状态。
变式: 若设计为低电平透明,只需交换选择条件:\(Q^{+}=\overline{EN}D+EN\cdot Q\)。
例题 5:带传播延迟判断 D 锁存器输出
一个高电平有效 D 锁存器初始 \(Q=0\),数据到输出传播延迟按 20 ps 计算:
- \(EN\) 在 0~90 ps 为 1,之后为 0;
- \(D\) 在 50 ps 从 0 变为 1;
- \(D\) 在 110 ps 从 1 变为 0。
在透明期内,50 ps 的数据变化经过 20 ps 后到达 \(Q\),所以 \(Q\) 在约 70 ps 变为 1。90 ps 时锁存器关闭并保存 1。110 ps 的数据变化发生在保持期,不传播到 \(Q\),因此 \(Q\) 继续为 1。
变式: 若 \(EN\) 一直保持 1,110 ps 的变化会在约 130 ps 使 \(Q\) 变为 0。
16. 常见误区与反例
误区 1:\(Q\) 与 \(\overline Q\) 在任何输入下都必然互补
在合法稳定状态下它们互补。NOR 型 \(S=R=1\) 时两者都为 0;NAND 型 \(S_n=R_n=0\) 时两者都为 1。
误区 2:保持等于输出固定为 0
保持的含义是延续原状态。原来是 1 就继续为 1,原来是 0 就继续为 0。
误区 3:低有效输入为 1 时执行动作
低有效意味着 0 才有效。\(R_n=0\) 执行复位,\(R_n=1\) 表示复位请求未激活。
误区 4:D 锁存器在使能上升沿采样一次
高电平有效 D 锁存器在整个 \(EN=1\) 区间透明,不只响应上升沿。
误区 5:D 锁存器内部绝不会出现任何瞬态
\(D\) 与 \(\overline D\) 由实际反相器产生,内部路径具有延迟。正确门级或晶体管级设计利用结构和时序条件保证外部功能,不能把理想互补关系误解为物理上的同时翻转。
误区 6:禁止输入释放后一定回到原状态
释放时两条反馈路径竞争,最终状态取决于微小延迟、失配和噪声,不能依赖它恢复到指定值。
17. 工程中的实际意义
锁存器是理解时序电路的第一块基石。它说明数字系统中的“记忆”来自受控反馈,而不是来自抽象变量本身。
在实际数字 IC 中,锁存结构用于:
- 构成边沿触发器和寄存器;
- 在锁存器流水线中保存阶段数据;
- 构成部分时钟门控单元,避免使能信号在时钟高电平期间产生毛刺;
- 形成 SRAM 单元和其他双稳态存储结构的基础直觉;
- 保存控制状态、有效位和接口状态。
不同用途会选择不同晶体管结构,但都要回答同一组问题:何时允许新数据进入,何时关闭输入并保持,禁止或违例条件怎样处理,输出何时稳定。
18. 本章知识链
组合逻辑只看当前输入
↓ 加入反馈
输出参与决定下一状态
↓ 交叉耦合
形成两个可自我维持的稳定状态
↓ 加入 S/R 控制
可以置位、复位和保持
↓ 用 D 与 EN 生成互斥请求
D 锁存器:透明期跟随,保持期记忆
↓
下一章:边沿触发器与寄存器
19. 本章小结
- 时序逻辑的下一状态取决于当前输入和当前状态。
- 反馈把输出送回输入,使过去状态能够继续影响电路。
- 两个交叉耦合反相器具有两个稳定状态,可以保存 1 bit。
- NOR 型 SR 锁存器使用高有效 \(S\)、\(R\);
00保持,10置位,01复位,11禁止。 - NAND 型 SR 锁存器使用低有效 \(S_n\)、\(R_n\);
11保持,01置位,10复位,00禁止。 - 禁止组合破坏正常互补输出,释放时会发生反馈竞争。
- D 锁存器用 \(D\)、\(\overline D\) 生成互斥的置位和复位请求。
- 高电平有效 D 锁存器在 \(EN=1\) 时透明,在 \(EN=0\) 时保持。
- 锁存器是电平敏感元件,不等同于边沿触发器。
- 实际锁存器的可靠写入仍受传播延迟、脉冲宽度、建立时间和保持时间影响。
20. 练习
基础题
- 用一句话区分组合逻辑和具有状态的时序逻辑。
- 什么是反馈?为什么两个交叉耦合反相器可以形成两个稳定状态?
- 写出 NOR 型 SR 锁存器的四行状态表。
- 写出 NAND 型低有效 SR 锁存器的四行状态表。
- NOR 型 SR 锁存器的禁止输入是什么?此时 \(Q\) 与 \(\overline Q\) 分别是什么?
- NAND 型 SR 锁存器的禁止输入是什么?此时 \(Q\) 与 \(\overline Q\) 分别是什么?
- 对高电平有效 D 锁存器,分别说明 \(EN=1\) 和 \(EN=0\) 时的行为。
分析与计算题
- NOR 型 SR 锁存器初始 \(Q=0\),依次输入
00→10→00→01→00。写出每一步稳定后的 \(Q\)。 - NOR 型 SR 锁存器初始 \(Q=1\),输入一直保持
00。外部输入不变时,为什么 \(Q\) 不会自动回到 0? - NAND 型 SR 锁存器初始 \(Q=1\),依次输入
11→10→11→01→11。写出每一步动作和 \(Q\)。 - 对 NOR 型 SR 锁存器,将 \(S=R=1\) 后同时返回 0。为什么不能根据理想状态表指定最终 \(Q\)?
- 由 \(S=EN\cdot D\)、\(R=EN\cdot\overline D\) 证明稳定输入下不会出现 \(S=R=1\)。
- 使用 2 选 1 MUX 形式解释 \(Q^{+}=EN\cdot D+\overline{EN}\cdot Q\)。
- 高电平有效 D 锁存器初始 \(Q=0\)。\(EN=1\) 时 \(D\) 依次为
0→1→0,随后 \(EN\) 变为 0,最后 \(D\) 变为 1。忽略延迟,写出 \(Q\) 的变化。 - 某高电平有效 D 锁存器数据传播延迟为 25 ps。\(EN\) 在 0~120 ps 为 1,\(D\) 在 40 ps 从 0 变 1,在 150 ps 从 1 变 0。初始 \(Q=0\)。求 \(Q\) 的主要变化时刻和最终值。
综合题
- 某设计者把两个高电平有效 D 锁存器串联,并让它们使用同一个 \(EN\)。说明 \(EN=1\) 时可能发生什么,为什么不能把这组结构直接当作两个独立的边沿采样级。
- 一个控制信号名为
reset_n。有人把它接到 NAND 型 SR 锁存器的 \(R_n\),却在reset_n=1时期待复位。指出错误并写出正确动作。 - 比较 NOR 型 SR、NAND 型 SR 和高电平有效 D 锁存器的输入有效电平、保持条件、禁止条件与主要用途。
21. 练习答案
展开第 11 章练习答案
题 1
组合逻辑的稳定输出由当前输入唯一决定;时序逻辑的行为还取决于内部保存的当前状态,因此同一当前输入可以对应不同输出。
题 2
反馈把输出信号送回前级输入。两个反相器交叉耦合后,\(Q=1,\overline Q=0\) 会互相支持,\(Q=0,\overline Q=1\) 也会互相支持,因此形成两个稳定状态。
题 3
| \(S\) | \(R\) | \(Q^{+}\) | 动作 |
|---|---|---|---|
| 0 | 0 | \(Q\) | 保持 |
| 1 | 0 | 1 | 置位 |
| 0 | 1 | 0 | 复位 |
| 1 | 1 | 禁止 | \(Q=\overline Q=0\) |
题 4
| \(S_n\) | \(R_n\) | \(Q^{+}\) | 动作 |
|---|---|---|---|
| 1 | 1 | \(Q\) | 保持 |
| 0 | 1 | 1 | 置位 |
| 1 | 0 | 0 | 复位 |
| 0 | 0 | 禁止 | \(Q=\overline Q=1\) |
题 5
禁止输入为 \(S=R=1\)。两个 NOR 门都因至少一个输入为 1 而输出 0,所以 \(Q=\overline Q=0\)。
题 6
禁止输入为 \(S_n=R_n=0\)。两个 NAND 门都因至少一个输入为 0 而输出 1,所以 \(Q=\overline Q=1\)。
题 7
\(EN=1\) 时锁存器透明,\(Q\) 在传播延迟后跟随 \(D\);\(EN=0\) 时输入写入通路关闭,反馈保持原来的 \(Q\)。
题 8
从初值开始逐步得到:
| 输入 \(SR\) | 动作 | \(Q\) |
|---|---|---|
00 |
保持 | 0 |
10 |
置位 | 1 |
00 |
保持 | 1 |
01 |
复位 | 0 |
00 |
保持 | 0 |
因此序列为 0,1,1,0,0。
题 9
00 没有强制置位或复位。当前 \(Q=1,\overline Q=0\)
通过交叉耦合反馈互相支持,只要电源和反馈环路存在,状态就继续保持。
题 10
| 输入 \(S_nR_n\) | 动作 | \(Q\) |
|---|---|---|
11 |
保持 | 1 |
10 |
复位 | 0 |
11 |
保持 | 0 |
01 |
置位 | 1 |
11 |
保持 | 1 |
题 11
\(S=R=1\) 时两个输出都为 0。返回
00
后,两侧都试图通过反馈把对方推向相反状态。实际门延迟、器件失配、释放次序和噪声决定哪一侧先占优势,理想状态表没有包含这些模拟细节,因此不能指定最终
\(Q\)。
题 12
\[ SR=(EN\cdot D)(EN\cdot\overline D)=EN\cdot D\cdot\overline D=0. \]
稳定布尔输入下 \(D\cdot\overline D=0\),所以 \(S\) 与 \(R\) 不会同时为 1。
题 13
把 \(EN\) 当作 MUX 选择端:\(EN=1\) 时第一项有效,选择新数据 \(D\);\(EN=0\) 时第二项有效,选择反馈状态 \(Q\)。因此同一个方程同时表达透明和保持。
题 14
\(EN=1\) 时,\(Q\) 跟随 \(D\),因此依次为 0→1→0。随后
\(EN=0\),锁存器保存 0;最后 \(D\) 变为 1 也不会改变 \(Q\)。最终 \(Q=0\)。
题 15
\(D\) 在 40 ps 变为 1 时锁存器透明,经过 25 ps 后,\(Q\) 在约 65 ps 变为 1。120 ps 时 \(EN\) 关闭,保存 1。150 ps 的 \(D\) 下降发生在保持期,不传播到输出。最终 \(Q=1\)。
题 16
两个锁存器在 \(EN=1\) 时同时透明。第一级的输入变化可以经过第一级传播到其中间输出,再继续穿过第二级,使数据在一个透明窗口内跨越两级。这种穿透行为不同于两个独立边沿各采样一次,不能仅靠串联框图假定形成两级离散状态。
题 17
错误在于忽略了 _n 的低有效含义。reset_n=0
才表示复位请求有效,应使 \(R_n=0\),把
\(Q\) 复位为 0;`reset_n=1$
表示释放复位。
题 18
| 类型 | 有效输入 | 保持条件 | 禁止条件 | 主要用途 |
|---|---|---|---|---|
| NOR 型 SR | \(S,R\) 高有效 | 00 |
11 |
直接置位/复位控制和基础反馈分析 |
| NAND 型 SR | \(S_n,R_n\) 低有效 | 11 |
00 |
低有效控制接口和基础反馈分析 |
| 高电平有效 D | \(EN=1\) 时接收 \(D\) | \(EN=0\) | 正常稳定使用下无 SR 禁止组合 | 受使能控制地保存一位数据 |
22. 自测清单
若第 3~7 项不稳定,重新画图 11-3 和图 11-4,并对每种输入先判断哪个门被外部信号强制,再沿反馈路径判断另一侧。若第 8~11 项不稳定,遮住图 11-6 的 \(Q\) 波形,只根据 \(EN\) 的透明区间重新绘制。
23. 下一章衔接
D 锁存器解决了“在某个电平区间允许写入、其余时间保持”的问题。下一章《触发器与寄存器》会进一步把采样集中到时钟边沿,并把多个一位存储元件并联成多 bit 寄存器。届时将正式比较锁存器、边沿触发器、使能寄存器以及同步/异步复位的时序行为。