基于umc18工艺的SOC Encounter数字版图设计流程 000

更新时间:2023-09-12 09:44:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于umc18工艺的SOC Encounter数字版图设计流程

V1.0 2014-02-28 记录:张亮

1

目录

一、文件的准备 ............................................................................................................................... 3

1.1库文件的准备 ..................................................................................................................... 3 1.2根据设计准备所需文件 ..................................................................................................... 3 二、运行软件 ................................................................................................................................... 3 三、版图设计流程 ........................................................................................................................... 4

3.1 Design_import ..................................................................................................................... 4 3.2 Global Net Connection ........................................................................................................ 6 3.3 FloorPlan ............................................................................................................................. 7 3.4 Add Power Rings ................................................................................................................. 8 3.5 Add Stripes .......................................................................................................................... 9 3.6 Placement Blockage .......................................................................................................... 11 3.7 Placement ......................................................................................................................... 11 3.8 IO Filling ............................................................................................................................. 13 3.9 Special Route (SRoute) ...................................................................................................... 13 3.10 Pre–CTS Optimization...................................................................................................... 15 3.11 Creat clock tree spec ....................................................................................................... 16 3.12 Clock Tree Synthesis ........................................................................................................ 18 3.13 Post–CTS Optimization .................................................................................................... 18 3.14 Trail Routing .................................................................................................................... 20 3.15 Nano Routing .................................................................................................................. 21 3.16 Add Filling ........................................................................................................................ 22 3.17 Post–Route Optimization ................................................................................................ 22 3.18 生成 SDF 时序文件 ..................................................................................................... 24 3.19 Verify connectivity ........................................................................................................... 24 3.20 Verify Geometry .............................................................................................................. 25 3.21 Export Files ...................................................................................................................... 26 四、 DRC校验 ............................................................................................................................... 27

4.1库文件的准备 ................................................................................................................... 27 4.2 根据设计准备所需文件 .................................................................................................. 28 4.3 修改库文件路径 .............................................................................................................. 28 4.4 启动calibre ...................................................................................................................... 29 4.5 encourage 打开查看报告 ................................................................................................ 29 五、 LVS校验 ................................................................................................................................ 31

5.1库文件的准备 ................................................................................................................... 31 5.2 根据设计准备所需文件 .................................................................................................. 32 5.3 生成.spi文件 ................................................................................................................... 32 5.4 启动LVS ........................................................................................................................... 32 5.5 查看报告.......................................................................................................................... 32

2

一、文件的准备

1.1库文件的准备

对于SOC Encounter而言,后端设计所需的主要有由Foundry厂所提供的标准单元和I/O Pad的库文件,它包括物理库、时序库,分别以.lef、.tlf(或者.lib)的形式给出,其中I/O Pad的相关库文件只有在做有Pad的版图时才需要。

说明: (1) 这里的时序库文件用的是.lib 文件,如果没有.lib 文件,用.tlf 文件也可以,建议用.lib 文件,信息比较全。

(2) 库的网表库(verilog 文件)这里不需要。只在后仿真的时候需要。

1.2根据设计准备所需文件

完整的时序电路数字版图设计所包括的文件有:Verilog网单,sdc时序文件,def电源pad声明文件,io 位置说明文件。

对该设计包括: Verilog网单:aes_core.v

sdc时序文件:safe_all_post.sdc,safe_all.sdc hejian.08工艺库:UMC_018

这里分别对其进行简单的说明,本次实验只需用到DC综合后的门级网单。 (1)DC综合后的网单文件(.v 格式)

对于有Pad的请况,还需要在网单里面加入输入输出的IO Pad。Pad可以在综合前加入也可以在综合后加入,如果在综合之前加入,综合工具可以优化驱动和负载,需要在综合的时候把时钟信号和Pad设置成不可综合,因为时钟树在布局布线时处理,而Pad没有逻辑功能,仅提供输入输出负载。

(2)时序约束.sdc 文件,由DC产生提供设计的时序约束信息(详细见design_Vision指导用书)。

(3)def文件,此文件对版图中用到的电源Pad和IO Pad进行声明。设计中有Pad时def文件才需要。

(4)IO位置说明文件

