TimeQuest 静态时序分析 基本概论

静态时序分析 基本概念

【转载】

1.   背景

静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,给出正确是时序报告。

  进行静态时序分析,主要目的就是为了提高系统工作主频以及增加系统的稳定性。对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。

2.   理论分析

2.1   固定参数launch edge、latch edge、Tsu、Th、Tco概念

2.1.1         launch edge

  时序分析起点(launch edge):第一级寄存器数据变化的时钟边沿,也是静态时序分析的起点。

2.1.2        latch edge

  时序分析终点(latch edge):数据锁存的时钟边沿,也是静态时序分析的终点。

2.1.3         Clock Setup Time (Tsu)

  建立时间(Tsu):是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数据将不能在这个时钟上升沿被稳定的打入触发器。如图3.2所示:

图3.2  建立时间图解

2.1.4        Clock Hold Time (Th)

  保持时间(Th):是指数据稳定后保持的时间,如果保持时间不满足要求那么数据同样也不能被稳定的打入触发器。保持时间示意图如图3.3所示:

图3.3  保持时间图解

2.1.5         Clock-to-Output Delay(tco)

  数据输出延时(Tco):这个时间指的是当时钟有效沿变化后,数据从输入端到输出端的最小时间间隔。

2.2    Clock skew

  时钟偏斜(clock skew):是指一个时钟源到达两个不同寄存器时钟端的时间偏移,如图3.4所示:

图3.4  时钟偏斜

  时钟偏斜计算公式如下:

Tskew = Tclk2 - Tclk1           (公式2-1)

2.2    Data Arrival Time

  数据到达时间(Data Arrival Time):输入数据在有效时钟沿后到达所需要的时间。主要分为三部分:时钟到达寄存器时间(Tclk1),寄存器输出延时(Tco)和数据传输延时(Tdata),如图3.5所示

图3.5  数据到达时间

  数据到达时间计算公式如下:

   Data Arrival Time = Launch edge + Tclk1 +Tco + Tdata        (公式2-2)

2.3    Clock Arrival Time

  时钟到达时间(Clock Arrival Time):时钟从latch边沿到达锁存寄存器时钟输入端所消耗的时间为时钟到达时间,如图3.6所示

图3.6  时钟到达时间

时钟到达时间计算公式如下:

 Clock Arrival Time = Lacth edge + Tclk2              (公式2-3)

2.4    Data Required Time(setup/hold)

  数据需求时间(Data Required Time):在时钟锁存的建立时间和保持时间之间数据必须稳定,从源时钟起点达到这种稳定状态需要的时间即为数据需求时间。如图3.7所示:

图3.7  数据需求时间

  (建立)数据需求时间计算公式如下:

         Data Required Time = Clock Arrival Time - Tsu            (公式2-4)

  (保持)数据需求时间计算公式如下:

                   Data Required Time = Clock Arrival Time + Th               (公式2-5) 

2.5    Setup slack

  建立时间余量(setup slack):当数据需求时间大于数据到达时间时,就说时间有余量,Slack是表示设计是否满足时序的一个称谓。

图3.8  建立时间余量

  如图3.8所示,建立时间余量的计算公式如下:

          Setup slack = Data Required Time - Data Arrival Time        (公式2-6)

  由公式可知,正的slack表示数据需求时间大于数据到达时间,满足时序(时序的余量),负的slack表示数据需求时间小于数据到达时间,不满足时序(时序的欠缺量)。

3.1.7    时钟最小周期

  时钟最小周期:系统时钟能运行的最高频率。

  1.  当数据需求时间大于数据到达时间时,时钟具有余量;

  2.    当数据需求时间小于数据到达时间时,不满足时序要求,寄存器经历亚稳态或者不能正确获得数据;

  3.    当数据需求时间等于数据到达时间时,这是最小时钟运行频率,刚好满足时序。

  从以上三点可以得出最小时钟周期为数据到达时间等于数据需求时间,的运算公式如下:

Data Required Time = Data Arrival Time 

图解Setup 与 Hold Slack

从上面两个图中可以清晰的看出Setup与Hold Slack的定义与计算方法:

Setup slack=latch edge+Tclk2-Tsu-(launch edge+Tclk1+Tco+Tdata)

=(latch edge-lanuch edge)+(Tclk2-Tclk1)-(Tsu+Tco+Tdata)

对于工具默认的单周期来说,latch edge-lanuch edge=T,如果不考虑时钟的skew,Tclk2-Tclk1=0,上式可以表达成:

Setup slack=T-(Tsu+Tco+Tdata),这就是为什么说源寄存器与目的寄存器之间延迟不能太长的原因,延迟越长,slack越小。

Hold slack=data arrival time – data required time
             =(launch edge + Tclk1 + Tco + Tdata) – (latch edge + Tclk2 + Th)
             =(launch edge – latch edge) – (Tclk2 – Tclk1) + (Tco + Tdata + Th)

