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得到如下图

Quartus 12的TimeQuest Timing Analyzer的更多相关文章

  1. FPGA时序约束和timequest timing analyzer

    FPGA时序约束 时钟约束 #************************************************************** # Create Clock #****** ...

  2. Nios II系统在Quartus II编译后Timing requirements for slow timing model timing analysis were not met. See Report window for details

    来自http://wenku.baidu.com/link?url=h0Z_KvXD3vRAn9H8mjfbVErVOF_Kd3h-BZSyF1r4sEYj3ydJGEfBHGY1mvntP4HDuF ...

  3. 第一次接触FPGA至今,总结的宝贵经验

    从大学时代第一次接触FPGA至今已有10多年的时间,至今记得当初第一次在EDA实验平台上完成数字秒表.抢答器.密码锁等实验时那个兴奋劲.当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus ...

  4. Quartus II 11.0 开始使用

    一.Altera Quartus II 11.0套件介绍 所谓巧妇难为无米之炊,再强的软硬件功底,再多的思维创造力,没有软件的平台,也只是徒劳.因此,一切创造的平台——Quartus II 软件安装, ...

  5. 【黑金原创教程】【TimeQuest】【第二章】TimeQuest模型角色,网表概念,时序报告

    声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...

  6. Quartus中添加时序约束

    1.sdc文件也是要添加到Quartus 软件中,这样在执行Read SDC File命令时才能读到相应的文件. 2.在TimeQuest打开的条件下,重新编译工程之后要Update Timing N ...

  7. FPGA设计思想与技巧(转载)

    题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...

  8. FPGA设计者必须精通的5项基本功

    FPGA设计者的5项基本功:仿真.综合.时序分析.调试.验证. 对于FPGA设计者来说,练好这5项基本功,与用好相应的EDA工具是同一过程,对应关系如下: 1. 仿真:Modelsim, Quartu ...

  9. 9.quartus_warning_altera_reserved_tck

    编译的时候没有注意,整个工程都可以在板子上跑起来.但是做Powerplay的时候,出现了这个Critical Warning:. Critical Warning: The following clo ...

随机推荐

  1. Vue中对获取的数据进行重新排序

    var Enumerable = require('linq'); // 使用linq 按照RegisterID排序listJust是自己定义的数组,来接收数据.listJust: [] addDat ...

  2. Cookies 初识 Dotnetspider EF 6.x、EF Core实现dynamic动态查询和EF Core注入多个上下文实例池你知道有什么问题? EntityFramework Core 运行dotnet ef命令迁移背后本质是什么?(EF Core迁移原理)

    Cookies   1.创建HttpCookies Cookie=new HttpCookies("CookieName");2.添加内容Cookie.Values.Add(&qu ...

  3. vbs io file

    <% ''/*******************************二进制文件操作类************************************ ''/*作者:死在水中的鱼(死 ...

  4. VMWare无法共享文件夹(Win7宿主机\Ubuntu14.04客户机)

    在安装VMWare tools的时候,需要执行 vmware-install.pl.在安装过程中,需要编译vmhgfs module,如果编译失败就很可能导致共享文件夹无法正常挂载. 最近,我在虚拟机 ...

  5. Android学习笔记-保存数据的实现方法1

    Android开发中,有时候我们需要对信息进行保存,那么今天就来介绍一下,保存文件到内存,以及SD卡的一些操作,及方法,供参考. 第一种,保存数据到内存中: //java开发中的保存数据的方式 pub ...

  6. Oracle中长度为0字符串与null等价

    不试不知道,Oracle中,长度为0的字符串'' 居然与null等价! 众所周知,null代表空,什么都不存在,而一个字符串'',虽然长度为0,但毕竟已经是一个字符串,二者怎么能等价,混为一谈呢. 在 ...

  7. 一张图轻松记住PHP的*类*以及private和protected的区别

    上图概要的说了下php类的特性,类的方法同属性类似. 图中B类继承自A类,B是A的子类,$x和$y都是B的实例化对象. 1. 原型引用:[A::    . B::   ],仅限public stati ...

  8. iphone分辨率大全

    分辨率越高,屏幕质量也就越高越清晰,iphone的近几代产品处了从3GS到4代时有一个突破性的变化(当然那个时候3GS像素确实太低了),其他的几代产品在这项指标上并未有太大的变化. iphone分辨率 ...

  9. bzoj [Usaco2010 Hol]cowpol 奶牛政坛【树链剖分】

    意识流虚树 首先考虑只有一个党派,那么可以O(n)求树的直径,步骤是随便指定一个根然后找距离根最远点,然后再找距离这个最远点最远的点,那么最远点和距离这个最远点最远的点之间的距离就是直径 那么考虑多党 ...

  10. Akka源码分析-Cluster-Sharding

    个人觉得akka提供的cluster工具中,sharding是最吸引人的.当我们需要把actor分布在不同的节点上时,Cluster sharding非常有用.我们可以使用actor的逻辑标识符与ac ...