如何清除標準單元布局?
?
GUI操作: Floorplan > Clear Floorplan. 在對話框中選擇“Specified Objects”,勾選“Placed Standard Cells”然后點擊OK。
效果:
?
相應的命令: 下面的命令會把Design中所有狀態是“Place”的Instance狀態改為“Unplaced”。但是不會動那些狀態是FIXED, SOFTFIXED或者COVER的Cell。
Legacy UI:
unplaceAllInsts
Common UI:
unplace_obj -insts
如果想將設計中所有的標準單元全部設置成Unplaced(也就是清除所有標準單元的布局),可以用下面的命令,將pStatus改為unplaced即可:
Legacy UI:
dbSet [dbGet top.insts.cell.baseClass core -p2].pStatus unplaced
Common UI:
set_db [get_db insts -if {.base_cell.class == core}] .place_status unplaced
Place階段自動擺放Terminal
如果設計對Terminal的位置沒有特殊的限制,自己可以隨意控制,那么也可以不導入IO管腳排列文件,可以讓工具在布局階段自動擺放。
方法如下:
Place之前,在Mode Setup下方勾選Place IO Pins:
相應的命令:setPlaceMode -place_global_place_io_pins true
如果想對一些Pin的edge和layer等做一些約束,可以用命令
setPinConstraint setPinConstraint- Sets the constraint for a partition pin or an I/O pin
* The following command sets the sides, T and B, of layer 3 and 5 of partition cell ptn4
setPinConstraint -cell ptn4 -layer {3 5} -side {T B}
* The following command sets the edges, 2 and 0, of partition cell ptn4 setPinConstraint -cell ptn4 -pin * -edge {2 0}
驗證Tie high/low Cells
在做布局之前我們做了相應的設置來讓工具在布局的時候添加Tie high/low cell,那么我們如何驗證設計中所有接1/0的Cell的Cell的Pin都通過Tie high/low cell接到了電源地而非直接接到了電源地呢?
答案:
可以用命令verifyTieCell,在執行該命令前需要首先做好setTieHiLoMode的設置,否則會報下面的錯誤:
innovus 4> verifyTieCell
**ERROR: (IMPVFC-265):No TieCell defined, please refer to command 'setTieHiLoMode'.
**WARN: (IMPVFC-263):verifyTieCell failed.
verifyTieCell命令會檢查那些需要tie high/low的Net是否接到了用setTieHiLoMode -cell指定的tie high/low cell上。
?
上圖的左邊部分顯示verifyTieCell違反,右邊部分顯示沒有違反。
除此之外,該命令還可以檢查那些不應該接到tie high/low cell上的Instance或者Pin,可以加下面的選項:
-noTieCell filename filename
指定一個含有instance/pin名字列表的文件即可。
?
上圖的左邊部分表示verifyTieCell -noTieCell沒有檢查出違反,右圖會檢查出違反。
另外,我們應該在什么時候做這個檢查呢?只需要在Place做這個檢查么?
答案是不一定的,現在的PR工具在其他步驟也可以通過做邏輯的優化與更改,因此我們最好在每一步(place、CTS、postRoute)都做一下檢查,發現問題趕快解決。
審核編輯:劉清
-
GUI
+關注
關注
3文章
662瀏覽量
39757 -
PIN管
+關注
關注
0文章
36瀏覽量
6356 -
CTS
+關注
關注
0文章
35瀏覽量
14117
原文標題:Innovus教程 - Place相關問題分享
文章出處:【微信號:集成電路設計及EDA教程,微信公眾號:集成電路設計及EDA教程】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論