赞
踩
在FPGA中的每个电路都有它正常工作的时序要求,为了使得我们的设计在实现为电路之后可以正常工作,我们需要对其进行一系列的约束。布局布线工具会根据我们给出的时序约束来进行实现。在实现结束后,通过时序报告来呈现出是否满足。所以时序约束的正确与准确,直接影响到我们设计的电路最终能否正常运行。
在FPGA中的时序路径可以大致分成下图的4类:
图1 FPGA内的各种时序路径示意图
输入端口到内部时序元件:
由外部器件触发输出数据
经过一段延迟(input delay)后进入FPGA
经过器件内部逻辑到达时序元件后被目的时钟采样
这类路径约束的是我们通常说的FPGA管脚上的建立保持时间;
内部时序元件到内部时序元件.
数据在FPGA内部的时序元件被源时钟触发
经过内部逻辑到达时序元件后被目的时钟采样
这类路径约束的是我们通常说的FPGA内部的时钟周期约束;
内部时序元件到输出端口
数据在FPGA内部的时序元件被源时钟触发
经过器件内部逻辑到达FPGA输出端口
经过一段延迟(output delay)后被外部器件采样
这类路径约束的是我们通常说的FPGA管脚上的tCO约束;
输入端口到输出端口
数据从输入端口到输出端口没有被寄存过的路径
这类路径约束的是我们通常说的FPGA的Maxdelay或Mindelay;
无论FPGA的时序路径是如何的,时序约束的最终目的其实就是为了满足FPGA内部时序器件的建立保持时间或者与FPGA对接芯片的建立保持时间。FPGA的时序路径计算是和FPGA内部时序器件的建立保持时间及数据、时钟走线延迟相关的。一般来说,FPGA内部时序器件的建立保持时间是固定的。所以给定了某条路径的时序约束,工具在实现过程为了满足时序约束,可以调整的只有数据或时钟走线延迟。走线延迟的调整可以通过两种方法,一种是调整布局的位置,这样可以调整走线;或者在布局不变的情况下,换一条走线来达到调整走线延迟的目的。
说明:当前的时序分析工具把FPGA管脚上输入的各个时钟都统一按照同相处理。
建立时间(tSU)是指数据在时钟有效沿到来前必须稳定的时间。
图2 建立时间示意图
图2所示的是逻辑芯片接口数据信号相对于时钟信号的建立时间,计算公式如下:
tSU=Data Delay-Clock Delay+Micro tSU。
保持时间(tH)是指数据在时钟有效沿到来之后仍须稳定的时间。
图3 保持时间示意图
图3所示的是逻辑芯片接口数据信号相对于时钟信号的保持时间,计算公式如下:
tH=Clock Delay-Data Delay+Micro tH。
时钟到输出的延时(tCO)是指从时钟有效沿到输出数据稳定的时间。
图4 时钟到数据输出的延时示意图
图4所示的是逻辑芯片接口时钟到数据输出的延时,计算公式如下:
tCO=Data Delay+Clock Delay+Micro tCO。
上式表示,我们可以根据器件的Micro tCO计算出电路所需要的tCO。
recovery时间,是指异步控制信号(异步复位或异步置位)在有效的时钟沿到达之前必须保持稳定的最短时间。
图5 Recovery time示意图
removal时间,是指异步控制信号(异步复位或异步置位)在有效时钟沿到达之后必须保持稳定的时间。
图6 Removal time示意图
时钟偏差(clock skew)是指同一时钟到达不同触发器的延时差,主要是因为时钟信号经过的路径长度不一样。时钟偏差值可以是正数,也可以是负数。明显的,正的clock skew有利于建立时间,负的clock skew有利于保持时间。
图7 时钟偏差示意图
时钟延迟(clock latency)是指时钟边沿在经过单板上和FPGA内部的传输后,到达目的端后的一段确定时间延迟。
时钟抖动(clock jitter)是时钟不确定性的一个表现,是指时钟边沿与其理想位置有多大偏差。
时钟不确定性(clock uncertainty)通常用来做时钟周期裕量预留的。
对于时序单元时序分析时,对时钟脉冲的宽度有一定的限制,以保证时序单元可以正常工 作。分别有最小的高电平宽度(minimum high pulse width)检查和最小的低电平宽度(minimum low pulse width)检查。
图8 Clock Pulse Width意图
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。