建立时间setup time是输入数据D在有效时钟边沿之前需要稳定的最小持续时间,以便输入数据可以正确存储在触发器中。
有3个主要timing路径需要建立时间限制,如下所示:register-to-register, input-to-register和register-to-output
register-to-register建立时间方程
芯片内部的大多数时序路径都是寄存器到寄存器。建立时间限制确保第一个触发器发出的信号(Q)不会太晚到达,以便第二个触发器可以正确捕获它。
reg-to-reg路径的建立时间方程:
Required Time = Clock Period - Setup Time (of the capturing flip-flop)
Arrival Time = CK→Q Delay (of Launching flip-flop) + Comb. Delay
为了满足建立时间限制,Required Time ⋝ Arrival Time
也就是=>
=> Clock Period - Setup Time ⋝ CK→Q Delay (of Launching flip-flop) + Comb. Delay
=> Setup Time ≤ Clock Period - CK→Q Delay - Comb. Delay
因此,PnR工具或设计需要减少组合逻辑延迟和CK→Q延迟,或增加时钟周期(减少时钟频率)以满足建立时间要求。另一种优化方法是将捕获的触发器替换为另一个建立时间限制较小的触发器。
input-to-register的建立时间方程
为了满足建立时间限制,要求
从上面的公式可以看出来优化方式和register to register类似。
例如增加时钟周期,减少输入延迟/组合逻辑延迟2,以及更短的建立时间要求的触发器R2
register to output的建立时间方程
External Delay在SDC约束中设置:
External Delay = Comb. Delay 2 + Setup Time (of flip-flop R2)
为了满足建立时间限制,要求
基于register to output定时路径的建立时间方程,优化方式与前两个时序路径类似。