继续搬运mixed placement, 前文回顾请参阅 《新技术 | Innovus Mixed Placer》《新技术 | Mixed placement flow 开篇》《新技术 | Innovus mixed placement 几种flow》。
这个系列的文章完全是翻译自Cadence support 上的一篇APP NOTE: "Mixed Placer Flow – Concurrent Placement of Macros and Standard Cells" 有帐号的同学可以自行在网上下载。今天接续按照原文顺序搬运如下部分:
- Physical cell modeling
- Power routing density modeling
- Physical cells insertion and power routing
Physical cell modeling
在Macro 间的沟道内可能需要插入Endcap, WellTap, PowerSwitch 这些Physical cell, 这些cell 对PPA 的影响很大,所以在摆放macro 的时候需要对其进行建模。推荐的方式是:在摆放macro 之前将macro 的halos 增加,为这些physical cell 预留一些空间,在placement 之后再将amcro halos 设回正常值。
Power routing density modeling
同样的原因,需要对Power routing density 建模,回顾一下main flow 中所提及的,如果有参考的Floorplan 则可以直接从参考的Floorplan 中抽取power density 的信息,如果没有参考的Floorplan 则需要先run 一次不带Power routing density 信息的placement, 之后创建power stripes. 不论是否有参考的Floorplan 产生Power routing density 的命令都是:
cleanup_floorplan_for_macro_place -save all
这个命令会将Power routing density 的信息写入如下文件:
golden_mimic_power_mesh.txt
用命令
init_power_mesh_mapping
读入该文件。
在这个文件中,每层layer 只有一个值,用来模拟std cell 跟Macro 上的power density. Mixed Placer 会根据这个值删掉一些routing tracks. 因为每个设计macro 的数量跟类型都不同,所以power densinty 也不同。
Physical cells insertion and power routing
在执行完"refine\_macro\_place" 之后,所有的macro 都该摆放到了合法位置并被fix, 接下来就需要插入physical cell 并创建power stripes. 对于一个具体的项目都该有对应的脚本,涉及到的命令有:
- addEndCap
- addWellTap
- addPowerSwitch
- addStripes
- editPowerVia
示例:
作者:陌上风骑驴
来源:https://mp.weixin.qq.com/s/sn7VLQN54c5n38WhdxSv9Q
作者微信公众号
相关文章推荐
更多IC设计技术干货请关注IC设计技术专栏。