静态时序分析——Clock Gating check
门控时钟是RTL级进行低功耗设计的最常用方法,能够有效降低动态功耗。在实际使用中,一般用ICG(集成门控时钟单元)来完成clock gating。ICG电路和时序如下:
通常来说,工艺库已经集成了ICG,在做门控时钟的时候其实不用考虑那么多。如果在实际设计中,工艺库未提供ICG,需要自己搭建一个门控时钟电路,那么在布局布线的时候可能要注意,不能将期间摆的太远,否则线延迟等会让这个结构失去其意义。
当门控信号控制了逻辑单元中时钟信号的路径时,我们会进行Clocl Gating check。我们根据下图了解一些定义,这样比较直观:
这里我们需要明确什么样的电路会被工具分析成为门控时钟:
- Gating cell的输出是作为时钟信号进行使用,即连接到了后级逻辑单元的时钟端口。
- Gating pin的输入非时钟信号;若Gating pin的输入为时钟信号,则其必须不连接后级逻辑单元的时钟端口。
- 对于上图简单的与门控制,工具可以较好的推断;但对于复杂结构,需要自己添加约束来进行检查。
运用提到的定义,对于上图来说,CLKB才是clock signal。接下来我们以这个电路为例看看如何进行clock gating check(对于这个与门来说,有些类似于data to data check):
首先定义两个时钟
create_clock -name CLKA -period 10 -waveform {0 5} [get_ports CLKA]
create_clock -name CLKB -period 10 -waveform {0 5} [get_ports CLKB]
我们要保证时钟切换的时候不能产生一些毛刺,也不能产生对时钟有影响的结果。对于此电路来说,gating cell是一个与门,那么gating pin的信号变化只能发生在clock pin的低电平状态。则setup check要求门控信号在时钟信号变高前变化;hold check要求门控信号只能在时钟下降沿之后进行改变。时序图如图,
gating pin的变化要落在5-10ns间,才能满足门控时钟的要求。
我们看看setup check的时序报告:
同样地,我们可以看看hold check的时序报告:
可以看到,在5ns时进行hold check是非常严苛的。由于gating signal的变化过于迅速,导致hold check失败。这个问题可以用我们前面提到的半周期进行处理。我们将寄存器的采样边沿改为负沿:
这样的话,gating signal在负沿launch,留给时序检查的周期就剩下了半个周期,较好满足hold time:
静态时序分析——Clock Gating check相关推荐
- 静态时序分析-clock gating path的timing violation修复
文章目录 1.clock gating cell 2.clock gating 的timing violation 1.clock gating cell clock gating cell 是用da ...
- 静态时序分析—门控时钟检查(clock gating check)
1.clock gating check的条件 一个非buffer/inverter的组合逻辑单元可以由gating控制信号控制其clock信号传递的时候,在STA时序分析时会将其作为clock ga ...
- STA -- clock gating check
对于现在design中例化好的icg以及工具插进去的icg,不存在clock gating check的问题,因为clock gating 搞成了一个lib cell,不再是latch加上与门的组合. ...
- clock gating check
在 sta 分析时,经常会碰到 clock gating cell (一般是 ICG cell 或者 latch)引起的 violation,这种 violation 很常见,而且往往很难修. 为什么 ...
- 中set无效是怎么回事_静态时序分析圣经翻译计划——第十章:鲁棒性检查 (中)...
10.5 时钟门控检查 当一个门控信号(gating signal)可以控制逻辑单元中时钟信号(clock signal)的路径时,将会执行时钟门控检查(clock gating check),一个示 ...
- 静态时序分析(STA)基本概念
STA(Static Timing Analysis,静态时序分析)是时序分析方法中的一种,另一种叫时序仿真(Timing Simulation),不仅能验证时序还可以验证功能,时序分析通常指的就是这 ...
- clock gating门控时钟
在数字IC设计中,我们几乎都要用到门控时钟clock gating技术.使用门控时钟这种技术,我们可以改善电路的三个主要性能指标:速度,面积和功耗,特别是芯片的功耗.市场上主流的综合和静态时序分析工具 ...
- 免费课程推荐|数字集成电路静态时序分析基础
讲师介绍: 邸志雄 博士,硕士研究生导师,西南交通大学信息学院电子工程系副系主任.CCF会员.中国图象图形学学会军民融合专委会成员.新工科联盟"可定制计算"专委会成员.研究方向为高 ...
- 关于clock gating的 set_clock_gating_check
在CTS和routing之后会出现 clock gating 的timing violation, 有两个命令: set_clock_gating_check remove_clock_gating ...
最新文章
- MATLAB应用实战系列(七十六)-【仿真应用】卡尔曼滤波在雷达目标跟踪中的应用仿真(附matlab代码)
- 成功解决cv2.imwrite(filename, img)代码输出中文文件乱码的问题(cv2.imencode方法解决)
- 【学术相关】博士毕业也会看第一学历吗?
- linux踩内存内存越界,Linux如何调试内存泄漏?超牛干货奉献给你(代码全)
- 零基础学Java需知:Java小白入门解疑大全
- Android之开发性能优化简介
- 如何修改product base category
- [学习笔记] 单位根反演
- python中grid函数_python tkinter中的grid布局是什么?
- .NET框架程序设计
- OJ1114: 逆序(数组)(C语言)
- 谷歌开源 Python 代码漏洞查找工具 Atheris
- html标签非成对,深入document.write()与HTML4.01的非成对标签的详解
- 论文赏析[ACL18]直接到树:基于神经句法距离的成分句法分析
- SSM+Vue音乐在线试听网站系统java项目源码
- 重复代码检查工具Simian
- 生意参谋指数转化算法(2021最新)
- 虚幻4地形怎么增加层_虚幻周报20200512 | 该来的总会来的!
- ps4微软服务器地址,PSN服务更新 终于可以在PC上玩PS4游戏了!
- Latex如何在文本中插入数学符号