快捷搜索:

FPGA时序约束分析余量

近来收拾了一下时序约束的内容,顺便发出来分享记录一下。

任何硬件想要事情正常,均需满意建立和维持光阴,至于这个观点不再述说。

下面将重点先容两个观点:建立余量和维持余量。FPGA内部进行时序阐发无非便是谋略这两个余量,为正,则时序满意要求,否则不满意。

FPGA在与外部器件打交道时,端口假如为输入则与input delay约束相关,假如最为输出则output delay,这两种约束的值究竟是什么涵义,鄙人文中我也会重点刨析,然则条件是必要理解图1和图2建立余量和维持余量。

1、建立余量:

不斟酌clk_skew,数据在regA 的发射沿(即第一个上升沿)颠末Tco+Tdata则会不停维持不变,等待着吸收沿采集,接管沿有关建立只需满意的建立光阴即可,建立余量=T-Tco-Tdata即下图血色区所示。

2、维持余量

蓝色是第一个数据,第一个上升沿是蓝色数据的发射沿,第二个上升沿是蓝色数据的接管沿

紫色是第二个数据,第二个上升沿是紫色数据的发射沿,第三个上升沿是紫色数据接管沿(图中未画)

意思是什么?第一个蓝色数据颠末发射沿后延迟Tco+Tdata的光阴就不停维持不变,直到紫色的数据在其发射沿来后颠末Tco+Tdata光阴将蓝色数据代替,蓝色数据只必要在其接管沿后停顿的光阴大年夜于即是维持光阴即可被正常采集,然则蓝色数据实际上能够停顿多久是由Tco+Tdata抉择的,是以Tco+Tdata的值抉择了其在吸收沿后的寿命,即Tco+Tdata>=Th就可以满意维持光阴,维持余量=Tco+Tdata-Th,维持光阴和时钟周期T无关,由于他的寿命是由Tco+Tdata抉择的。

3、input delay 和output delay

对付input /output delay的维持余量和建立余量的谋略措施和前面讲的是一样的,差别在于前面的例子中REGA和REGB均是在FPGA内部的,谋略余量的所有参数FPGA自身是知道的,他自己可以完成全部谋略阐发,然则一旦涉及到input delay和output delay,即FPGA作为是接管端或者发送端与其他器件交互时,有些谋略的参数FPGA自己知道,有的谋略的参数是外部器件知道,为了完成余量的谋略,那么就要经由过程约束把FPGA不知道的量奉告FPGA。

用input delay举例阐明 见下图

建立余量=T-Tco-Tdata-Tsu,FPGA作为接管端Tsu,Th是知道的,然则另外两个量不知道,Tco与外部器件机能相关,可以从其数据手册中获取这个量,Tdata大概和你PCB布线延迟等有关,为了完成谋略,只必要把Tdata+Tco的最奉告fpga即可,max参数是与建立参数相关,min与维持余量相关,其最大年夜值为 input delay max为Tco+Tdata的最大年夜值,最小值为input delay min为Tco+Tdata的最小值。

output delay见下图,图中血色代表FPGA自己知道的量,另外必要经由过程约束见告,以是约束只需弥补FPGA不知道的值即可,最大年夜值max 为Tdata+Tsu,min为Tdata-Th

--------------------------------------------------------------------------------------------------------------------------------------------------------------

下面是我做的一些其他观点的理解记录,简单总结供自己今后查询

SDR和DDR的观点:S是单沿触发,D是双沿,双沿又分中间对齐和边沿对齐,见图

下图是input delay 的DDR中间对齐,此中玄色方框框起来的是抱负环境下的数据,蓝色是数据整体左偏移,血色是数据整体右偏移,往返哆嗦的范围,图示中XXXX则表示的数据不稳定的区域,对付上升沿,最小值便是到蓝色框dv_are的大年夜小,最大年夜值便是到血色框边沿T/2-dv_bfe.下降沿不再赘述。

对付DDR边沿对齐,对上升沿来讲,玄色数据框是抱负环境,血色是向右偏移,蓝色则是向左偏移,在第三个血色框那里,延迟已经即是0,再进一步左移则为负,蓝色所示。对上升沿来讲,max为skew_are,min为 负-skew_bre。

此篇较为粗拙,时序每钻研一遍都邑有不合的理解,而且每小我理解的动手点不一样,盼望能够静下心来,好好沉淀,莫暴躁。

责任编辑:zl

您可能还会对下面的文章感兴趣: