第五章 静态时序分析

5.1 静态时序分析入门

参考书:
Bhasker J, Chadha R. Static timing analysis for nanometer designs: A practical approach[M]. Springer Science & Business Media, 2009. 第八章
Synopsys manual

概述

什么是静态时序分析?——分析电路是否满足时序约束

特点

  1. 无需仿真(运行快)
  2. 只检查时序,不检查功能
  3. 无需测试向量

回顾芯片设计流程

非常重要的sign off 工具

确认每个阶段的结果正确
Event Driven Timing simulationSTA
Vector GenerationRequiredNot Require
Design CoverageVector dependent (limit) coverageVector independent exhaustive coverage
RuntimeTakes several days/weeks of CPU timeAnaluzes multimillion gate design in hours
CapacityCan run out of memory for multimillion designsCan easily handle multimillion designs
Analysis/Debug featuresNo special fearutes for timing analysisFeaures such as min/mux analusis, on chip variation, dynamic loop breaking case efforts for timing analysis
Design sytle supportNo RestrictionsLimited support for asynchronous design styles

动态仿真,静态时序分析,两者互补

动态仿真把所有的功能点全部覆盖,则不需要再做静态时序分析了

STA如何工作

STA相关的基本概念

Setup Time

在时钟上升沿之前,数据必须稳定的ggagai该时间之前

Hold Time

时钟上升沿之后,数据继续保持的时间

Time Slack

裕量,建立、保持时间实际值和要求值的差,positive meets,negative violates

Speed v.s.Slack

运行速度由最差的一条时序路径决定

Power v.s. Slack

尽可能减少裕量,优化功耗

STA的步骤

  1. 划分不同的时序路径
  2. 计算每条路径的延迟
  3. 检查是否满足相应的时序约束

逻辑综合,始终网络的延迟=0
布局布线,包括了走线延迟和buffer分布,精确

四种时序路径

例题

Setup timing Check

发射路径

$ T_{launch} + T_{ck2q} +T_{dp} < T_{capture} + T_{cycle} – T_{setup} $

5.2 单周期时序路径的建立时间检查

使用逻辑延迟的最大值max,检查建立时间
使用逻辑延迟的最小值min,检查保持时间

读时序报告,回答问题

  1. 起点和终点
  2. 属于哪个路径组
  3. 路径类型
  4. 约束类型

时钟偏斜,clock network delay (propagated)

clock_latency

slack ,要求到达 – 实际到达

‘r’ for rising ->max, ‘f’ for falling -> min

FF -> FF path

5.3 单周期时序路径的保持时间检查

input -> FF
FF -> output
input -> output

Hold Timing Check

$ T_{launch} + T_{ck2q} +T_{dp} > T_{capture} + T_{hold} $

取Tdp组合逻辑延迟的的最小值

slack,实际到达 – 要求到达,保证大于0,保持思维习惯,(>0合格)

保持时间检查

  1. 保持时间在同一边沿检查
  2. 和时钟周期无关

5.4 快慢时钟交互路径检查

慢到快

slow to fast clock domain
set_multicycle_path 4 -setup from [get)clocks CLKM] -to [get_clocks CLKP] -end

组合逻辑延迟接近慢时钟的一个周期,并不是快时钟的第一个上升沿,告诉快时钟在第几个周期后采样

修改后,较为宽松,容易满足
修改前
保持时间检查,在建立时间之前的一个周期的上升沿检查

快到慢

检查保持时间

5.5 多时钟交互电路

1-Integer Multiples

2-Non-Integer Multiples

最小公倍数

3-Phase shifted

Half-Cycle Paths

上升沿到下降沿,或下降沿到上升沿

尽可能让建立时间严格,保持时间的优化方法更多,友好容易修

False Paths 虚假路径

不可能存在的路径,减少静态时序分析的计算量

  1. 一个时钟域 -> 另一个时钟域
  2. 一个FF的时钟pin -> 另一个FF
  3. 一个 pin -> 一个 cell
  4. 以上这些组合

建议

  1. 减小搜索范围,准确定位
  2. 谨慎使用 ‘through’ 选项,仅在必要时使用,无法使用其他方法定位虚假路径
  3. 从优化的角度出发,以下情况不要使用false path
    1. multicycle path真实需要
    2. 信号在已知或可预测的时间内被采样

小测验

作业

发表评论

您的电子邮箱地址不会被公开。