TSMC工艺的版图教程样本.docx
- 文档编号:12871131
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:48
- 大小:3.62MB
TSMC工艺的版图教程样本.docx
《TSMC工艺的版图教程样本.docx》由会员分享,可在线阅读,更多相关《TSMC工艺的版图教程样本.docx(48页珍藏版)》请在冰豆网上搜索。
TSMC工艺的版图教程样本
前端电路设计与仿真
第一节双反相器前端设计流程
1、画双反相器visio原理图
图1.1
其中双反相器输入为in输出为out,fa为内部节点。
电源电压VDD=1.8V,MOS管用是TSMC1.8V典型MOS管(在Hspice里面名称为pch和nch,在Cadence里面名称为pmos2v和nmos2v)。
2、编写.sp文献
新建dualinv.txt文献然后将后缀名改为dualinv.sp文献
详细实例.sp文献内容如下:
.lib'F:
\ProgramFiles\synopsys\rf018.l'TT是TSMC用于仿真模型文献位置和选取详细工艺角*****这里选取TT工艺角***********
划红线某些数据请参照excel文献《尺寸相应6参数》,MOS管W不同相应6个尺寸是不同,但是这六个尺寸不随着L变化而变化。
划紫色线条处端口名称和顺序一定要一致
MOS场效应晶体管描述语句:
(与后端提取pex输出网表格式相似)
MMXDGSBMNAME
2.1、在windowXP开始--程序这里打开Hspice程序
2.2、弹出如下画面然后进行仿真
查看波形按钮按下后弹出如下对话框
如果要查看内部节点波形,双击Top处
如果要查看测量语句输出成果请查看.MTO文献(用记事本打开)
至此前端仿真教程结束
第二节后端电路设计
前序(打开Cadence软件)
一、启动linux系统
双击桌面虚拟机图标
选取Poweronthisvirtualmachine
启动linux之后
在桌面右键选取OpenTerminal
输入xhostlocal:
命令按回车
之后输入suxue命令按回车,这样就进入了xue顾客
1、输入命令加载calibre软件license,按回车,等到浮现如下画面再关闭Terminal窗口
2、然后桌面右键重新打开Terminal
进入学顾客,启动Cadence软件,如下图
然后浮现cadence软件界面
关闭这个help窗口,剩余下面这个窗口,这样cadence软件就启动了
[如果在操作过程中关闭了cadence,只需要执行环节2即可,环节1加载calibrelicense只在linux重启或者刚启动时候运营一次就可以了。
]
双反相器后端设计流程
一、schematic电路图绘制
1、注意----
在Cadence中画schematic电路图时,每一种节点都需要命名,否则在参数提取之后没有命名那些节点会被系统自动命名,导致用HSPICE查看内部节点波形时难以迅速找到自己需要节点。
2、打开Cadence软件新建库和单元CellView
用命令icfb&打开Cadence软件后弹出如下CIW窗口
选取Flie-New-Libirary之后弹出如下窗口
这里咱们新建一种名为ttest库。
(注意:
在新建library时候要attachtoanexistingtechfile)
点击OK后来弹出如下窗口
在technologylibrary这里选取咱们TSMC库tsmc18rf
然后点击OK
在CIW窗口tools菜单中选取第二个librarymanager之后弹出如下窗口
咱们可以看到左边Library里面有咱们之间建立ttest库,用鼠标左键选取ttest,发现它Cell和View都是空。
然后在该窗口File-New-CellView新建一种单元CellView
弹出如下窗口
在窗口Cellname中输入咱们需要取名字,这里取是dualinv。
点击OK后自动弹出画schematic窗口
3、画schematic电路图
点击上面这个作图版面,在键盘上按快捷键i会浮现添加器件窗口
点击Browse后弹出如下窗口
这里选中TSMC库tsmc18rf,在Cell中选中pmos2v,view中选中symbol
然后鼠标移到外面画图板上,就会浮现一种PMOS管,左键点击就可以放上去了,按ESC回到正常光标状态。
同理,选中TSMC库中nmos2v,就可以添加NMOS管。
(按快捷键M,然后再点击一下(选中)器件即可以移动器件)
接下来修改MOS管尺寸,咱们看到上述MOS管默认尺寸都是L=180nW=2u
咱们这里将PMOS管修改为W=720nNMOS管修改为W=220n
(注意:
TSMC0.18um库nmos2v和pmos2v最小W只能设立到220nm,而不能设立到180nm)
鼠标左键选中一种器件(如M0),然后按快捷键Q(property),浮现如下调节MOS管属性窗口
在w(M)文本框中修改前面2u修改成咱们需要720n然后点击OK即可
同理修改NMOS管W=220n。
之后开始连线按快捷键W(wire)即可
然后添加PIN脚(即与外部信号相连端口,从图1.1可以看出这个双反相器电路涉及到PIN脚有inoutvddgnd)
[注意:
由于当前工艺是P阱衬底,因此所有NMOS管衬底即B端要接gnd,而PMOS管衬底可以接自己S端或者vdd,普通只接VDD不接S]
[知识补充:
MOS管衬底B端接S才干不引起衬偏,衬偏了会导致阈值电压增大]
按快捷键P就可以添加PIN脚
在pinname中输入名称Direction中选中pin脚方向(其中indirection是inputoutdirection是outputgnd和vdddirection是inputoutput)
然后按回车,光标上就会浮现一种pin光影,点击鼠标左键即可摆放
摆放pin脚之后,将PIN脚与电路相连,同样用快捷键W来连线
由于图1.1中尚有一种内部节点fa,这里咱们就需要给内部节点命名。
按快捷键L,浮现命名窗口
在names这里输入fa,然后按回车
然后鼠标上浮现fa光影,将fa移到内部需要命名线上点击左键即可。
然后保存电路
通用,也可以用快捷键L来连接两个单元:
[这样就不用连线,却能保证两个单元连接到一起。
]
在画图板左边工具栏里面选中第一种checkandsave
4、将电路图创立成为一种symbol,用于仿真电路
选取Design—CreateCellview-FromCellview弹出如下窗口
点击OK弹出如下窗口
这里重要是TopPins和BottonPins这里需要修改,修改成如下图
点击OK弹出如下电路
点击save按钮保存
这样咱们就会看到在librarymanager里面就多余了一种该电路symbol
5、用spectre仿真器仿真电路
(这里仿真一下电路重要是验证一下自己电路有无画错,如果电路逻辑功能对的,那么基本上可以保证自己刚才画电路是对的)
新建一种名为dualtestCellView单元(在LibraryManager下)
点击OK
按快捷键i添加咱们之前给双反相器电路创立symbol
然后浮现下图
接下来就要给各个端口加勉励信号和电源了
按I添加器件,在analoglib中一方面选取直流电压Vdc,此外还要选取vpwl作为线性分段信号源。
按Q修改vdc属性
在DCvoltage这里将电压值设立为1.8v(注意,只要填入1.8即可,不要带入单位)
同样修改vpwl属性(这里咱们设立一种3段线性信号,即6个点),如下图
此外咱们还要添加一种gnd器件作为基准地信号(在analoglib中选取)
添加完器件之后如下图
(注意:
电路gnd与原则地gnd之间要添加一种0V直流电压)
接下来连线以及给输出端添加一种PIN,如下图
然后按checkandsave保存
选取tools中Analogenvironment
弹出如下窗口
选取右边工具框中第二个
,弹出如下窗口
这里设立仿真停止时间(该时间依照自己详细需要填写),然后点OK
接下来设立需要看波形那些端口outputs—ToBePlotted—SelectOnSchematic
然后在要看波形线条上单击鼠标左键点一下即可
点完之后该线条会变颜色以及闪烁,之前Analogenvironment窗口outputs中也会浮现相应名称
然后点击右边工具栏中得倒数第三个NetlistandRun
电路对的话就会有波形
点击该图标是分离重叠波形
——————其她快捷键——————————
E看symol里面电路
Ctrl+E退出看内部电路
F让原理图居中
PPIN管脚快捷键
W连线
L命名连线
C复制
Q器件属性
M移动
U撤销
其她有关设立:
设立回退次数CIW窗口--options--userpreference
各种器件属性一起修改,用shift选中后来然后选allselected(原先是onlycurrent)
二、版图设计
打开dualinvschematic电路图,然后Tools--DesignSynthesis--LayoutXL
之后弹出如下对话框
点击OK后弹出
点击OK就会自动弹出画layout版面
此时键盘上按E键,浮现设立窗口
这里修改辨别率,将XSnapSpacing和YSnapSpacing修改为0.005,以便之后画图。
点击OK
在画layout版面菜单中选取Design--GenFromsource
然后弹出如下窗口
点击OK即可,版面上就生成与原schematic电路图相对于尺寸MOS管,如下图
[注:
可以不genfromsource而直接在画版图版面按快捷键I添加layout器件,再修改尺寸,这样也可以通过LVS(通过测试虽然版图中MOS编号和schematic中不同,但是最后输出子电路中MOS管编号跟schematic是相似)]
选取那四个绿色方框和紫色线,按delete删除,删除后就剩余四个MOS管。
按shift+F将MOS管转换为可视layout构造,并用M快捷键来移动MOS管,此时整个版面上就剩余四个MOS管了,(Ctrl+F可以还原为Schematic构造)如下图
工具栏左边放大镜可以放大和缩小,或者使用快捷键Z(放大),shift+z缩小
(按了Z键要选某一种区域才干放大,不是直接放大与缩小)
接下来开始画图:
1、画PMOS管和NMOS管相连栅极(用LSW窗口中得POLY1来画)
选中POLY1drw然后点版图,然后按R(画方框),Q属性可以看到是dg
(在空白处)按S键,鼠标移到矩形框边,就能修改矩形框。
修改之后让矩形框与PMOS管NMOS管栅极对齐。
(一定要对齐,否则DRC报错)
放大可以看到她们与否对齐,
这样是对齐。
这样就是没对齐。
画好POLY1后来如下图
2、画金属走线
由于该电路简朴,只需要一层金属即可,因此只需要LSW中metal1
在LSW中选中METAL1drw,然后点版图,然后按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
然后在这段poly上打孔,按字母O键,弹出如下窗口
在ContactType这里选取M1_POLY1,Rows这里输入2,然后回车
(鼠标右键可以旋转器件)
将这个通孔放于之前poly1上
然后metal1与这个通孔相连即实现了金属1层与poly1之间连接
接下来输入信号in这里也要这样画,画好之后整体图如下
4、画衬底接触
这里要分别画PMOS管衬底接触和NMOS管衬底接触。
按快捷键字母O,在ContactType这里选取M1_SUB,这个是NMOS管衬底接触。
按快捷键字母O,在ContactType这里选取M1_NWELL,这个是PMOS管衬底接触。
5、给PMOS管打阱
[由于当前是P阱工艺,整个画图版面就是一种P型衬底,而NMOS管是做在P型衬底上面,因此画NMOS管时不需要画阱,而画PMOS管时要画nwell(即它衬底),nwell要包围住PMOS管和它衬底接触。
]
在LSW中选中NWELL-drw,按R,画矩形框,如下图
6、画管脚PIN
在LSW中选中metal1pin
接着点击空白处,然后按快捷键L弹出如下窗口
在Label这里输入名称(注意这个名称要与schematic图中节点名称要相似),Height这里设立字体高度,Font这里设立字体样式,然后按回车,将PIN脚摆放到对的位置
7、补全其他连线
由于上图并不完整,尚有诸多连线没有连。
[在熟悉版图画法之后这一步是放在前面做,由于咱们熟悉画法后就懂得哪里是VDD、gnd、输入和输出]
画完这个7环节后来点左边工具栏SAVE保存,然后就可以进行背面DRC、LVS和PEX了。
补充知识--多层金属连线:
(如下解说两层金属metal1和metal2布线)
由于金属走线经常会交叉,因此单层金属是不够,这就涉及到多层金属布线。
metal2drw是金属层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&黄)
————————————————————————————————
快捷键
K尺寸距离(shift+k撤销尺寸)
S修整
M移动选上后右键可旋转
Z放大(ctrl+z放大两倍,shift+z缩小两倍)
Shift选取各种器件
Shift+F显示NMOS和PMOS器件版图
O打孔(pmos管衬底属性选取M1_NWELLnmos管选取M1_SUB金属和poly打孔属性选取M1_POLY1)
三、后端验证和提取
后端仿真一方面要DRC,然后LVS,然后PEX提取寄生参数。
最后用Hspice仿真器仿真提取参数后网表。
这里重要用到是calibre工具
1、DRC
(上面工具栏中calibre—选取RunDRC)弹出下面窗口
RunsetFile是RUNDRC时需要填入某些设立,以便于下次RUN,可直接取消掉
DRC重要设立rules位置和DCRRun途径[别的都默认]
Rules这里选取TSMC库文献中calibre文献下calibre.drc
(这里DRCRunDirectory是自己创立一种文献夹,suxue~cd/home/xue~mkdirdrc)[这里dcr改为verify/dcr]
然后点击RunDRC弹出如下窗口
(运营完毕之后弹出窗口)
点开看,如果是areacoverage那就是覆盖率问题,这种错误不用理睬。
[例如上图中得这8个错误是没关系]
2、RunLVS
同样RunsetFile点取消
设立rules和inputnetlist
【新】[lvs改为verify/lvs]
Inputs—Netlist这里选取Exportfromschematicviewer
点击runLVS后弹出如下窗口
如果是绿色笑脸则表达LVS通过,表达版图和schematic原理图是匹配,阐明咱们版图没有画错。
如果是红色脸蛋,表达有错误,那要点开看详细错误阐明,再排除错误。
3、RunPEX
同样RunsetFile点取消
Rules设立
[新]/home/gengliang/ic/verify/pex
Inputs--netlist设立Exportfromschematicview选上
Outputs—extractiontype选取R+C(即提取寄生电阻和电容),format这里选取hspice(用于Hspice仿真器仿真)
(如果后仿是用spectre仿真器仿真,那么format这里选取CALIBREVIEW)
[NEW]
Outputs—reports这里选上generatePEXreport和ViewreportafterPEXfinishes
[NEW]
然后runPEX
之后在/home/xue/pex文献夹下面生成三个咱们需要用到文献
list(里面是电路网表)
list.pex(里面是各个节点寄生参数)
list.DUALINV.pxi(里面是某些调用子电路命令)
[注:
在XP系统下用写字板打开可查看这三个文献内容]
MOS场效应晶体管描述语句:
(pex输出网表格式)
MMXDGSBMNAME
第三节后端仿真
1、用Hspice仿真器进行后仿真
将上述三个文献复制到XP系统下面,然后新建一种dualinv.sp文献(即新建文本文档,后缀改成.sp),这样同一目录下就有四个文献,如下
将list文献中电路复制到dualinv.sp文献中(即蓝色框内这某些)
[注意:
list文献里面那两行include"list.pex"和include"list.DUALINV.pxi"千万不要忘掉复制过来。
]
第一行一定要加一种“*”符号。
然后在dualinv.sp中加勉励信号以及某些测试语句即可以仿真,如下
(这是dualinv.sp文献)
[注意:
Hspice不区别字母大小写]
接下来用Hspice仿真器仿真这个dualinv.sp文献,然后看输出波形,看功耗延时参数,这些就已经是后端仿真参数了。
[Attention]
1.1初始值要依照实际条件修改。
1.2
如下图:
.subcktlcff后边是lcff端口,并不一定与前仿时自己编写端口顺序一致,因此需要重新依照下文测试代码顺序做相应变化,否则会出错。
牢记!
!
!
2、不同工艺角(corners)仿真
CMOS电路在生产在存在工艺偏差,普通在四个工艺角(SS、FF、FS、SF)下对电路进行仿真。
详细操作如下:
在.sp文献加载模型这里改成相应corner即可
3、蒙特卡罗法(Monte-Carlo)分析PVT对触发器影响
普通VT组合分为如下三种:
-40C2.0V;25C1.8V;125C1.6V(即电压偏差值在正负10%)
蒙特卡罗法(Monte-Carlo)分析PVT就是取不同电压和温度组合,然后进行Monte-Carlo分析,MC分析就是随机选用器件参数。
【要进行Monte-Carlo分析一方面工艺厂商提供仿真模型(rf018.l文献)要支持Monte-Carlo分析,即里面要有MC模型。
】详细操作如下:
温度、输入电压要变化,然后加上Monte-Coral分析。
注意红色横线某些
************************************************************
到此为止,整个后端仿真流程演示完毕,固然这里面尚有诸多是不够细致,重要是画版图这一块。
画版图是一种经验积累过程,我上面演示只是一种很简朴例子,这还需要人们在学习中不断积累经验。
************************************************************
其他知识
(用spectre仿真器需要看如下环节,用Hspice仿真器不需要看)
——————————用spectre仿真器仿真——————
(如果format这里选取是CALIBREVIEW)运营后弹出
直接点OK
如下是第一次运营配备
前面是pch和nch配备
点automappins然后点OK
电容和电阻分别选取analoglib中cap和res
用spectre后仿真
[一定要注意,schematic和layoutpin脚都要大写]
一方面在CIW这里新建一种config
选取spectre
更改Librarylist为自己libviewlist这里加calibre
然后inv这里右键选取calibre
之后变成下图
然后点红感叹号更新
点OK浮现下图
然后右上角open
如果是在library这里打开con
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TSMC 工艺 版图 教程 样本
![提示](https://static.bdocx.com/images/bang_tan.gif)