新技術 | Inn Mixed Place Physical cell, Power Routing
- 2019 年 10 月 7 日
- 筆記
繼續搬運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
示例:
