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,见推文:

后端概念分享--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

 

 

posted @ 2020-02-12 16:37  Horizon00  Views(4379)  Comments(0Edit  收藏  举报