静态时序分析和动态时序分析的比较和转换

IC君的第32篇原创文章 (欢迎关注公众号 icstudy 和 知识星球哦)

眼看着国庆假期快结束了,大家应该玩得都挺high的吧? 趁着快收假的时候,IC君写了一篇相对轻松的文章,为假期结束之后的学习和工作热热身。这篇文章主要聊一下静态时序分析动态时序分析。在笔试或者面试中也会常常问到这个问题。

静态时序分析(static timing analysis,STA)是遍历电路存在的所有时序路径,根据给定工作条件(PVT)下的时序库.lib文件计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足约束要求,根据最大路径延时和最小路径延时找出违背时序约束的错误。


静态时序分析的优点:

不需要给输入激励;

几乎能找到所有的关键路径(critical path);

运行速度快

静态时序分析的缺点: 

只适用同步电路;

无法验证电路的功能;

需要比较贵的工具支持;

对于新工艺可能还需要建立一套特征库,建库的代价可能要几百万。

静态时序分析的工具:

Synopsys的prime time,

Cadence的Encounter Timing System等

动态时序分析(dynamic timing analysis,DTA)通常是所有的输入信号都会给一个不同时刻的激励,在testbech(.sp或者.v)中设置一段仿真时间,最后对仿真结果进行时序和功能分析。 这里的仿真可以是门级或者晶体管级,包括spice格式和RTL格式的网表。

如下图所示的spice中给激励的语句和波形:


动态时序分析的优点

晶体管级的仿真比较精确,直接基于工厂提供的spice 工艺库计算得到;

适用于任何电路,包括同步、异步、latch等等;

不需要额外搞一套特征库;

不需要很贵的时序分析工具。

缺点:

需要给不同的测试激励;

关键路径无法检查全 (致命性的);

规模大的电路spice仿真特别慢 (致命性的)。

动态时序的工具 :

spice仿真器: hspice, finesim, hsim, spectre等;

verilog仿真器: ModelSim,VCS,NC-Verilog,Verilog-XL等。

从上面的分析可以看出,静态时序的主要缺点是烧钱,需要很贵的工具。这一点国内的公司也容易解决,要么融资很多不差钱,要么用盗版。

而动态时序分析有2个致命性的缺点:关键路径无法检查全意味着里面可能有fail的path,芯片流片出来无法工作;仿真特别慢意味着你的schedule可能受到影响,无法按时交货。所以动态时序分析只适用于小规模的电路,通过给激励就能完成时序的检查,同时仿真的时间还能接受。

那么如何从动态时序分析转到静态时序分析呢?需要可以静态时序分析的库文件和静态时序分析软件。

静态时序分析的库文件可以通过

Cadence的Liberate, ENCOUNTER LIBRARY CHARACTERIZER,

Synopsys的NanoTime , SiliconSmart等建库工具来生成。


以上图的liberate为例,只要提供spice格式的netlist和models,就可以生成业界标准的.lib文件。下图中示意的模块都可以生成哦:


有了这些.lib文件,再生成一个verilog的门级网表,我们就可以做静态时序分析啦!

强烈推荐一下IC君的知识星球(文件、讨论都可以长期保存),在这里你可以得到:

提供公众号文章所分享技术更多的细节和实现方法,包括文档、电路、RTL代码、脚本等;

星球成员不断积累的优质内容分享和讨论;

回答星球成员提出的IC相关问题

优质分享的现金红包赞赏;

可能的技术分享、读书分享、项目实战。


你可能感兴趣的:(静态时序分析和动态时序分析的比较和转换)