TSMC工艺的_版图教程

更新时间:2024-06-27 23:37:01 阅读量: 综合文库 文档下载

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

基于 0.18μm CMOS工艺全定制反相器设计

前端电路设计与仿真 ....................................................................................................................... 2

第一节双反相器的前端设计流程 ........................................................................................... 2

1、画双反相器的visio原理图 ....................................................................................... 2 2、编写.sp文件 ............................................................................................................... 2 第二节后端电路设计 ............................................................................................................... 5

一、开启linux系统 ......................................................................................................... 5 2、然后桌面右键重新打开Terminal .............................................................................. 6

双反相器的后端设计流程 ............................................................................................................... 7

一、schematic电路图绘制 ............................................................................................. 7 二、版图设计 ................................................................................................................. 21 画版图一些技巧: ......................................................................................................... 30 三、后端验证和提取 ..................................................................................................... 31 第三节后端仿真 ..................................................................................................................... 37

其它知识 ......................................................................................................................... 40

1

前端电路设计与仿真

第一节双反相器的前端设计流程

1、画双反相器的visio原理图

VDDM0infaM1VDDM2outM3

图1.1

其中双反相器的输入为in 输出为out,fa为内部节点。电源电压VDD=1.8V,MOS管用的是TSMC的1.8V典型MOS管(在Hspice里面的名称为pch和nch,在Cadence里面的名称为pmos2v和nmos2v)。

2、编写.sp文件

新建dualinv.txt文件然后将后缀名改为dualinv.sp文件 具体实例.sp文件内容如下:

2

.lib 'F:\\Program Files\\synopsys\\rf018.l' TT 是TSMC用于仿真的模型文件位置和选择的具体工艺角*****这里选择TT工艺角***********

划红线部分的数据请参考excel文件《尺寸对应6参数》,MOS管的W不同对应的6个尺寸是不同的, 但是这六个尺寸不随着L的变化而变化。 划紫色线条处的端口名称和顺序一定要一致

MOS场效应晶体管描述语句:(与后端提取pex输出的网表格式相同)

MMX D G S B MNAME

2.1、在windowXP开始--程序这里打开Hspice程序

3

2.2、弹出以下画面然后进行仿真

存放.sp文件的地址1、打开.sp文件2、按下仿真按钮3、查看波形

查看波形按钮按下后弹出以下对话框

单击此处

如果要查看内部节点的波形,双击Top处

如果有多个子电路请单击此处的Top查看单击这些节点即可查看波形

如果要查看测量语句的输出结果请查看 .MTO文件(用记事本打开)

至此前端仿真教程结束

4

第二节后端电路设计

前序(打开Cadence软件)

一、开启linux系统

双击桌面虚拟机的图标

选择Power on this virtual machine

开启linux之后

在桌面右键选择 Open Terminal

输入 xhost local:命令 按回车

5

在w(M)的文本框中修改前面的2u 修改成我们需要的720n 然后点击OK即可 同理修改NMOS管的W=220n。之后开始连线 按快捷键W(wire)即可

然后添加PIN脚(即与外部信号相连的端口,从图1.1可以看出这个双反相器电路涉及到的PIN脚有in out vdd gnd) [注意:由于目前的工艺是P阱衬底,所以全部NMOS管的衬底即B端要接gnd,而PMOS管的衬底可以接自己的S端或者vdd,一般只接VDD不接S]

[知识补充:MOS管的衬底B端接S才能不引起衬偏,衬偏了会造成阈值电压增大]

按快捷键P就可以添加PIN脚

在pin name中输入名称 Direction中选中pin脚的方向(其中in的direction是input out的direction是output gnd和vdd的direction是inputoutput)

11

然后按回车,光标上就会出现一个pin的光影,点击鼠标左键即可摆放

摆放pin脚之后,将PIN脚与电路相连,同样用快捷键W来连线

