静态时序分析(STA)是一种通过检查所有可能路径上的时序违规情况来验证设计时序性能的方法。STA将设计分解为时序路径,计算每条路径上的信号传播延迟,并检查设计内部以及输入/输出接口处是否存在时序约束违规情况。
进行时序分析的另一种方法是使用动态仿真,它能确定电路在给定的一组输入激励向量下的完整行为。 与动态仿真相比,静态时序分析的速度要快得多,因为它无需对电路的逻辑运算进行仿真。静态时序分析(STA)也更为全面,因为它会检查所有时序路径,而不仅仅是一组测试向量所触发的逻辑条件。不过,STA只能检查电路设计的时序,而无法检查其功能性。
在进行时序分析时,STA首先将设计分解为时序路径。每个时序路径由以下元素组成:
下图展示了一个简单设计示例中的时序路径:
一个组合逻辑云可能包含多条路径,如下图所示。STA 采用最长路径来计算最大延迟,采用最短路径来计算最小延迟。
STA 还考虑以下类型的路径进行时序分析:
将设计分解为一组时序路径后,STA工具会计算每条路径上的延迟。一条路径的总延迟等于该路径中所有单元和网络延迟之和。
单元延迟是指路径中逻辑门从输入到输出的延迟量。如果SDF文件中没有回标延迟信息,工具将根据逻辑库中为该单元提供的延迟表来计算其单元延迟。
通常,延迟表会列出延迟量与一个或多个变量(例如输入转换时间和输出负载)之间的关系电容 。工具会根据这些表项计算每个单元的延迟。
网络延迟是指时序路径中从一个单元输出到下一个单元输入之间的延迟量。该延迟由两个单元之间互连的寄生参数 电容 引起,同时还受到网络电阻以及驱动该网络的单元驱动能力有限的影响。
随后,STA会检查是否违反了时序约束,例如建立时间和保持时间约束:
以下示例演示了STA如何检查触发器 的建立和保持约束:
在此示例中,假设逻辑库中定义的触发器具有 1.0 个时间单位的最小建立时间和 0.0 个时间单位的最小保持时间。工具中定义的时钟周期 为 10 个时间单位。时间单位的大小(如 ns 或 ps)在逻辑库中指定。
默认情况下,该工具假设信号在一个时钟周期内通过每个数据路径传播。因此,当工具执行建立时间检查时,它会验证从 FF1 发出的数据能否在一个时钟周期内到达 FF2,并且至少在 FF2 被下一个时钟沿捕获数据之前 1.0 个时间单位到达。 如果数据路径延迟过长,则会报告为时序违例 。对于此建立检查,该工具会考虑数据路径上的最大可能延迟,以及 FF1 与 FF2 之间时钟路径上的最小可能延迟。
当工具执行保持检查时,它会验证从 FF1 发出的数据到达 FF2 的时间不早于前一时钟周期的捕获时钟沿。此检查可确保 FF2 输入端已存在的数据在捕获前一周期数据的时钟沿之后保持足够长时间的稳定。 对于此保持检查,工具会考虑 FF1 与 FF2 之间数据路径上的最短可能延迟以及时钟路径上的最长可能延迟。如果时钟路径延迟过长,可能会发生保持违例 。
如果某些路径在STA工具假定的默认设置和保持行为下,本不应操作 ,则需要将这些路径指定为时序例外。否则,该工具可能会错误地报告这些路径存在时序违规。
STA 工具可能允许您指定以下类型的异常:
新思科技'PrimeTime 静态时序分析工具为时序、信号完整性 、功耗以及变异性 相关分析提供了一个统一、黄金标准且值得信赖的签核解决方案。该 新思科技 PrimeTime 套件包括:
它可提供HSPICE® 的精准签核分析,有助于在流片前精准定位问题,从而降低进度风险,确保设计完整性 ,并降低设计成本。
该业界黄金级标准解决方案可使无论大小芯片的设计开发周转速度得以加快,同时凭借高度可预见性和最高的精准度确保流片一次成功,从而大大提高团队的生产效率。