静态时序分析(Static Timing Analysis, STA)是用来验证数字设计时序的技术之一,也是数字IC设计者必备的设计技能。
本专栏blog将根据《Static Timing Analysis for Nanometer Designs:A Practical Approach》对STA作读书笔记,也可参照作者的知乎专栏静态时序分析圣经翻译计划——汇总篇
本专栏认为读者具备一定的数字电路的基础知识。
本专栏在介绍STA原理的同时,也会介绍设计约束、标准单元如何描述。
1. 介绍
● 时序分析:给定了一个设计、输入时钟以及外部环境,验证这个设计是否能够运行在预期的速度,即这个设计是否可以安全地运行在给定的时钟频率下且没有时序违例。
时序分析的输入是使用硬件描述语言(VHDL或者Verilog HDL)描述的逻辑设计,以及使用约束规范语言(例如Xilinx Design Constraints,XDC或Synopsys Design Constraints,SDC)描述的时序约束。输出则是时序报告。
● 静态时序分析(Static Timing Analysis, STA):对于设计的时序分析是静态地执行的,并不需要在输入端口上施加激励。
而且STA在整个设计中只需要被分析一次,就可以对所有情况下设计中的全部路径进行所需的时序检查。因此,STA是能够被用来验证设计时序的一种完全且详尽的方法。
1.1. 局限性
如下,在看完之后的章节对如下局限性就会有深刻的认识,看不懂的可以直接跳过,最后再返回来阅读~
-
复位顺序:触发器在复位后是否为所需的逻辑值,这是无法使用STA来检查的。
-
跨异步时钟域:STA无法检查是否正确使用了同步器,需要其他工具例如spyglass来检查
-
伪路径(false path):设计者可以在设计中指定不进行STA分析的路径
-
时钟同步逻辑:STA无法检测到时钟生成逻辑与时钟定义不匹配的问题。 STA会假设时钟生成器将提供时钟定义中指定的波形。,而STA无法检测到可能存在的不匹配问题。
-
跨时钟周期的功能行为:STA无法建模或仿真跨时钟周期变化的功能行为。
-
功耗和速度的trade-off:设计人员希望使用更快的速度,但会受到功耗的限制。
2. STA标准单元
库中各种门、触发器、简单IP都被称为标准单元,这些标准单元的信息如何通过SDF描述
3. STA环境配置
当芯片逻辑设计好后,需要标明STA的各种环境信息,例如时钟信息、芯片端口信息等
4. STA时序检查
介绍STA原理和过程
5. 使用vivado进行STA
如何在vivado平台上进行STA