由于图1.1中还有一个内部节点fa,这里我们就需要给内部节点命名。按快捷键L,出现命名窗口

在names这里输入fa,然后按回车

然后鼠标上出现fa光影,将fa移到内部需要命名的线上点击左键即可。

12

然后保存电路

通用,也可以用快捷键L 来连接两个单元:

[这样就不用连线,却能保证两个单元连接到一起。]

在画图板左边工具栏里面选中第一个check and save

13

4、将电路图创建成为一个symbol,用于仿真电路

选择Design—Create Cellview- From Cellview 弹出以下窗口

点击OK弹出以下窗口

这里主要是Top Pins和Botton Pins这里需要修改,修改成如下图

14

点击OK 弹出以下电路

点击save按钮保存

这样我们就会看到在library manager里面就多出了一个该电路的symbol

5、用spectre仿真器仿真电路

(这里仿真一下电路主要是验证一下自己电路有没有画错,如果电路逻辑功能正确,那么基本上可以保证自己刚才画的电路是正确的)

新建一个名为dualtest的Cell View单元(在Library Manager下)

15

点击OK

按快捷键i添加我们之前给双反相器电路创建的symbol

16

然后出现下图

接下来就要给各个端口加激励信号和电源了

按I添加器件,在analoglib中首先选择直流电压Vdc,另外还要选择vpwl作为线性分段信号源。 按Q修改vdc的属性

在DC voltage这里将电压值设置为1.8v(注

意,只要填入1.8即可,不要带入单位)

同样修改vpwl的属性(这里我们设置一个3段线性信号,即6个点),如下图

17

此外我们还要添加一个gnd器件作为基准地信号(在analoglib中选择)

添加完器件之后如下图

(注意:电路的gnd与标准地gnd之间要添加一个0V的直流电压)

接下来连线以及给输出端添加一个PIN,如下图

然后按check and save保存

18

选择tools中的Analog environment

弹出以下窗口

选择右边工具框中的第二个,弹出以下窗口

这里设置仿真的停止时间(该时间根据自己具体需要填写),然后点OK

接下来设置需要看波形的那些端口 outputs—To Be Plotted—Select On Schematic

19

然后在要看波形的线条上单击鼠标左键点一下即可

点完之后该线条会变颜色以及闪烁,之前的Analog environment窗口的outputs中也会出现相应的名称

然后点击右边工具栏中得倒数第三个Netlist and Run 电路正确的话就会有波形

20

点击该图标是分离重叠的波形

——————其他快捷键—————————— E 看symol里面的电路 Ctrl+E 退出看内部电路

F 让原理图居中 P PIN管脚快捷键 W 连线

L 命名连线 C 复制

Q 器件属性 M 移动 U 撤销

其他相关设置:

设置回退次数 CIW窗口--options--user preference

多个器件属性一起修改,用shift选中以后然后选all selected(原先是only current)

二、版图设计

打开dualinv的schematic电路图,然后Tools--Design Synthesis--Layout XL

之后弹出以下对话框

21

点击OK后弹出

点击OK就会自动弹出画layout的版面

此时键盘上按E键,出现设置窗口

这里修改分辨率,将X Snap Spacing 和Y Snap Spacing 修改为0.005,方便之后的画图。点击OK

在画layout版面的菜单中选择 Design--Gen From source

然后弹出以下窗

22

点击OK即可,版面上就生成与原

schematic电路图相对于尺寸的MOS管,如下图

[注:可以不gen from source而直接在画版图的版面按快捷键I添加layout器件,再修改尺寸,这样也可以通过LVS(经过测试即使版图中MOS的编号和schematic中的不同,但是最终输出子电路中MOS管编号跟schematic是相同的)]

选择那四个绿色的方框和紫色的线,按delete

删除,删除后就剩下四个MOS管。

按shift+F 将MOS管转换为可视的layout结构,并用M快捷键来移动MOS管,此时整个版面上就剩下四个MOS管了,(Ctrl+F可以还原为Schematic结构)如下图

