Quartus 12的TimeQuest Timing Analyzer
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的更多相关文章
- FPGA时序约束和timequest timing analyzer
FPGA时序约束 时钟约束 #************************************************************** # Create Clock #****** ...
- 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 ...
- 第一次接触FPGA至今,总结的宝贵经验
从大学时代第一次接触FPGA至今已有10多年的时间,至今记得当初第一次在EDA实验平台上完成数字秒表.抢答器.密码锁等实验时那个兴奋劲.当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus ...
- Quartus II 11.0 开始使用
一.Altera Quartus II 11.0套件介绍 所谓巧妇难为无米之炊,再强的软硬件功底,再多的思维创造力,没有软件的平台,也只是徒劳.因此,一切创造的平台——Quartus II 软件安装, ...
- 【黑金原创教程】【TimeQuest】【第二章】TimeQuest模型角色,网表概念,时序报告
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...
- Quartus中添加时序约束
1.sdc文件也是要添加到Quartus 软件中,这样在执行Read SDC File命令时才能读到相应的文件. 2.在TimeQuest打开的条件下,重新编译工程之后要Update Timing N ...
- FPGA设计思想与技巧(转载)
题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...
- FPGA设计者必须精通的5项基本功
FPGA设计者的5项基本功:仿真.综合.时序分析.调试.验证. 对于FPGA设计者来说,练好这5项基本功,与用好相应的EDA工具是同一过程,对应关系如下: 1. 仿真:Modelsim, Quartu ...
- 9.quartus_warning_altera_reserved_tck
编译的时候没有注意,整个工程都可以在板子上跑起来.但是做Powerplay的时候,出现了这个Critical Warning:. Critical Warning: The following clo ...
随机推荐
- Cocos2dx 小技巧(九)现成的粒子特效
和高中的她 差点儿相同有两三年没见面了吧.下午她正好来泉州.我俩出来一起吃了个饭. 怎么说呢,自从高中毕业后我俩的联系就少了非常多.大学期间也就见过两三面吧. 现在毕业也快一年了,她已是人妇,而我自己 ...
- 谈论javascript闭包
闭包看似很简单,其实牵扯了很多东西,例如:上下文作用域(事件处理程序).内存占用.局部以及全局变量.回调函数以及编程模式等 首先我们谈论一个问题,为什么需要闭包? 1.var全局定义(全局污染)- 指 ...
- vuex 存值 及 取值 的操作
1.传值 // 定义参数 let params = { workItemId: workItemId, flowInstId: flowInstId, itemStatus: itemStatus, ...
- 一个最简单的Servlet实例
先在tomcat的webapps目录下,新建一目录,如test.然后,在test目录下建立WEB-INF为名的目录.这个必须有. 然后,在WEB-INF目录下建立classes目录.用以存储所用到的c ...
- vmstat输出项解释
输出项的解释例如以下: procs * r列表示执行和等待cpu时间片段的进程数,这个值假设长期大约系统cpu个数.说明cpu不足 * b列表示在等待资源的进程数.比方正在等待IO或者内存交换等等 m ...
- 【bzoj4542】[Hnoi2016]大数
#include<algorithm> #include<iostream> #include<cstdlib> #include<cstring> # ...
- createTextNode和innerHTML什么区别
今天写代码,用到createTextNode,发现好像功能和innerHTML是一样的,于是查阅了网上的资料了. 一.createTextNode 例如: var element = document ...
- POJ 2080:Calendar
Calendar Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12546 Accepted: 4547 Descrip ...
- 【Silverlight】Bing Maps学习系列(六):使用扩展模式(Extended Modes)(转)
[Silverlight]Bing Maps学习系列(六):使用扩展模式(Extended Modes) 微软Bing Maps推出有有段时间了,通过不断的改进和新的地图更新,现在已经基本上形成了一套 ...
- SparkSQL与Hive on Spark
SparkSQL与Hive on Spark的比较 简要介绍了SparkSQL与Hive on Spark的区别与联系 一.关于Spark 简介 在Hadoop的整个生态系统中,Spark和MapR ...