一个人的兴趣越广泛,他拥有属的快乐机会就越多,而受命运播弄的可能性也就越小,因为即使失去了某一种兴趣,他仍然可以转向另一种。 — —罗素
一、 STA
时序分析分为动态时序分析(DTA, Dynamic Timing Analysis)和静态时序分析(STA, Static Timing Analysis)。DTA的优点是准确(spice), 可以进行功能验证。缺点是需要激励,速度很慢。STA的优点是运算速度快,缺点是不能进行功能验证,并且会报出一些false的错误。因为DTA太慢,且需要激励,通常使用STA来进行时序分析。在synthesis和place and route时,都需要STA来保证时序正确。
静态时序分析:通过为synthesis计算cell和net组成的path的延时,判断path延时是否满足相应时序约束,然后基于path延时,工具从timing library中选择cells来创建一个满足timing要求的电路。之所以称为静态时序分析,是由于没有输入激励文件。
STA工具通过读入Netlist、constraints、Timing library、SDF/SPEF、产生report。SDF文件不能进行noise分析,而SPEF文件可以分析noise。SDF是计算好的pin to pin的delay值(according to spef or other parasitic files),SPEF是每一条net上的parasitic。
当想参照noise的时候,除了需要知道driving cell的强弱,也需要知道每一条net上面的loading,而sdf只有一个delay值,所以资讯是不够的,SPEF是STA tools根据RC算一遍延迟等,再分析是不是满足constraint的要求。sdf是已经算好延迟,STA tools只是分析是不是满足要求而已。
静态时序分析需要计算时序路径的延时,时序路径包括两个基本元素:Timing arc in cells和Timing arcs in nets。Timing arcs是一个假想的弧,用来表示输入变化导致输出变化的关系。Timing arc有三个特性分别是unateness、slew和delay。
二、 Timing library
Timing library通常指包含timing, power, noise, function信息的logic library。Timing library为STA提供cells和nets的延时信息。Timing arcs用来体现cells和nets的延时信息。工具通过不同的PVT(process voltage temperature)工作条件下,得到对应的时序信息。目前广泛使用的格式是library,以.lib作为扩展名。
Timing arcs中包含的unateness、slew和delay特性都可以从timing library中查到。
1. Unateness
表示信号的翻转和输入的关系,信号从1到1就是positive unate,从1到0就是negative unate,无关就是nonunate。
2. Slew
指信号电平翻转的速度,即从1变0或从0变1的翻转速度,即是指信号的翻转率,通常slew=constant/(transition time)。
transition time是指信号从高电平转化到低电平或者低电平转化到高电平所花费的时间。