logo资料库

正点原子FPGA静态时序分析与时序约束_V1.0.pdf

第1页 / 共46页
第2页 / 共46页
第3页 / 共46页
第4页 / 共46页
第5页 / 共46页
第6页 / 共46页
第7页 / 共46页
第8页 / 共46页
资料共46页,剩余部分请下载后查看
第一章 静态时序分析与时序约束
1
1.1 静态时序分析简介
1.2 FPGA设计流程
1.3 TimeQuest的使用
1.4 常用时序约束
1.5 时序分析的基本概念
正点原子 静态时序分析与时序约束 ALIENTEK FPGA 开发板教程 FPGA 静态时序分析 与时序约束 −ALIENTEK 开拓者/新起点 FPGA开发板教程 I
正点原子 静态时序分析与时序约束 ALIENTEK FPGA 开发板教程 广州市星翼电子科技有限公司 淘宝店铺 1: http://eboard.taobao.com 淘宝店铺 2: http://openedv.taobao.com 技术支持论坛 (开源电子网 ):www.openedv.com 官方网站: www.alientek.com 最新资料下载链接: http://www.openedv.com/posts/list/13912.htm E-mail: 389063473@qq.com QQ: 389063473 咨询电话: 020-38271790 传真号码 :020-36773971 团队: 正点原子团队 正点原子,做最全面 、最 优秀的嵌入式开发平台软硬件供应商。 友 情 提 示 如果您想及时免费获取“正点原子”最新资料,敬请关注正点原子 微信公众平台 ,我们将及时给您发布最新消息和重要资料。 关注方法: (1)微信“扫一扫”,扫描右侧二维码,添加关注 (2)微信添加朋友公众号输入“正点原子”关注 (3)微信添加朋友输入“alientek_stm32”关注 II
第一章 正点原子 静态时序分析与时序约束 ALIENTEK FPGA 开发板教程 静态时序分析与时序约束 ............................................... 1 1.1 静态时序分析简介.................................................. 2 1.2 FPGA设计流程...................................................... 4 1.3 TimeQuest的使用................................................... 7 1.4 常用时序约束..................................................... 23 1.5 时序分析的基本概念............................................... 26 III
正点原子 静态时序分析与时序约束 ALIENTEK FPGA 开发板教程 第一章 静态时序分析与时序约束 静态时序分析是检查芯片时序特性的一种方法,可以用来检查信号在芯片中的传播是否 符合时序约束的要求。相比于动态时序分析,静态时序分析不需要测试矢量,而是直接对芯 片的时序进行约束,然后通过时序分析工具给出时序分析结果,并根据设计者的修复使设计 完全满足时序约束的要求。 本章包括以下几个部分: 1.1 静态时序分析简介 1.2 FPGA 设计流程 1.3 TimeQuest 的使用 1.4 常用时序约束 1.5 时序分析的基本概念 1
正点原子 静态时序分析与时序约束 1.1 静态时序分析简介 ALIENTEK FPGA 开发板教程 静态时序分析(Static Timing Analasis,STA)用来验证电路的性能,找到时序违规路 径,并指导EDA工具对设计进行布局布线,以满足时序要求。静态时序分析的速度很快,但是 它并不对电路的功能进行验证。 时序约束(Timing Constraints)用来描述设计人员对时序的要求,比如时钟频率,输入 输出的延时等。比如,对时钟频率的约束最简单的理解就是,设计者需要告诉EDA工具设计 中所使用的时钟的频率是多少;然后工具才能按照所要求的时钟频率去优化布局布线,使设 计能够在要求的时钟频率下正常工作。 Intel Quartus软件中的时序分析工具TimeQuest Timing Analyzer使用工业标准的时序约束 和分析方法,通过检查信号的到达时间是否符合约束所要求的时间,从而决定使设计正常工 作所需要满足的时序关系。 图 1.1.1 时序分析工具TimeQuest Timing Analyzer 在正点原子《开拓者FPGA开发指南》里的许多例程中,无论设计的复杂程序如何,大都 2
正点原子 静态时序分析与时序约束 用到了时序约束以实现功能。如果没有给设计添加时序约束,则有可能会影响到最终的功 ALIENTEK FPGA 开发板教程 能,而且问题不容易排查。例如,在第四十八章《基于以太网的板对板音频互传实验》,未 添加时序约束之前,通过以太网传输的音频有噪声,添加时序约束后噪声消失。 在上面的例子中,由于未添加时序约束,设计所实现的功能受到了一些影响。而更为严 重的情况是,在一些设计中由于没有进行时序约束,而导致设计的功能根本无法实现。比如 第五十二章《FIR滤波器实验》中,在没进行时序约束之前,设计的低通滤波器根本无法工 作。 下面分别给出了在时序约束前后,红外摄像头所拍摄的两幅图像,在图 1.1.2中可以明 显看到由于未进行时序约束,对图像质量造成了严重的影响。 图 1.1.2 时序约束前的红外图像 图 1.1.3 时序约束后的红外图像 3
正点原子 静态时序分析与时序约束 ALIENTEK FPGA 开发板教程 既然在FPGA的设计过程中时序约束如此重要,那么为什么在前面的例程中很少提到呢? 一方面是因为我们的设计功能比较简单,像流水灯、数码管这样简单的外设,即使不进行时 序约束,也不影响最终的功能;另一方面是由于设计所工作的时钟频率比较低,大多数时候 只要求设计能够在50MHz的时钟频率下正常工作。 当设计变得复杂起来,或者系统的时钟频率比较高的时候,如果不添加时序约束,那么 就有可能在验证设计结果的时候出现一些意料之外的情况。最常见的一个问题是,在调试的 过程中,设计上一次还正常工作,在重新编译一次之后再次下载验证结果就不对了;或者说 在SignalTap中添加或删除了某些信号,实验结果就不一样了。 这些现象通常会使初学者百思不得其解,因为设计本身的逻辑功能是没有改动的,但是 实验结果却有可能不同。这实际上很可能就是时序的问题,因为工具在多次编译时布局布线 的结果是很有可能不一样的,由于未添加时序约束,某些布局布线方式没能满足时序要求, 最终导致实验结果出错。 在学习时序约束以及静态时序分析之前,我们有必要先了解一下FPGA设计流程。 1.2 FPGA 设计流程 我们先来看一下使用TimeQuest Timing Analyzer进行时序约束和分析的设计流程。 图 1.2.1 FPGA设计流程 4
正点原子 静态时序分析与时序约束 ALIENTEK FPGA 开发板教程 首先我们在Quartus II中创建工程,并指定或输入设计文件(如.v格式的文件)。然后我 们需要执行分析和综合(Analysis & Synthesis)过程,这一步可以在Quartus II中Tasks栏的导 航面板中双击“Analysis & Synthesis”来实现,也可以直接点击工具栏中的“Start Analysis & Synthesis”按钮,如图 1.2.2所示。 上面这两个步骤是我们在使用Quartus II进行设计开发常用的操作,相信大家也比较熟练 了。问题是工具在执行分析和综合过程的时候,做了什么事呢? 在分析(Analysis)阶段,工具会检查我们的设计有没有错误,比如源文件中的语法错误 等;然后在综合(Synthesis)阶段,工具会把设计中的源文件转换成门级电路网表 (netlist);最后把门级网表中的各个元素与FPGA里的基本元件逐一对应起来,这就是映射 (Map)。综合过程的示意图如图 1.2.3所示。 图 1.2.2 分析和综合 5
分享到:
收藏