注意,上式中的launch edge为next launch edge,即为latch edge,所以launch edge – latch edge=0,如果不考虑时钟的skew,Tclk2-Tclk1=0,上式可以表达成:

Hold slack=Tco + Tdata – Th,这就是为什么说源寄存器与目的寄存器之间延迟不能太短的原因,时间太短,slack越小。

setup  slack 计算

hold  slack 计算

时间: 2024-10-05 12:46:58

TimeQuest 静态时序分析 基本概论的相关文章

Timequest静态时序分析(STA)基础

Setup Slack Hold Slack Recovery&Removal Recovery: The minimum time an asynchronous signal must be stable BEFORE clock edgeRemoval  : The minimum time an asynchronous signal must be stable AFTER clock edge I/O Analysis Analyzing I/O performance in a s

timequest静态时序分析学习笔记之命令约束

第二章 约束命令 Timequest共包括13条约束命令(从timequest工具constrants下拉菜单可选的约束命令,实际不止这么多),分别是: Creat clock Creat generated clock Set clock lantency Set clock uncertainty Set clock groups Remove clocks Set input delay Set output delay Set false path Set multicycle path

静态时序分析(static timing analysis)

静态时序分析(static timing analysis,STA)会检测所有可能的路径来查找设计中是否存在时序违规(timing violation).但STA只会去分析合适的时序,而不去管逻辑操作的正确性. 其实每一个设计的目的都相同,使用Design Compiler和IC Compile来得到最快的速度,最小的面积和最少的耗能.根据设计者提供的约束,这些工具会在面积,速度和耗能上做出权衡. 更深层的来看,STA一直都寻找一个问题的答案 : 在所有条件下,当时钟沿到达时,数据会正确地在每个

FPGA静态时序分析——IO口时序(Input Delay /output Delay)(转载)

转载地址:http://www.cnblogs.com/linjie-swust/archive/2012/03/01/FPGA.html 1.1  概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛.因此,FPGA时序约束中IO口时序约束也是一个重点.只有约束正确才能在高速情况下保证FPGA和外部器件通信正确. 1.2  FPGA整体概念 由于IO口时序约束分析是针对于电路板整个系统进行时序分析,所以FPGA需要作为一个

静态时序分析(static timing analysis) --- 时序路径

时序分析工具会找到且分析设计中的所有路径.每一个路径有一个起点(startpoint)和一个终点(endpoint).起点是设计中数据被时钟沿载入的那个时间点,而终点则是数据通过了组合逻辑被另一个时间沿载入的时间点. 路径中的起点是一个时序元件的时钟pin或者设计的input port.input port可以作为起点是因为数据可以由外部源(external source)进入设计. 终点则是时序元件的数据输入pin或者设计的output port.同理output port可以作为终点是因为数

timequest静态时序分析学习笔记之工具使用

第三章 工具使用 这里我通过几条约束命令来讲解timequest工具的简单使用. 3.1 creat_clock约束命令 相关代码: 图27 第一步,在quartus ii软件tools下来菜单中找到timequest timing analyze选项并打开,出现如图27的会话框: 图 28 报告窗口:通过这个窗口,我们可以知道timequest都执行了哪些任务. 任务窗口:通过这个窗口,让timequest执行你要求的任务,比如点击report clocks,timequest就会在信息显示窗

2014年黑金FPGA原创教程规划发布

2014年已经过去快一半了,才出黑金2014年的FPGA原创教程规划,有点对不起大家了,哈哈! 俗话说,亡羊补牢,为时不晚,希望大家谅解啊,对于大家的支持,我们黑金人一向是感激.感恩.感谢! 下面大概说一下2014年的原创教程规划: 我们正在连载的是[FPGA那些事儿-驱动篇I ],这本教程连载完成以后,后续还有[FPGA那些事儿-驱动篇II ].[FPGA那些事儿-工具篇III].[FPGA那些事儿-体验篇].完成上面四本教程的连载,2014年基本上就过去了. 一年发布4部教程,对于我们来说工

《FPGA那些事儿》原创教程总结

FPGA那些事儿-驱动篇I经过几个月的连载,一共29章,全部连载完成,以下链接问完整的导读和网盘下载地址: http://www.heijin.org/forum.php?mod=viewthread&tid=32350&extra=page%3D1 经过我们黑金工程师多年的不断努力,黑金原创教程已经达到了8部,包括 第一部:[黑金原创教程]<NIOSII那些事儿> http://www.heijin.org/forum.php?mod=viewthread&tid=1

Timequest Timing Analyzer进行时序分析(二)

四.用TimeQuest对DAC7512控制器进行时序分析 在对某个对象下时序约束的时候,首先要能正确识别它,TimeQuest会对设计中各组成部分根据属性进行归类,我们在下时序约束的时候,可以通过命令查找对应类别的某个对象. TimeQuest对设计中各组成部分的归类主要有cells,pins,nets和ports几种.寄存器,门电路等为cells:设计的输入输出端口为ports:寄存器,门电路等的输入输出引脚为pins:ports和pins之间的连线为nets.具体可以参照下图(此图出自Al