源自:微信公眾號 「數字晶元實驗室」

環境設置

創建一個單獨的目錄(例如,innovus)。 創建子目錄synthlib1、 將full_adder_pads_syn.v移動到synth目錄

我們可以看出來這是一個綜合後gale-level的verilog門級網表。

2、將osu05_stdcells.lef移動到lib目錄

讀入設計1.在Unix提示符後,鍵入:innovus

2.出現innovus工具窗口時,在菜單欄選擇File->Import Design 讀入設計

單擊 [...]讀入Verilog網表文件

1. 單擊「>>」按鈕展開窗口以顯示目錄

選擇文件full_adder_pads_syn.v並單擊Add按鈕將其添加到Netlist文件列表中。

6.對於Top Cell,選擇「Auto Assign」

對於Technology/Physical Libraries,選擇「LEF文件」。 單擊[...]按鈕打開LEF文件

使用與讀入Verilog Netlist文件相同的方法,選擇文件lib/ osu05_stdcells.lef

對於Power,輸入以下內容:

a. Power Nets: vddb. Ground Nets: gnd

點擊 OK

保存和恢復設計NOTE:切記要及時保存你的設計選擇File, Save Design

在Save Design窗口中,選擇數據類型:innovus。 程序將分配一個擴展名為* .enc的默認文件名。可以更改名稱,但不要更改擴展名。

要載入已保存的innovus文件,請執行File, Restore Design。 在「Restore Design」窗口中,選擇數據類型:innovus。 選擇要還原的文件。

Floorplanning在innovus工具菜單欄中,選擇Floorplan,Specify Floorplan

1.在「Basic」選項卡中,選擇以下選項:

Core Margins - 選擇Core to IO Boundary並設置為1002.單擊「OK」

Power Planning

在innovus工具菜單欄中,選擇Power,Connect Global Nets以進行全局電源網路連接

1. 在Power Ground Connection中。

a、在Connect區域中,選擇Pin

b、「Scope」區域中,選擇「Apply All」2.對於每個net( vdd和gnd),執行以下操作: a、在以下框中輸入net名稱(vdd或gnd): i. To Global Net ii. Pin Name(s) b、 單擊「Add to List」按鈕3.單擊「Apply」,然後單擊「Cancel

Power Rings在innovus工具菜單欄中,選擇Power->Power Planning->Add Rings

對於Net(s),輸入vdd和gnd,如下所示:

a、單擊[...]框進行Net Selection b、從Possible Nets列中選擇vdd和gnd C。 單擊「Add」以複製到「Chosen Nets」列 d。 單擊OK

Ring Configuration中,選擇metal1作為TopBottommetal2作為LeftRight

a、寬度為8b、間距為1

C、Offset為 「Center in channel

單擊「OK

Power Stripes在innovus工具菜單欄中,選擇Power->Power Planning->Add Stripes

1. Basic對於Net(s),輸入vdd和gnd nets,如下所示:

單擊[...]框以獲取「Net Selection」窗口

Possible Nets列中選擇vdd和gnd單擊「Add」以複製到「Chosen Nets」列

單擊OK

Set Configuration中,選擇Layer metal2和Direction vertical。 寬度應為8、間距為1

在「Set Pattern」中,將「Set-to-set」設置為100First/Last Stripe中,設置從左到右相對於core或選定區域的距離為20

Advanced選項

Set Snap wire center to routing grid設置為Grid

單擊「OK

將電源連接到Standard Cell Rows

在innovus工具菜單欄中,選擇Route-> Special Route,然後單擊「OK」。 生成power(vdd)和gnd(gnd)給standard cell rows供電。

Placing the Standard Cells

在innovus工具菜單欄中,選擇「Place」,「Standard Cells」

選擇「Run Full Placement」和「Include Pre-Place Optimization

單擊「OK」

放置Standard Cells後,在innovus窗口中更改為「Physical View」以查看placement結果

Routing

在innovus工具菜單欄中,選擇Route->NanoRoute->Route,點擊Ok

添加Filler Cells現在我們已完成我們設計的placementrouting,我們將添加Filler Cells。 選擇Place->Physical Cell->Add Filler。

Add Filler窗口中,輸入Cell Name 「FILL」並選中Mark Fixed。 單擊ok


推薦閱讀:
相關文章