IR-drop问题的分析与修复(六):Add Halo for Macro:ICC2 & Innovus
本文转自:自己的微信公众号《集成电路设计及EDA教程》
在前面的推文中,我们介绍了在Narrow Channel里面添加Checkerboard形式的Placement Blockage来解决Narrow Channel里面的Cell的IR-drop问题。
IR-drop问题的分析与修复(三):add checkerboard placement blockage in Narrow
可是,还有一种IR-drop问题发生在Macro的周边,如下图所示,出现IR-drop问题的Cell包围在Macro围成的区域周边。
发生这种IR-drop问题的原因大概来自于三个:
1、由于Connection的原因,大量的Cell聚集在Macro周边,Cell Density比较大;
2、由于PG Rail不能穿过Macro,所以Macro周围的Cell距离VDD Strap和GND Strap的距离是不一样的,因此容易产生IR-drop问题。
如下图所示,Macro左边的Cell距离红色的VDD Strap近一些,不容易产生VDD的IR-drop问题;可是它们距离绿色的GND Strap比较远,因此容易产生Ground Bounce。
同样,Macro右侧的Cell距离绿色的GND Strap近一些,不容易产生Ground Bounce问题;可是它们距离红色的VDD Strap比较远,因此容易产生VDD的IR-drop问题。
考虑到这两个问题,我们可以在Macro周围加上Halo,或者成为Keepout margin,让周围的Cell不要摆的离Macro过近,如下图所示:
Innovus:
添加Halo的命令如下:
addHaloToBlock -allMacro 20 20 20 20 ;#给所有的Macro四边添加Halo,顺序:left bottom right top
addHaloToBlock 20 22 22 20 DTMF_INST/ARB_INST/ROM_512x16_0_INST ;#给指定的Macro四边添加Halo,顺序:left bottom right top
关于Halo的详细内容见推文:
超强整理 正在连载 - 后端布局布线工具Innovus详细教程(理论+实践+命令)
ICC2:
关于ICC2中的Keepout margin,见推文:
另外,如果Cell扎堆的情况还是比较严重的话还可以在Macro周围加上Checkerboard形式的Placement Blockage,如下图所示:
相关推文
关于IR-drop的历史文章整理如下:
IR-drop问题的分析与修复(含脚本分享)(一):Partition boundary cells clustering
IR-drop问题的分析与修复(二):odd pg in Narrow Channel
IR-drop问题的分析与修复(三):add checkerboard placement blockage in Narrow
IR-drop问题的分析与修复(四):add cell padding for cells in Narrow Channel
IR-drop问题的分析与修复(五):Padding Clock Cells:ICC2 & Innovus