1、使用L-Edit画反相器的布局图,(1)打开L-Edit程序 (2)另存新文件:选择 FileSave As,重命名,比如ex10(自己随意设定) (3)取代设定:选择 FileReplace Setup命令,单击右侧的Browser,选择:TannerEDAL-Edit11.1samplessprexample1lights.tdb文件,然后点击ok,会出现警告,按确定钮。,(4)绘制N Well图层:横向24格,纵向15格,(5)绘制Active图层:横向14格,纵向5格,(6)绘制P Select图层:横向18格,纵向9格,(7)绘制Poly 图层:据横向2 格,纵向9 格,(8)绘制A
2、ctive Contact 图层:横纵2格,(9)绘制Metal1 图层:纵横4格,(10)设计规则检查:由于绘制的图样是要制作集成电路的光罩图样,必须配合设计规则绘制图层,才能确保流程时的效率。设计规则检查ToolsDRC或按快捷按钮,(11)截面观察:利用L-Edit 的观察截面的功能,可观察该布局图设计出的组件的制作流程与结果。选择ToolsCross-Section 命令(或单击 按钮),将打开Generate Cross-Section对话框, 单击其中的 Browser 按钮, 在弹出的对话框中选择Tanner EDAL-Edit11.1samplessprexample1ligh
3、tsxst 文件,单击其中的Pick 按钮在编辑画面选择要观察的位置,再单击Generat Cross-Section 对话框的OK 按钮。,(12)重新命名:将Cell0 的名称重新命名,可选择CellRename 命令,打开Rename Cell Cell0 对话框,将cell 名称改成pmos,(13) 新增NMOS 组件:选择CellNew 命令,打开Create New Cell 对话框,在其中的New cell name 文本框中输入“nmos”,单击OK 按钮。,(14) 编辑NMOS 组件:依照PMOS 组件的编辑流程,建立出Active 图层、N Select 图层、Poly
4、 图层、Active Contact 图层与Metal1 图层,其中,Active 宽为14 个格点,高为5 个格点:Poly 宽为2 个格点,高为9 个格点:N Select宽为 18 个格点,高为9 个格点;两个Active Contact 宽皆为2 个格点,高皆为2 个格点:两个Metal1 宽皆为4 个格点,高皆为4 个格点,(15)设计导览:选择view 按钮,打开Design Navigator 窗口,可以看到Ex10 文件有nmos与pmos 两个cell,(16)保存文件,然后新建文件ex11,设置与上个一样,(17)复制组件:选择CellCopy 命令,或单击按钮,打开Sel
5、ect Cell to Copy 对话框,单击其中的Browser 按钮,在出现的对话框中选择刚才所编辑的文件Ex10tdb,再在Select Cell to Copy 对话框中选择nmos 组件,单击OK 按钮,则可将nmos 组件复制至Ex11tdb 文件中。之后再以同样的方式将pmos 组件复制到Ex11tdb 文件中。,(18)引用nmos 组件:使ex11文件的Cell0为当前编辑窗口,选择CellInstance 命令,打开Select Cell to Instance 对话框,可以看到,在组件列表中有Cell0,nmos 与pmos 这3 个组件,选择nmos 组件再单击OK 按
6、钮,可以看到编辑画面出现一个nmos 组件,,(19)引用pmos 组件:使ex11文件的Cell0为当前编辑窗口,选择CellInstance 命令,打开Select Cell to Instance 对话框,可以看到,在组件列表中有Cell0,nmos 与pmos 这3 组件,选择pmos 组件再单击OK 按钮,在编辑画面多出一个与nmos 重叠的pmos 组件,可利用Alt 键加鼠标拖曳的方式分开pmos与nmos,(20)设计规则检查:,系统显示有2 个错误,都是违背了设计规则23b,并标出发生错误的坐标范围。先回到Ex11tdb 文件,观看本范例设计规则的23b 规则是什么,此规则说
7、明ndiff 层与N Well 有最小距离的限制,最小距离为5 个Lambda。其中,ndiff即为field active 与N Select 交集。将nmos距离与pmos 距离拉开一点,使N Well 与nmos 的Active 区至少大于5 个格点即可通过设计规则检查。,(21)新增PMOS 基板节点组件:选择CellNew 命令,打开Create New Cell 对话框,在New cell name 文本框中输入“Basecontactp”,单击OK 按钮。,(22)编辑PMOS 基板节点组件:由于PMOS 的基板也需要接通电源,故需要在N Well上面建立一个欧姆节点,其方法为在
8、N Well 上制作一个N 型扩散区,再利用Active Contact将金属线接至此N 型扩散区。N 型扩散区必须在N Well 图层绘制出Active 图层与N Select 图层,再加上Active Contact 图层与Metal1 图层,使金属线与扩散区接触,绘制结果如图,其中 N Well 宽为15 个格点、高为15 个格点,Active 宽为5 个格点、高为5 个格点,N Select 宽为9 个格点、高为9 个格点,Active Contact 宽为两个格点、高为两个格点,Metal1宽为4 个格点、高为4 个格点。,(23)新增NMOS 基板接触点:选择CellNew,出现C
9、reate New Cell 窗口选单,在Newcell name:中填入Basecontactn,单击OK 按钮。 (24)编辑NMOS 基板节点组件:由于NMOS 的基板也需要接地,故需要在P Base 上面建立一个奥姆节点,其方法为在P Base 上制作一个P 型扩散区,再利用Active Contact 将金属线接至此P 型扩散区。P 型扩散区必须绘制出Active 图层与P Select 图层,再加上Active contact 图层与Metal1 图层,使金属线与扩散区接触,绘制结果如图,其中 Active 宽为5 个格点、高为5 个格点,P Select 宽为9 个格点、高为9
10、个格点,Active Contact 宽为两个格点、高为两个格点,Metal1 宽为4 个格点、高为4 个格点,(25)引用Basecontactp 组件:使ex11文件的Cell0为当前编辑窗口,选择CellInstance 命令,打开Select Cell to Instance 对话框,在其中选择Basecontactp 组件,如图,单击OK 按钮,则可将Basecontactp组件引入到目前编辑的Cell0组件中。,引入Basecontactp 组件后,利用Alt 键加上鼠标左键拖曳的方式将之移动到pmos 组件左边,并以进行检查,没有错误,如图,(26)引用Basecontactn
11、组件:使ex11文件的Cell0为当前编辑窗口,选择CellInstance 命令,打开Select Cell to Instance 对话框,在其中选择Basecontactn 组件,单击OK 按钮,则可将Basecontactn组件引入到目前编辑的Cell0组件中。引入Basecontactn 组件后,利用Alt 加上鼠标左键拖曳的方式将之移动到nmos 组件左边,并进行检查,没有错误,如图,(27)连接栅极Poly:由于反相器电路的pmos 与nmos 的栅极是要相连的,故直接以Poly图层将pmos 与nmos 的Poly 相连接,绘制出Poly 宽2个格点、高6 个格点,如图所示。绘
12、制后进行检查,没有错误。,(28)连接漏极:由于反相器电路的nmos 漏极与pmos 漏极是要相连的,则以Metal1 连接即可,利用Metal1 将图中的nmos 与pmos 的右边扩散区有接触点处相连接,绘制Metal1 宽4个格点、高11个格点,如下图 所示。绘制后进行检查,没有错误。,(29)绘制电源线:由于反相器电路需要有Vdd 电源与GND 电源,电源绘制是以Metal1图层表示,利用Metal1 将图中pmos 上方与nmos 下方各绘制一个宽为39 个格点、高为5 个格点的电源图样,绘制后进行检查,没有错误,如图所示。,(30)标出Vdd 与GND 节点:单击插入节点按钮 ,再
13、到编辑窗口中用鼠标左键拖曳出一个与上方电源图样重叠的宽为39 个格点、高为5 个格点的方格后,将出现Edit Object(s)对话框,如图所示。,在Port name 文本框中输入节点名称“Vdd”,在Text Alignment 选项组中选择文字相对于框的位置的右边,单击“确定”按钮。再单击按钮,再到编辑窗口中用鼠标左键拖曳出一个与下方电源图样重叠的宽为39 个格点、高为5 个格点的方格后,出现Edit Object(s)对话框,首先需先确定最上方的On 下拉列表框选择的是Metal1,接着在Portname 文本框输入节点名称“GND”,在Text Alignment 选项组选择文字相对
14、于框的位置的左边,再单击“确定”按钮,结果如图所示。,(31) 连接电源与接触点:将PMOS 的左边接触点Basecontactp 的接触点利用Metal1图层与Vdd 电源相连接,而将NMOS 的左边接触点与Basecontactn 的接触点利用Metal1 层与GND 电源相连接。在Layers 面板中的下拉列表中选择Metal1 项,使Metal1 样被选取,再从Drawing 工具栏中选择工具,在Cell0 辑窗口画出4 个4 格高、3 格宽的方形Metal1 层,如图所示,(32) 加入输入端口:由于反相器有一个输入端口,且输入信号是从闸极(Poly)输入,由于此范例使用技术设定为M
15、OSIOrbit 2U SCNAMEMS,输入输出信号由Metal2 传入,故一个反相器输入端口需要绘制Metal2 图层、Via 图层、Metal1 层、Poly ontact 图层与Poly 图层,才能将信号从Metal2 图层传至Poly 层。 先在编辑窗口空白处进行编辑,最后再移至整个组件的位置。先绘制Poly Contact 图层(2,2),再绘制Poly 图层(5,5),接着绘制Metal1 图层(10,4)使之重叠于Poly Contact 图样上,接着在Metal1 上要绘制Via 图层(2,2),Via 图层是用来连接Metal1 图层与Metal2 图层的接触孔,接着绘制M
16、etal2 图层(4,4),它要与图层Via 与Metal1 重叠。如图所示:,(33)将绘制结果利用局部设计规则检查按钮可进行局部的设计规则检查,方法为单击按钮 ,利用鼠标左键拖曳出要检查的地方,如刚才绘制的图,即可进行局部设计规则检查。,(34)可将此输入端口图形群组起来,先用选取按钮选取如图 所示的布局部分,再选择DrawGroup 命令,会出现Group 对话框。在Group CellName 文本框中命名此群组的一个组件名称,之后单击OK 按钮。,(35)将port A 部分移至反相器栅极的位置当成输入端口,结果如图所示。注意,在放置时Metal1 与Metal1 之间要距离3 个格
17、点以上,并要以设计规则检查无误才可。,(36)要将加入的port A 组件加入节点名称作为输入点,需利用加入节点按钮。单击按钮,再在Layers 面板的下拉列表中选择Metal2 选项,使Metal2 图样被选取,再到编辑窗口中用鼠标左键拖曳出一个与port A 组件的Metal2 图样重叠的宽为4 个格点、高为4 个格点的方格后,会出现Edit Object(s)对话框,,在Port name 文本框输入输入端口名称“A”,在Text Alignment 选项组选择文字相对于框的位置的左边,再单击“确定”按钮,结果如图所示,(37)加入输出端口:反相器有一个输出端口,输出信号是从漏极输出。先
18、绘制Via 图层,在Metal1 图层上画出横向2格、纵向2格的方形,接着绘制横向4格、纵向4格的Metal2 图层,它要与Via 与Metal1 图层重叠,将绘制的输出端口取名为OUT,要利用加入节点按钮。单击按钮,再在Layers 面板的下拉列表中选择Metal2 选项,使Metal2 图样被选取,再到编辑窗口中用鼠标左键拖曳出一个与刚绘制的Metal2 图样重叠的宽为4 个格点、高为4 个格点的方格后,出现Edit Object(s)对话框,在Port name 文本框中输入输入端口名称“OUT”,在Text Alignment 选项组中选择文字相对于框的位置的右边,再单击“确定”按钮,
19、结果如图所示。,(38)更改组件名称:将反相器布局图更改Cell 名称,可选择CellRename Cell 命令,打开Rename Cell Cell0 对话框,将cell 名改为inv,如图所示,(39)转化:将反相器布局图成果转化成T-Spice 文件,可选择ToolsExtract 命令 (或单击按钮 ),打开Extract 对话框,单击其中的Browser 按钮,在弹出的对话框中选择LEdit11.1Samplessprexample1lightsext 文件,如图所示,再到Output 选项卡,在Write nodes and devices as 选项组中选中Name 单选按钮,
20、即设定输出节点以名字出现,并在SPICE include statement 文本框输入“include C:Program FilesTanner EDAT-Spice10.1modelsml2_125.md”(根据ml2_125. md的实际路径来手动填写),如图所示,单击Run 按钮。,转化结果可通过 File-Open 命令来观看inv.spc 文件得到。,(40)T-Spice仿真:将反相器布局图转化出的结果inv.spc利用T-Spice来进行仿真。仿真程序如下:加载包含文件Vdd电压值设定设定A的输入信号分析设定输出设定进行仿真,设定完的结果如下图所示。,(41)加载包含文件:由
21、于不同的流程有不同的特性,在仿真之前,必须要引入MOS元件的模型文件,此模型文件内包括电容电阻系数等数据,以供T-Spice模拟之用。在本例是引用1.25um的CMOS流程元件模型文件ml2_125.md。执行T-Spice程序,打开刚生成的inv.spc文件。将光标移至主要电路之前,选择EditInsert Command命令,选择FilesInclude file选项,在右侧文本框中选择ml2_125.md所在路径,如图所示。单击Insert Command按钮,则在inv.spc文件中出现默认的以蓝色字开头的.include “C:Program FilesTanner EDAT-Spi
22、ce10.1 mod elsml2_125. md“。,(42)Vdd电压值设定:设定Vdd的电压值为5.0V。其方法为设定一个名称为vvdd的定电压源,加在Vdd和GND之间,定电压值为5.0V。其方法如下:选择EditInsert Command命令,再选择Voltage SourceConstant选项。在对话框右侧出现的Voltage Source name文本框中输入“vvdd”,在Positive terminal文本框中输入“Vdd”,在Negative terminal(GND)文本框中输入“GND”,在DC Value文本框中输入“5.0V”,如图所示,单击Insert Co
23、mmand按钮,则会出现vvdd Vdd GND 5.0的文字。,(43)设定A的输入信号:本例以脉冲波的方式设定输入A的电压信号,其周期为100ns,方波最大值为5.0V,最低为0V,5V维持时间为50ns。其方法如下:选择EditInsert Command命令,再选择Voltage SourcePulse选项,在对话框右侧的Voltage source name(电压源名称)文本框输入“va”,在Positive terminal(电源正端)文本框输入节点名称“A”,在Negative terminal(GND)(电源负端)文本框输入“GND”,在Initial(电源起始点)文本框输入“
24、0”,在Peak(电源脉冲最高点)文本框输入“5”,在Rise time(脉冲波形的上升时间)文本框输入“5n”,在Fall(脉冲波形的下降时间)文本框输入“5n”,在Pulse width(脉冲波形的脉冲宽度)文本框输入“50n”,在Pulse period(脉冲波形的脉冲周期)文本框输入“100n”,在Initial delay(起始延迟时间)文本框输入“50n”,如图所示。再单击Insert Command按钮,将会出现va A GND PULSE(0 5 50n 5n 5n 50n 100n)的文字。,(44)分析设定:将鼠标移至文件尾,选择EditInsert Command命令,再
25、选择AnalysisTransient选项。这里我们将仿真时间间隔设定为1ns,总仿真时间设定为400ns。首先在Modes选项组中选择Standard(from DC op.point)单选按钮,在Maximum time文本框输入“1n”,在Simulation文本框输入“400n”,如图所示。单击Insert Command按钮后,则会出现默认以蓝色字开头的.tran 1n 400n。,(45)输出设定:若要观察仿真结果,首先要设定仿真分析结果为哪些节点的电压或电流,本例中要观察的是输入节点A和输出节点OUT的电压仿真结果。将鼠标移至文件尾,选择EditInsert Command命令,
26、再选择OutputTransient results选项,在右侧出现的Plot type下拉列表中选择Voltage选项,在Node name文本框中输入节点名称“A”,注意大小写需与布局图中的节点名称完全一致,单击Add按钮。再回到Node name文本框输出节点名称“OUT”,单击Add按钮,如图所示。单击Insert Command按钮,则会出现默认以蓝色字开头的.print tran v(A) v(OUT)。,(46)进行仿真:完成设定后开始进行仿真分析。选择SimulationRun simulation命令,或单击 按钮,打开Rum simulation对话框,单击Start Simulation按钮,则会出现仿真分析结果的报告窗口Simulation Status,并会自动打开W-Edit窗口来观看仿真波形图。,(47)观看结果:可在T-Spice环境下打开仿真结果inv.out报告文件,如图所示。也可在W-Edit中观看仿真结果inv.out,选取工具图样 可分离v(A)曲线和v(OUT)曲线。,