PREVIEW
D Flip-Flop

D Flip-Flop

Memory signal_cellular_alt_2_bar Intermediate schedule 22 min

D触发器

概述

  • 用途:D触发器是一种存储单个数据位的时序数字电路。它在被时钟信号触发时捕获数据输入(D)处的逻辑状态。
  • 符号:D触发器表示为矩形块,具有D、CLK、PRE和CLR输入,以及Q和Q̅输出。
  • DigiSim.io角色:作为构建寄存器、计数器和有限状态机等时序电路的基本存储元件。

d flip flop component

功能描述

逻辑行为

D触发器在被时钟边沿(上升沿)触发时捕获D输入处的值,并保持该值直到下一个时钟边沿。它具有可以覆盖正常操作的异步预置和清除输入。

引脚布局

  • 引脚 0:D(数据输入)
  • 引脚 1:CLK(时钟输入)
  • 引脚 2:PRE(预置 - 异步置位)
  • 引脚 3:CLR(清除 - 异步复位)
  • 输出 0:Q(存储值)
  • 输出 1:Q̅(互补输出)

真值表

PRE CLR CLK D Q(次态) Q̅(次态) 操作
X 1 X X 0 1 异步清除
1 0 X X 1 0 异步预置
0 0 0 0 1 在时钟捕获0
0 0 1 1 0 在时钟捕获1
0 0 0 X Q(前态) Q̅(前态) 保持前态
0 0 X Q(前态) Q̅(前态) 保持前态

注:↑表示时钟上升沿,↓表示下降沿,X表示"无关",0=无效(低电平),1=有效(高电平)

操作优先级(从高到低):

  1. CLR(清除):当CLR=1时,无论其他输入如何,Q被强制为0
  2. PRE(预置):当PRE=1且CLR=0时,无论其他输入如何,Q被强制为1
  3. 时钟边沿:当PRE=0且CLR=0时,Q在上升时钟边沿捕获D

输入和输出

  • 输入

    • D(数据) [引脚0]:1位输入,确定在下一个时钟边沿存储的值。
    • CLK(时钟) [引脚1]:1位正边沿触发输入,控制何时对D值采样。
    • PRE(预置) [引脚2]:1位异步输入,高电平有效时强制Q为1。
    • CLR(清除) [引脚3]:1位异步输入,高电平有效时强制Q为0(最高优先级)。
  • 输出

    • Q:1位输出,表示存储值。
    • :存储值的互补(反相)输出。

可配置参数

  • 传播延迟:时钟边沿与相应输出变化之间的时间延迟。

DigiSim.io中的可视化表示

D触发器显示为矩形块,左侧有输入(从上到下依次为D、CLK、PRE、CLR),右侧有输出(Q、Q̅)。该组件清楚标记"D FF"以识别其为D触发器。时钟输入用三角形符号标记,表示正边沿敏感。在电路中连接后,输出通过连线颜色和值在视觉上指示其逻辑状态。

教育价值

核心概念

  • 时序逻辑:演示输出如何依赖于当前输入和前态。
  • 边沿触发:说明时钟控制状态转换的概念。
  • 状态存储:展示数字系统如何存储和维护状态信息。
  • 同步:演示如何将数据与时钟信号同步。

学习目标

  • 理解D触发器如何捕获和存储二进制数据。
  • 了解边沿触发行为及其在时序电路中的重要性。
  • 认识同步和异步操作之间的区别。
  • 将D触发器应用于构建寄存器、计数器和状态机。
  • 理解时序要求,如建立时间和保持时间。

使用示例

  • 数据存储:在数字系统中存储单个信息位。
  • 寄存器:多个D触发器创建存储多位值的寄存器。
  • 分频:以某些方式配置,D触发器可以对时钟频率进行分频。
  • 边沿检测:可用于检测输入信号中的边沿。
  • 状态机:用作有限状态机中的状态元素,用于时序控制。

技术说明

  • 亚稳态:如果违反建立和保持时间,触发器可能进入亚稳态,输出不可预测。
  • 边沿触发:在DigiSim.io中,D触发器是正边沿触发的,即在时钟信号上升沿采样数据。
  • 异步控制:PRE和CLR输入是高电平有效的,优先于同步时钟和数据输入。CLR的优先级高于PRE。
  • 控制信号优先级:CLR输入始终覆盖PRE和同步输入。当CLR=1时,输出强制为0。当PRE=1且CLR=0时,输出强制为1。
  • 正常操作:当PRE和CLR均为0(无效)时,触发器正常运行,在时钟上升沿捕获D输入。

