收藏 分销(赏)

TSMC工艺的版图教程模板.doc

上传人:精*** 文档编号:2509389 上传时间:2024-05-30 格式:DOC 页数:48 大小:5.76MB 下载积分:14 金币
下载 相关 举报
TSMC工艺的版图教程模板.doc_第1页
第1页 / 共48页
TSMC工艺的版图教程模板.doc_第2页
第2页 / 共48页


点击查看更多>>
资源描述
目录 前端电路设计和仿真 2 第一节双反相器前端设计步骤 2 1、画双反相器visio原理图 2 2、编写.sp文件 2 第二节后端电路设计 4 一、开启linux系统 4 2、然后桌面右键重新打开Terminal 6 双反相器后端设计步骤 7 一、schematic电路图绘制 7 二、版图设计 20 画版图部分技巧: 29 三、后端验证和提取 30 第三节后端仿真 36 其它知识 39 前端电路设计和仿真 第一节双反相器前端设计步骤 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:\Program Files\synopsys\rf018.l' TT 是TSMC用于仿真模型文件位置和选择具体工艺角*****这里选择TT工艺角*********** 划红线部分数据请参考excel文件《尺寸对应6参数》,MOS管W不一样对应6个尺寸是不一样, 不过这六个尺寸不伴随L改变而改变。 划紫色线条处端口名称和次序一定要一致 MOS场效应晶体管描述语句:(和后端提取pex输出网表格式相同) MMX D G S B MNAME <L=val> <W= val > <AD= val > <AS= val > <PD= val > <PS= val > <NRD= val > <NRS= val > 2.1、在windowXP开始--程序这里打开Hspice程序 2.2、弹出以下画面然后进行仿真 查看波形按钮按下后弹出以下对话框 假如要查看内部节点波形,双击Top处 假如要查看测量语句输出结果请查看 .MTO文件(用记事本打开) 至以前端仿真教程结束 第二节后端电路设计 前序(打开Cadence软件) 一、开启linux系统 双击桌面虚拟机图标 选择Power on this virtual machine 开启linux以后 在桌面右键选择 Open Terminal 输入 xhost local:命令 按回车 以后输入 su xue命令 按回车,这么就进入了xue用户 1、输入命令加载calibre软件license,按回车,等到出现以下画面再关闭Terminal窗口 2、然后桌面右键重新打开Terminal 进入学用户,开启Cadence软件,以下图 然后出现cadence软件界面 关闭这个help窗口,剩下下面这个窗口,这么cadence软件就开启了 [假如在操作过程中关闭了cadence,只需要实施步骤2即可,步骤1加载calibrelicense只在linux重启或刚开启时候运行一次就能够了。] 双反相器后端设计步骤 一、schematic电路图绘制 1、注意---- 在Cadence中画schematic电路图时,每一个节点全部需要命名,不然在参数提取以后没有命名那些节点会被系统自动命名,造成用HSPICE查看内部节点波形时难以快速找到自己需要节点。 2、打开Cadence软件新建库和单元Cell View 用命令icfb&打开Cadence软件后弹出以下CIW窗口 选择Flie-New-Libirary以后弹出以下窗口 这里我们新建一个名为ttest库。(注意:在新建library时候要attach to an existing techfile) 点击OK以后弹出以下窗口 在technology library这里选择我们TSMC库tsmc18rf 然后点击OK 在CIW窗口tools菜单中选择第二个library manager以后弹出以下窗口 我们能够看到左边Library里面有我们之间建立ttest库,用鼠标左键选择ttest,发觉它Cell和View全部是空。 然后在该窗口File-New-Cell View新建一个单元Cell View 弹出以下窗口 在窗口Cell name中输入我们需要取名字,这里取是dualinv。 点击OK后自动弹出画schematic窗口 3、画schematic电路图 点击上面这个作图版面,在键盘上按快捷键i会出现添加器件窗口 点击Browse后弹出以下窗口 这里选中TSMC库tsmc18rf,在Cell中选中pmos2v,view中选中symbol 然后鼠标移到外面画图板上,就会出现一个PMOS管,左键点击就能够放上去了,按ESC回到正常光标状态。 同理,选中TSMC库中nmos2v,就能够添加NMOS管。(按快捷键M,然后再点击一下(选中)器件即能够移动器件) 接下来修改MOS管尺寸,我们看到上述MOS管默认尺寸全部是L=180n W=2u 我们这里将PMOS管修改为W=720n NMOS管修改为W=220n (注意:TSMC 0.18um库nmos2v和pmos2v最小W只能设置到220nm,而不能设置到180nm) 鼠标左键选中一个器件(如M0),然后按快捷键Q(property),出现以下调整MOS管属性窗口 在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脚方向(其中indirection是input outdirection是output gnd和vdddirection是inputoutput) 然后按回车,光标上就会出现一个pin光影,点击鼠标左键即可摆放 摆放pin脚以后,将PIN脚和电路相连,一样用快捷键W来连线 因为图1.1中还有一个内部节点fa,这里我们就需要给内部节点命名。按快捷键L,出现命名窗口 在names这里输入fa,然后按回车 然后鼠标上出现fa光影,将fa移到内部需要命名线上点击左键即可。 然后保留电路 通用,也能够用快捷键L 来连接两个单元: [这么就不用连线,却能确保两个单元连接到一起。] 在画图板左边工具栏里面选中第一个check and save 4、将电路图创建成为一个symbol,用于仿真电路 选择Design—Create Cellview- From Cellview 弹出以下窗口 点击OK弹出以下窗口 这里关键是Top Pins和Botton Pins这里需要修改,修改成以下图 点击OK 弹出以下电路 点击save按钮保留 这么我们就会看到在library manager里面就多出了一个该电路symbol 5、用spectre仿真器仿真电路 (这里仿真一下电路关键是验证一下自己电路有没有画错,假如电路逻辑功效正确,那么基础上能够确保自己刚才画电路是正确) 新建一个名为dualtestCell View单元(在Library Manager下) 点击OK 按快捷键i添加我们之前给双反相器电路创建symbol 然后出现下图 接下来就要给各个端口加激励信号和电源了 按I添加器件,在analoglib中首先选择直流电压Vdc,另外还要选择vpwl作为线性分段信号源。 按Q修改vdc属性 在DC voltage这里将电压值设置为1.8v(注意,只要填入1.8即可,不要带入单位) 一样修改vpwl属性(这里我们设置一个3段线性信号,即6个点),以下图 另外我们还要添加一个gnd器件作为基准地信号(在analoglib中选择) 添加完器件以后以下图 (注意:电路gnd和标准地gnd之间要添加一个0V直流电压) 接下来连线和给输出端添加一个PIN,以下图 然后按check and save保留 选择tools中Analog environment 弹出以下窗口 选择右边工具框中第二个,弹出以下窗口 这里设置仿真停止时间(该时间依据自己具体需要填写),然后点OK 接下来设置需要看波形那些端口 outputs—To Be Plotted—Select On Schematic 然后在要看波形线条上单击鼠标左键点一下即可 点完以后该线条会变颜色和闪烁,之前Analog environment窗口outputs中也会出现对应名称 然后点击右边工具栏中得倒数第三个Netlist and Run 电路正确话就会有波形 点击该图标是分离重合波形 ——————其它快捷键—————————— E 看symol里面电路 Ctrl+E 退出看内部电路 F 让原理图居中 P PIN管脚快捷键 W 连线 L 命名连线 C 复制 Q 器件属性 M 移动 U 撤销 其它相关设置: 设置回退次数 CIW窗口--options--user preference 多个器件属性一起修改,用shift选中以后然后选all selected(原先是only current) 二、版图设计 打开dualinvschematic电路图,然后Tools--Design Synthesis--Layout XL 以后弹出以下对话框 点击OK后弹出 点击OK就会自动弹出画layout版面 此时键盘上按E键,出现设置窗口 这里修改分辨率,将X Snap Spacing 和Y Snap Spacing 修改为0.005,方便以后画图。点击OK 在画layout版面菜单中选择 Design--Gen From source 然后弹出以下窗口 点击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结构)以下图 工具栏左边放大镜能够放大和缩小,或使用快捷键Z(放大),shift+z缩小 (按了Z键要选某一个区域才能放大,不是直接放大和缩小) 接下来开始画图: 1、 画PMOS管和NMOS管相连栅极(用LSW窗口中得POLY1来画) 选中POLY1 drw 然后点版图,然后按R(画方框),Q属性能够看到是dg (在空白处)按S键,鼠标移到矩形框边,就能修改矩形框。 修改以后让矩形框和PMOS管 NMOS管栅极对齐。(一定要对齐,不然DRC报错) 放大能够看到她们是否对齐, 这么是对齐。这么就是没对齐。 画好POLY1以后以下图 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 然后在这段poly上打孔,按字母O键,弹出以下窗口 在Contact Type这里选择 M1_POLY1,Rows这里输入2,然后回车 (鼠标右键能够旋转器件) 将这个通孔放于之前poly1上 然后metal1和这个通孔相连即实现了金属1层和poly1之间连接 接下来输入信号in这里也要这么画,画好以后整体图以下 4、画衬底接触 这里要分别画PMOS管衬底接触和NMOS管衬底接触。按快捷键字母O,在Contact Type这里选择 M1_SUB,这个是NMOS管衬底接触。 按快捷键字母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 接着点击空白处,然后按快捷键L 弹出以下窗口 在Label这里输入名称(注意这个名称要和schematic图中节点名称要相同),Height这里设置字体高度,Font这里设置字体样式,然后按回车,将PIN脚摆放到正确位置 7、补全其它连线 因为上图并不完整,还有很多连线没有连。[在熟悉版图画法以后这一步是放在前面做,因为我们熟悉画法后就知道哪里是VDD、gnd、输入和输出] 画完这个7步骤以后点左边工具栏SAVE保留,然后就能够进行后面DRC、LVS和PEX了。 补充知识--多层金属连线: (以下讲解两层金属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&黄) ———————————————————————————————— 快捷键 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路径 [其它全部默认] 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和inputnetlist 【新】[lvs改为verify/lvs] Inputs—Netlist 这里选择Export from schematic viewer 点击run LVS后弹出以下窗口 假如是绿色笑脸则表示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 ) [NEW] Outputs—reports这里 选上generate PEX report和View report after PEX finishes [NEW] 然后run PEX 以后在/home/xue/pex文件夹下面生成三个我们需要用到文件 list (里面是电路网表) list.pex (里面是各个节点寄生参数) list.DUALINV.pxi (里面是部分调用子电路命令) [注:在XP系统下用写字板打开可查看这三个文件内容] MOS场效应晶体管描述语句:(pex输出网表格式) MMX D G S B MNAME <L=val> <W= val > <AD= val > <AS= val > <PD= val > <PS= val > <NRD= val > <NRS= val > 第三节后端仿真 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 以下图:.subckt lcff 后边是lcff端口,并不一定和前仿时自己编写端口次序一致,所以需要重新依据下文测试代码次序做对应改变,不然会犯错。切记!!! 2、不一样工艺角(corners)仿真 CMOS电路在生产在存在工艺偏差,通常在四个工艺角(SS、FF、FS、SF)下对电路进行仿真。具体操作以下: 在.sp文件加载模型这里改成对应corner即可 3、蒙特卡罗法(Monte-Carlo)分析PVT对触发器影响 通常VT组合分为以下三种: -40C 2.0V;25C 1.8V;125C 1.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配置 点 auto map pins 然后点OK 电容和电阻分别选择analoglib中cap和res 用spectre后仿真 [一定要注意,schematic和layoutpin脚全部要大写] 首先在CIW这里新建一个config 选择spectre 更改Library list为自己lib view list这里加calibre 然后inv这里右键 选择calibre 以后变成下图 然后点红感叹号更新 点OK出现下图 然后右上角open 假如是在library这里打开config时候 出现下图 两个全部选yes spectre 假如要保留设置就要在session—save state里面 这么设置
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 品牌综合 > 技术交底/工艺/施工标准

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服