三部分:表头/launch path /capture path

1.表头

1)

  • 工具版本信息:如示例中的18.10-p001,对某个具体项目timing signoff 工具的版本最好保证一致;

  • 操作系统信息:这一项无关紧要。

  • 生产日期:这一项还是有看一下的必要,避免低级错误,哼哧哼哧debug 了半天,结果report 看错了的事情是时有发生的。

  • 设计:确定是你的设计。

  • 命令:确定report 的时候都加了哪些option, 因为极有可能原始脚本不是你自己写的。

2)

  • Timing path 的起点和驱动时钟及时钟的有效沿:示例中分别为my_start_point, clk,  上升沿。

  • Timing path 的终点和驱动时钟及时钟的有效沿:示例中分别为my_end_point, clk,  上升沿。

  • Timing path 所在的path group:示例中为clk, 大多数工具默认会为每一个clock 定义一个path group,用户可以根据需求自定义path group, 如无用户自定义的path group 某条path 会被归为该path endpoint 驱动时钟对应的group.

  • Analysis View:STA 中一个view = 一组具有相同PVT 的std/macro cell + 一个RC corner, 要确定当前View 是否正确。

  • Other end arrival time: capture path 的delay。

  • Setup: 从capture 寄存器对应的std cell lib 中查表得到。
  • Phase shift: 如果没有MCP ( multi cycle path ) 设置, 该值即为单个clock 的周期。
  • CPPR: 在考虑OCV 的STA 分析中,会分别对launch clock path 跟capture clock path 设不同的derate 值,如setup check: launch clock path 会设一个late 的derate, capture clock path 会设一个early 的derate. 而对于同一段path 在实际中不可能会有不同方向的variation 所以为了剔除悲观度,工具会将common path 上的这部分影响减除即CPPR; 对于0 沿check ( 如hold check) 除了Variation, CPPR 还会减除common path 上SI 的影响。这也是为什么common path 越长越好的原因。
  • Uncertainty: 该值来自SDC, 通常signoff uncertainty = foundry requirest margin + PLL jitter + IR-drop modeling.
  • Required time: 在此时间内到达时序即能满足 = clock period + capture clock path delay + CPPR - Setup - Uncertainty.
  • Arrival time: launch data 实际到达时间 = launch clock path delay + data path delay.
  • slack: 最终检验值,为正该path pass 为负该path 违规 = required time - arrival time.

2.

check RC 的反标:在Tempus 的report 中有一列 "Arc annotation" 会标明每一条net RC 的来历,如果RC 来自SPEF, 则值为SPEF. 如果有net 没有正确反标,首先要找出未反标的原因。如果所有net 都已正确反标,再进行下一步

check clock skew: 可分别从launch clock path 跟cpature clock path 中得到到start point clock pin 的clock network delay 和到endpoint clock pin 的clock network delay, 如果skew 过大需要找后端确认是有意为之还是给了一版垃圾数据,至于『大』的定义每家公司每个项目都有自己衡量的标准,有的人认为12已经算大了,但有的人认为18才是真的大,所以请根据自己的需求定义大。如果clock skew 也正常

check derate: std cell 是否有用AOCV, 如果有check derate 的值是否合理,Depth 的值是否合理,是否对net 有设flat OCV, 如果有分别check launch 跟capture path 的derate 值是否合理

check cross talk 引入的delta delay: 先看clock path 上的SI, 如果有较大较多的SI 要去找后端确认,clock path 的SI 要尽量修掉;再看data path 上的SI, 最好把大于某个值的SI 对应的net 都抓出来在layout 上看一下,然后再确定fix 的方向

check clock common point: 确认时钟分叉点,是不是时钟分叉太早,如果common path 非常短需要跟后端确认是否可以做长。

如果以上都合理,就需要详细check 每一级的cell 跟net delay, 最好在layout 上把该条path highlight 出来,先check 是否有cell 堆叠的情况尤其是buffer 跟inverter 的堆叠,如果有,需要找后端确认;再check delay 较大的某些cell 的输入transition 跟fanout 是否合理,如果transition 太大需要确认是由于前一级的驱动能力太弱还是输入net 太长造成的,如果fanout 太大需要找后端确认;再check delay 大的net, 在layout 上量一下该net 的距离,对于什么类型的cell 能驱动多长的net 自己心里要有数,而这个数是由对所用工艺研究得到的,如果某个cell 驱动了超出其能力所及的net 如果不能通过cell swap 解决,就找后端。

转载于:https://www.cnblogs.com/lelin/p/11386113.html

