Quartus 12的TimeQuest Timing Analyzer

1.在Quartus II软件打开和设置设计

安装路径下\qdesigns\fir_fliter文件。在Processing 菜单上,指向Start,点击Start Analysis &Synthesis。

2.运行TimeQuest Timing Analyzer

在Tools 菜单中,单击TimeQuest Timing Analyzer,如图。

3.创建一个Post-Map时序网表

1. 在Netlist 菜单上,点击Create Timing Netlist。 出现Create Timing Netlist 对话框。

2. 在Input netlist 中,选择Post-Map。

3. 点击OK。

注意:您不能在Tasks面板中使用Create Timing Netlist命令来创建一个post-map时序网表。默认情况下,Create Timing Netlist 需要一个post-fit 数据库。

Input netlist选"Post-map",按OK,即会建立Timing Netlist完成。 (看到"Create Timing Netlist"項,打綠色勾勾) (看 到"Create Timing Netlist"项,打绿色勾勾)

5.指定时序要求

必须在fir_filter 设计中定义两个时钟。每个时钟的属性列表请参考。


时钟端口名称


要求


Clk


50/50占空比的50MHz


Clkx2


60/40占空比的100MHz

1. 在Constraints 菜单中,点击Create Clock。出现CreateClock 对话框。

2. 在表2-2 中对50 MHz 时钟指定参数。对100 MHz 时钟重复这些步骤。

执行到第三步时会出现下图所示对话框,进行相应设置。

6.更新时序网表

在Tasks 面板中,双击Update Timing Netlist 命令。

7保存Synopsys Design Constraints (SDC)文件。

1. 在Tasks 面板中,双击Write SDC File 命令。出现WriteSDC File 对话框。

2. 在File Name 栏输入filtref.sdc。

8 对初始时序网表生成时序报告。

在Tasks 面板中,双击Report SDC 命令。

Task面板中双击Report Clock命令,总结所有的时钟。

Task面板中双击Report Clock Transfer命令,验证所有时钟到时钟的传输是有效的。

Clock Transfers 报告表明在clk (源时钟)和clkx2 (目的时钟)之间存在跨时钟域

路径。共有16 条路径,其中clk 为源节点提供时钟, clkx2 为目的节点提供时钟。

在fir_filter 设计中,不必分析clk 至clkx2 的时钟传输,因为它们是忽略路径。通

过表2-13 中的程序声明clk 至clkx2 的路径为伪路径。当完成该程序后,TimeQuest

Timing Analyzer 表明Clock Transfers 报告是过时的。

生成伪路径1. 在Clock Transfers 报告中,在From Clock 列选择clk。

2. 右击并选择Set False Paths Between Clock Domains。这个命令表明将所有由clk 驱动的源寄存器到由clkx2 驱动的目的寄存器之间的路径设为伪路径。

更新时序网表。

保存约束文件到SDC

9 执行Timing-Driven 编译

1. 在Project 菜单中,点击Add/Remove Files In Project。出

现Add/Remove Files In Project 对话框。

2. 通过浏览来选择.sdc。

3. 点击OK。

在Processing 菜单中,点击Start Compilation。

10 要充分约束fir_filter 设计,约束所有的输入和输出端口。使用Set Input Delay 和

Set Output Delay 对话框,或set_input_delay 和set_output_delay 约束来指定输

入和输出延迟值。

1. 在Constraints 菜单中,点击Set Input Delay。出现Set

Input Delay 对话框。

2. 输入以下内容:

Clock name: clk

Delay value: 2

Targets: [get_ports {d[0] d[1] d[2] d[3] d[4] d[5] d[6] d[7] newt reset}]

3. 在Constraints 菜单中,点击Set Output Delay。出现SetOutput Delay 对话框。

4. 输入以下内容:

Clock name: clk

Delay value: 1.5

Targets: [get_ports {yn_out[0] yn_out[1] yn_out[2] yn_out[3] yn_out[4] yn_out[5]\yn_out[6] yn_out[7] yvalid follow}]

记住读取新的约束后更新时序网表。

1. 在Tasks 面板中,双击Report Timing。出现Report Timing

对话框。

2. 输入以下内容:

To Clock: clk

To: acc:inst3|result*

Report number of paths: 10

3. 剩下其它的栏使用默认的设置。

双击Report Timing得到如下图

时间: 2024-12-24 21:14:20

Quartus 12的TimeQuest Timing Analyzer的相关文章

FPGA时钟约束和timequest timing analyzer

FPGA时钟约束 时钟约束 #************************************************************** # Create Clock #************************************************************** create_clock -period 8 -name "ENET0_RX_CLK" [get_ports ENET0_RX_CLK] create_clock -perio

