首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FPGA静态时序分析模型——寄存器到寄存器

FPGA静态时序分析模型——寄存器到寄存器

1. 适用范围  本文档理论适用于Actel FPGA并且采用Libero软件进行静态时序分析(寄存器到寄存器)。
2. 应用背景  静态时序分析简称STA,它是一种穷尽的分析方法,它按照同步电路设计的要求,根据电路网表的拓扑结构,计算并检查电路中每一个DFF(触发器)的建立和保持时间以及其他基于路径的时延要求是否满足。STA作为FPGA设计的主要验证手段之一,不需要设计者编写测试向量,由软件自动完成分析,验证时间大大缩短,测试覆盖率可达100%。
  静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,给出正确是时序报告。
  进行静态时序分析,主要目的就是为了提高系统工作主频以及增加系统的稳定性。对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。
3. 理论分析3.1         静态时序分析的理论基础知识  在进行正确的时序分析前,我们必须具备基本的静态时序的基本知识点,不然看着编译器给出的时序分析报告犹如天书。如图3.1所示,为libero软件给出的寄存器到寄存器模型的时序分析报告的截取,接下来我们会弄清楚每个栏目的数据变量的含义,以及计算方法。

图3.1  libero静态时序分析报告

3.1.1    固定参数launch edge、latch edge、Tsu、Th、Tco概念1.         launch edge
  时序分析起点(launch edge):第一级寄存器数据变化的时钟边沿,也是静态时序分析的起点。
2.         latch edge  时序分析终点(latch edge):数据锁存的时钟边沿,也是静态时序分析的终点。
3.         Clock Setup Time (Tsu)  建立时间(Tsu):是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数据将不能在这个时钟上升沿被稳定的打入触发器。如图3.2所示:

图3.2  建立时间图解

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

图3.3  保持时间图解

5.         Clock-to-Output Delay(tco)  数据输出延时(Tco):这个时间指的是当时钟有效沿变化后,数据从输入端到输出端的最小时间间隔。
3.1.2    Clock skew  时钟偏斜(clock skew):是指一个时钟源到达两个不同寄存器时钟端的时间偏移,如图3.4所示:

图3.4  时钟偏斜

  时钟偏斜计算公式如下:

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

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

图3.5  数据到达时间

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

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

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

图3.6  时钟到达时间

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

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

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


图3.7  数据需求时间

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

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

  (保持)数据需求时间计算公式如下:
                      Data Required Time = Clock Arrival Time + Th               (公式3-5) 
3.1.6    Setup slack  建立时间余量(setup slack):当数据需求时间大于数据到达时间时,就说时间有余量,Slack是表示设计是否满足时序的一个称谓。

图3.8  建立时间余量

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

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

  由公式可知,正的slack表示数据需求时间大于数据到达时间,满足时序(时序的余量),负的slack表示数据需求时间小于数据到达时间,不满足时序(时序的欠缺量)。
继承事业,薪火相传
返回列表