泽屹电子
手把手教你学 FPGA
TimeQuest 静态时序分析
阿东团队 编著
手把手教你学 FPGA-TimeQuest 静态时序分析
手把手教你学 FPGA
TimeQuest 静态时序分析
2 / 68
手把手教你学 FPGA-TimeQuest 静态时序分析
目 录
1 写在前面 ................................................................ 5
2 简介 .................................................................... 7
3 为什么要做时序分析 ...................................................... 8
3.1 案例一 .............................................................. 8
3.2 案例二 .............................................................. 9
4 时序分析的概念 ......................................................... 10
4.1 同步逻辑时延模型 ................................................... 10
4.1.1 时钟抖动与偏斜 ............................................... 10
4.1.2 建立时间/保持时间 ............................................ 11
4.1.3 恢复时间/移除时间 ............................................ 12
4.1.4 Launch Edge & Latch Edge ..................................... 13
4.1.5 Data & Clock Time ............................................ 14
4.2 时序分析基本公式 ................................................... 17
4.2.1 建立时间(Setup Time)检查 ................................... 18
4.2.2 保持时间(Hold Time)检查 .................................... 19
4.2.3 多周期路径(Multicycle Paths)检查 ........................... 20
4.3 Altera 器件时序模型 ................................................ 22
4.4 基本单元与 paths ................................................... 23
4.5 FPGA 时序约束的几种方法 ............................................ 25
4.5.1 核心频率约束 ................................................. 25
4.5.2 核心频率约束+ 时序例外约束 ................................... 25
4.5.3 核心频率约束+ 时序例外约束+I/O ............................... 25
5 使用 Timequest 时序分析器约束分析设计 ................................... 27
5.1 Timequest 基础 ..................................................... 27
5.1.1 时序约束和分析流程 ........................................... 27
5.1.2 Timequest GUI ................................................ 29
5.1.3 看懂时序波形图 ............................................... 30
5.2 时序约束 ........................................................... 32
5.2.1 Clocks ....................................................... 33
5.2.2 PLL clocks ................................................... 37
5.2.3 I/O .......................................................... 38
5.2.4 False paths .................................................. 44
6 时序分析设计实例 ....................................................... 46
6.1 LED 流水灯 ......................................................... 46
6.1.1 LED 流水灯功能框图 ........................................... 46
6.1.2 LED 流水灯代码 ............................................... 46
6.1.3 LED 流水灯时序分析 ........................................... 47
6.2 摄像头接口 ......................................................... 55
6.2.1 摄像头简介 ................................................... 55
6.2.2 摄像头接口 ................................................... 55
6.2.3 摄像头接口时序 ............................................... 56
3 / 68
手把手教你学 FPGA-TimeQuest 静态时序分析
6.3 时序分析设计实例三-Ethernet ........................................ 62
6.3.1 Ethernet 功能框图 ............................................ 62
6.3.2 Ethernet 时序分析 ............................................ 62
6.4 时序分析设计实例三-SDRAM ........................................... 64
6.4.1 SDRAM 控制器功能框图 ......................................... 64
6.4.2 SDRAM 控制器时序分析 ......................................... 64
7 写在最后 ............................................................... 68
4 / 68
手把手教你学 FPGA-TimeQuest 静态时序分析
1 写在前面
作者简介:
大家好,我是阿东,我在通信行业做了 10 年的芯片设计,做了几款大型路
由器和交换机芯片,写了 10 年的 Verilog,对 Verilog 是熟悉的不能再熟悉了,
对数据通信、QOS 有深入研究和实现,精通数据通信各种协议,对通信网络有较
深理解。精通 ASIC、FPGA 和 Verilog 架构、方案、实现设计。
希望我的经历能让大家掌握项目开发的编码规范、设计思想、方案设计,给
大家的学习和发展略进绵薄之力。
已经推出的教材包括:
《手把手教你学 FPGA_语法篇》
《手把手教你学 FPGA _编程规范篇》
《手把手教你学 FPGA _仿真篇》
《手把手教你学 FPGA _设计思想篇》。
后续还会推出更多相关资料,包括方案设计、视频教程等,请大家关注我们。
我们的 FPGA 论坛,欢迎大家访问:
http://adfpga.com
我们的 FPGA 开发板网站,欢迎大家访问:
https://shop67541132.taobao.com/
上述教材的很多例子程序都可以在我们开发板配套光盘中找到,配套光盘里
面还有更多更好的例子。
5 / 68
手把手教你学 FPGA-TimeQuest 静态时序分析
我们的淘宝店铺:本店专注于 FPGA 开发板,有低端、中端、高端开发板供
大家选择。
1、EP4CE6 FPGA 开发板: (包括开发板+USB Blaster 下载器+电源线+2 个
DVD 光盘):适合没有任何基础,可以用来做学习和一般项目使用。
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-1006554551.2.30df85ddnc1gGg&id=35
911884243
备注:现在购买还送配套书籍一本(北航出版):
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-1006554551.8.30df85ddhlb93f&id=540
865636294
2、中端 EP4CE10 FPGA 开发板: (包括开发板+USB Blaster 下载器+电源线
+2 个 DVD 光盘): 适合没有任何基础、有一定基础,可以用来做学习和一般项目、
电子竞赛、NIOS。
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-1006554551.6.30df85ddnc1gGg&id=52
0588767908
3、高端 EP4CE30 FPGA 开发板: (包括核心板+底板+USB Blaster 下载器+电
源线+2 个 DVD 光盘): 适合没有任何基础、有一定基础、基础较好,可以用来做
学习和高级项目、NIOS。
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-1006554551.10.30df85ddnc1gGg&id=3
9939126777
还有更多的开发板、配套外设、配套书籍可以直接到我们的淘宝店铺:
https://shop67541132.taobao.com/
联系我们:
QQ :1530384236
旺旺:dongguo100
QQ 群:185735160 (欢迎加入)
阿东 FPGA 论坛:adfpga.com/ (拷贝到浏览器中打开即可)
6 / 68
手把手教你学 FPGA-TimeQuest 静态时序分析
2 简介
时序分析在 ASIC 设计中非常重要,芯片频率是否达到预期,各种接口能否
调通等等都需要时序分析。在 FPGA 设计中,很少进行细致全面的时序约束和分
析,Fmax 是最常见也往往是一个设计唯一的约束。这一方面是由 FPGA 的特殊
结构决定的,另一方面也是由于缺乏好用的工具造成的。
好的时序约束可以指导布局布线工具进行权衡,获得最优的器件性能,使设
计代码最大可能的反映设计者的设计意图。
静态时序分析可以保证设计质量,也可以促使设计者再认识自己的代码。后
一点,对于我们这些逻辑设计初学者来说自己的代码,可以更深入地体会语言的
特点,也可以更深入地,尤为重要。从门级(在 Altera 的 FPGA 器件中是 LE 级)
再认识理解综合工具对语言的处理,对于设计能力的提高帮助很大。
本文致力于提高您的时序分析能力,Quartus 使用 TimeQuest 进行时序分
析,本文讲解的工具就是 TimeQuest。
TimeQuest 采用 Synopsys Design Constraints(SDC)文件格式作为时序
约束输入,不同于 Timing Analyzer 采用的 Quartus Settings File(QSF)约
束文件。这正是 TimeQuest 的优点:采用行业通用的约束语言而不是专有语言,
有利于设计约束从 FPGA 向 ASIC 设计流程迁移;有利于创建更细致深入的约束
条件。
7 / 68
手把手教你学 FPGA-TimeQuest 静态时序分析
3 为什么要做时序分析
很多初学者搞不懂为什么要做时序分析,不做会不会有什么问题,请看下面
几个案例:
3.1 案例一
没有加时序约束,图片显示异常。
增加时序约束,图片显示正常。
8 / 68