STA | 什么是静态时序分析?

1. 时序分析


消费电子芯片的性能在不断提升。例如大家所熟知的手机芯片和电脑芯片,每年都在更新。
要实现芯片性能的提升,在芯片设计中必须用到的技术是时序分析。
时序分析技术使工程师在芯片设计过程中就能够估算芯片的性能。不仅如此,时序分析技术还涉及到芯片能否正常工作。
这么厉害的技术是如何实现的呢?

2. 动态时序分析


容易想到的时序分析技术就是针对芯片电路进行时序的模拟仿真。也就是,模拟电路在实际运行时的行为,考虑信号传播延迟、元件工作状态等实际因素。
没错,这确实是一种很有效的时序分析技术。他的名字叫动态时序分析(DTA,Dynamic Timing Analysis),常用的软件是SPICE。
DTA通过在测试平台中为电路的每个输入信号提供不同的时间激励,然后观察电路的输出响应。
这种分析方法提供了更精确的时序性能指标,因为它实际上是在模拟电路的实际运行情况。
这么好的方法,在实际工作中使用的规模却并不算很大。为什么呢?

3. 骨感的现实


动态时序分析方法虽然好,但是也需要大量的计算资源和时间。
而现代芯片的规模在快速的增长,很多大型芯片的晶体管数量已经超过了千亿级别。针对如此大规模的电路进行仿真所需要的计算资源和运行时间难以想象。
有没有一种时序分析方法可以大幅度降低对计算资源和运行时间的要求呢?有的!

4. 静态时序分析


静态时序分析(STA,Static Timing Analysis)是一种预防性的检查方法。在电路实际运行之前,STA就已经开始工作,对设计的每个部分进行逐一检查,确保所有的时序要求都得到满足。它主要关注电路的结构和预设的时序规则,通过对这些规则和结构的详尽分析,预测电路的时序行为。常用的软件是PrimeTime。
STA工具的优势在于其速度:它们可以快速地对设计进行全面的检查,而不需要模拟电路的实际运行情况。
天下没有免费的午餐。在得到计算资源和运行时间好处的同时,我们付出了什么代价呢?

5. 代价


静态时序分析虽然好,但是和动态时序分析相比,损失了精度。
在精度不足的情况下,为了保证最终的芯片能正常工作,静态时序分析加入了一些悲观量。
这些悲观量给芯片设计带来的代价就是更大面积和功耗。面积影响的是芯片的生产成本;功耗会影响发热量,这反过来又会影响芯片性能。
为了解决这个问题,减小悲观量是静态时序分析技术的长期发展方向。例如OCV的技术演进就很有代表性。

6. 台前与幕后


在实际的芯片设计中,静态时序分析和动态时序分析是一种什么关系呢?
静态时序分析方法是主流,从项目开始到最终的签核(sign-off),都会用到静态时序分析。而动态时序分析,则是静态时序分析的坚实后盾。
静态时序分析的演进方向就是精度不断接近动态时序分析。绝大多数情况下,静态时序分析已经足够用了。而针对一些特殊的对精度要求较高的情况,则需要在动态时序分析中进行检查。例如,针对静态时序分析下的一些违例,可以在动态时序分析下检查更准确的时序结果。目前主流的静态时序分析工具,如PrimeTime中,都会提供导出用于动态时序分析的命令。
如此说来,静态时序分析就像台前表演的演员,是我们每天都看得见的;而动态时序分析则像是幕后工作者,是台前表演成功的关键。

你可能感兴趣的:(STA静态时序分析基础,STA,芯片设计,数字后端)