zoukankan      html  css  js  c++  java
  • 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中查看,也可以在里面将其删除。

    四、小结

    时序分析报告是得到这个设计的时序状况,而时序约束则是优化时序状况。时序约束的前提是有明确的时序设计目标。这点需要注意。

  • 相关阅读:
    mysql获取给定时间段内的所有日期列表
    mysql中的年,月,日统计以及日历表的实现
    MySQL5.7安装配置
    获取ip地址
    Intellij热部署插件JRebel
    IntelliJ IDEA2018版热部署jrebel插件安装使用教程
    idea插件篇之java内存分析工具(JProfiler)
    mysql中的整除,取余
    SIMD.mul (SIMD) – JavaScript 中文开发手册
    Java面试题 : 如何确保N个线程访问N个资源的同时又不导致死锁
  • 原文地址:https://www.cnblogs.com/electricdream/p/13627258.html
Copyright © 2011-2022 走看看