Innovus update_io_latency
在Innovus中从ccopt 后的timing report中可以看到clock delay是从负值开始算起的,这个是因为在ccopt过程中进行了的update latency的动作。
基于block level的设计进行分析,假设在sdc中对clock 没有设置source&network latency(就是0),在ccopt之前clock模式是ideal的,所有的clock latency都是按照0计算。
当cts完成之后,clock模式切换为propagate ,工具会计算到达每个sink 点的latency 长度。
如下图所示,cts之后,latency (insertion delay)为3.5ns。图中两边虚线框代表block 的IO,左边为input port,右边为 output port。如果不进行update latency,对于input port(假设下图中io和内部寄存器都约束在同一个clk下),setup timing会乐观很多,对于ouput port ,setup timing会悲观很多,因为寄存器有latency,io clock latency为0。
所以,工具对root点的pin 反标一个负的latency,在理想完全balance情况下,在timing rpt中可以看到到达内部寄存器的值为0,这样就可以确保io timing不会过于乐观和悲观。控制这个过程的property 是update_io_latency。
set_ccopt_property update_io_latency true

需要注意下面两点:
如果是在做top only的pr实现,或者整个设计是flat进行的,要设置update_io_latency为false,可以考虑一下为什么。
在ccopt之前不要设置clock 模式为propagate
Innovus update_io_latency的更多相关文章
- Innovus Lab和Lab Guide下载地址 | Innovus教程 - Flow系列 - 数据准备
本文转自:自己的微信公众号<集成电路设计及EDA教程> <Innovus Lab和Lab Guide下载地址 | Innovus教程 - Flow系列 - 数据准备> ...
- Innovus教程 - Flow系列 - MMMC分析环境的配置概述(理论+实践+命令)
本文转自:自己的微信公众号<集成电路设计及EDA教程> <Innovus教程 - Flow系列 - MMMC分析环境的配置概述(理论+实践+命令)> 轻轻走过,悄悄看过,无 ...
- Innovus 对multibit 的支持
如果在综合阶段没有做multibit merge, 或综合阶段由于缺失物理信息multibit cell merge 不合理,那就需要PR 工具做multibit merge 或split. Inno ...
- 带你了解强大的Cadence家族,你可能只用到了它1/10的工具
[转载自 SI-list[中国]http://mp.weixin.qq.com/s/qsdfzQwIVjvwHXuCdvrPXA ] 本篇对2017年初版Cadence的全套所有EDA工具的技术特性特 ...
- STA之RC Corner再论
Q:RC-Corner跟PVT怎么组合? A:通常的组合: Q:通常说的ttcorner指的是啥? A:@孟时光 ttcorner是指管子在tt+RCtyp吧. Typesof corners W ...
- dbGet (二)
dbGet是由它基本的语法加上各种object的attribute的组合构成的.大家在熟悉基本语法之后,就应该去学习各个object的attribute了.说实话,这很难,因为attribute很多, ...
- dbGet
dbGet是Innovus/Encounter DBTCL命令的一种.除了dbGet,DBTCL的命令还包括以下几种: 1. dbSet 2. setDbGetMode/getDbGetMode 3. ...
- P &R 12
Floorplan包含: IO floorplan: 涉及板级设计.封装设计的交互,接口协议(timing相关),对一些高速接口需要做特殊考虑(如信号完整性等). Power plan:芯片的电源和低 ...
- P & R 11
要做好floorplan需要掌握哪些知识跟技能? 首先熟悉data flow对摆floorplan 有好处,对于减少chip的congestion 是有帮助的,但是也不是必需的,尤其是EDA工具快速发 ...
随机推荐
- Hibernate的save方法不能进行数据库插入
问题描述 在 MyEcplise 上运行 tomcat,利用 po 模板自动生成 po 文件,调用 po 的 save 方法,不报错,但是无法把数据插入数据库 applicationContext.x ...
- 0005 修改Django工程名
写框架非常耗时间,把框架写好以后,经测试稳定的框架,需要保存下来,以后有工程需要,直接更改工程名即可. 01 右键点击工程名,点击Refactor/Rename 02 选择更改工程名 03 关闭PyC ...
- 2.spring源码-BeanPostProcessor后置处理之ApplicationContextAwareProcessor,实现spring容器中某一个类的bean对象在初始化时需要得到Spring容器内容。
需求:我们的需求是,在spring初始化完毕时,使我们自定义一个类Bird类可以得到spring容器内容. 实现步骤: 1.首先我们来看一下ApplicationContextAwareProcess ...
- selenium 模拟滑动解锁
来源:Selenium模拟JQuery滑动解锁 (selenium +Python ) 本文:selenium+Java package cn.gloryroad; import org.open ...
- 并查集路径分裂优化 UnionFind PathSpliting(C++)
/* * UnionFind.h * 有两种实现方式,QuickFind和QuickUnion * QuickFind: * 查找O(1) * 合并O(n) * QuickUnion:(建议使用) * ...
- ORA-01476: 除数为 0
假设是a/bdecode(b,0,null,a/b) 这样如果b为0,输出null,不为0输出a/b decode():将查询结果翻译成其他值,类似三目运算符 比较1个参数时 decode( ...
- 错误:pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', ...
- 小匠第二周期打卡笔记-Task05
一.卷积神经网络基础 知识点记录: 神经网络的基础概念主要是:卷积层.池化层,并解释填充.步幅.输入通道和输出通道之含义. 二维卷积层: 常用于处理图像数据,将输入和卷积核做互相关运算,并加上一个标量 ...
- Android基础知识 -- Fragment
Fragment是android3.0后提供的API(所以android:minSdkVersion="11"以上版本),主要针对平板UI.有自己的生命周期,但是必须依附在Acti ...
- 跨站跟踪攻击(CST/XST)
XSS与httponly 正常情况下,客户端脚本(如JS脚本)是可以通过document.cookie函数获得,这样如果有XSS跨站漏洞,cookie很容易被盗取.浏览器有一个安全策略,通过设置coo ...