zoukankan      html  css  js  c++  java
  • FPGA中的时序分析(四)

    常用约束语句说明

    关于Fmax

    wps243B.tmp     上述是实现Fmax的计算公式,clock skew delay的计算如下图,wps24F8.tmp

      就是两个时钟的差值。到头来,影响Fmax的值的大小就是组合逻辑,而Fmax是针对最差劲的节点给出的最高频率,而且Tsu会影响Fmax的大小。

      那么提高Fmax可以通过两种方法解决:(1)将两个时序逻辑之间的大组合逻辑分为两个小的逻辑,即采用流水线设计方法 ;(可以在组合逻辑的两端加上寄存器,这样可以增加时序余量) ;(2)更改时序约束或者更改一些综合或者实现选项,让开发工具去解决问题,如下图进行相关设置。

    wps2528.tmp

      如下图是一个实现乘法器的操作,那么我们可以将有40ns压力的组合逻辑分成多个小的的模块,即流水线形式,这样可以提高数据的吞吐量。

    wps2538.tmp

    wps2539.tmp

    关于PLL约束

      首先altera内部的PLL之间是相互关联的,在对PLL进行约束时,derive pll clocks是驱动所有的PLL的输出.

    wps2E97.tmp

      上述是与pll相关的时序约束,其中只要设定wps2EE6.tmp约束,就可以实现自动对PLL的输出时钟信号进行约束。

    wps2EE7.tmp

      用于交互时钟,内部时钟,和IO接口的不确定时间的自动检测,一般只用在FPGA芯片中,一般此命令需要加入到时序约束中。

    wps2EF8.tmp此部分也是非常的重要的部分,其中report all summaries 是把所有情况列出来,report top failing paths 是列出所有违规的路径,此路径默认深度是200,可以手动去更改,report all core timings是列出所有核心的路径,默认是1000,如果需要可以去更改。

      对于PLL的输出时钟,分为有数据交换和无数据交换两部分。对于无数据交换,约束比较简单,set false path加上PLL的输出时钟名称,约定PLL的输出时钟之间无数据交换。

    关于供源时钟

    wpsCDFB.tmp

      如上图所示,供源时钟就是从FPGA中的fpga_clk输入,然后经过某个管脚直接输出,然后供给ic1和ic2来实现,还是fpga_clk的时钟频率。

    wpsCE2A.tmp

      对于上图是FPGA和某IC之间的通信,这种情况是建立不了时序约束的,他们没有彼此的独立时钟源,反而观之下图可以实现与内部寄存器相类似的约束功能

    wpsCE3B.tmp

    延迟源分析

      对于延迟方面,分为内部和外部延迟,如图1所示。图2是内部延迟,寄存器之间的一些延迟也是属于内部延迟,外部延迟如图3所示

    wpsCE4C.tmp

    图1延迟分析

    wpsCE5C.tmp

    图2 内部延迟

    wpsCE6D.tmp

    图3 外部延迟

    输入输出延迟分析

      IC2FPGA模型来讲的。参照下图:

    wpsCE7E.tmp 与其相关的公式:

    wpsCE8E.tmp

    wpsCE9F.tmp

    wpsCEAF.tmp

    wpsCEC0.tmp

    wpsCED1.tmp

    set max/min delay

      对于上一节需要计算时钟偏斜,所以需要计算延时的最大值和最小值,即set max/min delay的参数设置。这个参数的设置具体需要根据实例中先估计一个大概值,然后再精确,留足余量。

    //=======================================================================

    更多详细的资料下载可以登录笔者百度网盘:

    网址:http://pan.baidu.com/s/1bnwLaqF

    密码:fgtb

    //=======================================================================

  • 相关阅读:
    关于unity的一个不错的插件平台
    erlang otp中的socket参数设置
    android开发国内镜像
    composer中文镜像
    bootstrap的一些资源
    根据现有表操作基于active record的model
    Erlang Web 监控工具
    erlang程序发布的时候需要注意的地方
    pcl学习笔记(二):点云类型
    c++中inline函数的意义
  • 原文地址:https://www.cnblogs.com/raymon-tec/p/5188258.html
Copyright © 2011-2022 走看看