读懂timing report相关推荐

  1. Vivado使用误区与进阶——如何读懂用好 Timing Report

    <XDC约束技巧>系列中讨论了XDC约束的设置方法.约束思路和一些容易混淆的地方.我们提到过 约束是为了设计服务,写入Vivado中的XDC实际上就是用户设定的目标 ,Vivado对FPG ...

  2. 读懂用好Timing Report

    本文摘自<Vivado使用误区与进阶>,作者为Xilinx工具与方法学应用专家Ally Zhou. < XDC 约束技巧> 系列中讨论了 XDC 约束的设置方法.约束思路和一些 ...

  3. [静态时序分析简明教程(三)]备战秋招,如何看懂一个陌生的timing report

    备战秋招,如何看懂一个陌生的timing report 一.写在前面 1.1 快速导航链接· 二.Timing Report 2.1 起始点与终止点 2.2 路径时钟域的归属 2.2 建立时间检查与保 ...

  4. 如何阅读 Vivado中的Timing Report

    <XDC约束技巧>系列中讨论了XDC约束的设置方法.约束思路和一些容易混淆的地方.我们提到过 约束是为了设计服务,写入Vivado中的XDC实际上就是用户设定的目标 ,Vivado对FPG ...

  5. 一本读懂BERT(实践篇)重点

    目录 一.什么是BERT? 二.BERT安装 三.预训练模型 四.运行Fine-Tuning 五.数据读取源码阅读 (一) DataProcessor (二) MrpcProcessor 六.分词源码 ...

  6. 5G(5)---7个方面读懂5G标准

    7个方面读懂5G标准 来源:5G丨公众号 作为IMT2020主要的候选技术, 5GNR在3GPP的快马加鞭地统一协调下急速前行,按照计划,今年第一个5G标准会冻结,将为运营商提供一套5G初期部署的可行 ...

  7. mysql火焰图_如何读懂火焰图?

    原标题:如何读懂火焰图? 文章作者:阮一峰http://www.ruanyifeng.com/原文链接:http://www.ruanyifeng.com/blog/2017/09/flame-gra ...

  8. 一本读懂BERT(实践篇)

    目录 一.什么是BERT? 二.BERT安装 三.预训练模型 四.运行Fine-Tuning 五.数据读取源码阅读 (一) DataProcessor (二) MrpcProcessor 六.分词源码 ...

  9. 一文读懂处理器流水线

    本文将讨论处理器的一个重要的基础知识:"流水线".熟悉计算机体系结构的读者一定知道,言及处理器微架构,几乎必谈其流水线.处理器的流水线结构是处理器微架构最基本的一个要素,犹如汽车底 ...

最新文章

  1. 【青少年编程】【三级】病毒传染模拟程序
  2. 10家最具创新性的机器学习公司
  3. [linux] 如果修改用户的密码
  4. 残疾科学家_数据科学与残疾:通过创新加强护理
  5. iOS 点转成字符串,再字符串转换成点
  6. 遍历矩阵每一行穷举_[LeetCode] 566. 重塑矩阵
  7. Martin Odersky Scala编程公开课 第一周作业
  8. Cisco Packet Tracer7.1 rip协议实验
  9. oracle中nvarchar2查询结果显示总是少一位
  10. eclipse java字体 太小,如何在Eclipse for Java文本编辑器中更改字体大小?
  11. 清华姚班毕业生开发新特效编程语言,99行代码实现《冰雪奇缘》
  12. 如何使用solidworks对产品打螺孔--问题解决
  13. ElasticSearch进阶(五)MetricBeat的简单使用
  14. html的锚标记,HTML验证锚标记
  15. Oracle 11gR2 RSF(Recurive Subquery factoring)
  16. 基于Spring Boot框架的驾校学员信息管理系统
  17. 2017cad光标大小怎么调_cad十字光标怎么调大-调整cad十字光标大小的方法 - 河东软件园...
  18. html标签中文字换行
  19. 机器人涂装工程师岗位英文缩写_公司职位及英文缩写大全
  20. 每日新闻丨美商务部:已允许部分美企向华为出售零部件;中国四家手机厂商瓜分印尼市场...

热门文章

  1. 红警手游服务器是否维护,红警OL手游什么时候合区
  2. java args的用法_Java中args参数数组的用法说明
  3. Canvas加动画,实现火柴人跳绳效果,移动端混合开发框架
  4. VBA学习笔记:1、用msxml v6.0网抓
  5. SaaS云平台:天下没有白吃的午餐
  6. 《小木工》华硕中国业务群总经理石文宏
  7. jQuery事件函数中的this是什么?
  8. python中怎么赋值,python中的赋值操作
  9. 百度群组链接分享 - 铁人圈子
  10. 全方位揭秘!大数据从0到1的完美落地之Shuffle和调优