ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ICC&InnovusTiming Report解析

2021-04-30 09:33:04  阅读:474  来源: 互联网

标签:Clock ICC clock timing report Edge Report path InnovusTiming


ICC&InnovusTiming Report解析

为了让各位粉丝更方便查阅小编分享过的的历史技术文章,吾爱 IC 社区公众号历史技术文章合集第二版已经正式发布。各位知识星球用户,可以前往知识星球下载查阅。应部分非星球用户要求,本次更新的技术文章合集可以通过捐助社区来获取,捐助金额20起,土豪请随意(添加小编微信ic-backend2018)。

作为一个数字 IC 后端工程师,你真的能看懂 Timing report 吗?小编曾经说过,如果数字 IC 后端工程师不懂 timing,等于人缺了一个手臂。更何况不能完全看懂 timing report 呢?那一定是非常可怕的一件事情。

今天小编将从基本概念出发,详细解析 ICC 和 Innovus 中 timing report 各大主要组成部分。

Timing Path

STA 中是基于 Timing Path 来进行时序分析的。每条 Timing Path 都有一个 Startpoint 和一个 Endpoint。那么 STA 中哪些点是 Startpoint,哪些点又是 Endpoint 呢?理解这个概念后就能够比较好理解 Timing Path 了。

Startpoint 可以是以下两种类型:

  • Input 输入端

  • 时序单元的时钟端

Endpoint 可以是以下两种类型:

  • Output 输出端

  • 时序单元的数据输入端

因此,在 STA 中有四种类型的 timing path。针对每条 timing path,工具也会分配一个 clock group。默认情况下,工具会根据 endpoint 挂的 clock 来定义对应的 group。

CLKA group: Input port A to UFFA/D.

CLKB group: UFFA/CK to UFFB/D.

DEFAULT group: Input port A to output port Z, UFFB/CK to out

put port Z.

有了这个概念后,你就不会看不懂工具报的某些信息,比如某个点不是有效的 endpoint。

在数字 IC 后端实现阶段,为了优化 timing,往往会根据实现需求定义比较多的 group path,实现group path 的细化

Timing Report (ICC)

ICC 的 timing report 相信大部分人应该都比较熟悉。今天主要介绍下 report 中表头部分。

  1. 此处列出报告这条 timing path 所用的命令和 option。这里的full_clock和 innovus 中的 full_clock 很像。这里需要提出的是,在报 timing report 时,一定要多加一些选项,这样才能更方便 debug timing。

  2. 这里是定义的 operating condition,这里是 SSG125C。

  3. 这里告诉你 Parasitic mode,它的值有RealRC,RealRVirtualC 等。这里显示是 RealRVirtualC,说明这是 CTS 后,Route 前的 report。如果一个 Route 后的设计,其 timing report 上显示的 RC 还不是真实的,那么一定是有问题的。

  4. 这里列出了该条 path 的 Beginpoint(Startpoint)和 Endpoint。

  5. 这里指出 Startpoint 和 Endpoint 都是上升沿触发的。

  6. 这里表明这条 timing report 是 max delay 的,是检查 setup 的 timing 的。

Timing Report (Innovus)

下面我们来看下 C 家的 Innovus timing report。

  1. Path 1 后面有 “MET Setup Check” 字样,表明该条 path 的 setup 是满足 timing 要求的。

  2. 这里列出了该条 path 的 Beginpoint(Startpoint)和 Endpoint。

3.Other End Arrival Time是指capture path的 clock latency 值。这里跟 S 家的 timing report 是有所不同的。S 家是直接在 capture path 上直接展现出来的。当然这里的计算结果值,大家可以通过展开这条 path 的 full_clock 选项来查看具体计算过程。

  1. 这里的 setup 指为 library 中该寄存器的 setup time(通过查表来获取)。

思考题: 这个 setup time 值与哪些因素有关?

  1. 这里的 phase shift 很多人都把它理解成时钟周期 T。应该说这种叫法是不严谨的。对于 Multicycle path 和 Half cycle path,它就不是周期了。

  2. 小编相信 Slack Time 这个地方大家都看明白了,正值即 meet,反之则存在 timing violation。

  3. 这里又是跟 S 家不一样的地方。C 家引入 Leading Edge 和 Trailing Edge 两个概念。这两个概念千万不能与 Rising Edg 和 Falling Edge 搞混淆。Leading Edge 为 clock 在一个周期内第一个跳变的 edge,而 Trailing Edge 为 clock 第二次跳变的 edge。

