特权同学

FPGA实战演练逻辑篇48:基本的时序分析理论1

0
阅读(1850)

基本的时序分析理论1

本文节选自特权同学的图书《FPGA设计实战演练(逻辑篇)》

配套例程下载链接:http://pan.baidu.com/s/1pJ5bCtt

 

何谓静态时序分析(STAStatic Timing Analysis)?

首先,设计者应该对FPGA内部的工作方式有一些认识。FPGA的内部结构其实就好比一块PCBPrinted Circuit Board),FPGA的逻辑阵列就好比PCB板上的一些分立元器件。PCB通过导线将具有相关电气特性的信号相连接,FPGA也需要通过内部连线将相关的逻辑节点导通。PCB上的信号通过任何一个元器件都会产生一定的延时,FPGA的信号通过逻辑门传输也会产生延时。PCB的信号走线有延时,FPGA的信号走线也有延时。这就带来了一系列问题,一个信号从FPGA的一端输入,经过一定的逻辑处理后从FPGA的另一端输出,这期间会产生多大的延时呢?有多个总线信号从FPGA的一端输入,这条总线的各个信号经过逻辑处理后从FPGA的另一端输出,这条总线的各个信号的延时一致吗?之所以关心这些问题,是因为过长的延时或者一条总线多个信号传输延时的不一致,不仅会影响FPGA本身的性能,而且也会给FPGA之外的电路或者系统带来诸多的问题。(特权同学,版权所有)

言归正传,之所以引进静态时序分析的理论也正是基于上述的一些思考。它可以简单的定义为:设计者提出一些特定的时序要求(或者说是添加特定的时序约束),套用特定的时序模型,针对特定的电路进行分析。分析的最终结果当然是要求系统时序满足设计者提出的要求。(特权同学,版权所有)

下面举一个最简单的例子来说明时序分析的基本概念。假设信号需要从输入到输出在FPGA内部经过一些逻辑延时和路径延时。系统要求这个信号在FPGA内部的延时不能超过15ns,而开发工具在执行过程中找到了如图8.1所示的一些可能的布局布线方式。那么,怎样的布局布线能够达到系统的要求呢?仔细分析一番,发现所有路径的延时可能为14ns15ns16ns17ns18ns,有两条路径能够满足要求,那么最后的布局布线就会选择满足要求的两条路径之一。(特权同学,版权所有)

1.jpg

8.1 时序分析实例1

静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,即有约束才会有分析。若设计者不添加时序约束,那么时序分析就无从谈起。笔者常常遇见一些初学者在遇到问题时不问青红皂白就一口咬定是时序问题,当然了,这是可能的,但若想准确的定位到问题的所在,必须在添加了时序约束后,系统的时序问题才有可能暴露出来。(特权同学,版权所有)