时钟到达时间:
时钟从capture边沿到达锁存寄存器时钟输入端所消耗的时间为时钟到达时间。
数据需求时间-set up:
数据需求时间(Data Required Time):在时钟锁存的建立时间和保持时间之间数据必须稳定,从源时钟起点达到这种稳定状态需要的时间即为数据需求时间。
建立时间set up:数据被寄存器捕获所需的最短时间。
保持时间hold:数据被寄存器捕获后保持稳定状态所需的最短时间。
建立时间裕量set up slack:当数据需求时间大于数据到达时间时,就说时间有余量,Slack是表示设计是否满足时序的一个称谓。
保持时间裕量hold slack:为保证满足保持时间要求,富余的时间长度。
将建立时间裕量和保持时间裕量,放在一张图中:
建立时间裕量和保持时间裕量计算公式:
当我们在综合实现后,需要检查时序报告,对裕量的要求需为正值。若为负值,则无法满足建立于保持时间要求,引起系统不稳定甚至不能正常工作。
裕量为负,表明不满足建立时间和保持时间的需求,需进行优化和进一步约束。
若建立时间裕量set up slack不满足要求,可采用的方法有:优化时序,缩短组合逻辑延时,插入寄存器,流水线处理。
若保持时间裕量 hold slack不满足要求,可采用的方法有:增大时钟周期,降低时钟频率,但会降低电路运行速率。
根据计算公式,建立时间裕量和保持时间裕量是一对矛盾关系,顾此失彼,找到一个相对平衡点满足要求即可。
系统运行的时钟频率计算公式:
首先计算Ts,计算公式如下,从而得到fs=1/Ts
总结:
关于时序分析中的基本概念就介绍到这里,更多关于时序分析和约束的内容,参看下列文献。
参考文献
[1].斯里达尔.甘加达兰《综合与时序分析的设计约束》.
[2].Xilinx,Ally Zhou.《Vivado使用误区与进阶》.
[3]Xilinx,UG903-Using Constraints.
[4]Xilinx,UG906-设计分析与收敛技巧.