FPGA时序分析与时序约束(一)

一、为什么要进行时序分析和时序约束

        PCB通过导线将具有相关电气特性的信号相连接,这些电气信号在PCB上进行走线传输时会产生一定的传播延时。

        而FPGA内部也有着非常丰富的可配置的布线资源,能够让位于不同位置的逻辑资源块、时钟处理单元、BLOCK RAM、DSP和接口模块等资源能够相互通信,完成所需功能。

        FPGA的布线同PCB的走线一样,也会由于走线的长短不同而产生或大或小的传输延时(走线延时)。FPGA信号经过逻辑门电路进行各种运算也会产生延时(逻辑延时)。那么多个信号从FPGA的一端输入,经过一定的逻辑门电路处理后从FPGA的另一端输出,如何保证各个信号的延时一致呢?这个时候就需要进行时序分析,从而进行时序约束,从而保证FPGA的信号能够相互协同正常工作

        假设有一个信号输入FPGA中,在FPGA内部经过一些逻辑处理,最后进行输出,那么这些走线和处理都需要时间(走线延时和逻辑延时)。例如下图,输入信号到达逻辑处理A需要5ns,进行处理需要1ns,然后到逻辑处理C需要7ns,进行处理需要2ns,最后达到输出需要3ns,这条路径是所有路径中耗时最短的。但是FPGA不知道这条路径耗时最短,如果不对其进行时序约束,很可能会随便选一条路径进行布线,此时如果对系统的延时有要求,就可能出现信号错乱的情况

FPGA时序分析与时序约束(一)_第1张图片

        

二、什么是时序分析和时序约束

        FPGA的时序分析与约束需要设计者根据实际的系统功能,通过时序约束的方式提出时序要求;FPGA编译工具根据设计者的时序要求,进行布局布线;编译完成后,FPGA编译工具还需要针对布局布线的结果,套用特定的时序模型,给出最终的时序分析和报告;设计者通过查看时序报告,确认布局布线后的时序结果是否满足设计要求。

        因此时序分析分为静态时序分析就是是遍历电路存在的所有时序路径,计算信号在这些路径上的传播延时,使用特定的时序模型,针对特定的电路进行分析系统时序是否满足要求。

        时序约束就是对设计的电路提出时序上的要求,一般来说其可以细分为内部时钟约束 、IO口时序约束、偏移约束、静态路径约束和例外路径约束等。

三、时序约束的基本路径

FPGA 时序约束所覆盖的时序路径主要有4种:

1.FPGA内部寄存器之间的时序路径,即reg2reg
2.输人引脚到FPGA内部寄存器的时序路径,即pin2reg
3.FPGA内部寄存器到输出引脚的时序路径,即reg2pin
4.输入引脚到输出引脚之间的时序路径(不通过寄存器),即pin2pin

FPGA时序分析与时序约束(一)_第2张图片

        其中reg2reg、pin2reg、reg2pin都和寄存器有关,需要进行时序约束,因为要确保数据信号在时钟锁存沿的建立时间保持时间内稳定;但pin2pin本质就是纯组合逻辑电路,一般直接约束延时范围,因为pin2pin路径的信号传输通常不通过时钟。

四、时序分析与约束的基本概念

4.1 Clock Uncertainty

        时钟不确定性(Clock Uncertainty)主要由时钟抖动(Clock Jitter)和时钟偏差(Clock Skew)构成。

       一个理想的时钟是占空比为50%且周期固定的方波,但实际上这样的时钟是不存在的,一定会有超前或者滞后的偏移,即时钟抖动

FPGA时序分析与时序约束(一)_第3张图片

        时钟偏差是指同一个时钟域内的时钟信号到达数字电路各个部分(一般指寄存器)所用时间的差异。 

        FPGA时序分析与时序约束(一)_第4张图片

4.2 建立时间和保持时间

        建立时间( Setup Time,Tsu),在时钟上升沿之前数据必须稳定的最短时间。若不满足 setup time,数据无法进入寄存器,数据采样失败。

        保持时间(Hold Time,Th),即在时钟上升沿之后数据必须稳定的最短时间。若不满足 hold time,数据也无法进入寄存器,数据采样失败。

FPGA时序分析与时序约束(一)_第5张图片

        所以寄存器采样需要同时满足建立时间和保持时间。 

4.3 发起沿和采样沿

        寄存器发送数据和接收数据需要在时钟边沿进行,因此都有一个发起沿和一个采样沿。通常情况下这两个边沿会有一个时钟周期的差别。
        发起沿(Launch edge)是发送数据的时钟边沿,通常选择上升沿。发起沿是源寄存器采样的时间点,也是时序分析路径的起点。
        采样沿(Capture edge)是采样到该数据的时钟边沿,通常也是上升沿。采样沿是目的寄存器采样的时间点,也是时序分析路径的终点。

FPGA时序分析与时序约束(一)_第6张图片

参考文献:

《FPGA时序约束与分析》
《正点原子FPGA静态时序分析与时序约束》 

你可能感兴趣的:(#,FPGA时序分析与约束,fpga开发,Verilog,时序分析,时序约束)