统计静态时序分析

传统的静态时序分析（Static Timing Analysis，STA）长期以来是数字电路设计中的常用分析算法。但半导体器件与互连的变异性增加，带来若干传统（确定性）STA无法处理的问题。由此催生了大量关于统计静态时序分析（Statistical Static Timing Analysis，SSTA）的研究。SSTA用概率分布替代门与互连的确定性时延，输出的是电路可能结果的分布，而非单一结果。

 与传统STA的比较 
确定性STA之所以被广泛采用，有其合理性：

 不需要向量，因此不会漏掉路径。
 基本算法的运行时间随电路规模线性增长。
 结果保守（保守估计）。
 通常使用相对简单的库（例如延迟与输出斜率作为输入斜率及输出负载的函数）。
 易于扩展为增量式以便用于优化。

但STA也有若干局限：

 不易处理片内相关性，尤其包含空间相关性时更难。
 需要许多“工艺角”（corners）来覆盖所有可能情况。
 当存在较大随机变异时，为始终保持保守性，结果会过于悲观，影响产品竞争力。
 为解决相关性问题所做的修改（如CPPR，Common Path Pessimism Removal）会使基本算法变得非线性或失去增量性，或两者兼具。

SSTA直接或间接地针对这些限制展开。首先，SSTA使用灵敏度（sensitivities）来发现时延之间的相关性。然后在统计分布相加时利用这些相关性。

从技术上讲，并无理由不能通过在每个值上保存灵敏度向量将确定性STA扩展为处理相关性与灵敏度的算法。历史上看来，这对传统STA是较大的负担，而对SSTA则显得必需，因此更早被接受。下文在对SSTA的批评中提到过提出此替代方案的观点。

 方法 
SSTA算法主要分为两类：基于路径的方法与基于块的方法。

基于路径的方法Orshansky, M.; Keutzer, K., 2002, , Design Automation Conference, 2002. Proceedings. 39th, Vol., Iss., 2002, Pages: 556–561.将特定路径上的门和线延迟相加。统计计算较简单，但需在运行分析前识别出感兴趣的路径。若遗漏了其他相关路径，则可能影响结果，因此路径选择很重要。

基于块的方法Visweswariah, C.; Ravindran, K.; Kalafala, K.; Walker, S.G.; Narayan, S.; Beece, D.K.; Piaget, J.; Venkateswaran, N.; Hemmett, J.G., 2006, , IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol.25, Iss.10, Oct. 2006, Pages: 2170–2180从时钟元件向前（到达时间）和向后（要求时间）在每个节点生成时间值。其优点是完整性高，无需路径选择。最大的问题是需要一种在考虑相关性的情况下计算统计最大值（或最小值）的运算，这在技术上很困难。

目前已有用于SSTA的单元表征工具，例如的Variety工具。

 批评 
对SSTA的若干批评包括：

 过于复杂，尤其在面对真实的非高斯分布时。
 难以与优化流程或算法耦合。
 难以获取算法所需的数据。即便能获得，这些数据也可能随时间变化，因此不可靠。
 若晶圆厂的客户认真采用SSTA，会限制制造厂改变工艺统计特性时的自由度。
 相较于同时考虑灵敏度和相关性的增强型确定性STA，其收益相对较小。

 执行静态时序分析的工具 
现场可编程逻辑门阵列

 Altera Quartus II
 赛灵思ISE

特定應用積體電路

 Synopsys Primetime（Synopsys PrimeTime）
 Cadence Encounter计时系统（Cadence Tempus）
 IBM EinsTimer
 ANSYS Path FX（ANSYS Path FX）

 相关 

 动态时序分析

 参考 

Category:形式方法