二、运行软件

准备好库文件以及设计文件,就可以进行版图设计了。在自己设定的目录下键入“encounter”命令,运行Encounter,注意不要加“&”,服务器上的版本不支持后台运行。

3

准备好DC综合后的门级网单。

三、版图设计流程

3.1 Design_import

目的:读入设计所需要的库文件和设计文件

菜单操作:Design –> design import,如下图所示。

Basic模式:

导入准备好的设计网单.v 文件,Common Timing Libraries,lef文件,Timing Consrtaint File。注:顶层模块可以自己手动添加,也可自动添加。

4

注意,该项目包括:

1) aes_core.v;

2) \\UMC_018\\GENERIC_CORE\\FrontEnd\\synopsys \\fsa0a_c_generic_core_tt1p8v25c.lib 3) LEF文件注意顺序: header6_V55.lef(顺序1) fsa0a_c_generic_core.lef(顺序2) FSA0A_C_GENERIC_CORE_ANT_V55.6.lef(顺序3)

4) Safe_all_post.sdc

advance模式:

Power:填入版图里电源和地的线名。

补充说明: (1)Power Nets和Ground Nets的名字最好和库里面的标准单元的电源和地的pin名(可在库文件里查)一致,这样后面做映射会比较方便。 (2)做到这里可以保存一下,直接点 design_import 菜单里的 SAVE 保存,后缀是.conf,下次直接 Load 进来,再进行修改,不用每次都这么麻烦地设置这么多选项。

5

3.2 Global Net Connection

目的:把标准单元,电源pad等版图中用到的cell的pin和电源的net一一对应起来。

在 encounter 的工具列 , 按 Floorplan -> Connections Global Net?

操作步骤如下:

(1)Power Ground Connection –〉 Connect Pins: VDD (2)Scope

选中 Under Module

(3)To Global Nets: VDD

(4)选中Override prior connection 和Verbose Output (5)Add to List

(6)把VDD改成GND,重做(1)到(5)步

(7)选中Tie High,To Global Nets: VDD ,Add to List,表示VDD是电源高电平 (8)选中Tie Low,To Global Nets: GND ,Add to List,表示GND是电源地 (9)点击Apply

补充说明:

(1) 关于pin的名字不同的工艺要去工艺库文件查看cell的pin的名字 (2) Global Net 即前面 design import 的 Advance 模式 Power 菜单里声明的电源 net 名。 (3) 如果有 PAD 的话,要注意看一下工艺库文件里的 PAD 的 pin 名,可能会和标准 单元的不一样,比如 hejian 工艺库的给 core 供电的电源 Pad 的 pin 是 VDD 和 VSS, 这样的话就要多做一步(1)至(5),把 pin VSS 和 net GND 连接起来

6

3.3 FloorPlan

目的:对整个版图进行布局规划

菜单操作:选择FloorPlan?Specify FloorPlan,在弹出的对话框中对将要进行的设计进行一个整体的规划。

对该设计,根据面积大小进行规划,宽是0.5,高是0.4。

以下对设定内容进行几点解释:

(1)Size by –〉Core Size by –〉Aspect Ratio

选择Ratio(H/W)将给出一个整个布局区域的宽长比,一般是一个长方形; (2)Core Utilization 用Size by –〉Core Size by –〉Aspect Ratio‐〉Core Utilization 选项确定芯片面积的大小, Core Utilization表示core面积的利用率,面积允许的话,其数值越低,则芯片面积越大,用于布线的面积越宽松,布线越容易通过,一般选择0.7左右。这是决定芯片面积大小,能否布局布线成功关键的一步。

如果事先大致知道芯片的面积规划,可以直接选择 width and height 进行布局规划 (3)Core Margins by:

选择Core to IO Boundary, 设置core 和芯片边缘的间隔,这个间隔是用来放置Core的电源环的。所以需要根据后面的电源环,电源环间距等参数综合来决定。 这里选择20(因为我后面的电源环宽度是7,电源环间距是2,电源环距边缘的offset是2)。 这个位置同样会用来走输出pin的连线,间距最好尽量大,以保证走线没有问题 (4)Standard Cell Rows ? Double‐back rows

