文档库 最新最全的文档下载
当前位置:文档库 › Laker&Calibre_Layout

Laker&Calibre_Layout

Laker&Calibre_Layout
Laker&Calibre_Layout

Laker & Calibre Bandgap 实例教程

本人才疏学浅,仅有1年全定制版图经验,难免所言不正确

所以此文档仅限菜鸟入门laker&calibre的版图参考

如有疑问可访问:https://www.wendangku.net/doc/052918379.html,留言

一、环境设置

整个教程的文件夹结构如下:

tf technological file

tcl laker的一些脚本

drc drc rule 文件

lvs lvs 文件

gds 版图文件

netlist 网表文件

如果想使用教程带的一些设置,可以进入laker目录,运行一次laker,然后在终端中输入./set设置一下laker。

通过设置以后,laker中有了一些快捷操作。

数字键 1 :切角

数字键 2 :清除n键产生的高亮

数字键 3 : Make Cell

数字键 4 : Layer之间的相关生成

数字键 5 : Layer的逻辑操作

数字键 6 :将path转化成polygon

数字键 7 :测量图形面积

数字键 8 :面积选择性清除drc错误

数字键 9 :清除calibre的高亮

以上均可以通过小小的操作测试一下。

下面再看几个特殊快捷键:

Shift + 数字 1 :生成metal 1

Shift + 数字 2 :生成 metal 2

Shift + 数字 3 :生成 metal 3

Shift + 数字 4 :生成 metal 4

Shift + 数字 5 :生成 poly

Shift + 数字 6 :生成 od

测试如下:

如下图,是一个cell

同时按住shift,1两个键,另外按住鼠标左键,在cell上画一个矩形,如下图:会自动在矩形和cell的重叠区生成metal1

其他雷同,请自行测试。

另:因为此脚本需要辅助层,阅读tcl文件夹下的config.tcl中注释:

#设置辅助层

set LayerLog1 LOG1

set LayerLog2 LOG2

#在tf文件中增加log1,log2 两层辅助层,层号和foundry提供的层号不得重叠

#def { LOG1 drawing 240 yellow checker yellow solid yes yes yes } #def { LOG2 drawing 241 silver checker silver solid yes yes yes }

#

#def { LOG1 drawing 240 0 yes }

#def { LOG2 drawing 241 0 yes }

再看一组特殊快捷键:

Shift + + (同时按下shift和+号):cell增加一列

Shift + - (同时按下shift和-号):cell减少一列

Alt + + (同时按下alt 和+号):cell增加一行

Alt + - (同时按下alt和-号):cell减少一列

测试如下:

把cell设置成array特性。如图

选中cell ,同时按下shift,-两个按键,如下图,列的数目会自动减少。

选中cell ,同时按下alt,+两个按键,如下图,行的数目会自动增加。

另外增加的2个菜单:

1.单层layer打contact

如下:

选择此图形,然后选python菜单中的AutoContact,设置如下:

点击ok,如下:

自动打好contact。其他选项自行测试。

2.双层layer打contact

如下图:

选中2个图形,然后选择python菜单中的AutoContactLayer,如下设置:

结果如下:

以上2个自定义菜单项的一些参数在config.tcl中设置如下:

set AutoConName {DC PC VIA1 VIA2 VIA3} 对话框中contact的名称,顺序不能改变,

可以增加VIA4 VIA5 VIA6 VIA7 VIA8

set AutoConXSpace {0.8 0.85 0.9 0.96 1.0 1.2} contact,或者via孔之间的x轴距里

set AutoConYSpace {0.8 0.85 0.9 0.96 1.0 1.2} contact,或者via孔之间的y轴距里

set AutoConWidth {0.22 0.45 0.6} contact,或者via大小

set AutoConSide {0.2 0.3} contact,或者via到layer边沿的距离

set OperationSize 0.01 中间变量,可以不用修改

