基于innovus的全加器数字芯片物理实现(step by step)

基于innovus的全加器数字芯片物理实现(step by step)

Link: https://aijishu.com/a/1060000000141620

环境设置

创建一个单独的目录(例如,innovus)。 创建子目录synthlib

1、 将full_adder_pads_syn.v移动到synth目录
10eb074c45f537a0a764e232cb1ec48.png

我们可以看出来这是一个综合后gale-level的verilog门级网表。

2、将osu05_stdcells.lef移动到lib目录

640.png

读入设计

1.在Unix提示符后,键入:innovus

2.出现innovus工具窗口时,在菜单栏选择File->Import Design 读入设计
1.jpg

单击 […]读入Verilog网表文件
03f8a97078fb32fa8c13e33f50c4988.png

1.      单击“>>”按钮展开窗口以显示目录
2.png

选择文件full_adder_pads_syn.v并单击Add按钮将其添加到Netlist文件列表中。3.png

6.对于Top Cell,选择“Auto Assign”
4.jpg
对于Technology/Physical Libraries,选择“LEF文件”。 单击[…]按钮打开LEF文件
5.jpg
 使用与读入Verilog Netlist文件相同的方法,选择文件lib/ osu05_stdcells.lef
6.png

对于Power,输入以下内容:a. Power Nets: vdd
b. Ground Nets: gnd

7.jpg
点击 OK

保存和恢复设计

NOTE:切记要及时保存你的设计选择File, Save Design
8.jpg

在Save Design窗口中,选择数据类型:innovus。 程序将分配一个扩展名为* .enc的默认文件名。可以更改名称,但不要更改扩展名。9.jpg

要加载已保存的innovus文件,请执行File, Restore Design。 在“Restore Design”窗口中,选择数据类型:innovus。 选择要还原的文件。

Floorplanning

在innovus工具菜单栏中,选择Floorplan,Specify Floorplan11.jpg

1.在“Basic”选项卡中,选择以下选项:

Core Margins  – 选择Core to IO Boundary并设置为100

2.单击“OK”
12.png

13.jpg

Power Planning

在innovus工具菜单栏中,选择Power,Connect Global Nets以进行全局电源网络连接
14.png

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
112.jpg

Power Rings

在innovus工具菜单栏中,选择Power->Power Planning->Add Rings

113.png

对于Net(s),输入vdd和gnd,如下所示:
a、单击[…]框进行Net Selection

b、从Possible Nets列中选择vdd和gnd

C。 单击“Add”以复制到“Chosen Nets”列

d。 单击OK

115.jpg

Ring Configuration中,选择metal1作为TopBottommetal2作为LeftRight

a、宽度为8

b、间距为1

C、Offset为 “Center in channel

单击“OK

ee4e7663c435829950ba3629202dee7.png

Power Stripes

在innovus工具菜单栏中,选择Power->Power Planning->Add Stripes1. Basic

对于Net(s),输入vdd和gnd nets,如下所示:
12.png

单击[…]框以获取“Net Selection”窗口

Possible Nets列中选择vdd和gnd

单击“Add”以复制到“Chosen Nets”列

单击OK
111.png

Set Configuration中,选择Layer metal2和Direction vertical。 宽度应为8、间距为1

在“Set Pattern”中,将“Set-to-set”设置为100

First/Last Stripe中,设置从左到右相对于core或选定区域的距离为20
12.jpg

Advanced选项

Set Snap wire center to routing grid设置为Grid
13.png

单击“OK14.jpg

将电源连接到Standard Cell Rows

在innovus工具菜单栏中,选择Route-> Special Route,然后单击“OK”。 生成power(vdd)和gnd(gnd)给standard cell rows供电。
15.jpg

Placing the Standard Cells

在innovus工具菜单栏中,选择“Place”,“Standard Cells”
16.png

选择“Run Full Placement”和“Include Pre-Place Optimization”单击“OK”
放置Standard Cells后,在innovus窗口中更改为“Physical View”以查看placement结果

18.jpg

Routing

在innovus工具菜单栏中,选择Route->NanoRoute->Route,点击Ok13.jpg

添加Filler Cells

现在我们已完成我们设计的placementrouting,我们将添加Filler Cells。 选择Place->Physical Cell->Add Filler。
55.jpg

Add Filler窗口中,输入Cell Name “FILL”并选中Mark Fixed。 单击ok56.jpg

Link: https://aijishu.com/a/1060000000141620 环境设置 创建一个单 […]