图示选择表示隔行row将进行翻转,以保证靠在一起的部分同为power或ground。 (5)Row Spacing: 表示行与行之间的间距,这里选择默认的0; (6)Row hight:表示行的高度。这里选择默认的5.04。

7

点击OK 。

实时保存步骤过程,便于退回操作,如下图所示。

3.4 Add Power Rings

目的:添加core的电源环和地环,在数字标准单元区域的周围放置power ring,用于提供数字部分的电源和地。

菜单操作:按 Power ‐> Power Planning ‐> Add Rings?

相关设置如下:

在弹出的选单中,Ring Configuration里面需要填写Power Ring的宽度、间距,金属层等 数据信息,一般要视实际需求而定

8

Layer:表示电源环所在的金属层,一般选择金属3和金属4。 Width表示电源环的线宽,尽量宽一些,这里选择7。 Spacing表示两根电源环的间距,这里选择2。

Offset表示电源环和core之间的距离,选择2,或者也可以选择Center in channel。 点击apply,电源环和地环出现在core的周围,如下图所示。最外围的虚线定义了芯片 的大小。

3.5 Add Stripes

目的:用于在芯片中插入一些横的竖的电源线,保证供电。 菜单操作:Power ‐> Power Planning ‐> Add Stripes?,

9

注意: Layer: metal 4 With: 4 Spacing:0.5 Set-to-set distance:250 X from left:250

单击OK。

10

3.6 Placement Blockage

目的:在电源的Stripes 和Routing的blockage的地方放置一些blockage,防止在这些地方place标准单元。(个人理解供参考)

菜单操作:Place-> Specify -> Placement Blockage?,金属层M1-M6全选。 说明:这一步可选。本实验中设置该项为M1-M4。

单击OK。

3.7 Placement

目的:放置标准单元。

菜单操作:Place ‐> Standard Cells and Blockages 设置如下图所示:

11

可以设置CPU个数,如下所示:

两次单击OK,标准单元已经放置到core中,如下图。

12

补充说明:

(1)做完这一步,可以用 Place –〉check Placement 菜单操作查看标准单元放置情况。 (2)Design –〉Save –〉Place,保存 Place 这一单步,后缀是.fp;

或者直接 Design –〉Save Design,保存当前整个版图,后缀是.enc,自己取名 字。

(4) 因为Place的时候会同时做时序优化,所以确保在第4步design import里面已经指定好IPO的footprint,否则没法做优化。

3.8 IO Filling

目的:设置IO引脚位置。

菜单操作:save-io file,修改文件,导入io file。

补充说明:

(1) 如果没有 IO 文件,版图会自动摆放 pan 或 pin;可以先不加此文件,从版图中导出一个,再修改。

(2) 如果没有 PAD,就是定义 PIN 的位置。把“pad”改成“pin”即可。 (3) IO 文件 Offset 指的是偏离左下角的平移(水平或者垂直)距离

(3) IO文件Orient指的是PAD的方向。这个很重要,万一写错了那PAD的位置也就放反了,这样是会出错的。所以放完PAD之后可注意看一下PAD的方向,万一不对旋转一下方向即可。方法是鼠标左键双击pad,出来如下菜单,选择其中的Orientation,可以转动方向,R180指转动180度,必须转动至是PAD的pin朝core的方向(因为方便和core内部的单元连线)。

3.9 Special Route (SRoute)

目的:把标准单元的电源以及给core供电的电源pad和core电源环连接起来。 菜单操作:Route -> Special Route?

13

对该设计,Top Layer :4 相关设置:

(1)Route ?PAD pins: 把给core供电的电源pad的pin和core电源环连接起来。本次实验该项不用设置,因为没有定义Pad。

(2)Route ?Standard Cell pins: 把标准单元的电源pad的pin和core电源环连接起来。 由于软件已经自动生成,只需点击OK即可。

14

从上图中可以看到此时pin已经被自动放置好了,如果需要重新布局,可以保存现有设置, 再对其进行修改。

3.10 Pre–CTS Optimization

目的:进行时序检查,若不满足要求则进行时序优化。 菜单操作: Timing – Optimization,选择 Pre–CTS

