静态时序分析(Static Timing Analysis, STA)是用来验证数字设计时序的技术之一,也是数字IC设计者必备的设计技能。
本专栏blog将根据《Static Timing Analysis for Nanometer Designs:A Practical Approach》对STA作读书笔记,在介绍STA的同时,也会穿插介绍设计约束SDC如何描述。
● 时序分析:给定了一个设计、输入时钟以及外部环境,验证这个设计是否能够运行在预期的速度,即这个设计是否可以安全地运行在给定的时钟频率下且没有时序违例。
时序分析的输入是使用硬件描述语言(VHDL或者Verilog HDL)描述的逻辑设计,以及使用约束规范语言(例如Xilinx Design Constraints,XDC或Synopsys Design Constraints,SDC)描述的时序约束。输出则是时序报告。
● 静态时序分析(Static Timing Analysis, STA):对于设计的时序分析是静态地执行的,并不需要在输入端口上施加激励。
而且STA在整个设计中只需要被分析一次,就可以对所有情况下设计中的全部路径进行所需的时序检查。因此,STA是能够被用来验证设计时序的一种完全且详尽的方法。
如下
复位顺序:触发器在复位后是否为所需的逻辑值,这是无法使用STA来检查的。
跨异步时钟域:STA无法检查是否正确使用了同步器,需要其他工具例如spyglass来检查
伪路径(false path):设计者可以在设计中指定不进行STA分析的路径
时钟同步逻辑:STA无法检测到时钟生成逻辑与时钟定义不匹配的问题。 STA会假设时钟生成器将提供时钟定义中指定的波形。,而STA无法检测到可能存在的不匹配问题。
跨时钟周期的功能行为:STA无法建模或仿真跨时钟周期变化的功能行为。
功耗和速度的trade-off:设计人员希望使用更快的速度,但会受到功耗的限制。
STA:时序检查