时序分析(Timing Analysis)是检查电路满足时序约束的方法,包括建立时间约束和保持时间约束。时序分析是保证电路正常工作的基础。
同步电路的典型时序路径与时序如图5-23所示。理想情况下,寄存器R1和寄存器D2的时钟具有相同周期和相位,即tclk1=tclk2一般情况下,同步电收要求在下一个时钟上升沿之前建立好D2的输入数据,该约束称为建立时间约束(Setup Time Constraint) :T>tc-q+tlogic+tsu
式中,T为同步时钟周期; tc-q为寄存器D1的最大传播延时;tlogic为信号经过组合逻辑的最大延时; tsu为寄存器D2的建立时间,该约束确定了组合逆辑延时tlogic的上限。

同时同步电路还要求D2的输入数据保持段时间, 以确保正确写入寄存器D2,该约束称为保持时间约束(Hold Time Costraint):
thold>tc-q,cd+tlogic,cd
式中,thold为寄存器D2的保持时间; tc-q,cd为寄存器D1的最小延时(又称污染延时); tlogic,cd为信号经过组合逻辑的最小延时,该约束确定了组合逻辑延时tlogic的下限。
按照输入激励方式,时序分析分为动态时序分析( Dynamic Timing Analysis)和静态时序分析(Static Timing Analysis)。 动态时序分析是在一组验证向量激励下,基于物理寄生参数反标单元延时和互连延时,在动态功能仿真过程中,同步检查时序逻辑建立时间和保持时间约束的方法。静态时序分析是不依赖验证向量,基于标准单元库中定义的单元和互连延时模型,逐次分析电路中所有路径,验证路径延时满足建立时间和保持时间约束的方法。静态时序分析速度快、覆盖率高,但由于无法判断路径的真实性,存在悲观( Pessimistic)分析的可能性;动态时序分析速度慢、覆盖率低,但具有较高准确性。
时序收敛(Timing Closure)是在设计不同阶段反复执行时序分析,逐渐逼近设计时序要求的过程。时序收敛主要受互连延时因素影响。逻辑综合过程中,基于互连负载模型估计互连延时,精度较低;单元布局过程中,基于单元之间的曼哈顿距离( Manhattan Distance) 估计互连延时,精确较高;布线过程中,基于真实布线估计互连延时,精度最高。根据不同阶段的互连延时,通过调整单元驱动强度、调整单元位置、插入删除缓冲单元等方法,可使得所设计的电