FPGA知识点---建立/保持时间分析
文章目录
静态时序分析,主要目的就是为了提高系统工作主频以及增加系统的稳定性。
1. 建立和保持时间
建立时间就是时钟有效沿到来之前数据必须保持稳定的最小时间;
保持时间就是时钟有效沿到来之后数据必须保持稳定的最小时间。
2. 发射沿(launch edge)与锁存沿(latch edge)
时钟分析起点:第一级寄存器数据变化的时钟边沿,也是静态时序分析的起点;
时序分析终点:数据锁存的时钟边沿,也是静态时序分析的终点。
3. 数据达到时间
4. 时钟到达时间
时钟到达时间是指时钟从latch edge达到目的寄存器输入端所用的时间
5.时钟偏斜
与时钟线的长度,及被时钟线驱动的时序单元的负载电容个数有关。
6. 数据需求时间
建立需求时间
保持需求时间
7. 建立余量
=T-Tsu-Tco-Tdata
8. 保持余量
= Tco+Tdata -Th
9. 周期约束
FPGA逻辑设计中,通常会有一个固定时钟,设计中的关键路径既不能太大,也不能太小,太大会导致建立时间不满足,太小会导致保持时间不满足。
最小时钟周期:Tcycle = Tcq + Tgata + Tsu – Tskew
延迟时间:Tcq + Tgata + Tsu <= Tcycle + Tskew
保持时间:Thold + Tskew < Tcq + Tgata
正时钟偏斜有利于建立时间,不利于保持时间,负时钟偏斜相反
建立时间和保持时间是一对冤家,利你不利它,如果分析了建立时间,那么保持时间相反就可以了,例如逻辑门延迟不利于系统建立时间(+),那么利于系统保持时间(-),时钟延迟有利于系统建立时间(-),则不利于系统保持时间(+)
10. 建立时间保持时间违例修复
我们不可能同时修复建立时间和保持时间,因为如果我们增加数据中的延迟,则对保持时间有利,而对建立时间不利。
在数据链路上插入Buffer,增加Tdata,有利于修复保持时间违例。
减低时钟频率,即增大时钟周期;组合逻辑优化或拆分;提高工作电压;在时钟路径上增加buffer,,增大时钟偏斜,让时钟晚些到来;使用更快的FF等有利于建立时间。