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中的时序约束常用方法的更多相关文章

  1. Quartus中添加时序约束

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

  2. 【转载】如何在FPGA设计环境中添加加时序约束

    转自:http://bbs.ednchina.com/BLOG_ARTICLE_198929.HTM 如何在FPGA设计环境中加时序约束    在给FPGA做逻辑综合和布局布线时,需要在工具中设定时序 ...

  3. 【转载】【时序约束学习笔记1】Vivado入门与提高--第12讲 时序分析中的基本概念和术语

    时序分析中的基本概念和术语 Basic concept and Terminology of Timing Analysis 原文标题及网址: [时序约束学习笔记1]Vivado入门与提高--第12讲 ...

  4. Tcl与Design Compiler (十)——其他的时序约束选项(一)

    本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 之前讲了基本的时序路径 ...

  5. FPGA时序约束——理论篇

    在FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束.这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的.好的时序约束可以指导布局布 ...

  6. FPGA时序约束和timequest timing analyzer

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

  7. FPGA基础学习(4) -- 时序约束(理论篇)

    在FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束.这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的.好的时序约束可以指导布局布 ...

  8. Tcl与Design Compiler (十一)——其他的时序约束选项(二)

    本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 前面介绍的设计都不算很复杂,都是使用时钟的默认行为 ...

  9. VIVADO时序约束及STA基础

    一.前言 无论是FPGA应用开发还是数字IC设计,时序约束和静态时序分析(STA)都是十分重要的设计环节.在FPGA设计中,可以在综合后和实现后进行STA来查看设计是否能满足时序上的要求.本文阐述基本 ...

  10. FPGA时序约束的几种方法 (转)

    FPGA时序约束的几种方法 对自己的设计的实现方式越了解,对自己的设计的时序要求越了解,对目标器件的资源分布和结构越了解,对EDA工具执行约束的效果越了解,那么对设计的时序约束目标就会越清晰,相应地, ...

随机推荐

  1. USB至串口TTL转接设备及Console线

    USB转串口常见芯片方案 FT232, FTDI(英国) 公认稳定可靠, 传输速率3Mbps, 功能最强, 单芯片内置SPI,TWI,JTAG,GPIO等功能. FT232BM为较早型号, FT232 ...

  2. Spring Boot图书管理系统项目实战-1.系统功能和架构介绍

    导航: next:2.项目搭建 1.项目源码 需要源码的朋友,请捐赠任意金额后留下邮箱发送:) 2.项目背景 自己闲着没事写的,供初学spring boot和在校大学生毕业设计学习交流.大神请忽略:) ...

  3. MYSQL服务无法启动:InnoDB: .\ibdata1 can't be opened in read-write mode

    今天在那做实验倒腾mysql数据库,后来发现服务无法启动,查看日志报错如下: 2015-01-07 17:48:54 9136 [ERROR] InnoDB: .\ibdata1 can't be o ...

  4. 易语言读取Mysql表数据

    源码下载: https://download.csdn.net/download/IndexMan/12029860 1.界面设计 2.效果展示 3.源码展示 程序集变量: 读取数据按钮: 读取数据子 ...

  5. vscode添加自定义html片段

    最近在学vue,用的是微软的vscode 开发工具. 很不错,赞一下微软.里面包含了众多插件大家可以各取所需. 另外有一项实用的功能,User Snippets 用户自定义代码段, 对于那些需要重复编 ...

  6. 使用spring boot jpa进行增删改查

    项目地址:https://gitee.com/indexman/spring_boot_in_action 编写实体类User package com.laoxu.springboot.entity; ...

  7. ubuntu 中 docker 每次都输入 sudo 命令

    查看用户组及成员 sudo cat /etc/group | grep docker 可以添加docker组 sudo groupadd docker 添加用户到docker组 sudo gpassw ...

  8. 【ACM专项练习#02】整行字符串、输入vector、打印图形、处理n组数据以及链表操作等

    输入整行字符串 平均绩点 题目描述 每门课的成绩分为A.B.C.D.F五个等级,为了计算平均绩点,规定A.B.C.D.F分别代表4分.3分.2分.1分.0分. 输入 有多组测试样例.每组输入数据占一行 ...

  9. 内存管理(二)之别小看了Tagged-Pointer关键时刻起到大作用

    本文主要研究Tagged Pointer技术,针对该技术需要解决的问题.以及在实际应用中的价值做一些简单的探讨. 如果你想要更进一步,去挖掘Tagged Pointer是如何实现的,可以参考Frida ...

  10. 05、secs协议常见问题分析以及如何建立通信

    1.建立通信 在主机和设备之间发送SECS-II消息之前,必须首先"建立"通信.这是通过S1F13(建立通信请求)消息来完成的.这应该是在初始启动后或在长时间不通信之后发送的第一个 ...