CMOS反相器原理图版图的仿真设计.docx
《CMOS反相器原理图版图的仿真设计.docx》由会员分享,可在线阅读,更多相关《CMOS反相器原理图版图的仿真设计.docx(24页珍藏版)》请在冰豆网上搜索。
CMOS反相器原理图版图的仿真设计
集成电路专业学年论文
论文题目:
CMOS反相器原理图版图设计与仿真
学 院:
电子工程学院
年 级:
2008级
专业:
集成电路设计与集成系统
姓 名:
学 号:
指导教师:
2011年 7月8日
摘要
门电路是构成各种复杂数字电路的基本逻辑单元,掌握各种门电路的逻辑功能和电气特性,对于正确使用数字集成电路是十分必要的。
MOS门电路:
以MOS管作为开关元件构成的门电路。
MOS门电路,尤其是CMOS门电路具有制造工艺简单、集成度高、抗干扰能力强、功耗低、价格便宜等优点,得到了十分迅速的发展。
所谓CMOS(ComplementaryMOS),是在集成电路设计中,同时采用两种MOS器件:
NMOS和PMOS,并通常配对出现的一种电路结构。
CMOS电路及其技术已成为当今集成电路,尤其是大规模电路、超大规模集成电路的主流技术。
反相器是数字电路中的一种基本功能模块。
将两个串行反相器的输出作为一位寄存器的输入就构成了锁存器。
锁存器、数据选择器、译码器和状态机等精密数字符件都需要使用基本反相器。
因此此次针对CMOS反相器原理图、版图设计与仿真也是很有必要的自己学会了TannerEDA软件的使用。
也进一步了解了CMOS反相器直流特性瞬态特性和版图的绘制。
关键词
CMOS;反相器;Tanner EDA;设计;仿真;版图;
Abstract
Thecomplexdigitalcircuits areconstitutedby thebasic gatecircuits,andtheGatecircuits is the logiccells.Graspatvariouskindsoflogicgates' functions andelectricalcharacteristicsfortheproper useofdigitalintegratedcircuitsisessential.MOSgate[1]:
TheMOS tubeasaswitching elementconstitutethegate.MOSgate,especiallyaCMOSgatewithsimplemanufacturing process,highintegration,anti-interferenceability,low powerconsumption,cheap, etc.,hasbeenveryrapiddevelopment.Theso-called CMOS(ComplementaryMOS),is inICDesign, while usingtwoMOSdevices:
NMOSandPMOS,andthe emergence of a circuitisusually paired structure. CMOScircuitsandtechnologyhasbecometoday'sintegratedcircuits,especiallylarge-scalecircuits,VLSImainstreamtechnology.
Inverterisabasicdigitalcircuitmodules.Thetwo serialoutputoftheinverterasaregisterinputto constitutea latch. Latch,dataselectors,decodersandstatemachinesand other precisionpartsare requiredtouseafewcharactersinthebasicinverter.
Therefore, the schematic fortheCMOSinverterlayoutdesign andsimulationisnecessaryto learn theirownTanner EDAsoftware. Furtherunderstandingofthe transientcharacteristicsof CMOSinverterDCcharacteristicsand layoutdrawing.
Keywords
CMOS;inverter;TannerEDA;design;simulation;territory;
AbstractﻩII
前言3
第一章使用S-Edit编辑设计CMOS反相器原理图4
1.1绘制CMOS反相器原理图4
1.1.1进入S-Edit建立新文件4
1.1.2环境设置环境设置4
1.1.3编辑模块并浏览组件库ﻩ5
1.1.4从组件库引用模块5
1.1.5编辑反相器ﻩ6
1.1.6加入输入输出端口7
1.1.7 反相器的输出成果7
1.2.1进入S-Edit编辑文件8
1.2.2输出成Spice文件8
1.2.3加载包含文件ﻩ9
1.2.4插入分析设定和输出设定命令10
1.2.5进行模拟ﻩ11
1.3反相器直流分析ﻩ12
1.3.1进入S-Edit12
1.3.2加入工作电源和输入直流信号ﻩ12
1.3.3编辑直流电压源13
1.3.4输出spice文件ﻩ13
1.3.5分析设定和输出设定ﻩ14
1.3.6进行模拟15
第二章 使用S-Edit编辑设计CMOS反相器原理图17
2.1绘制反相器版图的前期设置工作ﻩ17
2.1.2 取代设定ﻩ17
2.1.3编辑组件17
2.1.4设计环境设定ﻩ17
2.2绘制反相器18
2.2.1 编辑PMOS18
2.2.2编辑NMOSﻩ18
2.2.3其他部分ﻩ20
2.3使用T-Spice进行版图设计仿真ﻩ21
结论22
参考文献23
前言
CMOS结构的主要优点是电路的静态功耗非常小,电路结构简单规则,使得它可以用于大规模集成电路、超大规模集成电路。
为了能在同一硅材料(Wafer)上制作两种不同类型的MOS器件,必须构造两种不同类型的衬底。
在P型硅衬底上专门制作一块N型区域(n阱),作为PMOS的衬底。
为防止源/漏区与衬底出现正偏置,通常P型衬底应接电路中最低的电位,N型衬底应接电路中最高的电位。
为保证电位接触的良好,在接触点采用重掺杂结构。
下面简短介绍一下CMOS反相器工作原理[2](如图1):
图1 cmos反相器工作原理
当Ui=UIH =VDD,VTN导通,VTP截止,Uo =Uol≈0V
当Ui=UIL=0V时,VTN截止,VTP导通,UO =UOH≈VDD
还有就是CMOS电路的优点[3]:
(1)微功耗。
CMOS电路静态电流很小,约为纳安数量级。
(2)抗干扰能力很强。
输入噪声容限可达到VDD/2。
(3)电源电压范围宽。
多数CMOS电路可在3~18V的电源电压范围内正常工作。
(4)输入阻抗高。
(5)负载能力强。
CMOS电路可以带50个同类门以上。
(6)逻辑摆幅大(低电平0V,高电平VDD )。
ﻬ第一章使用S-Edit编辑设计CMOS反相器原理图
1.1 绘制CMOS反相器原理图
在此次实例设计中采用TannerEDA软件中的S-Edit组件设计CMOS反相器的原理图,进而掌握S-Edit的基本功能和使用方法。
操作流程如下:
进入S-Edit建立新文件—>环境设置—>编辑模块—>引用模块—>编辑反相器—>加入输入输出—>完成反相器电路。
1.1.1进入S-Edit建立新文件
打开S-Edit程序,并将新文件另存以合适的文件名存储在一定的文件夹下:
在自己的计算机上一定的位置处打开S-Edit程序。
在本例中在S-Edit文件夹中新建立“inv”文件夹,并将新文件以文件名“inv”存与此文件夹中。
如图1-1所示。
图1-1另存新文件为inv.sdb
1.1.2环境设置环境设置
S-Edit默认的工作环境是黑底白线,但可以按照用户的喜好自行设定。
即选择Setup->Colors命令,打开Colors对话框,可分别设置背景色、前景色、选取颜色、栅格颜色、原点颜色和可更换颜色等。
如图图1-2所示。
图1-2 设定颜色
1.1.3编辑模块并浏览组件库
S-Edit编辑方式是以模块为单位而不是以文件为单位,一个文件中可以包含多个模块,而每一个模块则表示一种基本组件或者一种电路。
每次打开一个新文件时便自动打开一个模块并命名为“Module0”;也可以重命名模块名。
方法是选择Module->Rename命令,在弹出的对话框中的NewName中输入符合实际电路的名称,如“inv”即可,之后单击OK按钮就可以。
S-Edit本身附有4个组件库,它们分别是scmos.sdb,spice.sdb,pages.sdb和element.sdb。
可以引用其中的模块,默认时有spice.sdb和element.sdb两个组件库,也可以添加其他的两个组件库。
1.1.4从组件库引用模块
编辑反相器电路会用到NMOS,PMOS,Vdd,Gnd这四个模块。
引用的方法是在SymoblBrower 对话框中选取spice组件库,在其内含的模块列表中以次找到所需模块,并放在编辑界面中。
结果如图 1-3所示。
图1-3 SymbolBrowser界面
1.1.5编辑反相器
按住Alt键拖动鼠标,可移动选中对象。
移动各个对象到合适位置后,选择原理图工具条中的连线按钮连接各个对象节点以组建成反相器。
注意,各节点上小圆圈消失即代表连线成功;若3个以上的节点连在一起则会出现实心圆圈。
编辑后反相器结果图[4]如图1-4所示。
图1-4编辑反相器并连线
1.1.6加入输入输出端口
利用输入输出按钮表明此反相器的输入输出信号的位置和名字,方法如下:
选择输入端口按钮,再到工作区用鼠标左键选择要连接的端点,在弹出的EditSelected Port 对话框中的Name文本框中输入名字,如“IN”,单击OK按钮即可。
如图1-5所示。
同样的方法也可加入输出端口“OUT”。
图 1-5 加入输入端口IN
1.1.7反相器设计成果
引入输入输出端口后完整的反相器电路图如图1-6所示。
图1-6 反相器电路图
1.2反相器瞬态分析
在此次实例设计中采用软件中的S-Edit组件设计CMOS反相器顺瞬时仿真的原理图[5],进一步掌握S-Edit的基本功能和使用方法;并使用T-Spice组件仿真。
此次反相器瞬时分析仿真调用前面已经设计完成的文件“inv”中的模块“inv”并加入激励源来完成。
操作流程如下:
进入S-Edit—>建立反相器仿真电路->生成Spice文件->在T-Spice环境下插入仿真命令并仿真->查看与分析仿真结果。
1.2.1进入S-Edit编辑文件
打开S-Edit程序,设置环境,打开inv.sdb文件对其修改加入5v直流电源和一个方波信号源,编辑好后如图1-7.
图1-7 瞬态仿真原理图
1.2.2输出成Spice文件
要想将设计好的电路借助T-Spice软件仿真其特性,需先将电路图转换成Spice格式。
较简便的方法是单击命令工具条上的启动T-Spice按钮,则会自动输出成Spice格式文件并打开T-Spice软件。
结果如图1-8所示。
图1-8输出成Spice格式文件
1.2.3加载包含文件
由于不同的流程有不同的特性,所以在仿真之前,必须引入MOS组件的模型文件,以供T-Spice模拟用。
本设计中引用1.25um的CMOS组件模型文件“m12_125.md”,即在Spice文件的主程序之前插入文件“m12_125.md”。
简便的方法是单击T-Spice软件的命令菜单栏中的”插入命令” (Insert Commend)按钮,在弹出的对话框中选择Includefile项。
最后在弹出的对话框中浏览添加文件“m12_125.md”到Include file文本框中,如图1-9所示。
之后单击InsertCommend按钮即可。
此时在Spice文件中会出现命令行“.include"D:
\ml2_125.md"”。
图1-9 包含文件命令窗口
1.2.4插入分析设定和输出设定命令
和5)方法类似,还需要在Spice文件中的结尾插入分析和输出设定的命令。
即在命令工具对话框中选择Analysis项中的瞬时分析选项Transient,并设定模拟时间间隔为1ns,总仿真时间为400ns,如图示1-10示。
此时在Spice文件中会出现命令行“.tran1n400n”。
在命令工具对话框中选择Output项中的Transientresults选项,在List Of Plot框中分别添加要观察的节点电压。
此次设计中主要观察输入节点IN和输出接点OUT的电压,则可以在Plot type下拉列表中选择Vlotage选项,在NodeName文本框中输入IN(区分大小写),单击Add按钮,就将节点IN加入到了观察节点列表中。
同理将节点OUT加入到了观察节点列表中,如图示1-11示。
最后单击InsertCommend按钮即可。
此时在Spice文件中会出现命令行“.printtranv(IN)v(OUT)”。
进行过各种设定后,Spice文件如图1-12出在文件中新加入了如下命令行:
.include "D:
\ml2_125.md";.tran 1n 400n;.printtranv(IN)v(OUT)。
图1-10 添加分析设定命令行设定栏目
图1-11添加输出设定命令行的设定细则
图1-12设定后Spice文件
1.2.5进行模拟
单击命令工具栏中的“开始”按钮,打开RunSimulation对话框,如图示十二所示,选中Showingduring单选按钮,再单击StartSimulation按钮,则会出现模拟状态窗口,并自动打开W-Edit窗口,以便观察模拟波形如图1-13.
图1-13 瞬态分析结果图
1.3反相器直流分析
此次设计主要完成在T-Spice软件中的反相器的直流传输特性仿真与分析。
操作流程如下:
进入S-Edit->建立反相器直流传输仿真电路->生成Spice文件->在T-Spice环境下插入仿真命令并仿真->查看与分析仿真结果。
1.3.1进入S-Edit
打开S-Edit程序,设定环境,打开inv模块:
以上各步骤和瞬态分析中的前两步骤类似,在此从略。
1.3.2加入工作电源和输入直流信号
由于设计是用来进行反相器的直流分析,所以要加入两个直流电压源。
方法和“反相器瞬时分析”中的步骤如图1-14所示
图1-14 直流分析原理图
1.3.3编辑直流电压源
由于再该模块中有两个直流电源符号,所以为了区分它们,可以编辑它们,改变其属性。
即选择待编辑对象->单击工具命令栏中的EditObject按钮,在弹出的对话框中进行电压源属性的编辑。
分别将Vdd与Gnd之间的电压源和IN与Gnd之间的电压源更名为vvdd和vin,并将vin的电压设定为1.0V。
如下图1-15和1-16所示。
1.3.4 输出spice文件
输出成Spice文件,包含文件“ml2_125.md”:
以上两步和“反相器瞬时分析”中两步骤类似,在此从略。
添加文件后的Spice稍后给出。
1.3.5分析设定和输出设定
由于进行反相器的直流分析,模拟其转换曲线,所以模拟输入电压vin从0V到5V变化(以0.02线性增加),输出电压相对于输入电压的变化。
即在文件结尾插入命令“.dc linparamvin 05.00.02”.其设置如下:
InsertCommend-->Analysis-->DCtransferSweep-->Sweep1,在打开的对话框中的Sweeptype下拉列表中选择Liner项,在Paramemtertype下拉框中选择Source项,在name文本框中输入“v3”,在Start和Stop中分别输入0和5.0,在Increment中输入0.02,之后先单击Accept按钮,在单击InsertCommend按钮即可。
如图1-17所示。
输出设定与瞬态分析相同,不在多做介绍。
最后网表如图1-18所示。
图1-17分析设定细则
图1-18 最后的直流分析网表
1.3.6进行模拟
此步骤和“反相器瞬时分析”中的相同,在此从略,如图1-19。
图1-19 直流传输特性波形图
1.3.7结果分析
有上图可以看出随着输入信号的增大,反相器的工作状态可以分为5个阶段来描述。
即输入等于输出、输出缓慢减小(速率加快)、输出急剧下降、输出再减小(速率变慢)和输出几乎为零五个阶段,与理论分析一致,分别对应N管截止,P管饱和导通阶段,N管饱和导通,P管非饱和导通阶段,N管、P管都饱和导通阶段,N管非饱和导通,P管饱和导通阶段,N管N管非饱和导通,P管截止阶段。
所以此次设计是正确的。
ﻬ第二章使用S-Edit编辑设计CMOS反相器原理图
本章采用TannerEDA软件的L-Edit模块绘制CMOS反相器的版图并对其仿真[6]。
2.1绘制反相器版图的前期设置工作
2.1.1打开L-Edit软件新建版图文件
打开L-Edit程序,并将新文件另存以合适的文件名存储在一定的文件夹下:
在自己的计算机上一定的位置处打开L-Edit程序,此时L-Edit自动将工作文件命名为Layout1.sdb并显示在窗口的标题栏上。
而在本例中则在L-Edit文件夹中建立“inv”文件夹,并将新文件以文件名“inv”存与此文件夹中。
如图2-1所示。
图:
2-1 打开L-Edit,并另存文件为inv
2.1.2取代设定
选择File->ReplaceSetup命令,在弹出的对话框中单击浏览按钮,按照路径..\Samples\SPR\example1\lights.tdb找到“lights.tdb”文件,单击OK即可。
此时可将lights.tdb文件的设定选择性的应用到目前编辑的文件中。
2.1.3编辑组件
L-Edit编辑方式是以组件(Cell)为单位而不是以文件为单位,一个文件中可以包含多个组件,而每一个组件则表示一种说明或者一种电路版图。
每次打开一个新文件时便自动打开一个组件并命名为“Cell0”;也可以重命名组件名。
方法是选择Cell->Rename命令,在弹出的对话框中的Renamecell as文本框中输入符合实际电路的名称,如本设计中采用组件名“inv”即可,之后单击OK按钮。
如图2-2所示。
图2-2重命名组件为inv
2.1.4设计环境设定
绘制布局图必须要有确实的大小,因此要绘图前先要确认或设定坐标与实际长度的关系。
选择Setup->Design命令,打开SetDesign对话框,在Technology选项卡中出现使用技术的名称、单位与设定。
本设计中的技术单位是Lambda。
而Lambda单位与内部单位InternalUnit的关系可在TechnologySetup选项组中设定。
此次设计设定1个Lambda为1000个InternalUnit,也设定1个Lambda等于1个Micron。
接着选择Grid选项卡,其中包括使用格点显示设定、鼠标停格设定与坐标单位设定。
此次设计设定1个显示的格点等于1个坐标单元,设定当格点距离小于8个像素时不显示;设定鼠标光标显示为Smooth类型,设定鼠标锁定的格点为0.5个坐标单位;设定1个坐标单位为1000个内部单位。
2.2 绘制反相器
2.2.1编辑PMOS
按照NWell层、PSelect层、Active层、Ploy层、Mental1层、Active contact层的流程编辑PMOS组件[7]。
其中,NWell层宽为24个格点、高为15个格点,PSelect层宽为18个格点、高为10个格点,Active层宽为14个格点、高为5个格点,Ploy层宽为2个格点、高为20个格点,Mental1层宽为4个格点、高为4个格点,Activecontact层宽为2个格点、高为2个格点。
在设计各个图层时,一定要配合设计规则检查(DRC),参照设计规则反复修改对象。
这样才可以高效的设计出符合规则的版图。
PMOS组件的编辑结果如图2-3所示。
图2-3PMOS组件结果图
2.2.2编辑NMOS
按照NSelect层、Active层、Ploy层、Mental1层、Activecontact层的流程编辑NMOS组件[8]。
其中,N Select层宽为18个格点、高为9个格点,Active层宽为14个格点、高为5个格点,Ploy层宽为2个格点、高为9个格点,Mental1层宽为4个格点、高为4个格点,Activecontact层宽为2个格点、高为2个格点。
NMOS组件的编辑结果如图2-4所示。
图2-4 NMOS组件结果图
2.2.3其他部分
由于L-EDIT软件默认是使用P型衬底,所以要在P管加上N阱做衬底。
两个管子栅极相连打孔并外接出去连接输入端in,源漏相连外接至out。
不再多说我的最终的版图文件还有版图的尺寸都做了标注并做了最终的DRC[9]验证没有错误如图2-5.
图2-5 生成的版图和DRC截图
2.3使用T-Spice进行版图设计仿真
绘制完版图后要对版图文件像spice文件转换的操作[10]:
在L-Edit中选择tools--->extract点击run。
打开T-Spice程序,打开反相器版图的Spice文件“inv.spc”并按照如下流程在Spice文件中插入命令[11]:
加载包含文件->Vdd电源电压值设定->输入信号A设定->分析设定->输出设定->进行模拟。
设定后在文件中加入如下命令行:
.include "D:
\ ml2_125.md",vvdd Vdd GND5,vaAGNDPULSE(0550n5n 5n 50n100n),.tran/op1n400nmethod=bdf,.printtranv(A) v(OUT)[12]。
设定后的结果如图2-6所示。
单击仿真按钮进行仿真,自动弹出的仿真波形如图2-7所示。
图2-6转换后并添加完激励的网表
图2-7反相器版图的仿真结果
结论
通过CMOS反相器的仿真让我对MOS管的原理原理有了进一步的理解。
通过这次是实践行动让我对TannerEDA软件的各各模块的操作也变得更加熟练。
以前就会使用T-Spice直接写网表然后添加激励进行仿真,现在我明白了可以由电路图直接向spice网表进行转化,比如有一个很大的电路图可能有几十个或者上百个管子或器件要是直接写网表是不现实的因为节点太多工程师很容易写错,要是能够由电路原理图直接向网表转化就会方便的很多,既节省了时间也避免了不必要的的错误。
网表转化完毕还要对电路包含头文件或者库文件还要进行加载激励,完后就基本上可以仿真了,波形出来以后我们可以检测其的正确性,以进行下一步的工作。
在本文的第一部分有瞬态分析和直流分析,也让我更加深刻的了解了反相器的瞬态特性和直流特性。
在版图模块我更加的熟悉了版图的操作流