zoukankan      html  css  js  c++  java
  • TimeQuest学习之二------常用命令

    1.常用的 PLL 约束命令如下:

    derive_pll_clocks:无论我们用PLL 声明多少时钟输出,只要填上derive_pll_clocks 这个命令,TimeQuest 会自行建立相关的时钟约束,然后做出报告。

    derive_clock_uncertainty:clock uncertainty 是指时钟信号的不确定因数,65nm及以上工艺的FPGA必须加此条命令,65nm以下的加上,TQ会自动忽略。

    set_multicycle_path:告诉TimeQuest 某对节点很可能不是用1 个时钟周期工作。set_multicycle_path中的设置,Hold 虚线箭头会跟着Setup 虚线箭头移动,默认是Setup Value 为1,Hold Value 为0。因此,将setup值设为4时,必须将hold值设为3(使向左移3),如此,才能保证设置的多周期有效。如图所示:(P115)事实上这只是TimeQuest 这个数学工具在数字上的计算成功。set multicycle path 该约束命令实际上它会更改启动沿或者锁存沿的触发时候。

     Set False Path:要 TimeQuest 无视相关的节点分析,Set False Path 的用法很简单,之下输入相关的节点,无视操作就会被执行。Set False Path 也是一个危险的约束命令,如果同学们没有足够的信心,千万不要随意使用。

    --------------------------------------------------------------------------------------------------------------------

    1、TimeQuest 所谓的默认CASE —— slow model也指最极端的情况,结果而言Time Quest就像为世界末日作好准备的生存者,往往评估和分析极端环境的各种状况。

    2、Post-map 网表会参照综合结果而建立。结果来说,Post-map 网表更接近原型(没有优化),但是post-fit 更接近物理结果(有优化)。

    3、create_timing_netlist -model slow:默认建立网表的质量。

    4、有没有快捷的方法一举列出违规的节点?点击Macros->Report Top Failing Paths

    5、如果由于组合逻辑过多(也即Tdata过长),造成建立时间不满足,那么有三种途径解决问题:

    (一)消灭怪兽(放弃使用即时式Booth 乘法器)。
    (二)增宽时钟周期。
    (三)使用约束命令。

    6、另外还有一种说法说,best case 网表setup 分析不容易合格,worst case 网表hold 分析不容易合格。结果会分别用best case 针对setup 分析,用worst case 针对hold 分析,如果best case 下setup 分析有余量& worst case 下hold 分析有余量,那么这个模块就是没问题。

    7、142页讲了如何进行编译器的设置,可以提高Fmax。

  • 相关阅读:
    Android.mk添加第三方jar包
    关于回调函数
    Ubuntu下GIT服务器的安装与配置
    三星I9100在Ubuntu下用Adb调试
    Android检测网络是否可用和主机是否可达
    keepalived配置文件解析系列之(一)keepalived简介及配置文件介绍
    keepalived配置文件解析系列之(三)配置文件解析过程
    C语言中的位域(bitfield)概念
    popen和变长参数库函数(va_xxx)用法举例及命令执行失败情况探讨
    《深入理解Linux内核》条目式笔记 _3
  • 原文地址:https://www.cnblogs.com/fkl523/p/4000443.html
Copyright © 2011-2022 走看看