脚本以及快捷键只是加快速度,减少体力,并不代表完全正确,所以要注意操作完后检查!即脚本也可能有bug :)。使用需谨慎!!

以上脚本经修改,可用于不同的制程!

至此,环境基本设置成功,一些快捷键也差不多熟习。步入正题。

二 Layout前的准备

1.首先要熟悉DesignRule,不要求多精通,至少知道个大概,同时出现问题知道到哪里查找。具体请仔细阅读DesignRule,如果半导体器件知识甚佳:)

2.仔细分析电路图,因为是模拟版图,需要注意哪里需要match,哪里电流比较大,哪里和pad连接了,需要esd rule,哪条信号比较敏感,需要加shielding,哪些地方容易产生latch up,需要加guardring。同时注意下用到了哪些基本器件。

具体请自己研究下电路图

三开始动手Layout

1.先做一些contact和via。

根据design完成DC(OD CONTACT),PC(POLY CONTACT),VIA1(METAL1 VIA METAL2),VIA2(METAL2 VIA META3),以及2个DC(2DC),2PC,2VIA1,2VIA2.

这里可以初步熟悉design rule。同时这些基本的东东,以后很有用:)

如下图:

3,画基本器件,这里指基本的mos,电容,电阻,bjt。画完可以做下drc或者lvs以期正确。省的最后比较大的时候验证出是错误的。

当然画这些基本的器件的原则还是根据design rule,尽量使用最小rule,可以减少面积。另外基本cell的名称尽量可读性比较强,比如mos管,可以取MOS_W10L2,或者PMOS_W10L2,NMOS_W10L2。

当然这些可能调用的时候还是smash掉的:)

如下图,基本单元如下:

4,下面开始堆积木:)先从需要match的mos开始。S,D共享原则。同时注意dummy 电路中此部分需要match包括pnp match

这里以MP1,MP3以及Q1,Q3为例:

首先看MP1,MP3,这里按照下图,进行match。

match包括mos管match,dummy match,信号线match,power line match。甚至电流match:)buck的guard ring contact可以先不加,整合的时候再加入。

最终结果图如下:

因为这个mos属于驱动mos,链接到power,所以buck的power Line可以尽量画粗一些.

再看Q1,Q2,这里采用9宫对称。

最终效果:

同样是驱动mos,power line尽量宽。这里power line最后补上。

大致讲到这里。

电路图中需要match的有

MP1_MP3,MP5_MP7,MP2_MP4,MP6_MP8,MN1_MN3,MN2_MN4,Q1_Q2.

电阻画法根据design rule即可,基本单元的电阻一般值为10,100。。这样的整数为好。

另外,电阻上空的地方尽量加Metal Dummy,同时电阻也要加电阻Dummy,如果没有空间

可以加poly dummy。如下:

空间如果够多,能加多宽power line尽量加多宽,尤其是一些驱动mos。如下,总体Power:

四. 验证

1.DRC验证

一般来说最开始的几个小模块可以先drc一下,以验证对design rule的理解是否正确。其次是中等模块可以先不要连线。drc过了之后再做连线。以上只是一些小建议。

DRC准备:gds文件,drc rule。

laker中导出gds文件如下步骤:

弹出对话框,选择顶层Cell,以及到处文件名。这里把gds文件放在calibre/gds目录下。

进入Calibre/drc目录,可以看到drc rule ,修改如下:

这两项分别为gds的文件名,以及要做drc的顶层cell名。

打开终端,输入:当然calibre的参数很多,这个是最基本的。

即可使用calibre进行drc验证。结果如下:

可以从上图中看出|DRC 检查了多少项(73),以及有多少错误项(3),以及产生的结果文件(drc.db).

下面再laker中查看calibre的drc结果:

如上图选择加载calibre的drc结果,弹出对话框中选择,drc rule文件ICDRC.cal,选择calibre 产生的结果文件drc.db.点击ok。

然后按下快捷键e,弹出对话框:选择show current error type only,然后点击Detail即可查看结果。

相关文档