Optimization Type: 选择 Setup 或 Hold 来对 Setup 或 Hold 时间进行时序优化。 单击OK。

15

3.11 Creat clock tree spec

目的:生成时钟树所需的.ctstch 文件。 操作:Clock->Design Clock->Gen Spec 补充说明:

(1) 这里填的 Buffer footprint 和 Inverter footprint 是插入 buf 和 inv 的 Footprint 以

供时钟树生成时用。一般工艺库里会有专门的时钟 buffer,可以去工艺库文件查看名字,若库中没有只能用普通 buffer 代替。

16

注意:对该设计,选择除P开头以外的所有单元。

(2)这一步会在当前目录下生成时钟树文件ctstch,其中包含了设计对于时钟的要求。 (3)可以根据设计需要修改. Ctstch文件

单击OK。

Advance: Load Post CTS Timing Constraint: safe_all_post.sdc

17

3.12 Clock Tree Synthesis

目的: 综合生成时钟树 菜单操作:

第一步: Clock- specify clock tree spec

说明:这一步指定上一步产生的.ctstch 文件,encounter 按照这个文件设定的时钟特性自动产生时钟树的布局布线,插入 buffer 提高时钟树的驱动能力,改善时钟信号延时特性。 第二步: Synthesize Clock Tree

点击 OK 即开始时钟树综合,这一步运行时间相对较长。 补充说明:

(1)做完这一步可以查看时钟树生成情况。菜单操作: Clock – clock tree browser。 -〉在specified clock list 里选 clk,

-〉在route selection里选clock route only,

-〉点OK,则会弹出clock tree browser:clk,里面显示了时钟树综合后的电路的时钟网络布局情况。

-〉可以通过edit和display进行编辑和显示更多的时钟树信息

(2)可以通过这一步生成的.ctsrpt文件查看时钟网络结构和延时以及skew情况 (3)Clock -> Display可以查看时钟树在设计电路中的分布情况。

单击OK。

3.13 Post–CTS Optimization

目的:进行时序检查,若不满足要求则进行时序优化。 菜单操作:

第一步: Timing – Timing Analysis Design Stage: 选择 Post – CTS

Analysis Type:分别选择Setup和Hold进行时序分析,通过查看生文件里面的时序报告文件

18

来查看设计的时序。如果存在Violation,要进行下一步的时序优化,否则反标sdf的后仿可能会出错。

第二步:Timing – Optimization Design Stage: 选择 Post – CTS

Optimization Type: 选择 Setup 或 Hold 来对 Setup 或 Hold 时间进行时序优化。 补充说明:

(1)如果Violation path不是很多,也可以先进行下一步布线(Nano route),因为布线 本身会进行一定优化,而且布完线后还可以进行Post-Rout Optimization。一般布线后Violation path后减少很多。

(3)确保在第4步design import里面已经指定好IPO的footprint,否则没法做优化,或者 也可以优化前先执行脚本:Set Buf FootPrint buf。

19

3.14 Trail Routing

目的:进行初步的布线。

菜单操作:Routing ---- trial route

注意:max.route layer:4

单击OK。

20

五、 LVS校验

5.1库文件的准备

tail.txt;

run_v2lvs;//生成spi文件,需要tail.txt文件,需要修改路径和设置

fsa0a_c_generic_core_mpg.spi,fsa0a_c_generic_core.spi;//库文件 LVS-LA-003-1P6M-GENERICLL_CALIBRE-2.3-P1.txt;//数字逻辑规则,需要修改路径和名称,如下所示:

31

LVS-MA-002-1P6M-MMC-Calibre-2.0-p3。//混合逻辑规则,需要修改路径和名称,如下所示:

5.2 根据设计准备所需文件

Encourage保存的.gds文件; Encourage生成的.v文件。

5.3 生成.spi文件

命令:Source run_v2lvs

5.4 启动LVS

命令: calibre –lvs –hier LVS-LA….-P1.txt

或者:

命令: calibre –lvs –hier LVS-MA….-P3.txt

5.5 查看报告

文件如下,表明正确。

32

33

本文来源:https://www.bwwdw.com/article/u8mh.html

Top