原创 FPGA时序约束--时序分析的基本概念

2010-8-1 13:05 6838 7 9 分类: FPGA/CPLD

Timing analysis tells how a circuit will behave and how you want the design to behave(constraints paint picture of how design should operate, provide goals for fitter to target during compilation, provide values to which to compare timing results)


时序约束的目的是:规范设计的时序行为,表达设计者所期望满足的时序条件,指导综合和布局布线阶段的优化算法等,作用:提高系统设计的fmax、得到正确的时序分析报告


时序分析中的基本概念


1. 系统的最高频率Fmax


Fmax: 所设计系统的稳定情况下的最高时钟频率所设计系统的稳定情况下的最高时钟频率,他是时序分析中最重要的指标,综合表现所设计时序的性能


首先介绍最小时钟周期Tclk


Tclk = 寄存器的时钟输出延时Tco + 组合逻辑延时Tlogic + FPGA内部的网络延时Tnet + 寄存器时钟建立时间Tsu –时钟偏斜Tclkskew


Fmax = 1 / Tclk


在QuartusII时序分析后很容易看到Fmax


 


2. 时钟的建立时间Tsu和保持时间th


10807035-5799-49c4-a632-c5737eca34bf.jpg



建立时间Tsu:时钟到达之前数据或者使能信号已经准备好(稳定)的最小时间间隔


    Tsu = 数据延时Data_delay – 时钟延时Clock_delay + 寄存器固有的建立时间Tsu   


保持时间Th:能保证有效时钟沿正确采样的数据或者使能信号在时钟沿之后的最小稳定时间


Th = 时钟延时Clock_delay – 数据延时Data_delay = 寄存器固有的保持时间Th


 


3. 时序裕量slack


Slack :约束文件要求时钟周期与实际布局布线后时钟周期的差值,表示时序裕量的一个称谓,大于零表示满足时序,小于零表示不满足时序


1)    Setup Slack


Setup Slack = Data Required Time - Data Arrival Time


2)    Hold Slack


Hold Slack = Data Arrival Time - Data Required Time


Slack = Required_clock_period – Actual_clock_period


 


4. 时钟偏斜Skew


时钟偏斜skew:一个同源时钟到达两个不同寄存器的时钟端的时间差别(时钟分布系统中到达各个时钟末端(即器件内部触发器的时钟输入端)的时钟相位不一致的现象)。


如果时钟偏斜超过所允许的最大值,电路的同步可能会发生失效。偏斜主要由两个因素造成:一是时钟源驱动器件的偏差,例如同一个PLL输出的不同时钟信号之间的偏斜;另一个是时钟分配网络的偏斜 。由于时钟信号驱动系统中的大量元件为了达到同步必须同时接收到时钟信号,因此它们之间的任何时间差异都将直接影响系统性能。


避免时钟偏斜Skew可以采取下列方法:1.CLOCK采用全局时钟网络驱动,全局时钟的CLOCK SKEW很小。因此主要时钟信号应该走全局时钟网络以避免始终偏斜。2.采用全局时钟缓冲器 3.采用锁相环(pll)。


 


5. 时钟抖动Jetter


时钟抖动(Jetter)是时钟沿距离其理想位置的偏离。在时序分析中理解时钟抖动非常重要,因为它在系统时序预算方面肩负关键角色。它还能帮助系统设计人员理解系统时序余量。随着系统数据率越来越高,时序抖动在系统设计中已经变得更加关键,如在某些案例中系统性能限制由系统时序余量来确定,因此充份了解时序抖动在系统设计中变得更加重要。总抖动可分为随机抖动和确定性抖动等分量。时钟时序抖动可以在时域以及频域测量。相邻周期抖动、周期抖动及时间间隔误差(TIE)抖动在时域测量,而相位噪声和相位抖动在频域测量。部分抖动源包括热噪声、电源噪声、地弹噪声(ground bounce)、锁相环(PLL)电路、串扰及反射。下图为时钟抖动示例。


d00d7eb2-3ee8-440c-aaa1-9ff308477c48.JPG



6. Data Arrival Time


62452fd7-2378-4358-8648-c71039ea2bed.JPG



Data Arrival Time = Launch edge + 源寄存器时钟延时Tclk1 + 源寄存器数据输出延时Tco + 寄存器之间的组合逻辑延时Tdata


 


7. Clock Arrival Time


c9f91fba-06f7-452d-88be-23b406c4817f.JPG



Clock Arrival Time = Latch edge + 目标寄存器时钟延时Tclk2


 


8. Data Required Time - Setup


6b298506-0fab-4ae8-851a-d0f81887df17.JPG



Data Required Time = Clock Arrival Time – 目标寄存器固有的建立时间Tsu


 


9. Data Required Time – Hold


6929b910-e3fe-4f1b-a24d-65f01474080f.JPG



Data Required Time = Clock Arrival Time – 目标寄存器固有的保持时间Th


 


10.           Launch edge和Latch edge


bf85cead-b479-4d63-9938-34404dadfe2c.JPG



Launch Edge :源寄存器发送数据对应的时钟沿,是时序分析的起点。 


Latch Edge  :目标寄存器捕获数据对应的时钟沿,是时序分析的终点。 

文章评论2条评论)

登录后参与讨论

用户438470 2013-9-3 17:25

写的蛮详细的,正需要,谢谢楼主。

用户431862 2012-11-4 20:28

挺详细的介绍!Thank you!
相关推荐阅读
用户211539 2015-09-28 16:21
FPGA采购和技术咨询:3044959554
Altera Xilinx  FPGA采购和技术咨询QQ:3044959554...
用户211539 2014-02-12 23:05
【博客大赛】Altera CycloneIV SerDes应用和仿真
Altera CycloneIV SerDes应用和仿真 KevinWan   基本原理 SerDes是SERializer和DESerializer的英文缩写,即串行收发器。 Altera SerD...
用户211539 2014-02-10 17:36
【博客大赛】基于FPGA的CIC以及补偿滤波器的设计
基于FPGA的CIC以及补偿滤波器的设计 KevinWan   CIC滤波器 CIC滤波器最早是由Hogenauer提出的,后来出现了不少改进的结构形式。CIC滤波器的特点: 只需要加法器,无需乘法器...
用户211539 2014-02-10 17:29
【博客大赛】SPWM的FPGA设计
SPWM的FPGA设计 KevinWan   SPWM:正弦波脉宽调制,将正弦半波N等分,把每一等分的正弦曲线与横轴所包围的面积用一个与此面积相等的等高矩形脉冲来替代。三角波载波信号U...
用户211539 2014-02-09 15:58
【博客大赛】Altera ALTMEPHY DDR2应用和仿真--基于QuartusII下例化的IP
Altera ALTMEPHY DDR2应用和仿真 --基于QuartusII下例化的IP KevinWan Modelsim仿真(本文是基于QuartusII下例化的IP,非Qsys) 编译如下库:...
用户211539 2014-02-09 15:55
Altera ALTMEPHY DDR2详细介绍(三)
Altera ALTMEPHY DDR2详细介绍(三) KevinWan 接口规则 配置DDR2 SDRAM控制器 DDR2 SDRAM的配置中的大部分参数都是相关数据手册中的参数,通常需要修改的包括...
我要评论
2
7
关闭 站长推荐上一条 /2 下一条