STA静态时序分析

一、分析类型

通过分析方式分为Path-Based及Block-Based两种。
Path-Based 如图:
在这里插入图片描述
Block-Based如图:
在这里插入图片描述

二、需要的文件

1.Library data(.db)
STA所需要的Timing Model就存放在标准组件库(Cell Library)中。这些必要的时序信息是以Timing Arc的方式呈现在标准组件库中。
2.PVT环境
3.interconnect data (.spef)
P&R前使用0线负载模型,P&R后通过RCE提取spef电阻电容电路贴回(Back-annotate)STA计算交互延迟。
4.timing constraints (.sdc)
Path分为四类:reg/clk-reg/d reg/clk-ouput input-reg/d input-output。
定义好时钟后reg/clk-reg/q的约束就确定了,其他三类需要额外定义boundary condition, boundary condition一般包括:driving cell 、 input transition time 、 output capacitance load 、input delay 、 output delay。
其余属于timing exception.

三、时序路径计算

Setup check : slack = Require Time (RT) - Arrival Time (AT) = (Tcapture + Tclk - Tsu) - ( Tlaunch + Tclk2q +Tdp) (launch比capture早一个周期)

Hold Check : slack = Arrival Time (AT) - Require Time (RT) = (Tlaunch + Tclk2q +Tdp) - (Tcapture + Thold) (launch和capture同一个周期)

注意以上公式没有考虑 clock source latency 、network latency和clock uncertainty,network latency RT和AT都要加,uncertainty加到RT上。

例题:
在这里插入图片描述

四、时序报告分析

报告时序的命令report_timing有很多开关,依据需求选择,可通过man 这个命令查看开关具体用法。
在这里插入图片描述
每条路径时序报告开头会有路径起点、终点、所属时钟域、所用的PVT环境。时序报告的组成从左至右分别为 路径节点、该节点推动组件个数、负载电容、节点上信号转换时间、时序放宽调整derate值、该节点造成的延迟以及自路径起点至该节点的总延迟(延迟数值通过library的time table查表得到。对于CK端,最右边的r代表触发器正沿触发,f代表负沿。对于q端r代表信号由0-1变化的延迟更长。

五、违例修复方法

交付前修复hold的优先级高于setup,因为setup影响的是性能,可以降频处理,而hold影响的是功能。

修复setup:
首先判断是否为真违例,即能否通过修改sdc、设置exception避免。如果是真违例研究时序报告分析违例原因,比如是时钟树不够balance导致的,需要调整时钟树;如果是路径太长导致的,可以换用阈值小的单元,但会因此导致功耗增加,还可以和前端沟通增加触发器级数采用流水线结构;如果是部分单元扇出过大导致的,可以换用驱动能力稍差但面积更小延迟更小的单元。如果违例很严重后端可能无法解决,需要通知前端修改rtl。
修复hold:
在setup有余量时通常采用插buf和inv的方法解决,或者是换阈值更高的单元。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STAStatic Timing Analysis)静态时序分析是设计验证中非常重要的一部分,它能够保证设计的时序满足要求,并且对于设计中存在的时序问题进行诊断和修复。PT(PrimeTime)是业界较为常用的 STA 工具之一。下面是一个 PT 做 STA 静态时序分析的教程。 1. 确定时序约束 时序约束文件是进行静态时序分析的基础,它描述了设计中的时序要求。时序约束应该包括时钟频率、时钟时序、输入输出延迟等信息。在 PT 中,时序约束文件格式为 SDC(Synopsys Design Constraints)。 2. 进行时钟分析 时钟分析是静态时序分析的第一步,它能够检查时钟网络中存在的时序问题。在 PT 中,我们可以使用 clock report 命令生成时钟分析报告。时钟分析报告能够帮助我们确定时钟路径、时钟树等信息。 3. 进行时序分析 在进行时序分析之前,我们需要将设计进行综合,并产生时序数据库(.db 文件)。时序分析主要包括前端分析和后端分析,前端分析主要是对时序路径进行分析,后端分析主要是对时序路径进行优化。 在 PT 中,我们可以使用 timing report 命令生成时序分析报告,报告中包括了时序路径、时序偏差等信息。我们可以根据报告中的信息进行时序优化,例如添加时钟缓冲、调整时钟路径等操作。 4. 进行时序约束修复 在进行时序分析时,PT 会给出一些违反时序约束的警告和错误信息。我们需要根据这些信息进行时序约束修复,以保证设计满足时序要求。在 PT 中,我们可以使用 constraint report 命令生成时序约束修复报告,报告中包括了需要修复的时序约束信息。 5. 进行时序分析验证 在进行时序分析之后,我们需要进行时序分析验证,以保证时序分析结果的准确性。在 PT 中,我们可以使用 report checks 命令生成时序分析验证报告,报告中包括了时序分析结果的正确性信息。 以上就是 PT 做 STA 静态时序分析的教程,希望能够对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值