quartus中的时序约束常用方法
quartus中的时序约束常用方法
一、约束操作
quartus中有三种时序约束方法:
1️⃣Timing Setting
2️⃣Wizards/Timing Wizard
3️⃣Assignment/Assignment Editor
一般来说,前面两种是全局约束,后面一种是个别约束。
先全局,后个别。约束操作的目标就是得到合理的时序报告。
二、指定全局时序约束
(1)时序驱动的编译(TDC)
Fitter Setting,约束设置,可以调整时序的优先策略并自动提供解决方案。时序编译的主要操作有:
优化时序:将关键路径的节点放置地更近,降低延时,提高余量
优化保持时间:修改布局布线,满足保持时间和最小时序要求
优化IO单元寄存器放置:为了满足时序,自动将寄存器移到IO单元中。
其中优化保持时间,还可以选择优化IO路径保持时间与最小tPD路径的时间,或者是所有路径。
优化的方法就是在关键路径上添加布线延时以满足保持时间的要求。
(2)全局时钟设置
在timing setting 中即可设置全局时钟,用于一个时钟域的全局时钟约束。在timing requirements & options的中间位置。
(3)全局IO时序约束
在全局时钟设置的上面就是IO的最小时序设置。设置的参数包括:tSU,tCO,tPD和最小延时要求的tH、Min tCo、Min tPD共六个参数,具体的使用方法需要在实际的工程中体现。
(4)时序分析和时序报告
quartus中在综合后会自动生成时序分析报告,可以通过时序分析报告查看设计的时序要求是否符合预期。
(5)时序向导(Timing Wizard)
由自带的软件向导设置全局时钟。
三、指定个别时序约束
(1)指定个别时钟要求
quartus默认的时钟有两类:独立时钟和衍生时钟。时钟域对应的是独立时钟,对于衍生时钟,则依附于对应的独立时钟的时序。对两类时钟的声明也是不一样的,独立时钟需要时钟频率和占空比,而衍生时钟则需要相位差、频率倍数等关系约束。
(2)个别时序约束
时钟设置:在设置独立时钟时就可以将其的物理节点指定。
输入输出最大延时:输入延时直接影响时钟建立、保持时间,输出直接影响插传输延时和路径延时。
反相时钟:可以声明某个时钟的反相时钟信号。
非时钟:将某些不必要的时钟去除。
(3)时序约束的种类
单点:输入到所有寄存器的延时约束
点到点:输入到某个寄存器的延时约束
通配符:输入到某些相似寄存器的约束
时序组:输入到某组寄存器的延时
(4)查看所有时序约束
在前面的时序约束操作最后都可以在quartus中的Assignment Editor中查看,也可以在里面将其删除。
四、小结
时序分析报告是得到这个设计的时序状况,而时序约束则是优化时序状况。时序约束的前提是有明确的时序设计目标。这点需要注意。
quartus中的时序约束常用方法的更多相关文章
- Quartus中添加时序约束
1.sdc文件也是要添加到Quartus 软件中,这样在执行Read SDC File命令时才能读到相应的文件. 2.在TimeQuest打开的条件下,重新编译工程之后要Update Timing N ...
- 【转载】如何在FPGA设计环境中添加加时序约束
转自:http://bbs.ednchina.com/BLOG_ARTICLE_198929.HTM 如何在FPGA设计环境中加时序约束 在给FPGA做逻辑综合和布局布线时,需要在工具中设定时序 ...
- 【转载】【时序约束学习笔记1】Vivado入门与提高--第12讲 时序分析中的基本概念和术语
时序分析中的基本概念和术语 Basic concept and Terminology of Timing Analysis 原文标题及网址: [时序约束学习笔记1]Vivado入门与提高--第12讲 ...
- Tcl与Design Compiler (十)——其他的时序约束选项(一)
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 之前讲了基本的时序路径 ...
- FPGA时序约束——理论篇
在FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束.这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的.好的时序约束可以指导布局布 ...
- FPGA时序约束和timequest timing analyzer
FPGA时序约束 时钟约束 #************************************************************** # Create Clock #****** ...
- FPGA基础学习(4) -- 时序约束(理论篇)
在FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束.这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的.好的时序约束可以指导布局布 ...
- Tcl与Design Compiler (十一)——其他的时序约束选项(二)
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 前面介绍的设计都不算很复杂,都是使用时钟的默认行为 ...
- VIVADO时序约束及STA基础
一.前言 无论是FPGA应用开发还是数字IC设计,时序约束和静态时序分析(STA)都是十分重要的设计环节.在FPGA设计中,可以在综合后和实现后进行STA来查看设计是否能满足时序上的要求.本文阐述基本 ...
- FPGA时序约束的几种方法 (转)
FPGA时序约束的几种方法 对自己的设计的实现方式越了解,对自己的设计的时序要求越了解,对目标器件的资源分布和结构越了解,对EDA工具执行约束的效果越了解,那么对设计的时序约束目标就会越清晰,相应地, ...
随机推荐
- VSCode 编写vue项目之一键生成.vue模版
1.安装插件Vetur 2.新建用户片段(.vue代码模板) 在弹出的输入框输入:vue.json (如果没有反应,那就尝试只输入"vue") ,接着enter 3.将.vue模板 ...
- sensitive-word-admin 敏感词控台 v1.2.0 版本开源
开源目的 丰富 sensitive-word 的生态. 提供最基本的操作例子,便于在此基础上丰富实现自己的敏感词控台. 避免重复开发的成本,让更多的精力专注于业务. 拓展阅读 sensitive-wo ...
- fgrep命令
fgrep命令 当需要搜索包含很多正则表达式元字符的字符串时,例如$.^等,fgrep很有用,其通过指定搜索字符串包含固定字符,从而无需对每个字符进行转义用反斜杠,如果搜索的字符串包含换行符,则每行将 ...
- Java设计模式-职责链模式Chain of Responsibility
介绍 职责链模式(Chain of Responsibility Pattern), 又叫 责任链模式,为请求创建了一个接收者对象的链(简单示意图).这种模式对请求的发送者和接收者进行解耦. 职责链模 ...
- 解决idea中使用git fetch报远程仓库Authentication failed
这个问题是项目组同事在从git服务器clone代码后做fetch操作老是报错: Authentication failed, 弹出框提示:invalid user or password 其实问题出i ...
- win32 - 从dll中导出api并使用
从User32.dll中导出MessageBoxW 代码: #include <Windows.h> #include <iostream> #include <func ...
- Python2升级到Python3
操作系统环境:CentOS Linux release 7.4.1708 (Core). 系统默认Python版本为2.7. 升级前的版本信息: [root@cch-spider-web1 ~]# l ...
- go最新版本1.15安装配置及编辑器2020.2版本goland
下载 https://golang.google.cn/dl/ 配置 go env #查看是否安装成功 # 终端输入修改镜像地址 $ go env -w GO111MODULE=on $ go env ...
- 【Azure Cloud Service】Cloud Service(Classic) 迁移失败,找不到解决方案怎么办?
问题描述 很老很老的云服务,在迁移到 Cloud Service(Extended Support)[云服务外延支持] 时,迁移的验证步骤不通过,因为资源中没有包含虚拟网络(Virtual Netwo ...
- 【Azure 存储服务】Azure Blob Storage SDK 升级失败,遇见 Unsatisfied Dependency Exception 和 Unexpected Length Exception
问题描述 在升级Java Azure Blob Storage SDK的过程中,先后遇见了 UnsatisfiedDependencyException 和 UnexpectedLengthExcep ...