23

工具栏左边的放大镜可以放大和缩小,或者使用快捷键Z(放大),shift+z缩小 (按了Z键要选某一个区域才能放大,不是直接放大与缩小)

接下来开始画图:

1、 画PMOS管和NMOS管相连的栅极(用LSW窗口中得POLY1

来画)

选中POLY1 drw 然后点版图,然后按R(画方框),Q属性可以看到是dg

(在空白处)按S键,鼠标移到矩形框的边,就能修改矩形框。

修改之后让矩形框与PMOS管 NMOS管的栅极对齐。(一定要对齐,不然DRC报错)

放大可以看到他们是否对齐,

这样的是对齐的。

画好POLY1以后如下图

这样就是没对齐。

24

2、画金属走线

由于该电路简单,只需要一层金属即可,所以只需要LSW中的metal1

在LSW中选中METAL1 drw,然后点版图,然后按P(走线),然后按F3(设置线宽为0.5) ,Q属性可以看到是dg

画完后如下图(注意金属要整个覆盖住MOS管的D端,接触面积大才能保证电流)

3、画POLY1和metal1之间的连接

[不同材料之间相连要打孔。比如Metal1和poly1相连,就选M1_POLY1,Metal1和Metal2相连就选M2_M1,NMOS的衬底接触和体相连用M1_SUB,PMOS管的衬底接触和体相连用M1_NWELL]

LSW中选中poly1-drw,按P,按F3,设置为0.5宽度,画一段poly

25

然后在这段poly上打孔,按字母O键,

弹出以下窗口

在Contact Type这里选择 M1_POLY1,Rows这里输入2,然后回车 (鼠标右键可以旋转器件)

将这个通孔放于之前的poly1上

然后metal1与这个通孔相连即实现了金属1层与poly1之间的连接

26

接下来输入信号in这里也要这样画,画好之后的整体图如下

4、画衬底接触

这里要分别画PMOS管的衬底接触和NMOS管的衬底接触。按快捷键字母O,在Contact Type这里选择 M1_SUB,这个是NMOS管的衬底接触。

27

按快捷键字母O,在Contact Type这里选择M1_NWELL,这个是PMOS管的衬底接触。

5、给PMOS管打阱

[因为现在是P阱工艺,整个画图的版面就是一个P型衬底,而NMOS管是做在P型衬底上面的,所以画NMOS管的时不需要画阱,而画PMOS管时要画nwell(即它的衬底),nwell要包围住PMOS管和它的衬底接触。]

在LSW中选中NWELL-drw,按R,画矩形框,如下图

6、画管脚PIN

在LSW中选中metal1 pin

28

接着点击空白处,然后按快捷键L 弹出以下窗口

在Label这里输入名称(注意这个名称要与

schematic图中节点的名称要相同),Height这里设置字体的高度,Font这里设置字体的样式,然后按回车,将PIN脚摆放到正确位置

7、补全其它连线

因为上图并不完整,还有很多连线没有连。[在熟悉版图画法之后这一步是放在前面做的,因为我们熟悉画法后就知道哪里是VDD、gnd、输入和输出]

画完这个7步骤以后点左边工具栏的SAVE保存,然后就可以进行后面的DRC、LVS和PEX了。

补充知识--多层金属连线:

29

(以下讲解两层金属metal1和metal2的布线) 由于金属走线经常会交叉,所以单层金属是不够的,这就涉及到多层金属的布线。

metal2 drw是金属层2

metal1和metal2之间用通孔M2_M1

——————————————————————————————————

画版图一些技巧:

1、所有的MOS管最好同方向(竖方向),不要有有横有竖。最好是PMOS管放一起(比如一起放上面),NMOS管放一起(一起放下面),不一定是按照schematic电路图上的MOS管顺序来摆放。

2、走线不要穿过MOS管,要绕过去。