实现方式

  1. 主从配置

    • 两个级联锁存器(主和从)
    • 主锁存器捕获数据,从锁存器更新输出
    • 电平敏感,具有脉冲触发行为
    • 在时钟转换期间防止意外反馈
    • 常见于较旧或较简单的设计
    • 需要非重叠时钟相位以实现可靠操作
    • 比简单锁存器更不受时钟毛刺影响
    • 早期TTL实现的典型
  2. 边沿触发设计

    • 直接响应时钟边沿(上升或下降)
    • 使用内部脉冲生成电路
    • 在复杂同步系统中更可靠
    • 在时钟转换时精确采样数据
    • 大多数数字系统的现代标准
    • 内部电路更复杂
    • 对输入噪声免疫性更好
    • 在当代CMOS实现中占主导地位
  3. CMOS传输门实现

    • 使用传输门作为开关
    • 功耗更低
    • 通常为边沿触发
    • 均衡的传播延迟
    • 在现代CMOS工艺中效率高
    • 非常适合低功耗应用
    • 良好的噪声免疫性
    • 常见于现代集成电路
  4. 集成电路实现

    • 专用触发器IC
    • 示例:7474(双D触发器)、74175(四D触发器)
    • 各种特性:清除、预置、每个封装多个单元
    • 不同逻辑系列可用
    • 时序和负载特性良好
    • 标准接口和引脚排列
    • 用于面包板和原型设计
    • 在规定条件下可靠操作
  5. FPGA/ASIC实现

    • 内置于FPGA逻辑单元和ASIC库中
    • 针对目标技术优化
    • 可能包含附加特性(时钟使能等)
    • 利用专用硬件资源
    • 易于配置以满足专门要求
    • 与组合逻辑集成
    • 复杂数字系统的现代方法
    • 时序由设计工具仔细管理
  6. 差分信号实现

    • 对时钟有时对数据使用差分信号
    • 更高的噪声免疫性
    • 在高频下性能更好
    • 常见于高速应用
    • 更复杂但更可靠
    • 用于专用高性能系统
    • 内部可能使用电流模逻辑
    • 需要仔细的信号完整性管理
  7. 低功耗变体

    • 专为最小功耗设计
    • 时钟门控能力
    • 减少内部切换活动
    • 断电或保持模式
    • 用于电池供电设备
    • 可能以速度换取功耗效率
    • 实现可能包括特殊电源域
    • 对能量受限应用至关重要

应用

  1. 数据存储和寄存器

    • 临时数据存储
    • 用于数据移动的移位寄存器
    • 并行数据寄存器
    • 输入/输出端口锁存
    • 参数存储
    • 配置寄存器
    • 状态标志
  2. 同步

    • 时钟域交叉
    • 亚稳态解决
    • 信号对齐
    • 从异步源捕获数据
    • 总线同步
    • 接口时序管理
    • 脉冲同步
  3. 计数器和定时器

    • 用于事件计数的二进制计数器
    • 分频器
    • 状态序列发生器
    • 时序生成
    • 延迟元件
    • 过程控制时序
    • 超时监控
  4. 状态机

    • 时序控制逻辑
    • 协议实现
    • 算法排序
    • 指令译码
    • 系统控制单元
    • 事件驱动序列发生器
    • 算法状态机
  5. 存储元件

    • SRAM存储单元
    • 缓存存储
    • 寄存器文件
    • 内容可寻址存储器
    • LUT(查找表)配置
    • FIFO(先进先出)存储器
    • 缓冲应用
  6. 信号处理

    • 流水线级
    • 数字滤波器
    • 采样保持电路
    • 数据串行器/解串器
    • 频率合成
    • 数字调制
    • 信号延迟线
  7. 接口和通信

    • 串行通信(UART、SPI、I²C)
    • 数据成帧和对齐
    • 总线仲裁
    • 握手协议
    • 包同步
    • 时钟恢复
    • 数据缓冲

