D锁存器
概述
- 用途:D锁存器(数据锁存器)是一种电平敏感的存储电路,用于存储单个信息位。它通过使用单个数据输入(D)改进了SR锁存器,消除了无效状态,而使能输入控制锁存器何时接受新数据。
- 符号:D锁存器表示为矩形块,具有D(数据)和EN(使能)输入,以及互补输出Q和Q̅。
- DigiSim.io角色:作为数字电路中存储器存储的基本构建块,提供临时数据保持,并演示电平敏感行为(相对于边沿触发操作)。

功能描述
逻辑行为
D锁存器在使能时是透明的,将D输入值传递到Q输出。禁用时,无论D输入如何变化,它都维持(锁存)其最后状态。
真值表:
| 使能(EN) | 数据(D) | Q(次态) | 操作 |
|---|---|---|---|
| 0 | X | Q(前态) | 保持状态 |
| 1 | 0 | 0 | 复位(加载0) |
| 1 | 1 | 1 | 置位(加载1) |
注:X表示"无关"条件,"prev"表示前态
输入和输出
输入:
- D(数据):1位输入,当锁存器使能时提供要存储的值。
- EN(使能):1位控制输入,确定锁存器何时透明(EN=1)或保持(EN=0)。
输出:
- Q:1位输出,表示存储值。
- Q̅:1位互补输出,表示存储值的反相。
可配置参数
- 有效电平:使能输入是高电平有效还是低电平有效。
- 传播延迟:输入或使能变化后输出变化所需的时间。
DigiSim.io中的可视化表示
D锁存器显示为矩形块,左侧有标记的输入(D和EN),右侧有输出(Q和Q̅)。在电路中连接后,该组件通过输出上显示的值和连接线的颜色变化在视觉上指示其当前状态。当使能输入改变状态时,透明或保持行为也在视觉上得到指示。
教育价值
核心概念
- 电平敏感性:演示电路如何响应信号电平而非边沿。
- 透明和锁存:说明透明(直通)和存储(保持)模式的概念。
- 存储器存储:展示数字电路如何临时存储信息。
- 信号时序:介绍数字存储元件中建立时间和保持时间的重要性。
- 数据同步:演示如何在特定时间捕获数据以用于同步目的。
学习目标
- 理解电平敏感锁存器和边沿触发触发器之间的区别。
- 了解使能输入如何控制何时捕获数据与维持数据。
- 认识锁存器中可靠数据捕获的时序考虑。
- 将D锁存器应用于设计简单存储电路和数据保持寄存器。
- 理解锁存器如何在两相时钟方案和透明寄存器中使用。
使用示例
- 数据寄存器:当使能激活时临时存储多位数据值。
- 输入捕获:通过控制使能信号在特定时间采样输入数据。
- 总线接口:在总线传输期间保持地址或数据值稳定。
- 两相时钟:在交替锁存系统中创建流水线级。
- 时间借用:允许操作在流水线系统中跨时钟边界扩展。
- 电平敏感扫描设计:通过创建可控扫描链支持电路测试。
技术说明
- 与边沿触发触发器不同,D锁存器在使能输入有效时随时透明,使时序控制更为关键。
- 使能有效时D输入上的多次转换将导致输出上的多次转换,这可能在某些设计中导致竞争条件。
- 锁存器的"透明窗口"对流水线设计中的时间借用可能有优势,但需要仔细的时序分析。
- D锁存器通常比边沿触发触发器需要更少的逻辑,可能提供更快的操作,但有更多的时序约束。
- 在DigiSim.io中,D锁存器清楚地演示了电平敏感和边沿触发行为之间的区别,这是数字设计中的重要概念。
特性
- 存储属性:
- 存储使能从高到低转换时D输入处的值
- 使能为高时透明(电平敏感)
- 传播延迟:
- 数据到Q的延迟(使能时):通常5-15ns(取决于技术)
- 使能到输出的延迟:通常5-15ns(取决于技术)
- 建立和保持时间:
- 建立时间:使能变低之前D必须稳定的时间
- 保持时间:使能变低之后D必须稳定的时间
- 功耗:
- 静态:低(主要是漏电流)
- 动态:状态变化期间中等
- 扇出:
- 通常10-50个门(取决于技术)
- 电路复杂性:
- 中等(需要SR锁存器加输入门控逻辑)
- 速度:
- 比边沿触发触发器快,但需要更长的建立和保持时间
- 噪声裕量:
- 中等(取决于门技术)
- 操作模式:
- 透明模式(使能为高时)
- 存储模式(使能为低时)
实现方式
- 使用带输入门控的SR锁存器
graph TB
D[D Input] --> AND1[AND Gate]
EN[Enable] --> AND1
EN --> AND2[AND Gate]
D --> NOT[NOT Gate]
NOT --> AND2
AND1 -->|S| SR[SR Latch]
AND2 -->|R| SR
SR --> Q[Q Output]
SR --> QB[Q̅ Output]
操作:当Enable=1时,D通过S传递(如果D=1)或R传递(如果D=0)。当Enable=0时,锁存器保持状态。
- 使用NAND门
graph TB
D[D Input] --> NAND1[NAND Gate]
EN[Enable] --> NAND1
EN --> NAND2[NAND Gate]
D --> NOT[NOT Gate]
NOT --> NAND2
NAND1 --> NAND3[NAND Latch]
NAND2 --> NAND4[NAND Latch]
NAND3 --> Q[Q Output]
NAND3 --> NAND4
NAND4 --> QB[Q̅ Output]
NAND4 --> NAND3
操作:基于NAND的实现,带交叉耦合反馈用于存储。
晶体管级实现
- CMOS:使用传输门和反相器
- TTL:使用双极型晶体管
- 可针对功耗、速度或面积优化
集成电路
- 在74xx系列逻辑系列中可用(如74HC75、74LS373)
- 通常在单个封装中组织为四路或八路锁存器
应用
数据存储
- 数据路径中的临时存储寄存器
- 微处理器中的I/O端口锁存器
- 存储系统中的地址锁存器
数据同步
- 在异步域之间保持数据稳定
- 数据采集系统中的输入捕获
电平敏感扫描设计(LSSD)
- 数字系统中的可测试性设计
- 用于故障检测的扫描链
流水线寄存器
- 两相时钟系统中的透明锁存器
- 跨流水线级的时间借用
数据解复用
- 在时分系统中保持解复用数据
- 数字系统中的采样保持电路
总线接口电路
- 数据总线锁存器
- 存储器接口中的地址锁存器
限制
透明窗口
- 在使能高电平期间对多次转换敏感
- 无法可靠捕获短脉冲
电平敏感性
- 使能高电平期间输入的变化会传递到输出
- 可能导致不需要的反馈和振荡
时序约束
- 建立和保持时间要求可能具有挑战性
- 如果数据在使能转换附近变化,存在亚稳态风险
时钟偏斜敏感性
- 在多锁存器系统中,使能偏斜可能导致竞争条件
- 比边沿触发电路更难在复杂系统中管理
对噪声保护有限
- 使能高电平期间的数据毛刺会传播到输出
- 比边沿触发触发器更容易受噪声影响
电路实现细节
由SR锁存器构建D锁存器
D锁存器可以由SR锁存器构建,确保S和R输入永远不会同时为高:
S = D · EN
R = (¬D) · EN
当EN为高时,根据D,S或R将为高(但永远不会同时高)。当EN为低时,S和R都为低,使SR锁存器处于保持状态。
门控D锁存器行为
当EN = 0时:
- 内部SR锁存器的S和R输入都为0
- 锁存器维持其前态
当EN = 1时:
- 如果D = 1:S = 1,R = 0,锁存器将Q设置为1
- 如果D = 0:S = 0,R = 1,锁存器将Q重置为0
- 输出跟随D输入(透明模式)
相关组件
- SR锁存器:D锁存器构建于其上的基础锁存器
- D触发器:用于同步系统的D锁存器的边沿触发版本
- JK触发器:具有置位、复位和翻转能力的更通用触发器
- T触发器:在时钟边沿改变状态的翻转触发器
- 透明锁存器:D锁存器的另一个名称,强调其行为
- 寄存器:组织起来存储多位值的多个锁存器
- 主从触发器:串联两个锁存器创建边沿触发行为