门控时钟低功耗在Placement阶段有什么技巧?

门控时钟技术可以用来降低电路的动态功耗,且在一定程度上能减小电路的面积。
门控时钟有分离门控时钟和集成门控时钟,现在的大多数标准单元库中都提供了集成门控时钟单元(icg),且它的性能更好,应用更加简单,因此设计中基本都采用icg来实现门控时钟。
之前也讲述了在逻辑综合阶段如何实现门控时钟技术,那么在物理布局阶段又有什么值得注意的地方或者有什么技巧可以提升设计的性能呢?
布局阶段:
在用icc进行布局时,需要对icg单元和它控制的寄存器组(register bank, rb)进行特殊的处理。如果在布局之前不对pr工具进行任何的设置,那么布局完毕之后,所有icg和它驱动的rb的摆放如左图所示。
这种自由随意的摆放方式质量很不怎么样,制约了设计的性能。
我们预期的是右边的物理布局,所有的icg和它驱动的rb靠近放置,bound到一个区域内。
右边这种物理布局的优点:
1、rb内的所有flop被bound到一起,彼此间距小,因此clock skew小;
2、ocv的影响小,timing更好,因为此时所有寄存器的common path非常长,因此ocv对flop的影响小,体现在时序报告里面就是crpr值更大;
3、有利于icg的setup,因为此时icg离它控制的flop更近,latency小,所以icg的d pin前面的partial cycle就更长,setup相对有利。
如何在placement中实现?
要想实现右边的这种物理布局,在placement之前需要对icg单元驱动的rb设置auto bound,也就是将它们放置在icg单元附近一定面积范围内,设置脚本如下:
set placer_disable_auto_bound_for_gated_clock false; #默认值为true;
set placer_gated_register_area_multiplier 5; #设置icg单元驱动的所有寄存器全部放置在总面积5倍面积范围内,默认值为20。
高级应用:
前面右边的placement方案就是最优的么?
不!!
其实最优的方案是icg在它控制的rb中间。
那么如何实现呢?
这就需要用到physical aware clock gating技术
1、rebuild门控时钟结构,将那些有相同使能控制逻辑的门控时钟单元merge到一起;
2、之后根据icg驱动的register或者rb的物理位置,将icg split成多个icg(如下图所示),根据后边控制的单元数目来选择合适的drive strength的icg。在物理布局阶段,功能能根据物理信息,自动将icg放置在与它有连接的rb中间。
dcg:
set power_cg_physically_aware_cg true
compile_ultra -gate_clock -scan -spg
icc:
place_opt -optimize_icgs -spg
实现效果:
左图是常规方法实现的icg和它控制的rb的物理布局,后边是采用physical aware的clock gating技术之后的物理布局。根据以上分析可知,这种方案的效果更好。

BUCK电源工作原理
大数据时代应用
数字资产量化交易软件开发自动交易机器人系统开发
Mobileye英特尔激光雷达详细介绍
北卡罗来纳州立大学研发了应用于智能手机的传感器
门控时钟低功耗在Placement阶段有什么技巧?
手机权限到底是开比较好还是关比较好
用好VU波段,弘扬业余精神
英特尔Gold 6138P处理器将要整合Arria 10FPGA
华为荣耀Magic图文直播:贴心小秘书般的伙伴
Galaxy S20系列手机全曝光,搭载1亿像素100倍变焦
乐得瑞LDR6328S芯片概述/特点/应用
国产家电占主导市场,进口关税的调整对整体市场的影响不大
电流怎么变成声音
Altera靠拢英特尔 强调与台积电关系不变
诺基亚8要来了,情怀还能卖么?真瘦死的骆驼比马大!
此珠海银隆与彼乐视汽车,董明珠是下一个贾跃亭还是孙宏斌?
HTTPS的底层原理如何实现?
西井科技入选毕马威中国领先汽车科技50强
英伟达宣布奥迪最新汽车信息娱乐系统采用其Tegra技术