限制

  1. 时序约束

    • 建立和保持时间要求
    • 时钟偏斜敏感性
    • 最大工作频率
    • 最小脉冲宽度要求
    • 传播延迟变化
    • 时序违规时的亚稳态
    • 恢复和去除时间要求
    • 影响下游逻辑的时钟到输出延迟
  2. 亚稳态问题

    • 违反时序时潜在的亚稳态
    • 不可预测的解决时间
    • 随时钟频率增加而概率增大
    • 在异步接口中至关重要
    • 需要同步器电路
    • 可能导致系统故障
    • 难以调试
    • 发生的统计性质
  3. 功耗考虑

    • 动态功耗随频率增加
    • 时钟转换期间的电流尖峰
    • 大多数设计中的常开操作
    • 大型设计中系统功耗的重要贡献者
    • 时钟分配网络功耗
    • 高频下产生热量
    • 功率完整性要求
    • 断电排序需求
  4. 时钟分配

    • 多个触发器之间的时钟偏斜
    • 时钟抖动影响
    • 扇出限制
    • 时钟缓冲器要求
    • 时钟树综合复杂性
    • 相位关系管理
    • 时钟域管理
    • 时序收敛挑战
  5. 物理限制

    • 消耗的硅面积
    • 密集设计中的布线拥塞
    • 温度敏感性
    • 电压敏感性
    • 老化效应
    • 环境易感性
    • 辐射敏感性
    • 制造变异性

电路实现细节

使用NAND门的基本D触发器

graph LR
    InputD[D Input] --> MasterLatch[Master Latch]
    Clock[Clock] --> MasterLatch
    Clock --> Inverter[Inverter]
    Inverter --> SlaveLatch[Slave Latch]
    
    MasterLatch --> SlaveLatch
    
    SlaveLatch --> OutputQ[Q Output]
    SlaveLatch --> OutputQBar[Q̅ Output]

操作:主从配置。主锁存器在时钟高电平时捕获数据,从锁存器在时钟低电平时传输(边沿触发行为)。

7474双D触发器IC

引脚配置:

引脚 信号 描述 引脚 信号 描述
1 PRE1 触发器1预置 14 VCC 电源(+5V)
2 D1 数据输入1 13 PRE2 触发器2预置
3 CLK1 时钟输入1 12 D2 数据输入2
4 CLR1 触发器1清除 11 CLK2 时钟输入2
5 Q1 输出1 10 CLR2 触发器2清除
6 Q̅1 反相输出1 9 Q2 输出2
7 GND 地(0V) 8 Q̅2 反相输出2

特性:带预置和清除的双正边沿触发D触发器。

边沿触发D触发器实现

主从架构:

边沿触发D触发器使用带两个锁存器的主从配置:

  1. 主锁存器:时钟高电平时使能,捕获输入D
  2. 从锁存器:时钟低电平时使能(反相),将主锁存器输出传输到Q
  3. 边沿触发:输出仅在时钟转换(上升或下降沿)时变化
  4. 内部反馈:交叉耦合的NAND/NOR门创建双稳态存储

此架构确保输出每个时钟周期只变化一次,在同步数字系统中提供稳定、可预测的操作。

相关组件

  • D锁存器:D触发器的电平敏感版本
  • JK触发器:具有置位、复位和翻转功能的更通用触发器
  • T触发器:翻转触发器,使能时在每个时钟边沿改变状态
  • SR触发器:置位-复位触发器,基本双稳态元件
  • 寄存器:用于多位存储的触发器组
  • 移位寄存器:串行移位数据的连接触发器
  • 计数器:带反馈的连接触发器用于计数
  • 主从触发器:两级脉冲触发触发器
  • 边沿触发触发器:仅响应时钟边沿
  • 施密特触发器:为嘈杂时钟信号提供清晰转换

school 学习路径

arrow_back 前置知识

help_outline 常见问题

什么是D触发器?

D触发器仅在时钟边沿(通常是上升沿)捕获D输入,并保持该值直到下一个时钟边沿。它是寄存器的基本构建块。

什么是边沿触发?

边沿触发意味着触发器仅在时钟转换的短暂时刻(正沿为0→1)采样输入,而不是在时钟稳定为高或低电平时。

play_arrow 运行在线电路

查看其他组件