3、单排衬底接触最长不要超过100um,比较敏感的管子要多加些接触(两排或多排),衬底接触少了电阻会大。一般情况我们采用单排衬底(即rows或columns=1) 4、横线用金属2,竖线用金属1,金属越宽电阻越小。我们一般取0.5u宽度。 [寄生电容与发生寄生电容的两导体面积成正比,因此线宽就0.5u够了(能承受1mA),不需要再大。(TED)]

5、版图的PMOS管和NMOS管 源极和漏极是不区分的,上下的poly1都是栅极。

6、衬底接触一般在下面画一排接触即可,对于数模混合电路某个MOS管是特别敏感的那用衬底全包围。

7、走线尽可能短,尽量画的紧凑,减少延时。 8、尽量不用POLY来走线,如果两个栅极之间具体太长,中间用金属走线。poly的长度最多是3-5um。

9、同一层Metal之间的距离要大于最小值0.23um,一般是设置成大于0.5um。比如两条metal1走线之间的距离要大于0.5um。

10、PMOS管的衬底全部接VDD,NMOS管的衬底全部接地

各种器件之间的距离:

1、PMOS管和NMOS管之间的距离一般控制在1um以上,太近DRC报错 2、两个不同电压nwell之间的距离要大于1.4u,因此一开始要预留5um 3、Nwell和NMOS管之间的距离推荐是大于1u 4、Nwell和衬底接触以及PMOS管的距离0.5u左右 5、衬底接触和mos管距离一般设置为0.5u

电容和电阻器件不选择analoglib里面的cap和res(这两个是理想电容电阻),电容一般选择tsmc里面的mimcap,电阻则要看电阻率等具体要求。(TED&黄)

30

———————————————————————————————— 快捷键

K 尺寸距离 (shift + k撤销尺寸) S修整

M 移动 选上后右键可旋转

Z 放大(ctrl+z 放大两倍,shift +z 缩小两倍) Shift 选择多个器件

Shift+F 显示NMOS和PMOS器件的版图

O 打孔(pmos管衬底属性选择M1_NWELL nmos管选择M1_SUB 金属和poly打孔属性选择M1_POLY1)

三、后端验证和提取

后端仿真首先要DRC,然后LVS,然后PEX提取寄生参数。最后用Hspice仿真器仿真提取参数后的网表。 这里主要用到的是calibre工具

1、 DRC

(上面工具栏中calibre—选择Run DRC)弹出下面窗口

Runset File是RUN DRC时需要填入的一些设置,方便于下次RUN,可直接取消掉

DRC主要设置rules的位置和DCR Run的路径 [其余的都默认]

31

Rules这里选择TSMC库文件中calibre文件下的calibre.drc

(这里的DRC Run Directory 是自己创建的一个文件夹,su xue~cd /home/xue ~ mkdir drc)[这里dcr改为verify/dcr]

然后点击Run DRC 弹出以下窗口

(运行完成之后的弹出的窗口)

点开看,如果是area coverage 那就是覆盖率的问题,这种错误不用理会。[比如上图中得这8个错误是没关系的]

2、Run LVS

同样Runset File点取消 设置rules和input的netlist

32

【新】[lvs改为verify/lvs]

Inputs—Netlist 这里选择Export from schematic viewer

点击run LVS后弹出以下窗口

33

如果是绿色笑脸则表示LVS通过,表示版图和schematic原理图是匹配的,说明我们的版图没有画错。如果是红色脸蛋,表示有错误,那要点开看具体的错误说明,再排除错误。

3、Run PEX

同样Runset File点取消 Rules设置

[新]/home/gengliang/ic/verify/pex

Inputs--netlist设置Export from schematic view选上

Outputs—extraction type选择R+C(即提取寄生电阻和电容),format这里选择hspice(用于Hspice仿真器仿真)

(如果后仿是用spectre仿真器仿真,那么format这里选择CALIBREVIEW )

34

[NEW]

35

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

Top