Timequest Timing Analyzer进行时序分析(一)

一.概述 用Altera的话来说,TimeQuest Timing Analyzer是一个功能强大的,ASIC-style的时序分析工具.采用工业标准--SDC(synopsys design contraints)--的约束.分析和报告方法来验证你的设计是否满足时序设计的要求.本文中,将采用一个DAC7512控制器的verilog设计作为例子,详细讲解如何使用TimeQuest进行时序设计和分析. 二.TimeQuest 时序分析的基本概念 TimeQuest需要读入布局布线后的网表才能进行时

Timequest Timing Analyzer进行时序分析(二)

四.用TimeQuest对DAC7512控制器进行时序分析 在对某个对象下时序约束的时候,首先要能正确识别它,TimeQuest会对设计中各组成部分根据属性进行归类,我们在下时序约束的时候,可以通过命令查找对应类别的某个对象. TimeQuest对设计中各组成部分的归类主要有cells,pins,nets和ports几种.寄存器,门电路等为cells:设计的输入输出端口为ports:寄存器,门电路等的输入输出引脚为pins:ports和pins之间的连线为nets.具体可以参照下图(此图出自Al

Timequest Timing Analyzer进行时序分析(五)

3. Creating Timing Exceptions 创建好时钟.定义好输入输出延迟后,就可以按照这些约束对设计进行时序分析了.默认的情况下,软件按照1T 原则分析所有需要检查的timing path.在综合.布局布线时,工具也会根据时序约束,尽可能使所有timing path都满足1T的要求.但工具也不是万能的,如果设计要求过高的话,有些timing path可能不能达到设计要求,这样不满足设计要求的timing path就会以timing violation的形式给出. 在很多情况下,

Timequest Timing Analyzer进行时序分析(四)

设定输入/输出延迟(input/output delay).首先看输入延迟. 下面图示的系统是我们在做数字电路设计时经常会遇到的.External Device可能是其他的集成电路芯片,也有可能是其他的FPGA,为了与我们所要讨论的FPGA分开,称之为External Device.External Device中的寄存器D1的输出送给FPGA中的寄存器D2.D1和D2属于同一个时钟域(CLK).为了简化讨论,我们假设CLK source到两个寄存器之间的延时是相等的,也就是说延时CLK1等于延

Timequest Timing Analyzer进行时序分析(三)

上面已经把DAC7512控制器中所有的时钟都创建好了.下面我们再额外讨论一下关于时钟属性方面的一些问题和在做时序分析时的处理方法.对于具有单一时钟的系统,设计和时序分析都相对简单.但是现在很多设计都有多个甚至几十个时钟乃至更多的时钟.比如说DAC7512控制器,在设计中用到的时钟实际上是有3个,CLK25M,CLK50M和DA_SCLK.在对多时钟设计进行时序分析的时候,我们首先要搞清楚各时钟之间的关系. 当设计中有多个时钟时,时钟之间可能存在三种关系,分别是同步,异步和互斥.如果两个或者多个时

Quartus II 11.0 开始使用

一.Altera Quartus II 11.0套件介绍 所谓巧妇难为无米之炊,再强的软硬件功底,再多的思维创造力,没有软件的平台,也只是徒劳.因此,一切创造的平台——Quartus II 软件安装,由零开启的世界,便从此开始. 自从Bingo 2009年开始接触FPGA,Quartus II 版本的软件从n年前的5.1版本到今天的最新发布的11.0,都使用过:当然对于软件核心构架而言,万变不离其宗.虽然多多少少有点bug,但这10多个版本发展到了现在,能看到Altera一直在努力,致力于更完美

Quartus中添加时序约束

1.sdc文件也是要添加到Quartus 软件中,这样在执行Read SDC File命令时才能读到相应的文件. 2.在TimeQuest打开的条件下,重新编译工程之后要Update Timing Netlist,这样TimeQuest分析器会得到最新的 网表文件进行时钟分析. 转载地址http://www.cnblogs.com/pejoicen/p/4194380.html PLL时钟约束 # Uncommenting one of the following derive_pll_cloc

timequest静态时序分析学习笔记之工具使用

第三章 工具使用 这里我通过几条约束命令来讲解timequest工具的简单使用. 3.1 creat_clock约束命令 相关代码: 图27 第一步,在quartus ii软件tools下来菜单中找到timequest timing analyze选项并打开,出现如图27的会话框: 图 28 报告窗口:通过这个窗口,我们可以知道timequest都执行了哪些任务. 任务窗口:通过这个窗口,让timequest执行你要求的任务,比如点击report clocks,timequest就会在信息显示窗