涉及 setup 计算的一些公式:

Data Require Time = Clock Arrival Time - Tsetup - uncertainty

Clock Arrival Time = Clock Capture Edge + Network latency

Data Arrival Time = Clock Launch Edge + Network latency + Tck-q + Tcomb

Setup Slack = Data Require Time - Data Arrival Time

原来电路最高工作频率是这么算出来的(STA 基础篇)

Phase Shift = (CE - LE) - (C1- L1)

其中 CE 为 Capture Clock Edge, LE 为 Launch Clock Edge,C1 为第一个 Capture Clock Edge,L1 为第一个 Launch Clock Edge。

这里以上面的 timing report 为例,计算下 Phase shift。

phase shift= (10 - 0)-(0 - 0)= 10。由于 Beginpoint 和 Endpoint 是 Leading Edge triggered 和 Leading Edge checked,而且都挂在同一个 clock 上。所以这里的 Phase Shift 即为周期。那么如果 Endpoint 是 Trailling Edge check,那么 Phase Shift 又是多少呢?

如果两个寄存器是跨 clock domain 的 timing check,phase shift 又该如何计算呢?从 phase shift 的计算公式得知,它的核心是找到 Launch Clock 和 Capture Clock 的 Edge,找对了结果自然就出来了。关于 setup 和 hold check 的 edge 选取,可以翻阅之前分享的内容。

好了,今天的内容分享就到这里。如果你喜欢小编的文章,帮忙点下**“在看”**并转发给你的朋友,算是鼓励支持下小编呗。

小编知识星球简介(如果你渴望进步,期望高薪,喜欢交流,欢迎加入 ****)

在这里,目前已经规划并正着手做的事情:

  • ICC/ICC2 lab 的编写

  • 基于 ARM CPU 的后端实现流程

  • 利用 ICC 中 CCD(Concurrent Clock Data)实现高性能模块的设计实现

  • 基于 ARM 四核 CPU 数字后端 Hierarchical Flow 实现教程

  • 时钟树结构分析

  • 低功耗设计实现

  • 定期将项目中碰到的问题以案例的形式做技术分享

吾爱 IC 社区知识星球星主为公众号” 吾爱 IC 社区” 号主,从事数字 ic 后端设计实现工作近八年,拥有55nm,40nm,28nm,22nm,14nm等先进工艺节点成功流片经验,成功tapeout 过三十多颗芯片

这里是一个数字 IC 设计实现高度垂直细分领域的知识社群,是数字 IC 设计实现领域中最大,最高端的知识交流和分享的社区,这里聚集了无数数字 ic 前端设计,后端实现,模拟 layout 工程师们。

在这里大家可以多建立连接,多交流,多拓展人脉圈,甚至可以组织线下活动。在这里你可以就数字 ic 后端设计实现领域的相关问题进行提问,也可以就职业发展规划问题进行咨询,也可以把困扰你的问题拿出来一起讨论交流。对于提问的问题尽量做到有问必答,如遇到不懂的,也会通过查阅资料或者请教专家来解答问题。在这里鼓励大家积极发表主题,提问,从而促进整个知识社群的良性循环。每个月小编会针对活跃用户进行打赏。

最重要的是在这里,能够借助这个知识社群,短期内实现年薪百万的梦想!不管你信不信,反正已经进来的朋友肯定是相信的!相遇是一种缘分,相识更是一种难能可贵的情分!如若有缘你我一定会相遇相识!知识星球二维码如下,可以扫描或者长按识别二维码进入。目前已经有443星球成员,感谢这443童鞋的支持!欢迎各位渴望进步,期望高薪的铁杆粉丝加入!终极目标**是打造实现本知识星球全员年薪百万的宏伟目标 **。

欢迎关注 “吾爱 IC 社区

微信号:ic-backend2018

点击下方 “阅读原文” 下载技术文章合集。

https://mp.weixin.qq.com/s/yuEd8inn_KD-f__AgxN3yA

标签:Clock,ICC,clock,timing,report,Edge,Report,path,InnovusTiming
来源: https://blog.csdn.net/weixin_37584728/article/details/116292602

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有