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工具执行约束的效果越了解,那么对设计的时序约束目标就会越清晰,相应地, ...
随机推荐
- 解锁Mysql中的JSON数据类型,怎一个爽字了得
引言 在实际业务开发中,随着业务的变化,数据的复杂性和多样性不断增加.传统的关系型数据库模型在这种情况下会显得受限,因为它们需要预先定义严格的数据模式,并且通常只能存储具有相同结构的数据.而面对非结构 ...
- test-01-java 单元测试框架 junit 入门介绍
拓展阅读 junit5 系列 基于 junit5 实现 junitperf 源码分析 Auto generate mock data for java test.(便于 Java 测试自动生成对象信息 ...
- 【Unity3D】UGUI之Slider
1 Slider属性面板 在 Hierarchy 窗口右键,选择 UI 列表里的 Slider 控件,即可创建 Slider 控件,选中创建的 Slider 控件,按键盘[T]键,可以调整 Sli ...
- pycharm—flask创建简单web项目
1.系统 系统 版本 OS win 10 pycharm 专业版2022.3.1 2.引入flask包 pip install flask 3.项目目录展示.代码.浏览器访问 from flask i ...
- golang微服务实践:服务注册与服务发现 - Etcd的使用
为什么? 为什么会有服务注册和服务发现?在它以前我们是怎么做的? 举个例子: 比如我们做MySQL读写分离,就在本地配置一个文件,然后程序读取这个配置文件里的数据进行数据库读写分离的设置. 但是随着业 ...
- jupyterlab安装和优化
说明 JupyterLab(官网https://jupyter.org)是一个交互式的代码编辑器,打开它会打开一个网页,可以在其中编写代码,即时执行,快速得到结果(包括代码返回值.统计图和界面交互图) ...
- 启动Study.BlazorOne项目
由于Study.Trade模块的Blazor是基于国内著名的BootstrapBlazor组件,因此Study.BlazorOne项目也必须添加对BootstrapBlazor的支持. # 1.去Bo ...
- 【应用服务 App Service】在Azure Web App的部署文件中,是否可以限制某些文件无法被访问?(如json)
问题描述 当部署文件到Azure App Service上后,默认访问文件在wwwroot目录中,如appsettings.json文件,在通过URL+文件名的形式可以访问,这样敏感信息会被泄露出去, ...
- 【Azure 应用服务】Azure Function 不能被触发
问题描述 Azure Function 不能被Postman 触发,错误信息如下: Error: write EPROTO 4020778632:error:100000f7:SSL routines ...
- TensorFlow 回归模型
TensorFlow 回归模型 首先,导入所需的库和模块.代码中使用了numpy进行数值计算,matplotlib进行数据可视化,tensorflow进行机器学习模型的构建和训练,sklearn进行多 ...