FPGA设计基础:DFF与D-Latch解析及时间模型

需积分: 9 2 下载量 164 浏览量 更新于2024-09-12 收藏 899KB DOC 举报
"FPGA设计基础,探讨了D型触发器(DFF)和D-Latch的基本原理,以及寄存器的时序概念,包括建立时间、保持时间和亚稳态等关键时间模型。" FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,广泛用于数字电路设计中。在FPGA设计中,了解和掌握基本的寄存器时序至关重要。D型触发器(DFF)和D-Latch是两种常用的数据存储单元,它们在时钟信号的控制下存储和传递数据。 D型触发器(DFF)具有四个输入:D(数据输入)、CE(时钟使能)、CK(时钟)和SR(置位/复位),一个输出DQ。当CE为有效状态时,DFF会在CK的上升沿或下降沿捕获D输入的数据,并将其保持到下一个时钟沿。这意味着,即使在D输入改变,DQ输出也会保持不变,除非时钟边沿到来。 D-Latch则在CE为高电平时对D输入进行采样,并在CE变为低电平时锁存数据。与DFF不同,D-Latch在时钟为高电平的整个期间,输入数据的任何变化都会立即反映在输出DQ上。DFF是沿触发,而D-Latch是电平触发,这决定了它们在不同应用场景中的选择。 在FPGA设计中,建立时间(setup time)和保持时间(hold time)是确保正确数据传输的关键。建立时间是指在时钟上升沿到来前,数据必须保持稳定的时间,以确保数据能够被正确地打入触发器。而保持时间则是时钟上升沿后,数据仍需保持不变的最小时间,以避免数据丢失。如果这两个时间条件不满足,可能会导致数据错误。 亚稳态(metastability)是时序违例的一种表现,它发生在数据传输过程中,如数据输入未满足建立时间或保持时间,或复位信号释放不满足恢复时间要求时。在这种情况下,触发器输出会经历一段不确定的时间,即决断时间(resolution time),在这段时间内,输出会在0和1之间振荡,最终随机稳定在0或1。亚稳态是设计中的潜在风险,需要通过良好的时序约束和设计策略来避免。 理解并掌握这些基础知识对于进行高效且可靠的FPGA设计是至关重要的。设计师必须确保所有时序路径满足严格的时序约束,以防止亚稳态和其他潜在问题,从而保证系统的稳定性和可靠性。在实际设计中,通常会使用高级的综合工具和时序分析工具来辅助优化和验证设计,以确保满足这些时序要求。
2010-12-01 上传
Altera FPGA\CPLD设计(基础篇)——Altera FPGA\CPLD推荐教材。。。 第1章 FPGA/CPLD简介 1.1 可编程逻辑设计技术简介 1.1.1 可编程逻辑器件发展简史 1.1.2 可编程逻辑器件分类 1.2 FPGA/CPLD的基本结构 1.2.1 FPGA的基本结构 1.2.2 CPLD的基本结构 1.2.3 FPGA和CPLD的比较 1.3 FPGA/CPLD的设计流程 1.4 FPGA/CPLD的常用开发工具 1.5 下一代可编程逻辑设计技术展望 1.5.1 下一代可编程逻辑器件硬件上的四大发展趋势 1.5.2 下一代EDA软件设计方法发展趋势 1.6 小结 1.7 问题与思考 第2章 Altera FPGA/CPLD的结构 2.1 Altera高密度FPGA 2.1.1 主流高端FPGA——Stratix 2.1.2 内嵌高速串行收发器的FPGA Stratix GX 2.1.3 新一代90nm高端FPGA StratiX II 2.2 Altera低成本FPGA. 2.2.1 主流低成本FPGA Cyclone 2.2.2 新一代低成本FPGA Cyclone II 2.3 Altera的CPLD器件 2.3.1 主流的CPLD MAX 3000A 2.3.2 CPLD的革 MAX II 2.4 小结 2.5 问题与思考 第3章 Altera Quartus II开发流程 3.1 Quartus II软件综述 3.1.1 Quartus II软件的特点及支持的器件 3.1.2 Quartus II软件的工具及功能简介 3.1.3 Quartus II软件的用户界面 3.2 设计输入 3.2.1 设计输入方式 3.2.2 设计规划 3.2.3 设计输入文件实例 3.2.4 设计约束 3.3 综合 3.3.1 使用Quartus II软件集成综合 3.3.2 控制综合 3.3.3 综合实例 3.3.4 第三方综合工具 3.4 布局布线 3.4.1 设置布局布线参数 3.4.2 布局布线实例 3.4.3 增量布局布线 3.4.4 反标保留分配 3.5 仿真 3.5.1 指定仿真器设置 3.5.2 建立矢量源文件 3.5.3 仿真实例 3.5.4 第三方仿真工具 3.6 编程与配置 3.6.1 建立编程文件 3.6.2 器件编程和配置 3.7 小结 3.8 问题与思考 第4章 Altera的IP工具 4.1 IP的概念、Altera的IP 4.1.1 IP的概念 4.1.2 Altera可提供的IP 4.1.3 Altera IP在设计中的作用 4.2 使用Altera的基本宏功能 4.2.1 定制基本宏功能 4.2.2 实现基本宏功能 4.2.3 设计实例 4.3 使用Altera的IP核 4.3.1 定制IP核 4.3.2 实现IP核 4.3.3 设计实例 4.4 小结 4.5 问题与思考 第5章 Quartus II的常用辅助设计工具 5.1 I/O分配验证 5.1.1 I/O分配验证功能简介 5.1.2 I/O分配验证流程 5.1.3 用于I/O分配验证的输入 5.1.4 运行I/O分配验证 5.2 功率分析 5.2.1 Excel.based功率计算器 5.2.2 Simulation-based功率估算 5.3 RTL阅读器 5.3.1 RTL阅读器简介 5.3.2 RTL阅读器用户界面 5.3.3 原理图的分页和模块层次的切换 5.3.4 过滤原理图 5.3.5 将原理图中的节点定位到源设计文件 5.3.6 在原理图中查找节点或网线 5.3.7 使用RTL阅读器分析设计中的问题 5.4 SignalProbe及SignalTap II逻辑分析器 5.4.1 SignalProbe 5.4.2 SignalTap II逻辑分析器 5.5 时序收敛平面布局规划器(Timing Closure Floorplan) 5.5.1 使用Timing Closure Floorplan分析设计 5.5.2 使用Timing Closure Floorplan优化设计 5.6 Chip Editor底层编辑器 5.6.1 Chip Editor功能简介 5.6.2 使用Chip Editor的设计流程 5.6.3 Chip Editor视图 5.6.4 资源特性编辑器 5.6.5 Chip Editor的一般应用 5.7 工程更改管理(ECO) 5.7.1 ECO简介 5.7.2 ECO的应用范围 5.7.3 ECO的操作流程 5.7.4 使用Change Manager查看和管理更改 5.7.5 ECO验证 5.8 小结 5.9 问题与思考 第6章 编程与配置 6.1 配置Altera FPGA 6.1.1 配置方式 6.1.2 主动串行(AS) 6.1.3 被动串行(PS) 6.1.4 快速被动并行(FPP) 6.1.5 被动并行异步(PPA) 6.1.6 JTAG配置方式 6.1.7 ByteBlaster II下载电缆 6.1.8 配置芯片 6.2 配置文件和软件支持 6.2.1 软件支持 6.2.2 配置文件 6.3 单板设计及调试注意事项 6.3.1 配置的可靠性 6.3.2 单板设计要点 6.3.3 调试建议 6.4 小结 6.5 问题与思考 第7章 MAX+PLUS II过渡到Quartus II 7.1 MAX+PLUS II与Quartus II的功能比较 7.2 转换MAX+PLUS II设计 7.2.1 改变GUI风格 7.2.2 转换MAX+PLUS II工程 7.2.3 查看新工程 7.2.4 导入MAX+PLUS II配置文件 7.3 编辑工程 7.3.1 修改设计芯片 7.3.2 设置编译选项 7.4 编译 7.4.1 运行编译器 7.4.2 查看工程结构 7.4.3 编译报告 7.5 时序分析 7.5.1 时序设置 7.5.2 运行时序分析器 7.5.3 时序分析指定路径 7.5.4 时序约束布局器 第9章 刀路的模拟、校验和后置处理 9.1 模拟刀路 9.2 校验刀路 9.3 后置处理 9.4 加工文档 9.5 总结 附录A A.1 Cimatron快捷键 A.2 Cimatron主菜单参数设置 A.3 FILE-SETUP设置 A.4 NC常见旗标含义 A.5 Cimatron数据转换 A.6 数控加工工艺卡