ICG setup timing violation介绍?
Clock Gating简介
门控时钟(clock gating)在RTL级电路设计过程中进行低功耗优化常用方法,能够有效降低动态功耗(翻转功耗)。Clock gating cell 可以由与门,与非门,或门或者或非门构成,但很容易产生Glitch。在实际使用中,一般用ICG(集成门控时钟单元)来完成clock gating。
下图展示了glitch的产生原因
ICG setup timing violation 产生原因(一)
在CTS时钟树综合的时候,ICG不会被看作sink,通常放置在source点附近,因此就会出现如上图这种结果。
上图可以看出,在分析DFF到ICG的setup timing时:
launck clk delay = a + k + d(icg)
capture clk delay = a
因此,对于ICG的setup path,天然存在clock skew:k ,而skew的大小完全取决于ICG 距离 sink DFF有多远。
在出现setup violation的ICG path上,比较多见的就是因为ICG和sink DFF的clock之间存在较多逻辑或者物理上距离较远,从而导致skew较大而发生setup violation。
ICG setup timing violation 产生原因(二)
ICG cell 放在了sink点附近(skew小),这种ICG setup timing 问题通常是data path太长(逻辑级数)的原因。
ICG setup timing violation 修复策略
CTS 阶段默认Reg1和Reg2尽量长平,所以 T1 ≈ T2 + D(icg) + T3
当reg1和cgate进行clock gating check时,T1 >> T2,也就是launch clock >> capture clock
方法:
EDA工具也提供命令来收紧 ICG 的timing constraint来迫使工具来优化这些Path
比如:set_clock_gating_check 命令,其实也是对data path路径的优化。
在place之前 :set_clock_gating_check
在CTS之后 :reset_clock_gating_check为default
注:CTS之前设clock gating check为了弥补clock tree, ICG cell的latency较短,所以加一些余量。CTS之后remove_clock_gating_check并不是不让tool做ICG timing check,而是用library的gating check的值。
ICG setup timing violation介绍?相关推荐
- setup timing violation and hold timing violation in same path
method: 1.切换memory VT 2.切换path上cell的VT 3.插入negative latch 4.early clk 5.加长common path 6.减小net delay ...
- 静态时序分析-clock gating path的timing violation修复
文章目录 1.clock gating cell 2.clock gating 的timing violation 1.clock gating cell clock gating cell 是用da ...
- Timing Constraint介绍-Design Compiler(三)
文章目录 3.1 setup constraint参数 3.1.1 创建时钟 3.1.2 创建Input Path constraining 3.1.3 创建Output Path constra ...
- STA(静态时序分析) 详解:如何计算最大时钟频率,以及判断电路是否出现时钟违例(timing violation)?
1.什么是STA? STA(静态时序分析)是时序验证的一种方法,用于计算和分析电路是否满足时序约束的要求. 2.为什么需要STA? 电路能否正常工作,其本质上是受最长逻辑通路(即关键路径)的限制,以及 ...
- ICC2 user guide(二)Placement and Optimization
目录 一 Specifying Coarse Placement Constraints and Settings 1 Defining Keepout Margins 2 Defining Area ...
- 数字后端面试100问(校招版)
上次发布面试100问以后,应读者强烈要求,抽空写了一篇校招版的后端100问,希望对各位应届生面试有用.题目难度类型更偏向基础概念的理解.对于校招,由于在校学生缺乏实际项目经验,考官通常会更加注重学生对 ...
- Less is more——如何修复setup violation?
对于setup violation,大家一定都非常熟悉,网上也有很多相关的资料.今天我们来介绍下对于项目后期ECO阶段,我们如何来修复setup violation. 首先我们来回顾一下setup的定 ...
- 秒杀数字后端实现中clock gating使能端setup violation问题
秒杀数字后端实现中clock gating使能端setup violation问题 文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点.点击进去后出现任何损失与社区无关. 点击标题下「蓝色微信名」 ...
- ICC II 4 timing setup(MCMM的设置)
timing setup object 执行MCMM 的设置,根据分析和优化的需要定义Corner modes scenarios 加载 MCMM的约束; 应用 时序以及优化 的控制. zero-in ...
最新文章
- C# 关闭正在执行的文件
- SAP进销存难点分析及对策
- 【读书笔记】练习的心态
- 前端学习(1732):前端系列javascript之状态切换
- mysql主从复制故障处理_MySQL主从复制故障处理一例
- Tomcat错误解决
- Java查询对象中匹配元素_用LinkedList如何实现搜索指定对象的元素
- LeetCode 51. N-Queens
- Shell脚本学习-阶段十六-备份和恢复系统权限
- acs712电流检测怎么用_工程师都用这个巧妙廉价的电流检测电路!
- ryzen cpu 用啥linux,AMD Ryzen锐龙处理器配什么主板?AMD 锐龙Ryzen CPU搭配主板技巧...
- 如何用 Lua 查询青云的主机
- 【问题9】Redis热点Key发现及常见解决方案
- 中国网络游戏发展简史
- PSCC2014前端切图小方法(不断补充)
- matlab中rand函数用法
- ruoyi框架集成magic-api
- java 图片识别_java实现图片文字识别的两种方法
- 2020年python考试时间_想准备2021年三月份的Python考试,应该怎么准备呢?
- MySQL 添加注释(comment)