您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制如何做好约束、时序的分析 正文
如何做好约束、时序的分析

如何做好约束、时序的分析

点击数:7495 次   录入时间:03-04 11:39:48   整理:http://www.55dianzi.com   电脑-单片机-自动控制

  约束输出时间偏移,需要知道TOUTPUT,TOUTPUT为设计中连接同步元件输出端的组合逻辑、网线和PAD的延迟之和,仍然是到达输出端的组合逻辑电路和网线的延时就比较难以确定,需要通过静态时序分析工具分析,或者通过底层布局布线工具量取,有很大的经验和试探的成分在里面。

  约束的具体命令根据约束工具不同而异,首先说使用Xilinx器件的情况下,实施上述约束的命令和方法。Xilinx把上述约束统称为:OFFSET约束(偏移约束),一共有4个相关约束属性:OFFSET_IN_BEFORE、OFFSET_IN_AFTER、OFFSET_OUT_BEFORE和OFFSET_OUT_AFTER。其中前两个属性叫做输入偏移(OFFSET_IN)约束,基本功能相似,仅仅是约束取的参考对象不同而已。后两个属性叫做输出偏移(OFFSET_OUT)约束,基本功能相似,也是约束取的参考对象不同而已。为了便于理解,举例说明。

  输入偏移约束:时钟周期为20ns,前级寄存器的TCKO选择1ns,前级输出逻辑延时TOUTPUT为3ns,中间逻辑TLOGIC的延时为10ns,那么TARRIVAL=14ns,于是可以在数据输入引脚附加NET DATA_IN OFFET=IN 14ns AFTER CLK约束,也可以使用OFFSET_IN_BEFORE对芯片内部的输入逻辑进行约束,其语法如下:

  NET DATA_IN OFFET=IN TDELAY BEFORE CLK

  其中TDELAY为要求的芯片内部输入延迟,其最大值与输入数据到达时间TARRIVAL的关系:TDELAY_MAX + TARRIVAL = TPERIOD,所以TDELAY < TPERIOD - TARRIVAL = 20 - 14 =6 ns。

  输出偏移约束:设时钟周期为20ns,后级输入逻辑延时TINPUT为4ns、建立时间TSETUP为1ns,中间逻辑TLOGIC的延时为10ns,那么TSTABLE=15ns,于是可以在数据输入引脚附加NET DATA_OUT OFFET=OUT 15ns BEFORE CLK约束,也可以直接对芯片内部的输出逻辑直接进行约束,NET DATA_OUT OFFET=OUT TOUTPUT_DELAY AFTER CLK,其中TOUTPUT_DELAY为要求的芯片内部输出延迟,其最大值与要求的输出数据稳定时间TSTABLE的关系为:

  TOUTPUT_DELAY_MAX+TSTABLE= TPERIOD。 TOUT_DELAY< TPERIOD - TSTABLE = 20 - 15 = 5ns

  I Altera对应的时序概念

  下面主要介绍Altera对应的这些时序概念和约束方法。 前面首先介绍的第一个时序概念是周期(Period),这个概念是FPGA/ASIC通用的一个概念,各方的定义相当统一,至多是描述方式不同罢了,所有的FPGA设计都首先要进行周期约束,这样做的好处除了在综合与布局布线时给出规定目标外,还能让时序分析工具考察整个设计的FMax等。

  Altera的周期定义如下图所示,公式描述如下:

  

  图5 Altera 的 Period 示意图

  Clock Period = Clk-to-out + Data Delay + Setup Time - Clk Skew

  即,Tclk= Tco+ B + Tsu-(E-C) Fmax =1/Tclk

  对比一下前面的介绍,只要理解了B 包含了两级寄存器之间的所有 logic 和 net 的延时就会发现与前面公式完全一致。

  J Altera的其他基本时序概念

  Clock Setup Time (tsu) 要想正确采样数据,就必须使数据和使能信号在有效时钟沿到达前就准备好,所谓时钟建立时间就是指时钟到达前,数据和使能已经准备好的最小时间间隔。如下图所示:

  

  图6 tsu示意图

  (注:这里定义Setup时间是站在同步时序整个路径上的,需要区别的是另一个概念Micro tsu。Micro tsu指的是一个触发器内部的建立时间,它是触发器的固有属性,一般典型值小于1~2ns。在Xilinx等的时序概念中,称Altera的Micro tsu为setup时间,用Tsetup表示,请大家区分一下。 回到Altera的时序概念,Altera的tsu定义如下: tsu = Data Delay – Clock Delay + Micro tsu)

  Clock Hold Time (tH) 时钟保持时间是只能保证有效时钟沿正确采用的数据和使能信号的最小稳定时间。其定义如下图所示:

  

  图7 tH示意图

  定义的公式为: tH= Clock Delay – Data Delay + Micro tH

  注:其中Micro tH是指寄存器内部的固有保持时间,同样是寄存器的一个固有参数,典型值小于1~2ns。

  Clock-to-Output Delay(tco) 这个时间指的是当时钟有效沿变化后,将数据推倒同步时序路径的输出端的最小时间间隔。如下图所示:

  

  图8 tco示意图

  tco = Clock Delay + Micro tco + Data Delay

  (注:其中 Micor tco也是一个寄存器的固有属性,指的是寄存器相应时钟有效沿,将数据送到输出端口的内部时间参数。它与Xilinx的时序定义中,有一个概念叫Tcko是同一个概念。)

  PIN to Pin Delay (tpd) tpd指输入管脚通过纯组合逻辑到达输出管脚这段路径的延时,特别需要说明的是,要求输入到输出之间只有组合逻辑,才是tpd延时。

  Slack是表示设计是否满足时序的一个称谓,正的slack表示满足时序(时序的余量),负的slack表示不满足时序(时序的欠缺量)。slack的定义和图形如下图所示。

  

  图9 slack示意图

  Slack = Required clock period – Actual clock period

  Slack = Slack clock period – (Micro tCO+ Data Delay + Micro tSU)

  Clock Skew指一个同源时钟到达两个不同的寄存器时钟端的时间偏移,如下图所示。

  

  图10 clock skew示意图



上一页  [1] [2] 


本文关键字:如何  电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制