tanner教程 下载本文

《集成电路原理与设计》

实验指导书

河北工业大学信息工程学院 集成电路原理与设计课程组

2007 年 8月

1

前 言

随着微电子的迅速发展,集成电路作为微电子的核心已经发展到65nm技术,单个芯片上能够集成多达七十亿个元器件,半导体技术正在进入将整个系统整合在单一晶片上的时代。目前各种电子产品的极大丰富使得集成电路的设计和制造成为研究的重点,因此了解集成电路的原理与设计也就成为大学生学习的关键。集成电路原理与设计课程主要介绍双极性集成电路(包括TTL电路、ECL电路、I2L电路)和MOS集成电路(包括NMOS、PMOS、CMOS)的组成特点、工作原理以及逻辑扩展方面的知识,借助计算机辅助设计软件,并遵循各项流程规则及参数规定进行仿真练习。Tanner Tools Pro提供完整的集成电路设计环境,可在PC机上运行,能够帮助学生进入VLSI设计领域。它从电路图设计、电路分析与仿真到电路布局环境一应俱全。学生通过仿真实验能够进一步深化对集成电路原理、半导体工艺等方面知识的理解和掌握,将电子科学与技术专业的基础知识融会贯通。

2

目 录

实验一 使用S—Edit设计简单逻辑电路 ----------------------------------------------------------------4 实验二 简单逻辑电路的瞬时分析和直流分析----------------------------------------------------------10 实验三 全加器电路设计与瞬时分析----------------------------------------------------------------------23 实验四 四位加法器电路设计与仿真----------------------------------------------------------------------28 实验五 使用L—Edit画PMOS布局图-------------------------------------------------------------------33 实验六 使用L—Edit画反相器布局图------------------------------------------------------------------43 实验七 四位加法器标准原件自动配置与绕线--------------------------------------------------------55

3

实验一 使用S—Edit设计简单逻辑电路(2学时)

一、实验目的

1. 2. 3. 4.

熟悉S—Edit电路图编辑环境 熟悉S—Edit中模块的编辑和引用

掌握S—Edit菜单中各项的意义和使用方法 掌握反相器和与非门两种电路图的编辑方法

二、实验内容

实验内容包括两个部分,首先利用S—Edit编辑反相器和与非门。操作流程:进入S—Edit——建立新文件——环境设置——引用模块——建立反相器电路与符号——新增模块——建立与非门电路与符号。

三、实验仪器、设备

1.主要设备是电脑

2.软件环境:Tanner Pro 11.1

四、实验原理

本实验中共包含六个模块,包括Vdd,Gnd,MOSFET_N,MOSFET_P,inv与Nand2,其中包括Vdd,Gnd,MOSFET_N,MOSFET_P模块是在利用Symbol Browser功能时,从元件库复制过来的。在模块inv中引用到包括Vdd,Gnd,MOSFET_N,MOSFET_P这四个模块,模块Nand2中也引用到包括Vdd,Gnd,MOSFET_N,MOSFET_P这四个模块。各模块的内容可以选择Module——Open命令打开并进行修改。 Wire(联机)按钮是用在电路设计模式中各元件之间的信号连接。要注意,元件符号节点以外的部分无法连接成功;Line按钮是画直线的工具,可以用来在符号模式中绘制电路符号,但不可以在电路设计模式中进行电路之间的联机操作。

MOSFET_N模块与MOSFET_P模块特性

各模块特性代表意义说明

4

模块特性 SPICE OUTPUT说明

五、实验步骤

(一)使用S-Edit编辑反相器

(1) 打开s-Edit程序:执行..\\Tanner\\ S-Edit目录下的sedit.exe文件,或选

择“开始”---“程序”---Tanner EDA---S-Edit---S-Edit命令,即可打开S-Edit程序,S-Edit会自动将工作文件命名为“FileO.sdb”并显示在窗口的标题栏上。

(2)另存新文件:选择File---Save As命令,打开“另存为”对话框,在“保存在”下拉列表中选择保存的路径,在“文件名”文本框中输入新文件的名称,如Ex2。

(3)环境设置:S-Edit默认的工作环境是黑底白线,但可按照用户的爱好来自定义颜色,例如,可将背景颜色换成白色,而将电路线条颜色换成黑色。选择Setup---Colors命令,打开Color对话框,可分别设置背景色(Background Color)、前景色(Foreground Color)、选取的颜色(Selection Color)、栅格颜色(Grid Color)与原点的颜色(Origin Color)。用鼠标来选择颜色的部分,即可更换颜色,将各颜色设置为图1.3所示的状态,则画面背景变成白色。

(4)编辑模块:S-Edit编辑方式是以模块(Module)为单位而不是以文件(File)为单位,每一个文件可以有多个模块,而每一个模块则表示一种基本组件或一种电路,故一个文件内可能包含多种组件或多个电路。每次打开新文件时便自动打开一个模块并将之命名为“Module0”。

(5)浏览组件库:S-Edit本身附有4个组件库,它们分别是在..\\Tanner\\S-Edit\\library目录的scmos.sdb, spice.sdb, pages .sdb与element.sdb 。若要引入这些组件库中的模块,可以选择Module---Symbol Browser命令,打开Symbol Browser对话框,单击Add Library按钮,可加入要使用的组件库,本范例中加入了scmos, spice, pages与element组件库在Library列表中,如图1.1所示。

(6)从组件库引用模块:编辑反相器电路会利用到NMOS, PMOS, Vdd与Gnd这4个模块,所以要从组件库中复制NMOS, PMOS, Vdd与Gnd这4个模块到Exl文件,并在Module0中编辑画面引用。其方法为:选择Module--- Symbol Browser命令,打开Symbol Browser对话框,在Library列表框中选取spice组件库,其内含模块出现在Modules列表框中,在Modules列表框中选取MOSFET_N选项(NMOS),单击Place按钮及Close按钮,则在Module0编辑窗口内将出现MOSFET_N的符号。以同样操作选出MOSFET_P选项(PMOS)后单击Place按钮,先不要单击Close按钮,再选出Vdd与Gnd符号并在每次选择后分别单击Place按钮,最后单击Close按钮则出现如图1.2所示的界面。

(7)编辑反相器:按住Alt键拖动鼠标,可移动各对象。注意,MOSFET_N与MOSFET_P选项分别有4个节点,Vdd与Gnd选项分别有一个节点。将4个对象摆放成如图1.3所示的位置,注意,在两对象相连接处,各节点上小圆圈消失即代表连接成功。

(8)加入联机:将4个对象排列好后再利用左边的联机按钮,完成各端点的信号连接,注意控制鼠标键可将联机转向,按鼠标右键可终止联机。当联机与组件节点正确相接时,节点上小圆圈同样会消失,但若有3个以上的联机或组件节点接在一起时,则会出现实心圆圈,如图1.4所示。

5

图1.1浏览组件库

图1.2 引用模块

图1.3 编辑反相器 图1.4 加入联机

(9)加入输入端口与输出端口:利用S-Edit提供的输入端口按钮与输出端口按钮,标明此反相器的输入输出信号的位置与名称,方法如下:选择输入端口按钮,再到工作区用鼠标左键选择要连接的端点,打开Edit Selected Port对话框,在Name文本框输入“IN”,单击OK按钮。再选择输出端口按钮,到工作区用鼠标

6

左键选择要连的端点,在打开的对话框的Name文本框中输入“OUT”单击OK按钮。若输入端口或输出端口未与所要连接的端点相接,则可利用移动功能将IN输入端口移至反相器输入端,将OUT输出端口接至反相器输出端,或利用联机功能将节点连接在一起,如图1.5所示。

图1.5 编辑输入端口与输出端口的结果

(10) 建立反相器符号:在此步骤之前是电路设计模式,S-Edit中的模块,除了可以建立设计电路的窗口外,还可以建立该电路符号的窗口,选择View---Symbol Mode命令,如图1.6所示,即切换至符号模式。选择了三角形工具后,按鼠标左键可画三角形的端点,按鼠标右键可画出三角形的终点,接着利用圆形工具画出圆形:,最后利用直线工具画出直线,如图1.7所示。

图1.6 切换至符号模式 图1.7 建立反相器符号

(11) 加入输入端口与输出端口:利用S-Edit提供的输入端口按钮与输出端口按钮,标明此反相器符号的输入输出信号的位置与名称,具体操作同步骤(10),结果如图1.8所示。注意,符号的输入输出端口的名称要与电路输入输出端口的名称相同,大小写亦需一致。 (12)更改模块名称:要将原来的模块名称Module0换成符合实际电路特性的名称,要选择Module---Rename 命令 ,打开Module Rename对话框,在其中的Newmodule抧ame文本框中输入“inv”, 之后单击OK按钮,即可完成反相器模块的S-Edit设计。

图1.8加入输入端口与输出端口

(13)反相器设计成果: 观看最后反相器设计成果,可分别选择View---Schematic Mode与View-Symbol Mode命令切换电路设计模式和符号模式两个窗口,或者选择View-ChangeMode命令来轮流在电路设计模式和符号模式这两个窗口之间进行切换。

7

(14)模块输出格式:S-Edit可将模块的内容输出成几种文字形式,具体操作是选择File---Export命令,打开Export Netlist对话框,在其中的Select Export Data Type下拉列表中可以看到有6种输出格式。

(15)输出成SPICE文件:将设计好的S-Edit电路图输出成SPICE格式,可借助于T-Spice分析与模拟此设计电路的性质,可选择File---Export命令输出,或单击S-Edit右上方按钮,会自动输出成SPICE文件并打开T-Spice与转出文件。

但此反相器的SPICE文件必须加入电源与其他设置,才能以T-Spice进行分析,这在后面的章节将详细说明。

(二)使用S-Edit编辑与非门

用S-Edit编辑与非门的详细步骤如下。 (1)新增模块:回到S-Edit的Exl.sdb文件,新增一个模块,选择Module---New命令,打开Create New Module对话框,如图1.19所示,在其中的Module Name文本框中输入“Nand2”,单击OK按钮,即可完成新增模块的操作。

(2)引用模块:选择Module---Instance命令,打开Instance Module对话框,在Files下拉列表中选择Ex1选项,在Select Module To Instance列表框中可以看到共有5个模块供引用,分别选取Vdd, Gnd,MOSFET_N与MOSFET_P选项,单击OK按钮。由于引用的符号出现在编辑画面相同的地方,可按住Alt键来用鼠标拖动来将4个符号分开。

复制并旋转:在Nand2的编辑窗口中选择MOSFET_P选项,使之成为红色的选取状态,再选择Edit ---Duplicate命令复制出MOSFET_P符号,再选择Edit---Flip---Horizontal命令水平翻转MOSFET_P符号,然后复制一个MOSFET_N符号。

(3) 加入联机:将6个对象排列好后再利用左边联机按钮,完成各端点的信号连接,注意,控制鼠标左键可将联机转向,按鼠标右键可终止联机。与非门联机部分完成界面如图1.9所示。

(4) 加入输入端口与输出端口,利用S-Edit提供的输入端口按钮与输出端口按钮,标明此与非门的两个输入端口A与B,一个输出端口OUT,如图1.10所示。

图1.9 加入联机 图1.10加入输入端口与输出端口

8

(5) 建立与非门符号:S-Edit中的模块,除了可建立供设计电路的窗口外,还有可建立该电路符号的窗口,前面与非门电路设计是在电路设计模式中进行,其电路符号的建立必须切换至符号模式,其方法为选择View---Symbol Mode命令,即可切换至符号模式。改变栅格的设置可以利用多段直线画出弧线,栅格设置可选择Setup---Grid命令,打开Setup Grid Parameters对话框,设置Mouse Snap Grid文本框的值为“1”,其单位为InternalUnits,画出的弧形。再设置Mouse Snap Grid文本框的值为“8”,单位为Internal Units。再用直线来完成反极闸的符号,如图1.11所示。

图1.11 绘制反极闸的符号

(6) 加入输入端口与输出端口:利用S-Edit提供的输入端口按钮与输出端口按钮,标明此与非门符号的输入输出信号的位置与名称,具体的操作同步骤(5)。注意,符号的输入与输出端口的名称要与电路的输入与输出端口的名称相同,大小写亦需一致。

(7) 与非门设计成果:观看最后反相器设计成果,可切换电路设计模式与符号模式这两个窗口,并可选择View---Home命令或按Home键来观看全景。

(8)输出成SPICE文件:将设计好的S-Edit电路图,输出成SPICE格式,可借助T-Spice软件分析与模拟此设计电路的性质,可由选择File---Export命令输出。或单击S-Edit右上方的按钮,会自动输出成SPICE文件并打开T-Spice软件与转出文件,如图1.12所示。

图1.12 打开SPICE文件

但此与非门的SPICE文件必须加入电源与某他设置,才能以T-Spice进行分析,这在后面的章节中将详细说明。

9

六、实验报告要求

1. 实验报告中要写明实验目的、实验内容和实验的过程; 2. 要分析每一步操作的意义和作用,并将实验的中间过程记录下来,将操作中的图片剪切到实验报告中,

以便说明实验的过程。

3. 对实验中出现的故障,做好记录。分析故障原因,说明解决办法。

七、实验注意事项

1. S-Edit的各个菜单中的选项可以通过快捷按钮实现,注意这些按钮的使用方法。 2. 由于系统占用资源较大运行仿真结果可能较慢,要耐心等待。

3. 实验过程中,注意记录中间过程和结果,利用抓图软件将中间过程剪切下来以便详细记录实验过程。

八、思考题

1. 在文件中建立或非门(NOR)元件 2. 在文件中建立异或门(XOR)元件

实验二 简单逻辑电路的瞬时分析和直流分析(2学时)

一、实验目的

1. 2. 3. 4. 5.

了解如何分析所绘制的电路图的功能能够达到原来预计的效果 了解如何使用电路分析软件来验证电路的功能 掌握电路分析中工作电压和输入信号的添加方法 掌握电路分析中分析设定和输出设定的方法

掌握从仿真分析结果中提取相应的参数和对结果进行分析归纳

二、实验内容

实验内容包括反相器的瞬时分析和直流特性分析以及与非门的直流特性分析,反相器瞬时分析操作流程:以S-Edit编辑反相器模块——输出成SPICE文件——进入T-SPICE——加载包含文件——电源设定——输入设定——分析设定——输出设定——执行仿真——显示结果。反相器直流特性操作流程:以S-Edit编辑反相器模块——输出成SPICE文件——进入T-SPICE——加载包含文件——分析设定——显示设定——执行仿真——显示结果。与非门直流分析操作流程:以S-Edit编辑与非门模块——输出成SPICE文件——进入T-SPICE——加载包含文件——电源设定——输入设定——分析设定——显示设定——执行仿真——显示结果。

三、实验仪器、设备

1.主要设备是电脑

2.软件环境:Tanner Pro 11.1

四、实验原理

10

T-Spice中各元件的代号

五、实验步骤

(一)反相器瞬时分析

(1) 打开S-Edit程序:依照第2章或第3章的方式打开S-Edit程序,S-Edit会自动将工作文件命名为“File0.sdb”并显示在窗口的标题栏上。

(2)环境设定:S-Edit默认的工作环境是黑底白线,但可按照第2章的步骤依自己的喜好来定义颜色。 (3) 另存新文件:选择File---Save As命令,打开“另存为”对话框,在“保存在”下拉列表中选择保存目录,在“.文件名”文本框中输入新文件的名称,如Ex3。由于在本实例中所使用的电路需要一个反相器及其电源,读者可自行绘制第2章的反相器电路,或按照如下的步骤从文件Ex2中复制反相器的模块到 Ex3文件,再打开加入电源进行适当的修改即可。

(4) 复制inv模块:要复制Ex2的inv模块到Ex3文件中,必须先打开第3章编辑的文件“Ex2.sdb ”。进行复制之前必须回到Ex3文件环境,方法为选择Module---Open命令,打开Open Module对话框,在Files下拉列表中选择Ex3选项,单击OK按钮,回到Ex3环境,才能进行复制模块的操作。选择Module---Copy命令,打开Copy Module对话框,在Files下拉列表中选择Ex2选项,在Select Module To Copy列表框中选择inv选项,单击OK按钮,即完成将inv模块从Ex2文件中复制到Ex3文件的操作。

(5) 打开inv模块:由于上一步骤复制模块的操作只是在Ex3文件中增加了inv模块(还有inv引用到的模块Vdd, Gnd,MOSFET_N与MOSFET_P ),而Ex3依旧在Module0模块的编辑环境下,所以要编辑inv模块必须先选择Module---open命令,打开Open Module对话框,在Files下拉列表中选择Ex3选项,在Select Module To Open列表框中选择inv选项,单击OK按钮。 (6) 加入工作电源:确定inv模块在电路设计模式,选择Module---Symbol Browser命令,打开Symbol Browser对话框,在Library列表框中选择spice组件库,其内含模块出现在Modules列表框中,其中有很多种电压源符号,选取直流电压源Source_v_dc作为此电路的工作电压源。

直流电压源Source _v_dc符号有正(+)端与负(一)端。在inv模块编辑窗口中将直流电压源Source _v_dc符号的正(+)端接Vdd, 将直流电压源Source _v_dc符号的负(--)端接Gnd,可以连接成如图2.1或图2.2所示的画面,但我们将以图2.1的方式继续编辑。在图2.1中,虽将两个全域符号Vdd及两个Gnd符号分开放置,但两个分离的Vdd符号实际上是接到同一个节点,而两个Gnd符号也是共同接地。所以为了使外加电源与设计电路能清楚地分开,建议读者采用图2.2所示的电路图表示方法。

11

图2.1 工作电源加入结果一

图2.2 工作电源加入结果二

(7) 加入输入信号:选择Module---Symbol Browser命令,打开Symbol Browser对话框,在Library列表框中选取spice组件库,其内含模块出现在Modules列表框中,选取脉冲电压源.Source_v_pulse作为反相器输入信号,将脉冲电压源Source_v_pulse符号的(+)端接输入端口IN,将脉冲电压源Source_v_pulse符号的负(一)端接Gnd,则编辑完成画面如图2.3所示。

12

图2.3 加入输入信号的结果

(8) 更改模块名称:因在本实例中是利用反相器电路来学习使用T-Spice的瞬时分析功能,日后尚需将该电路应用在其他的分析之中,为避免文件混杂且便于日后分辨,故将原本的模块名称inv改成inv_tran。选择Module---Rename命令,打开Module Rename对话框,在New module's name文本框中输入“inv_tran”,单击OK按钮。

(9) 输出成SPICE文件:要将设计好的S-Edit电路图借助T-Spice软件分析与模拟此电路的性质,需先将电路图转换成SPICE格式。要进行此操作,第一种方法是单击S-Edit右上方的按钮,则会自动输出成SPICE文件并打开T-Spice软件,第二种则可由选取窗口选单File---Export输出文件,再打开T-Spice程序其方法是可以执行在..\\Tanner\\T-Spice70目录下的“wintsp32.exe”文件,或选择“开始”---“程序”---Tanner EDA---T-Spice Pro v7.0---T-Spice命令即可打开T-Spice程序,再打开从Ex3的inv_tran模块输出的inv_tran.sp文件,结果如图2.4所示。

(10) 加载包含文件:由于不同的流程有不同特性,在模拟之前,必须要引入MOS组件的模拟文件,此模拟文件内有包括电容电阻系数等数据,以供T-Spice模拟之用。本范例是引用1.25um的CMOS流程组件模型文件“m12_125.md”。将鼠标移至主要电路之前,选择Edit---Insert Command命令,打开T-Spice Command Tool对话框,在左边的列表中选择Files选项。此时在右边窗口将出现4个按钮,可直接单击Include按钮,也可展开左侧列表中的Files选项,并选择Include file选项。

图2.4 输出成SPICE文件

选择 Include file选项之后,此时单击Browse按钮在目录窗口中先找到..\\Tnnner\\TSpice70\\models\\目录,接着选取模型文件m12_125.md, 在Include file文本框中将出现..\\Tanner\\TSpice70\\models\\ml2_l25.md文件。

13

再单击Insert Command按钮,则会出现默认的以红色字开头的“.include ` C:\\Tanner\\TSpice70\\models\\m12_125.md’”。

(11) 分析设定:此范例为反相器的瞬时分析,必须下瞬时分析指令,将鼠标移至文件尾,选择Edit---Insert Command命令。打开T-Spice Command Tool对话框,在左边的列表框中选择Analysis选项,右边出现8个选项,可直接选取瞬时分析按钮Transient,也可展开左边列表框中的Analysis选项,并选择其中的Transient选项。

单击Transient按钮之后,在此将设定模式,并设定其时间间隔与分析时间范围,此处将模拟时间间隔设定为1ns,总模拟时间则为400ns。首先在Modes选项组中选中Standard (from DC op.point)单选按钮,在右边出现的Maximum Time文本框中输入“In”,在Simulation文本框中输入“400n”,在Methods选项组中选中Standard BDF单选按钮。单击Insert Command按钮后,则会出现默认的以红色字开头的“.tran/op 1n 400nmethod=bdf”,如图2.5所示。

图2.5 瞬时分析设定结果

(12) 输出设定:观察瞬时分析结果,要设定观察瞬时分析结果为哪些节点的电压或电源,在此要观察的是输入节点IN与输出节点OUT的电压模拟结果。将鼠标移至文件尾,选择Edit---Insert Command,.在出现对话框的列表框中,选择Output, 右边出现7个选项,可直接单击Transient results按钮,亦可展开左侧列表框的Output,选择Transient results选项。

单击Transient results按钮之后,在右边出现的Plot type下拉列表中选择Voltage:选项,在Node name文本框输入输入节点名称“IN”,注意大小写需与组件所接的节点名称完全一致,单击Add按钮。再回到Node name文本框输入输出节点名称\单击Add按钮。最后单击Insert Command按钮,则会出现内定以红色字开头的“.print tran v(IN) v (OUT)”,如图2.6所示。

图2.6 设定结果

(13)进行模拟:选择Simulate---Start Simulation命令,或单击命令,打开Run Simulation对话框,如图2.20所示,单击Start Simulation按钮,则会出现模拟结果的报告“Simulation Status”,并会自动打开W-Editor窗口来观看模拟波形图。

(14)观看结果:可在T-Spice环境下打开模拟结果“inv_tran.out”报告文件,如图2.7所示。瞬时分析结果的输出格式为第一行列出时间,第二行与第三行分别列出各时间对应的节点电压值v (IN) 与v (OUT)。

14

图2.7 模拟状态窗口

也可以在W-Edit中观看模拟结果“inv_tran.out”的图形显示,选择工具图样来分离v (IN) 曲线与v (OUT) 图样。上面的曲线为输出电压对时间的图,下面的曲线为输入电压对时间的图。注意,横坐标都是时间(ns),纵坐标都是电压(V)。

(15)分析结果:将模拟结果作分析,验证反相器模拟结果是否正确。时间10一110ns的输入数据为1,反相结果应为0, 即代表v (OUT)=0。从模拟结果来看,时间10-110ns的输出电压结果是正确的。时间120-200ns的输入数据为0, 反相结果应为1,即代表v (OUT)=1。从模拟结果来看,如图2.23所示,时间120-200ns的输出电压结果是正确的。

(16)时间分析:反相器的瞬时分析除了可以由波形看出其输入随时间变化造成的输出变化以外,还可以运用measure指令计算出信号的延迟或上升与下降时间。在此先分析一下输出电压v (OUT)的下降时间,输出电压的计算方式为从最大稳定电压的90%降到最大稳定电压的10%所花的时间,本范例中最大稳定电压为5V, 故最大稳定电压的90%为4.5V,而最大电压的10%为0.5V, 本范例选取第二个下降波形来进行计算。在inv_tran.sp中加入measure指令,方法为:选择Edit---Insert Command命令,打开T-Spice Command Tool对话框,选择左边列表框中的Output选项,右边出现7个选项,可直接单击Measure按钮。

在右边出现的Analysis type下拉列表中选择Transient选项,在Measurement result name文本框中输入分析的项目名称“falltime”,在Measurement type下拉列表中选择的计算方式为Difference。在Trigger选项组中选择When signal单选按钮,设定当信号v(OUT)的第二个下降波形从4.5V时开始计算,即在When signal单选按钮后的文本框中输入“v (OUT)”,在on下拉列表中选择fall选项,在crosses value文本框中输入“4.5”,在number下拉列表中选择2选项。在Target选项组设定信号v (OUT)的第二个下降波形的0.5V为下降时间计算的截止处,即在When signal单选按钮后面的文本框中输入“v(OUT)”,在on下拉列表中选择fall选项,在crosses value文本框中输入“0.5”,在number下拉列表中选择2选项。最后单击Insert Command按钮,则会出现默认的以红色字开头的“.measure trap falltime trig v(OUT) va1=4.5 fall=2 targ v (OUT) val=0.5 fall=2”,如图2.8所示。

图2.8 时间分析设定结果

15

(17) 进行模拟:选择Simulate---Start Simulation命令,或单击按钮,打开Run Simulation对话框,单击Start Simulation按钮,则会出现模拟结果的报告“Simulation Status ”,并会自动打开W-Editor窗口来观看模拟波形图。

(18) 观看时间分析结果:在T-Spice环境下打开模拟结果inv_tran.out报告文件观看下降时间的计算结果,如图2.9所示。从报告文件中可以看到Trigger的时间在2.0338e-7s, 而Target时间为2.0509e-7s, 其间的差即下降时间Falltime为1.7102e-9s。

图2.9 时间分析结果报告文件

(二)反相器直流分析 (1) 打开S-Edit程序:依照第2章或第3章的方式打开S-Edit程序,S-Edit会自动将工文件命名为File0.sdb,并显示在窗口的标题栏上。

(2) 环境设定:S-Edit默认的工作环境是黑底白线,但可以来设定自己喜欢的颜色。

(3) 另存新文件:选择File---Save As命令,打开“另存为”对话框,在“保存在”列表框中选取保存的目录,在“文件名”文本框中输入新文件的名称,如Ex4。由于在本章中所使用的电路需要一个反相器及其电源,可自行绘制反相器电路,或从文件Ex2复制反相器的模块到Ex4文件,再对加入的工作电源做适当的修改即可,如下面的步骤所示。

(4) 复制inv模块:将inv模块从Ex2文件中复制至Ex4文件的方法可参考第4章的相关内容。

(5) 打开inv模块:由于步骤(4)的复制模块的动作,只是在Ex4文件中增加了inv模块(还有inv引用到的Vdd, Gnd, MOSFET_N与MOSFET_P模块),而Ex4依旧在Module0编辑环境下,所以要打开并编辑inv模块,必须选择Module---Open命令,之后打开Ex4文件中的inv模块。

(6) 加入工作电源:确定inv模块在电路设计模式(.Schematic Mode),再选择Module---Symbol Browser命令,打开Symbol Browser对话框,在Library列表框中选择spice组件库,其内含模块出现在Modules列表框中,其中有很多种电压源符号,选取出直流电压源Source_v_de作为此电路的工作电压源。直流电压源Source_v_dc符号有正(十)端与负(一)端。在inv模块编辑窗口中将直流电压源Source_ v_dc符号的正(+)端接vdd,将直流电压源Source_ v_dc符号的负(-)端接Gnd,连接的结果如图2.10所示。

(7)加入输入信号:在此范例输入信号源也选用直流电压源Source_v_dc, 可以通过选择Module---Instance命令引用 Source_v_dc模块,也可以选择编辑窗日内的Source _v_dc符号使之变为红色,再选择Edit---Duplicate命令复制一个Source _v_dc符号作为反相器输入信号,将直流电压源Source_v_dc符号的正(+)端接输入端口IN, 将直流电压源Source _v_dc 符号的负(-)端接Gnd, 编辑完成的画面如图2.11所示。

16

图2.10 加入工作电源

图2.11 加入输入信号

(8) 更改模块名称:因在本章中是利用反相器电路来学习使用T-Spice的直流分析功能,后面还需要将

17

该电路应用在其他种分析中,为了避免以后文件混杂状态,故将原本的模块名称inv改换成inv dc。选择Module---Rename命令,打开Module Rename对话框,在New module's name文本框中输入\”,之后单击OK按钮。

(9) 编辑Source v dc对象:inv dc模块有两个直流电压源Source v dc符号,为了便于区别它们,可利用编辑对象更改其引用名称与SPICE输出形式。选取在Vdd与Gnd之间的Sourcev dc符号使之变为红色,选择Edit---Edit Object命令,打开Edit Instance of Module Source v dc对话框,将Source v dc符号引用名称Instance name更改为vvdd,再将Properties选项组中的SPICE OUTPUT文本框中的内容“V#”改为“${instance}”,即SPICE OUTPUT文本框中的内容变为“${instance} %(pos) %{neg} ${V}’’。要注意,其中的V为默认值5.0。做了这些修改后SPICE输出形式会是vvdd Vdd Gnd 5.0。

再选取在IN与Gnd之间的Source_v dc符号使之变成红色,再选择Edit---Edit Object命令,打开Edit Instance of Module Source v dc对话框,将Source v dc符号引用名称Instance name更改为“vin\再将Properties选项组中的SPICE OUTPUT文本框中的内容“v#”改为“${instance}”,即SPICE OUTPUT文本框中的内容变为“${instance) %{pos)%{neg} ${V}”。要注意其中的V也己改为1.0。做了这些修改后SPICE输出形式会是vin IN Gnd 1.0 。编辑对象其中的工作电压源为5.0V的直流电压源,输入信号为1.0V的直流电压源。

(10) 输出成SPICE文件:要将设计好的S-Edit电路图借助T-Spice软件分析并模拟此电路的性质,需要先将电路图转换成SPICE格式。进行此操作共有两种方法,第一种方法是单击S-Edit右方的按钮,则会自动输出成SPICE文件并打开T-Spice软件;第二种方法则是选择File --- Export命令输出文件,再打开 T-Spice程序,执行在..\\Tanner\\Tspice70 目录下的wintsp32.exe文件,或选择“开始”---“程序”---Tanner EDA---T-Spice Pro v7.0---T-Spice命令,即可打开T-Spice程序,再打开从Ex4的inv dc模块输出的inv dc.sp文件,结果如图2.12所示。

图2.12 输出成SPICE文件

(11) 加载包含文件:由于不同的流程有不同特性,在模拟之前,必须要引入MOS组件的模型文件,此模型文件包括电容电阻系数等数据,以供T-Spice模拟之用。在这里引用1.25um的CMOS流程组件模型文件m12_125.md。将鼠标移至主要电路之前,选择Edit---Insert Command命令,在出现的对话框左侧的列表框中选择Files选项,此时在右边选项组将出现4个按钮,可直接单击Include按钮,或展开左侧列表框中的Files选项并选择Include file选项,此时单击Browse按钮,在出现的对话框中先找

18

到..\\Tanner\\TSpice70\\models\\目录,接着选取模型文件m12_125.md,则在Include file选项组内将出现..\\Tanner\\ TSpice70\\models\\ml2 _125.md。再单击Insert Command按钮,则会出现默认以红色字开头的“.include ' C:\\Tanner\\TSpice70\\models\\ml2_125.md' ”,如图2.13所示。

图2.13 包含文件设定结果

(12)分析设定:由于本章是反相器的直流分析,模拟反相器的转换曲线,在这里模拟输入电压vin从0V变动到5V时(以0.02V线性增加),输出电压对应于输入电压变动的情况。将鼠标移至文件尾,选择Edit---Insert Command命令,在出现的对话框的列表框中,选择Analysis选顶,右边会出现8个按钮,选择Analysis选项下的DC transfer sweep选项,单击右侧的Sweep 1按钮,打开Sweep对话框。在Sweep type下拉列表

中选择Linaer选项,在Parameter type 下拉列表中选择Source选项,在Source name文 本框中输入“vin”,在Start文本框中输入“0”,在Stop文本框中输入“5.0”,在Increment文本框中输入“0.02”,先单击Accept按钮,再单击Insert Command按钮则会出现默认以红色字开头的“.dc lin source vin 0 5.0 0.02”,如图2.14所示。

图2.14 vin电源Sweep设定结果

(13)输出设定:在此要观察的是输出节点OUT电压v (OUT) 对vin电压做图的模拟结果。将鼠标移至文件尾,选择Edit---Insert Command命令,在出现的对话框的左侧的列表框中选择Output选项,右边会出现7个选项,选择Output选项下的DC results选项,在右边的Plottype下拉列表中选择Voltage选项,在Node name文本框中输入“OUT”,单击Add按钮,再单击Insert Command按钮,则会出现默认的以红色开头的“.print dc v (OUT)”。

(14)进行模拟:选择Simulate---Start Simulation命令,或单击按钮,打开Run Simulation对话框,单击其中的Start Simulation按钮,则会出现模拟状态窗口Simulation Status,并自动打开W-Editor窗口以观看模拟波形图。

19

(15)观看结果:可在T-Spice环境下打开模拟结果报告文件inv dc.out。也可以在W-Edit下观看模拟结果inv dc.out,即反相器的转换曲线。其中,纵坐标为输出电压,横坐标为输入电压。 (三)与非门直流分析 (1) 打开S-Edit程序:依照第2章或第3章的方式打开S-Edit程序,S-Edit会自动将工作文件命名为File0.sdb并显示在窗口的标题栏上。

(2) 环境设定:S-Edit默认的工作环境是黑底白线,但可以依照第2章的步骤来自定义颜色。

(3) 另存新文件:选择File---Save As命令,打开“另存为”对话框,在“保存在”下拉列表中选择存储的目录,在“文件名”文本框中输入新文件的名称,如Ex5。由于在本章中所使用的电路需要一个与非门及其电源,读者可自行绘制如第3章所示的与非门电路,或从文件Ex2复制与非门的模块到Ex5文件,再打开该文件加入电源并进行适当的修改即可,如后面的步骤所示。

(4) 复制Nand2模块:将Nand2模块从Ex2文件中复制到Ex5文件。

(5) 打开Nand2模块:由于步骤(4)复制了模块的动作,只是在Ex5文件中增加了Nand2模块(还有Nand2引用到的Vdd, Gnd, MOSFET_N与MOSFET_P模块),而Ex5依旧在Module0编辑环境下,所以要打开并编辑Nand2模块,必须选择Module---Open命令,打开Ex5文件中的Nand2模块。

(6) 加入工作电源:确定Nand2模块在电路设计模式(Schematic Mode)下,再选择Module Symbol Browser命令,打开Symbol Browser对话框,在Library 列表框中选择spice组件库,其内含模块出现在Modules列表框中,其中有很多种电压源符号,选取出直流电压源Sourcev dc作为此电路的工作电压源。直流电压源Source v dc符号有正(十)端与负(一)端。在Nand2模块编辑窗口中将直流电压源Source v dc符号的正(+)端接Vdd,将直流电压源Source v dc符号的正(+)端接Vdd,将直流电压源Source v dc符号的负(一)端接Gnd, 连接的结果如图2.15所示。

图2.15 加入工作电源

(3) 加入输入信号:在此范例输入信号源也选用直流电压源Source v dc,可以利用Module---Instance命令,引用Source v dc模块,或选取编辑窗口内的Source v dc符号使成红色,利用Edit---Duplicate命令复制两个Source v dc符号作为与非门输入信号,将其中一个直流电压源Source v dc符号的正(+)端接输入端口A,将其负(一)端接Gnd 。再将另外一个直流电压源Source v dc符号的正(+)端接输入端口B, 将其负(一)端接Gnd,则编辑完成画面出现,如图2.16所示。

20

图2.16 加入输入信号

(4) 更改模块名称:因在本章中是利用与非门电路学习使用T-Spice的直流分析功能,后面还需要将该电路应用在其他种的分析之中,为避免以后文件混杂,故将原来的模块名称Nand2变成Nand2_dc。选择Module---Rename命令,打开Module Rename对话框,在New module’s name文本框中输入“Nand2_dc”,之后单击OK按钮。

(9) 编辑 Source v dc对象:Nand2_dc模块有3个直流电压源Source v dc符号,要便于区分这3个直流电压源Source v dc符号,利用编辑对象功能更改其引用名称与SPICE输出形式即可。选取在Vdd与Gnd之间的Source v dc符号使之成为红色,再选择Edit---Edit Object命令, 打开Edit Instance of Module Source v dc对话框,更改Source v dc符号引用名称Instance Name为“vvdd\,再将Properties选项组中的SPICE OUTPUT文本框的内容中的“v# ”改为“${instance}”,即SPICE OUTPUT文本框的内容变为“${instance}%{pos} % {neg)${V}”。要注意,其V为默认值5.0。做此修改后,SPICE输出形式会是va A Gnd 5.0。 再选取在B与Gnd之间的Source v dc符号使之变成红色,选择Edit---Edit Object命令,打开Edit Instance of Module Source v dc对话框,更改Source v dc符号引用名称Instance Name为“vb”,再将Properties选项组中的SPICE OUTPUT文本框的内容中的“v#”改为“${instance}”,即SPICE OUTPUT文本框的内容变为“${instance}%{pos}%{neg}${V}”。做此修改后,SPICE输出形式会是vb B Gnd 5.0。

(10) 输出成SPICE文件:要将设计好的S-Edit电路图借助SPICE软件分析与模拟此电路的性质,需要先将电路图转换成SPICE格式,将电路图转换成SPICE格式共有两种,第一种方法是单击S-Edit右上方按钮,则系统会自动输出成SPICE文件并打开T-Spice软件;第二种方法则是选择File---Export命令输出文件,再打开T-Spice程序(选择在..\\Tanner\\Tspice70目录下的wintsp32.exe文件,或选择“开始”---“程序”---Tanner EDA---T-Spice Pro v7.0---T-Spice命令,即可打开T-Spice程序),之后打开从Ex5的Nand2 dc模块输出的Nand2 dc.sp文件,结果如图2.17所示。

21

图2.17 输出成SPICE文件

(11) 加载包含文件:由于不同的流程有不同的特性,在模拟之前,必须要引入CMOS组件的模型文件,此模型文件内包括电容电阻系数等数据,以供T-Spice模拟之用,本章引用1.25um的CMOS流程组件模型文件m12_125.md 。将鼠标移至主要电路之前,选择Edit---Insert Command命令,在出现的对话框的列表框中选择Files选项,在右边窗口将出现4个按钮,可直接单击其中的Include按钮,或者展开左侧列表框中的Files选项,并选择其中的Include file选项,单击Browse按钮,在出现对话框中找到..\\Tanner\\TSpice70\\models\\目录,选取其中的模型文件m12_125.md, 这样,在Includefile选项组中将会出现“..\\Tanner\\TSpice70\\models\\m12_125.md”。再单击Insert Command按钮,则会出现默认以红色字开头的“.include `C :\\Tanner\\TSpice70\\models\\m12_l25.md”。 (12) 分析设定:本范例为与非门的直流分析,在此模拟输入电压va从0V变动到5V时(以0.1V线性增加),vb从0V变动5V时(以1V线性增加),输出电压对输入电压的变动结果。将鼠标移至文件尾,选择Edit---Insert Command命令。在出现的对话框中的列表框中选择Analysis选项,右边窗口出现8个选项,再在Analysis选项下选择DC transfer sweep选项,在右边窗口单击Sweep l按钮,打开Sweep对话框。在Sweep type下拉列表中选择Linear选项,在Parameter type下拉列表中选择Source选项,在Source name文本框中输入“ va”,在Start文本框中输入“0”,在Stop文本框中输入“5.0”,在Increment文本框中输入\,单击Accept按钮。单击Sweep2按钮,打开Sweep对话框。在Sweep type下拉列表中选择Linear选项,在Parameter type下拉列表中选择Source选项,在Source name文本框中输入\在Start文本框中输入 “0”,在Stop文本框中输入“5.0”,在Increment文本框中输入“1”,单击Accept按钮,之后单击Insert Command按钮,将会出现“.dc lin source va 05.0 0.1 sweep lin source vb 0 5.0 1”的文字。要注意,在上述步骤中,设定按钮Sweepl及Sweep2的内容时,按钮Sweep2中的Increment文本框中的值不应太小。

(13)输出设定:在此要观察的是在不同输入节点A电压va与输入节点B电压vb下,输出节点OUT的电压模拟结果。将鼠标移至文件尾,选择Edit--- Insert Command命令,在出现的对话框的列表框中选择Output选项,右边窗口将出现7个选项,再在Output选项中选择DC results选项,将出现对话框,在右边出现的Plot type下拉列表中选择Voltage选项,在Node name文本框中输入“OUT”,单击Add按钮,之后单击Insert Command按钮,将会出现“.print dc v (OUT)”的文字。

(14) 进行模拟:选择Simulate---Start Simulation命令,或单击按钮,打开Run Simulation对话框,单击Start Simulation按钮,将出现模拟状况的窗口Simulation Status,并会自动打开w-Editor窗口来观看模拟波形图。 (15) 观看结果:可在T-Spice环境下打开模拟结果Nand2_dc.out报告文件。注意第一行是va从0 —5V的

22

扫描值纪录,第二行是输出节点OUT的电压值纪录,共有6组va从0—5V的扫描值纪录,它们分别配合不同的vb值,产生6组节点OUT的电压值。

也可以在W-Edit中观看Nand2的直流分析结果Nand2_dc.out。其中,纵坐标为输出电压,横坐标为A输入的电压va,其中有6条线分别为不同的B输入电压vb,如图2.61中,粉红色为vb=0V,蓝色为vb=1V,黄色为vb=2V,橘色为vb=3V,绿色为vb=4V,黑色为vb=5V。可以连续单击线两次,观看曲线的性质,例如,连续单击橘色曲线两次,打开Trace Properties对话框,可从图中看到此条曲线为vb=3,输出电压v (OUT) 对va的直流分析图,而且从此图还可证明本实例的电路符合与非门的特性,例如,粉红色曲线vb=0V表示vb输入为low,则无论va输入为low或high(0V或5V),输出皆为high(5V)。而黑色曲线vb=5V表示vb输入为high,当va输入为low(va=0V)时输出为high(5V),而当va输入为high(va=5V)时输出则为low(0V)。

六、实验报告要求

1、实验报告中要写明实验目的、实验内容和实验的过程;

2、要分析每一步操作的意义和作用,并将实验的中间过程记录下来,将操作中的图片剪切到实验报告中,以便说明实验的过程。

3、对实验中出现的故障,做好记录。分析故障原因,说明解决办法。

七、实验注意事项

1、S-Edit的各个菜单中的选项可以通过快捷按钮实现,注意这些按钮的使用方法。 2、由于系统占用资源较大运行仿真结果可能较慢,要耐心等待。

3、实验过程中,注意记录中间过程和结果,利用抓图软件将中间过程剪切下来以便详细记录实验过程。

八、思考题

1. 2. 3. 4.

计算出反相器的上升时间。 计算出反相器的延迟时间。 进行或非门的直流分析。 进行异或门的直流分析。

实验三 全加器电路设计与瞬时分析(综合性实验)(2学时)

一、实验目的

1.

2. 3. 4. 5.

了解如何分析所绘制的电路图的功能能够达到原来预计的效果 掌握如何使用S-Edit编辑全加器的绘制方法 掌握全加器瞬时分析的方法

掌握电路分析中分析设定和输出设定的方法

掌握从仿真分析结果中提取相应的参数和对结果进行分析归纳

二、实验内容

实验内容包括全加器的电路编辑和瞬时分析,具体操作流程:打开S-Edit程序——环境设定——另存新文件——从元件库中引用元件——编辑全加器——标注节点名称——加入输入端口与输出端口——建立全加器符号——加入输入端口与输出端口——全加器设计成果观察——输出成SPICE文件——加载包含文件——设定参数值——Vdd电压值设定——设定A的输入信号——设定B的输入信号——设定Ci的输入信号——分析设定——输出设定——进行仿真——观看结果——分析结果。

三、实验仪器、设备

1.主要设备是电脑

23

2.软件环境:Tanner Pro 11.1

四、实验原理

本实验Ex6.sdb中有好几个模块,包括fulladder,Vdd,Gnd,N_4,P_4,Inv,NOR2,NAND3C,NAND3C,NOR2C与NOR3C等。其中,Inv,NOR2,NAND3C,NOR2C这5个模块是在利用Symbol Browser功能时,从组件库复制到Ex6.sdb文件中,同时也将这些模块引用到的模块Vdd,Gnd,N_4,P_4复制到Ex6.sdb文件中。各模块内容可以通过选择Module→Open命令打开进行修改。全加器的输入(Ci,A,B)与输出(S,Co)关系式,一般来说是用一下布尔方程式来表示。

五、实验步骤

(一)全加器电路设计 (1) 打开S-Edit程序:依照第2章或第3章的方式打开S-Edit程序,S-Edit会自动将工作文件命名为File0.sdb并显示在窗口的标题栏上。

(2) 环境设定:S-Edit默认的工作环境是黑底白线,但也可以按照第2章的步骤设定为自己喜欢的颜色。 (3) 另存新文件:选择File—Save As命令,打开“另存为”对话框,在“保存在”下拉列表中选择保存的目录,在“文件名”文本框中输入新文件的名称,如Ex6。

(4) 编辑模块:S-Edit的编辑方式是以模块(Module)为单位而不是以文件(File)为单位,每一个文件可有多个模块,而每一个模块即表示一种基本组件或一种电路,所以,一个文件中可能包含多种组件或多个电路。每次打开—个新文件便会自动打开一个模块并将其命名为Module0。

(5) 从组件库引用模块:可从scmos组件库分别复制NOR2C,NAND2C,NOR3C,NAND3C与Inv模块到Ex6文件中,并在Module0编辑画面中引用。方法是选择Module---以同样操作再选出NAND2C符号,单击Place按钮后会出现模块名称冲突的对话框Module Name(s) Conflict, 在其中的列表框中列出复制时发生冲突的模块名称有GND,Vdd,N_4 与P_4等,可选择第4项解决方式Don't copy colliding modules. Use the cells in the current file instead, 即选择不要复制发生名称冲突的模块,使用文件中现有的模块。接着单击Proceed接钮,则在Module0编辑窗口内将出现NOR2C的符号。以同样的方式将NOR3C, NAND3C与NOR2项选择出来并放置在当前Module0编辑窗口中。

(6) 编辑全加器:按住Alt键的同时拖动鼠标可以移动各对象。需要重复使用的符号,可通过选择Edit---Duplicate命令或按住Ctrl键的同时拖动鼠标来进行。之后利用左边的联机按钮,完成端点的信号连接,:注意,控制鼠标可将联机转向,右击可终止联机。当联机与组件节点正确相接时,节点上的小圆圈会消失,但若有3个以上的联机或组件节点接在一起时,则会出现实心圆圈,将各对象摆放成如图3.1所示的位置。注意,NOR2C, NOR3C,NAND2C与NAND3C各有两个输出,而NOR2C与NOR3 C偏下面的

24

输出可作为OR输出,同样,NAND2C与NAND3C偏下面的输出可作为AND输出。注意,两个对象相连接处的各节点上的小圆圈消失即代表连接成功。

图3.1 编辑全加器

(7) 标注节点名称:要标注图3.3中的节点名称,可利用s-Edit提供的节点标签按钮,方法如下:单击节点标签按钮,再到工作区中选择要连接的端点,打开Place Node Label对话框,在Name文本框中输入节点的名称,在Origin Location选项组中选择节点名称与节点的相对位置,之后单击OK按钮即可。节点名称标示可参考如图3.2所示的结果。最好配合T-Spice的节点命名规则,除了Tab键、空格键、;、’、{}、/、=与()键不能作为名称,其他字符都可以。

图3.2 标注节点名称的结果

(8) 加入输入端口与输出端口:利用S-Edit提供的输入端口按钮与输出端口按钮,标明此全加器的输入输出信号的位置与名称,方法如下:单击输入端口按钮,到工作区中用鼠标左键选择要连接的端点,打开Edit Selected Port'对话框,在Name文本框中输入输入端口的名称,单击OK按钮,在这里要分别建立A,B与Ci这3个输入端口; 单击输出端口按钮,到工作区用鼠标左键选择要连接的端点,在出现的对话框中,在Name文本框中输入输出端口的名称,单击OK接钮,在这里分别要建立Co与S两个输出端口。若输入端口或输出端口未与所要连接的端点相接时,可利用移动功能将之连接在一起,如图3.3所示。

25

图3.3 加入输入端口与输出端口的结果

(9) 建立全加器符号:在此步骤之前是电路设计模式,S-Edit的模块除了用于设计电路的窗口外,还可以建立该电路符号的窗口,选择View---Symbol Mode命令,即可切换至符号模式。在工具栏中选择画方形工具后,按鼠标左键拖曳可画方形,之后可利用画线工具画线,并可利用文字工具标示文字,如图3.4所示。 (10) 加入输入端口与输出端口:利用S-Edit提供的输入端口按钮与输出端口按钮,标明此全加器符号的输入输出信号的位置与名称,同步骤(8),结果如图3.5所示。注意,符号的输入输出端口的名称要与电路输入输出端口的名称相同,大小写亦需一致。

图3.4 编辑全加器符号 图3.5 编辑全加器符号

(11) 更改模块名称:将原来的模块名称Module0换成符合实际电路特性的名称。步骤为:选择Module---Rename命令,打开Module Rename对话框,在New module's name文本框中输入“fulladder”,单击OK按钮,即可完成全加器模块的S-Edit设计。

(12) 全加器设计成果:观看最后全加器的设计成果,可分别选择View---Schematic Mode与View---Symbol Mode命令切换到电路设计模式和符号模式两个窗口,或者选择View---Change Mode命令可轮流在电路设计模式和符号模式这两个窗口之间进行切换。

(13) 输出成SPICE文件:将设计好的S-Edit电路图输出成SPICE格式,可借助T-Spice来分析与模拟此设计电路的性质,之后可选择File---Export命令输出,或单击S-Edit右上方的按钮,将自动输出成SPICE文件并打开T-Spice与转出文件。但此全加器的SPICE文件必须加入电源与设定,才能以T -Spice进行分析。 (二)全加器电路瞬时分析 (1) 打开文件:可以执行在..\\Tanner\\Tspice70目录下的wintsp32.exe文件,或选择“开始”---“程序”---Tanner EDA---T-Spice Pro v7.0---T-Spice命令,即可打开T-Spice程序,再打开从Ex6的fulladder模块输出的fulladder.sp文件。

(2) 加载包含文件:由于不同的流程有不同的特性,在模拟之前,必须要引入MOS组件的模型文件,此模型文件内包括电容电阻系数等数据,以供T-Spice模拟之用。在本章是引用1.25um的CMOS流程组件模

26

型文件m12_125.md。将鼠标移至主要电路之前,选择Edit---Insert Command命令,在出现的对话框中的列表框选择Files选项,此时在右边窗口将出现4个按钮,可直接单击Include按钮,也可展开左侧列表框中Files选项并选择Includefile选项,此时单击Browse按钮在出现的对话框中找到..\\Tanner\\TSpice70\\models\\目录,接着选取模型文件m12_125.m, 则在Include file文本框中将出现..\\Tanner\\TSpice70\\models\\ml2_125.md。再单击Insert Command按钮,则会出现默认的以红色字开头的“.include ?C:\\Tanner\\TSpice70\\models\\m12_125.md”。 (3) 设定参数值:由于nmos与pmos组件的W与L是以参数(1)来表示所以必须设定参数值才能进行模拟。

选择Edit---Insert Command命令,在出现的对话框的列表框中选择Settings选项,对话框右侧会出现6个选项,在Settings选项下选择Parameters选项,在对话框右侧出现的Parameter type下拉列表中选择General选项,在Parameter name文本框中输入“1”,在Parameter value文本框中输入“0.5u”。再单击Insert Command按钮,则会出现默认的以红色字开头的“.param I = 0.5u”。

(4) Vdd电压值的设定:设定Vdd的电压值为5.0v。其方法为设定一个名称为vvdd的定电压源,加在Vdd与GND之间,定电压值为5.0V 。可以仿效前面在S-Edit中加入电源符号,再输出成SPICE文件的方式,也可在T-Spice中选择Edit---Insert Command命令设定,其方法如下:选择Edit--- Insert Command命令,在出现的对话框的列表框中选择Voltage Source选项, 在对话框的右侧出现10个选项,再在Voltage Source选项下选择Constant选项,在对话框右侧出现的Voltage source name文本框中输入“vvdd”,在Positive terminal文本框中输入“Vdd \在Negative terminal (GND)文本框中输入“GND”,在DC Value文本框中输入“5.0”,单击Insert Command按钮,则会出现“vvdd Vdd GND 5.0”的文字。

(5) 设定A的输入信号:为了了解电路的正确性,需要观察输入与输出的波形变化,一般是以周期性倍增的周期方波作为输入。在本章中将以3种不同的方式设定A,B与Ci的输入波形,其中两种为周期性方波方式设定,一种为分段线性波形方式设定。首先以脉冲波的方式设定输入A的电压信号,其周期为100ns,方波最大值为5.0V,最低为0V, 5V维持时间为50ns。可以仿效前面在S-Edit中加入电源符号,接至输入端当作输入信号,再输出成SPICE文件的方式,也可在T-Spice中选择Edit---Insert Command命令进行设定,其方法如下:选择Edit---Insert Command命令,在出现的对话框的列表框中选择Voltage Source选项,在对话框右侧将出现10个选项,再在Voltage Source选项下选择Pulse选项,在对话框右侧的Voltage source name(电压源名称)文本框输入“va”,在Positive terminal(电源正端)文本框输入节点名称“A”,在Negative terminal (GND )(电源负端)文本框输入“(GND)”,在Initial(电源起始点)文本框输入“0”,在Peak(电源脉冲最高点)文本框输入“5”,在Rise tune(脉冲波形的上升时间)文本框输入“5n”,在Fall(脉冲波形的下降时间)文本框输入“5n”,在Pulse width(脉冲波形的脉冲宽度)文本框输入\在Pulse period (脉冲波形的脉冲周期)文本框输入“l00n”, 在Initial delay(起始延迟时间)文本框输入“50n”。再单击Insert Command按钮,将会出现“va A GND PULSE (0 5 50n 5n 5n 50n 100n )”的文字。

(6) 设定B的输入信号:再来以数据串流的方式设定周期性方波输入B的电压信号,其周期为200ns, 每位最大值为5.0V,最低为0V。5V维持时间为50ns, 0V维持时间为50ns。可在T-Spice中选择Edit---Insert Command命令进行设定,其方法如下:选择Edit---Insert Command命令,在出现的对话框的列表框中选择Voltage Source选项,在对话框右侧将出现10个选项,再在Voltage Source选项下选择Bit选项,在对话框右侧出现的Voltage source name文本框输入“vb”,在Positive terminal文本框中输入节点名称“B”,在Negative terminal本框中输入\在Bit stream(位串设定处)文本框中输入“0011”,在ON value(位值为1电压)文本框中输入“5”,在OFF value(位值为0的电压)文本框输入“0”,在Low time(脉冲为Low时的保持时间)文本框输入“50n”,在High time(脉冲为High时的保持时间)文本框输入“50n”,在Rise time文本框输入\5n\在Fall time文本框输入\。再单击Insert Command按钮,则会出现“vb B GND BIT({0011}1t=50n ht=50n on=5 off =0rt=5n ft=5n)”的文字。

(7) 设定Ci的输入信号:接着以分段线性波形的方式设定输入Ci的电压信号,方波最大值为5.0V,最低为0V, 5V维持时间为200ns。选择Edit---Insert Command命令,在出现的对话框的列表框中选择Voltage Source选项,在对话框右侧将出现10个选项,再在VoltageSource选项下选择Piecewise---linear选项,在对话框右侧出现的Voltage source name文本框输入“vci”,在Positive terminal文本框输入“A”,在Negative terminal(GND)文本框输入“GND”,在Waveform(波形设定)文本框输入“0ns 0V 200ns 0V 205ns 5V 400ns

27

5V”。再单击Insert Command按钮,则会出现“vci Ci GND PWL(0ns 0V 200ns 0V 205ns 5V 400ns 5V)”的文字。

(8) 分析设定:此范例为全加器的瞬时分析,必须下瞬时分析指令,将鼠标移至文件尾,选择Edit---Insert Command命令,在出现的对话框的列表框中选择Analysis选项,在对话框右侧出现8个选项,可直接单击Transient瞬时分析按钮,也可展开左侧列表框的Analysis选项,并选择Transient选项。在对话框右侧有几项设定需要选择,并设定其时间间隔与分析时间范围,这里我们将模拟时间间隔设定为1ns,总模拟时间设定为400ns。首先在Modes选项组中选择Standard (from DC op.point)单选按钮,在Maximum tinge文本框输入“1n”,在Simulation文本框输入“400n”,在Methods选项组中选择Standard BDF单选按钮。单击Insert Command按钮后,则会出现默认以红色字开头的“.tran/op 1n 400n method =bdf”。

(9) 输出设定:若要观察瞬时分析的结果,首先要设定观察瞬时分析结果为哪些节点的电压或电流,在此要观察的是输入节点A, B与Ci与输出节点S与Co的电压模拟结果。将鼠标移至文件尾,选择Edit---Insert Command命令,在出现的对话框的列表框中选择Output选项,在对话框右侧出现 7个选项,可直接单击Transient results按钮,也可展开列表框的Output选项,并选择Transient results选项,在右侧出现的Plot type下拉列表中选择Voltage选项,在Node name文本框中输入节点名称“A”,注意大小写需与程序中的节点名称完全一致,单击Add按钮。再回到Node name文本框输入节点名称“B”,单击Add按钮。重复该操作将Ci, S与Co加入,单击Insert Command按钮,则会出现默认以红色字开头的“.print tran v (A) v (B) v (Ci) v (S) v (Co)”。

(10) 进行模拟:完成设定后开始进行模拟分析。选择Simulate---Start Simulation命令,或单击按钮,打开Run Simulation对话框,单击Start Simulation按钮,则会出现模拟结果的报告窗口Simulation Status,并会自动打开W-Editor窗口来观看模拟波形图。

(11) 观看结果:可在T-Spice环境下打开模拟结果fulladder.out报告文件。也可在W-Edit中观看模拟结果fulladder.out, 选取工具图样可分离v (A) 曲线、v (B) 曲线、v (Ci) 曲线、v (S) 曲线与v (Co) 曲线。 (12) 分析结果:观察模拟结果,验证全加器模拟结果是否正确。

六、实验报告要求

1. 实验报告中要写明实验目的、实验内容和实验的过程; 2. 要分析每一步操作的意义和作用,并将实验的中间过程记录下来,将操作中的图片剪切到实验报告中,

以便说明实验的过程。

3. 对实验中出现的故障,做好记录。分析故障原因,说明解决办法。

七、实验注意事项

1. S-Edit的各个菜单中的选项可以通过快捷按钮实现,注意这些按钮的使用方法。 2. 由于系统占用资源较大运行仿真结果可能较慢,要耐心等待。

3. 实验过程中,注意记录中间过程和结果,利用抓图软件将中间过程剪切下来以便详细记录实验过程。

八、思考题

1. 设计另一种全加器电路,其方程式为Co=AB+BCi+Aci,S=A XOR B XOR Ci 2. 设计半加器电路,其方程式为Co=AB,S=A XOR B,并进行瞬时分析。

实验四 四位加法器电路设计与仿真(2学时)

一、实验目的

1. 2. 3. 4.

了解如何使用S-Edit编辑四位连波进位加法器 了解如何使用电路分析软件来验证电路的功能 掌握电路分析中工作电压和输入信号的添加方法 掌握电路分析中分析设定和输出设定的方法

28

5. 掌握从仿真分析结果中提取相应的参数和对结果进行分析归纳

二、实验内容

打开S-Edit——环境设定——另存新文件——引用模块——组合四个全加器——更改引用元件名称——标注节点名称——加入输入端口与输出端口——建立四位加法器符号——更改模块名称——四位加法器设计成果观察——输出成SPICE文件——加载包含文件——设定参数值——Vdd电压值设定——设定向量——设定A输入信号——设定B输入信号——分析设定——输出设定——进行仿真——观看结果。

三、实验仪器、设备

1.主要设备是电脑

2.软件环境:Tanner Pro 11.1

四、实验原理

1、四位加法器输出输入端口,如表4.1所示。

表4.1 四位加法器的输出输入端口

2、四位加法器关系式为:{Cout,S}=A+B。

3、操作流程:进入S-Edit→建立新文件→环境设置→引用全加器模块→合成四位连波进位加法器→建立四位连波进位加法器符号→输出成.sp文件→T-Spice模拟。 4、设定向量(.vector):创造一个巴士(bus)名称,并设定此bus包含哪些位,格式如表4.2所示。

表4.2 设定响亮语法

5、向量电压源:向量电压源设定bus波形的语法整理如表4.3所示。

表4.3 设定项量电压源的语法

五、实验步骤

(1)打开s-Edit程序:执行..\\Tanner\\ S-Edit目录下的sedit.exe文件,或选择“开始”---“程序”---Tanner EDA---S-Edit---S-Edit命令,即可打开S-Edit程序,S-Edit会自动将工作文件命名为“FileO.sdb”并显示在窗口的标题栏上。

(2) 另存新文件: 选择File---Save As命令,打开“另存为”对话框,在“保存在”下拉列表中选择保存的路径,在“文件名”文本框中输入新文件的名称,如Ex8。

(3)环境设置:S-Edit默认的工作环境是黑底白线,但可按照用户的爱好来自定义颜色。

29

(4) 引用模块:可从EX6文件复制FULLADDER模块至EX8文件,并在MODULE0画面中引用。选择Module-Symbol Browser 命令,利用Add Library 按扭加入EX6组件库,再从其内部的模块中选择fulladder符号,接着单击place及close 按扭,则在module0编辑窗口中将出现fulladder 的符号。

(5) 组合4个全加器:复制出3个fulladder 符号,再利用拖拽的方式可移动各对象。利用联机按扭完成各断点的信号连接,各对象摆放如图4.1所示:

图4.1 组合4个全加器

(6)标注节点名称:利用节点标签按扭。先选节点标签按扭,再到工作区中用鼠标选择要连接的端点,打开对话框,输入节点名称,之后单击OK 按扭即可。如图4.2所示:

图4.2标注节点名称

(7)加入输入与输出端口:利用S-Edit提供的输入端口按钮与输出端口按钮,标明此符号的输入输出信号的位置与名称,具体的操作同步骤第三章,结果如图4.3所示。

图4.3 加入输入与输出端口

(8)建立四位加法器符号:首先切换至符号窗口,具体的操作同步骤第三章,利用工具画出符号,注意,符号输入与输出端口名称要与电路的输入与输出端口名称一致。结果如图4.4。

30

图4.4建立四位加法器符号

(9)更改模块名称:更改模块名称:要将原来的模块名称Module0换成符合实际电路特性的名称,要选择Module---Rename 命令 ,打开Module Rename对话框,在其中的New module抧ame文本框中输入“add4? 之后单击OK按钮即可。 (10)设计成果:观看最后设计成果,可切换电路设计模式与符号模式这两个窗口,并可选择View---Home命令或按Home键来观看全景。

(11)输出成SPICE文件:将设计好的S-Edit电路图,输出成SPICE格式,可借助T-Spice软件分析与模拟此设计电路的性质,可由选择File---Export命令输出。

(12)加载包含文件:由于不同的流程有不同特性,在模拟之前,必须要引入MOS组件的模型文件,此模型文件包括电容电阻系数等数据,以供T-Spice模拟之用。在这里引用1.25um的CMOS流程组件模型文件m12_125.md。将鼠标移至主要电路之前,选择Edit---InsertCommand命令,在出现的对话框左侧的列表框中选择Files选项,此时在右边选项组将出现4个按钮,可直接单击Include按钮,或展开左侧列表框中的Files选项并选择Include file选项,此时单击Browse按钮,在出现的对话框中先找到..\\Tanner\\TSpice70\\models\\目录,接着选取模型文件m12_125.md,则在Include file选项组内将出现..\\Tanner\\ TSpice70\\models\\ml2_125.md。再单击Insert Command按钮,则会出现默认以红色字开头的“.include 'C:\\Tanner\\TSpice70\\models\\ml2_125.md' ”

(13)设定参数值:由于本章所使用nmos与pmos组件的W与L是以参数(1)来表示,所以必须设定参数值才能进行模拟。选择Edit---Insert Command命令,在出现的对话框的列表框中选择Settings选项,对话框右侧会出现6个选项,在Settings选项下选择Parameters选项,在对话框右侧出现的Parameter type下拉列表中选择General选项,在Parameter name文本框中输入“1”,在Parameter value文本框中输入“0.5u”,再单击Insert Command按钮,则会出现默认的以红色字开头的“.param I = 0.5u”。

(14)Vdd电压值的设定:设定Vdd的电压值为5.0v。其方法为设定一个名称为vvdd的定电压源,加在Vdd与GND之间,定电压值为5.0V 。可以仿效前面在S-Edit中加入电源符号,再输出成SPICE文件的方式,也可在T-Spice中选择Edit---Insert Command命令设定,其方法如下:选择Edit--- Insert Command命令,在出现的对话框的列表框中选择VoltageSource选项,在对话框的右侧出现10个选项,再在Voltage Source选项下选择Constant选项,在对话框右侧出现的Voltage source name文本框中输入“vvdd”,在Positive terminal文本框中输入“Vdd \在Negative terminal (GND)文本框中输入“GND”,在DC Value文本框中输入“5.0”, 单击Insert Command按钮,则会出现“vvdd Vdd GND 5.0”的文字。

(15)设定A的输入信号:其方法如下:选择Edit---Insert Command命令,在出现的对话框的列表框中选择Voltage Source选项,在对话框右侧将出现10个选项,再在Voltage Source选项下选择bus选项,在对

31

话框右侧的Voltage source name(电压源名称)文本框输入“va”,在Bus name文本框输入节点名称“A”,在Referance name (GND )(电源负端)文本框输入“(GND)”,在Bit name文本框输入“0011 1110 1100 1010”,在ON VALUE文本框输入“5”,在OFF VALUE文本框输入“0”,在HIGH TIME文本框输入“50n”,在LOW TIME文本框输入\在RISE TIME 文本框输入“5n”, 在FALL TIME文本框输入“5n”,再单击InsertCommand按钮,将会出现“va A GNDBUS ({0011 1110 1100 1010} lt=50n ht=50n on=5 off=0rt=5n ft=5n)”的文字。

(16)设定B的输入信号:其方法如下:选择Edit---Insert Command命令,在出现的对话框的列表框中选择Voltage Source选项,在对话框右侧将出现10个选项,再在Voltage Source选项下选择Bus选项,在对话框右侧出现的Voltage source name文本框输入“vb”,在Bus name文本框中输入节点名称“B”,在Referance name文本框中输入\在Bit stream(位串设定处)文本框中输入“1101 0111 1010 0101”,在ON value(位值为1的电压)文本框中输入“5”,在OFF value(位值为0的电压)文本框输入“0”,在Low time(脉冲为Low时的保持时间)文本框输入“50n”,在High time(脉冲为High时的保持时间)文本框输入“50n”,在 Rise time文本框输入\在Fall time文本框输入\,再单击Insert Command按钮,则会出现“vb B GND Bus({1101 0111 1010 0101}1t=50n ht=50n on=5 off =0 rt=5n ft=5n)”的文字。在T-SPICE文本最后输入 .vector A {A0 A1 A2 A3 } 和 .vectot B {B0 B1 B2 B3}; (17)分析设定:此范例为全加器的瞬时分析,必须下瞬时分析指令,将鼠标移至文件尾,选择Edit---Insert Command命令,在出现的对话框的列表框中选择Analysis选项,在对话框右侧出现8个选项,可直接单击Transient瞬时分析按钮,也可展开左侧列表框的Analysis选项,并选择Transient选项。在对话框右侧有几项设定需要选择,并设定其时间间隔与分析时间范围,这里我们将模拟时间间隔设定为1ns, 总模拟时间设定为400ns。首先在Modes选项组中选择Standard (from DC op.point)单选按钮,在Maximum tinge文本框输入“1n”,在Simulation文本框输入“400n”,在Methods选项组中选择Standard BDF单选按钮,单击Insert Command按钮后,则会出现默认以红色字开头的“.tran/op 1n 400n method =bdf”。

(18) 输出设定:若要观察瞬时分析的结果,首先要设定观察瞬时分析结果为哪些节点的电压或电流,在此要观察的是输入节点A3,A2, A1,A0 ,B3, B2, B1,B0 与COUT的电压模拟结果。将鼠标移至文件尾,选择Edit---Insert Command命令,在出现的对话框的列表框中选择Output选项,在对话框右侧出现 7个选项,可直接单击Transient results按钮,也可展开列表框的Output选项,并选择Transient results选项,在右侧出现的Plot type下拉列表中选择Voltage选项,在Node name文本框中输入节点名称“COUT”,单击Add按钮。重复该操作将S2,S1,S0加入,单击Insert Command按钮,则会出现默认以红色字开头的“.print tran v (COUT) v (S3) v (S2) v (S1) v (S0)”。 (19))进行模拟:完成设定后开始进行模拟分析。选择Simulate---Start Simulation命令,或单击按钮,打开Run Simulation对话框,单击StartSimulation按钮,则会出现模拟结果的报告窗口Simulation Status,并会自动打开W-Editor窗口来观看模拟波形图。

(20)观看结果:可在TSPICE 环境下打开模拟结果报告文件,也可在WEDIT中观看模拟波形图。

六、实验报告要求

1. 实验报告中要写明实验目的、实验内容和实验的过程; 2. 要分析每一步操作的意义和作用,并将实验的中间过程记录下来,将操作中的图片剪切到实验报告中,

以便说明实验的过程。

3. 对实验中出现的故障,做好记录。分析故障原因,说明解决办法。

七、实验注意事项

1. S-Edit的各个菜单中的选项可以通过快捷按钮实现,注意这些按钮的使用方法。 2. 由于系统占用资源较大运行仿真结果可能较慢,要耐心等待。

3. 实验过程中,注意记录中间过程和结果,利用抓图软件将中间过程剪切下来以便详细记录实验过程。

八、思考题

32

1. 设计一个进位前瞻式四位加法器,并比较四位涟波进位加法器与进位前瞻式四位加法器的延迟时间。 2. 设计四位减法器并进行仿真分析。

实验五 使用L—Edit画PMOS布局图(设计性实验)(2学时)

一、实验目的

1.

2. 3. 4. 5.

了解L-Edit的使用环境和方法

掌握如何使用L-Edit画PMOS布局图的方法 掌握L-Edit设计规则设定和检查的方法 掌握利用T-Cell建立布局图的方法

掌握从仿真分析结果中提取相应的参数和对结果进行分析归纳

二、实验内容

1、使用L-Edit画布局图的步骤

打开L-Edit程序——另存新文件——取代设定——编辑元件——环境设定——选取图层——选择绘图形状——设计规则设定——设计规则检查——检查错误——修改对象——绘制多边形——设计规则检查——检查错误——移动对象 2、利用T—Cell建立布局图

建立新单元——创建变量——定义变量值——引用创建方块函数——保存文件——建立新单元——引用Cell——设计规则检查——修改参数——设计规则检查——保存文件——创建变量——定义变量值——引用创建多边形函数——保存文件——设计规则检查——创建变量——定义变量值——引用创建多边形函数——保存文件——设计规则检查——创建变量——定义变量值——引用创建圆形函数——保存文件——设计规则检查。

三、实验仪器、设备

1.主要设备是电脑

2.软件环境:Tanner Pro 11.1

四、实验原理

表5.1 Layer说明

语法的第三项为Depth,为非负的整数,代表该制作的深度,配合不同的Step定义,Depth有不同的意义,举例如表5.2所示。

表5.2 Depth说明

语法的第四项为Label,用来表示该步骤的特点,可以是任何字符串,如不使用标示则可以用-符号。字符

33

串中若有空格,必须以“”包住。语法中的第五项为[Angle[offset]],可以按照需要来设定,默认值为Angle-=80,offset=0,这两个参数只能用在Step为etch或是implant/diffusion时。Angle代表蚀刻出的倾角或扩散范围的倾角,范围可以为0至180的整数,offset为侧向蚀刻或侧向扩散的长度,可以为非负的浮点数或整数,举例如表5.3所示。

表5.3 [Angle[offset]]说明

语法的第六项为Comment,即批注内容,必须以#开头,举例如下。 # 1.Substeate # 2.n-Well # 3.p-Implant

五、实验步骤

(1) 打开L-Edit程序:执行在..\Tanner\LEdit82目录下的ledit.exe文件,打开L-Edit程序,L-Edit会自动将工作文件命名为Layoutl.sdb并显示在窗口的标题栏上。

(2) 另存新文件:选择File---Save As命令,打开“另存为”对话框,在“保存在”下拉列表框中选择存储目录,在“文件名”文本框中输入新文件名称,例如,Exl0。

(3) 取代设定:选择File---Replace Setup命令,单击出现的对话框的From file下拉列表右侧的Browser按钮,选择D:\Tanner\LEdit82\Samples\SPR\example1\1ights.tdb文件,再单击OK按钮,就可将lights.tdb文件的设定选择性应用在目前编辑的文件,包括格点设定、图层设定等。

(4) 编辑组件:L-Edit编辑方式是以组件(Cell)为单位而不是以文件(File)为单位的,每一个文件可有多个Cell,而每一个Cell可表示一种电路布局图或说明,每次打开新文件时自动打开一个Cell并将之命名为Cell0,其中,编辑画面中的十字为坐标原点。

(5) 设计环境设定:绘制布局图,必须要有确实的大小,因此要绘图前先要确认或设定坐标与实际长度的关系。选择Setup命令,打开 Design对话框,在Technology选项卡中出现使用技术的名称、单位与设定,本范例中的技术单位Technology units为以Lambda为单位,而Lambda单位与内部单位Internal Unit的关系可在Technology setup选项组中设定,设定1个Lambda为1000个Internal Unit, 也设定1个Lambda等于1个Micron。

接着选择Grid选项卡,其中包括使用格点显示设定、鼠标停格设定与坐标单位设定。在Grid display选项组中设定1个显示的格点(Displayed grid)等于1个坐标单位(Locator unit), 在Suppress grid less than文本框中设定当格点距离小于8个像素(pixels)时不显示; 在Cursor type选项中设定鼠标光标显示为Smooth类型,在Mouse snap grid文本框中设定鼠标锁定的格点为0.5个坐标单位(Locator Unit); 在One Locator Unit文本框中设定1个坐标单位为1000个内部单位(Internal Units)。设定结果为1个格点距离等于1个坐标单位也等于1个Micron.。

(6) 选取图层:在画面左边有一个Layers面板,其中有一个下拉列表,可选取要绘制的图层,例如,Poly, 则Layers面板会选取代表Poly图层的红色。在L-Edit中的Poly图层代表制作集成电路中多晶硅(Poly Silicon)所需要的光罩图样。本范例绘制PMOS布局图会用到的图层包括(N Well图层)、(Active图层)、(N Select图层)、(P Select图层)、(Poly图层)、.(Metal1图层)、(Metal 2图层)、(Active Contact图层)、(Via图层),其各自的绘制结果分别如下。

(7) 绘制N Well图层:L-Edit编辑环境是预设在P型基板上,故读者不需要定义出P型基板范围,而在P型基板上制作PMOS的第一步,流程上要先做出N Well区,即需要设计光罩以限定N Well的区域。绘制N Well布局图必须先了解是使用哪种流程的设计规则,本范例是使用MOSISIORBIT 2.0U的设计规则。观

34

看N Well绘制要遵守的设计规则可选择Tools---DRC Setup命令,打开Setup Design Rules对话框(或单击按钮),再从其中的Rules list列表框选择1.1 Well Minimum Width选项,可知N Well的最小宽度有10个Lambda的要求。选取Layers面板下拉列表中的N Well选项,使工具被选取,再从Drawing工具栏中选择工具,在Cell0编辑窗口画出占据横向24格纵向15格的方形N Well,如图5.1所示。

图5.1 绘制N Well的结果

(8) 截面观察:L-Edit有一个观察截面的功能,可观察利用该布局图设计出的组件的制作流程与结果。选择Tools---Cross-Section命令(或单击按钮),打开Generate Cross-Section对话框。单击Generate Cross-Section对话框的Browser按钮,在弹出的对话框中选择..\\LEdit82\\Samples\\SPR\\example1\\lights.xst文件,再单击Pick按钮在编辑画面选择要观察的位置,再单击Generate Cross-Section对话框的OK按钮。截面图中所谓的Well X即指N Well的意思,它是模拟在基板上根据布局图制作出的N Well的结果,从图中可看出N Well的宽度与布局图中的N Well宽度相同。

(9) 绘制Active图层:设计了N Well的布局区域之后,接着设计主动区(Active)图层图样,Active图层在流程上的意义是定义PMOS或NMOS的范围,Active以外的地方是厚氧化层区(或称为场氧化层),故需要设计光罩以限定Active的区域,但要注意PMOS的Active图层要绘制在N Well图层之内。同样,绘制Active图层必须先了解是使用何种流程的设计规则。观看Active图层绘制要遵守的设计规则可选择Tools---DRC Setup命令,打开Setup Design Rules对话框(或单击胺钮),再从Rules list列表框中选择2.1 Active Minimum Width选项,可知Active的最小宽度有3个Lambda的要求。选取Layers面板中下拉列表中的Active选项,使工具被选取,再从Drawing工具栏中选择工具,在Cell0编辑窗口中画出占据横向10格纵向5格的方形Active于N Well图层中,如图5.2所示。

35

图5.2 Active绘制结果

(10)截面观察:利用截面观察功能观察主动区绘制后的截面图。选择Tools---Cross-Section命令(或单击按钮),打开Generate Cross-Section对话框,单击该对话框中的Browser按钮,在弹出的对话框中选择..\..\LEdit82\Samples\SPR\example1\lights.xst文件,单击Pick按钮在编辑画面选择要观察的位置,再单击GenerateCross-Section对话框的OK按钮,结果如图5.3所示。根据布局图绘制的Active的部分,从图中可看出Active以外的部分皆被厚氧化层所覆盖。基板露出部分即为Active定义的部分。

图5.3 截面观察

(11) 设计规则检查:由于绘制的图样是要制作集成电路的光罩图样,必须配合设计规则绘制图层,才能确保流程时的效率。选择Tools---DRC命令,打开Design Rule Check对话框,选中Write errors to file复选框将错误项目纪录至Cell0.drc文件或自行取文件名,若单击“确定”按钮,则进行设计规则检查。。发现有一个错误,单击“确定”按钮后,可选择Tools---Clear Error Layer命令清除错误符号,或单击按钮清除。

利用L-Edit中的File---Open命令打开错误纪录文件Cell0.drc,打开Cell0.drc的内容,有一个错误,系统显示是违背了设计规则4.6,并标出发生错误的坐标范围。

先回到Exl0.tdb文件观看本范例设计规则的4.6规则是什么,选择Tools---DRCSetup命令,打开Setup Design Rules对话框(或单击按钮),从其中的Rules list列表框中选择4.6 Not Existing选项,可以观看该条

36

设计规则设定。

此规则说明Not Selected Active层不能存在,Not Selected Active层的定义可以选择Setup---Layer命令观看其定义。Active图层必须要与P Select图层或N Select重叠,而不能单独存在,否则设计规则检查会有错误。

(12) 绘制P Select图层:设计了Active的布局区域之后,并需加上P Select或N Select图层与Active图层重叠。在PMOS中需要布置的是P型杂质,P Select图层在流程上的意义是定义要布置P型杂质的范围,故需要设计光罩以限定P型杂质的区域。但要注意P Select区域要包住Active图层,否则设计规则检查会有错误。同样,绘制P Select图层必须先了解是使用哪种流程的设计规则,本范例是使用MOSIS/ORBIT 2.0U的设计规则。要观看PSelect图层绘制要遵守的设计规则可选择Tools---DRCSetup命令,打开Setup Design Rules对话框(或单击按钮),再从Rules list列表框中选择4.2b/2.5 Active to P-Select Edge Active Minimum Width选项。从4.2b规则内容可知,若Active完全在P Select内,则Active的边界要与P Select的边界至少要有两个Lambda的距离,这是环绕(Surround)规则。选取Layers面板中下拉列表中的P Select选项,使工具被选取,再从Drawing工具栏中选择工具,于Cell0编辑窗口中画出占据横向18格,纵向9格的方形于N Well图层中,绘制P Select图层的结果如图5.4所示,图中还利用标尺工具标示出4.2b环绕(Surround)规则所规定的地方。

图5.4 绘制P Select结果

另外,要注意的是Active与P Select交集处被定义为pdiff层,pdiff与N Well也有一个环绕规则需要注意,设计规则2.3a Source/Drain Active to Well Edge,此规则说明规定在N Well范围内,pdiff的边界与N Well的边界至少要距离5个Lambda,这是一个环绕(Surround)规则,pdiff层的定义可以用选择Setup—Layer命令来观看。图5.5中还利用标尺工具标示出2.3a环绕(Surround)规则所规定的地方。

图5.5 使用标尺测量

37

(13) 绘制Poly图层:接下来绘制Poly图层,Poly图层在流程上的意义是定义成长多晶硅(Poly Silicon),需要设计光罩以限定多晶硅区域。同样,绘制Poly图层必须先了解是使用哪种流程的设计规则,本范例是使用MOSIS/ORBIT2.0U的设计规则。要观看Poly图层绘制要遵守的设计规则可选择Tools—DRC命令,打开Design Rule Check对话框,单击其中的Setup按钮打开Setup Design Rules对话框(或单击按钮),再从其中的Rules list列表框中选择3.1Poly Minimum Width选项。从3.1规则内容可知,Poly的最小宽度有两个Lambda的要求。选取Layers面板中下拉列表中的Poly选项,使工具被选取,再从Drawing工具栏中选择工具,在Cell0编辑窗口画出占据横向2格,纵向7格的方形于N Well图层中,绘制Poly图层的结果如图5.6所示。

图5.6 Poly图层绘制结果

(14) 设计规则检查:由于绘制的图样是要制作集成电路的光罩图样,必须配合设计规则绘制图层,才能确保流程时的效率。选择Tools—DRC命令,打开Design Rule Check对话框,选中Write errors to file复选框将错误项目纪录到Cell0.drc 文件或自行取文件名,若单击“确定”按钮,则进行设计规则检查。发现有两个错误,单击“确定”按钮后,可选择Tools—Clear Error Layer命令清除错误符号,或利用按钮清除。 (15) 检查错误:利用L-Edit中的File—Open命令打开错误纪录文件Cell0.drc。打开Cell0.drc的内容,其中有两个错误,系统显示都是违背了设计规则3.3,并标出发生错误的坐标范围。

先回到Exl0.tdb文件观看本范例设计规则的3.3规则是什么,选择Tools—DRCSetup命令,打开开Setup Design Rules对话框(或单击按钮),再从Rules list列表框中选择3.3GateExtension out of Active选项,可以观看该条设计规则的设定。从3.3延伸(Extension)规则可看出,Poly图层必须延伸出Active区域有最小两个Lambda的限制,而本范例在第一个图所绘制的Poly延伸出Active区域只有1个格点,也就是延伸只有1个Lambda,故违反了设计规则。故将图5.23所绘制的Poly图层延伸出Active区域为两个格点即可。 (16) 修改对象:将图5.6所绘制的Poly图层改为延伸出Active区域为两个格点的方式,可选择Edit—Edit Object(s),打开Edit object(s)对话框,可在其中的Show box coordinatesusing下拉列表框中选择Comers选项。在Edit Object(s)对话框中,Y1代表方形下边的Y坐标值,Y2代表方形上边的坐标值,Xl代表方形左边的X坐标值,X2代表方形右边的坐标值。Y坐标值是往上增加,而X坐标值是往右增加。将Y1下降1即将Y1处改为3.000,将:Y2上升1即将Y2处改为12.000,单击“确定”按钮,即可将Poly图层形状修改呈上下各延伸出Active区两个Lambda的要求。也可以利用Alt键加鼠标拖曳的方式来修改对象大小。修改后再进行设计规则检查即无错误。 (17) 截面观察:利用L-Edit的观察截面的功能来观察该布局图设计出的组件的制作流程与结果。选择Tools—Cross-Section命令,或单击按钮,打开Generate Cross-Section对话框, 单击该对话框的Browser按钮,在弹出对话框中选择..\\LEdit82\Samples\SPR\example1\lights.xst文件,再单击Pick按钮在编辑画面选择要观察的位置,再单击Generate Cross-Section对话框的OK按钮,结果如图5.7所示,它是模拟在基板上根据布局图制作出的结果,从图中可看出在N Well中的Poly闸极区与两旁pdiff扩散区(源极与汲极),

38

闸极下方为通道。因为在实际流程上,先制作Poly闸极区再进行扩散,即在Poly闸极区下方的区域(信道)不会被扩散到,而形成分布在Poly两旁的两个pdiff扩散区。在绘制布局图时,可依读者的喜好及熟练度自行决定绘图顺序,不需要依照流程时的先后次序来绘制。

图5.7 观看截面图

(18)绘制Active Contact图层:PMOS的源极区与汲极区各要接上电极,才能在其上加入偏压。各组件之间的信号传递,也需要靠金属线连接,在最底层的金属线是以Metal1图层表示。在金属层制作之前,组件会被沉积上一层绝缘层(氧化层),为了让金属能接触至扩散区(源极与极汲),必须在此绝缘层上蚀刻出一个接触孔,此接触孔是为了能使金属层能与扩散区接触,Metal1与扩散区之间的接触孔以Active Contact图层表示。要观看Active Contact图层绘制所要遵守的设计规则,可选择Tools—DRCSetup命令,打开Setup Design Rules对话框(或单击按钮),再从其中的Rules list列表框中选择6.1 A Active Contact Exact Size选项。

从6.1A规则的内容可知,Active Contact图层有一个标准宽度的限制,其宽度限定为两个Lambda的大小,这是标准宽度(Exact Width)规则。选择Layers面板中下拉列表中的Active Contact选项,使按钮被选择,再从Drawing工具栏中选择工具,在Cell0编辑窗口的Active图层中画出占据横向两格、纵向两格的方形,左右两个扩散区各画一个Active Contact,绘制Active Contact图层的结果如图5.8所示。

图5.8 Active Contact设计规则

从6.2A环绕(Surround)规则可看出,Active Contact图层边界与field active图层边界必须至少有1.5个Lambda的限制,其中field active图层是Poly区以外的主动区部分。ActiveContact与field active之间的环

39

绕距离分别为1.5个Lambda(上下)与两个Lambda(左右),将active修改为横向14格、纵向5格,如图5.9所示。

图5.9 修改active

(19) 截面观察:利用L-Edit的观察截面的功能,观察该布局图设计出的组件的制作流程与结果。选择Tools—Cross-Section命令,选定截面观察的位置,结果如图5.10所示,它是模拟在基板上根据布局图制作出的组件截面图,从图中可看出在N Well中的闸极区(Poly)与两旁扩散区(源极与汲极),闸极下方为通道。组件表面有一层绝缘层,但在画ActiveContact区域的位置有被蚀刻到基板的孔,该接触孔是为了使金属层能与扩散区接触。

(20) 绘制Metal1图层:NMOS的源极与汲极都要接上电极,才能在其上加入偏压,各组件之间的信号传递也需要靠金属线连接,在最底层的金属线以Metal1图层表示。要查看Metal1图层绘制要遵守的设计规则可通过选择Tools—DRCSetup命令来进行,单击打开Setup Design Rules对话框(或单击按钮),从其中的Rules list列表框中选择7.1Metal1Minimum Width选项,从中可以看到Metal1有最小宽度的限制,其宽度限定最小为3个Lambda,这是最小宽度(Minimum Width)规则。选取Layers面板下拉菜单中的Metal1选项,使工具被选取,再从Drawing工具栏中选择工具,在Cell0编辑窗口的Active Contact周围画出占据横向3格、纵向3格的方形,左右两个扩散区各画一个Metal1区块,绘制Metal1图层的结果如图5.11所示。

图5.10 pmos截面图 图5.11 绘制Metal1图层的结果

(21) 设计规则检查:由于绘制的图样是要制作集成电路的光罩图样,必须配合设计规则绘制图层,才能确保流程时的效率。选择Tools—DRC命令,打开Design Rule Check对话框,选中其中的Write errors to file复选框将错误项目纪录到Cell0.drc文件或自行取文件名,之后若单击“确定”按钮,则会进行设计规则

40

检查,发现有24个错误,单击“确定”按钮后,可选择Tools—Clear Error Layer命令清除错误符号,或单击按钮清除。

(22) 检查错误:利用L-Edit中的File—Open命令打开错误纪录文件Cell0.drc。打开Cell0.drc的内容有24个错误,系统显示它们都违背了设计规则7.4,并标出发生错误的坐标范围。先回到Exl0.tdb文件观看本范例设计规则的7.4规则是什么,选择Tools—DRCSetup命令,打开Setup Design Rules对话框(或单击按钮),再从其中的Rules list列表框中选择7.4Metall Overlap ofActive Contact选项来观看该条设计规则的设定。从7.4环绕(Surround)规则可看出,Active Contact图层边界与Metal1图层边界必须至少有1个Lambda的限制,而图5.35中Active Contact图层与Metal1层边界只有0.5个格点,故不符合此设计规则而发生错误。修改方式为将Metal1放大成宽4个格点高4个格点即可。

(23) 截面观察:利用L-Edit的观察截面的功能,可观察该布局图设计出的组件的制作流程与结果。选择Tools—Cross-Section命令(或单击按钮),将打开Generate Cross-Section对话框, 单击其中的Browser按钮, 在弹出的对话框中选择..\\LEdit82\Samples\SPR\example1\lights.xst文件,单击其中的Pick按钮在编辑画面选择要观察的位置,再单击Generate Cross-Section对话框的OK按钮,结果如图5.12所示,它是模拟在基板上根据布局图制作出的组件截面图,从图中可看出在N Well中的闸极区(Poly)与两旁扩散区(源极与汲极),闸极下方为通道。画有Active Contact区域的位置有被蚀刻到基板的孔,此接触孔是为了使金属层Metal1能与扩散区接触,图中看出Metal1图层通过接触孔与扩散区相接。

图5.12 PMOS截面观察

(24)重新命名:将Cell0的名称重新命名,可选择Cell—Rename命令,打开Rename CellCell0对话框,将cell名称改成pmos。

(25) 设计成果:将设计结果保存之后,本实验先建立了一个pmos组件,然后利用单独显示图层的功能,让图层个别显示。例如,要单独显示Poly图层,可在Layers面板上选择Poly图样,右击,选择弹出菜单中的Hide All命令,如图5.13所示,将其他图层隐藏起来,即只显示出Poly图层,如图5.14所示。若要再同时显示出另一个图层,例如,Active图层,则在Layers面板上选择Active图样,右击,会出现快捷菜单,选择其中的Show Active命令,可以再显示出Active图层。要让全部的图层都显示,则右击Layers面板,打开菜单,选择其中的Show All命令,则会出现全部图层。

41

图5.13 隐藏图层设定 图5.14 只显示Poly图层

(26) 新增NMOS组件:选择Cell—New命令,打开Create New Cell对话框,在其中的New cell name文本框中输入“nmos”,单击OK按钮。 (27) 编辑NMOS组件:依照PMOS组件的编辑流程,建立出Active图层、N Select图层、Poly图层、Active Contact图层与Metal1图层,NMOS组件的编辑结果如图5.15所示。

图5.15 NMOS布局图

其中,Active宽为14个格点,高为5个格点:Poly宽为2个格点,高为9个格点:N Select宽为18个格点,高为9个格点;两个Active Contact宽皆为2个格点,高皆为2个格点:两个Metal1宽皆为4个格点,高皆为4个格点。 (28) 截面观察:利用L-Edit的观察截面的功能来观察该布局图设计出的组件的制作流程与结果。选择Tools—Cross-Section命令(或单击按钮),打开Generate Cross-Section对话框,单击其中的Browser按钮, 在弹出的对话框中选择..\\LEdit82\Samples\SPR\example1\1ights.xst文件,单击Pick按钮在编辑画面选择要观察的位置,再单击Generate Cross—Section对话框的OK按钮,结果如图5.16所示,它是模拟在基板上根据布局图制作出的组件截面图,从图中可看出闸极区(Poly)与两旁扩散区(源极与汲极),闸极下方为通道。画有Active Contact区域的位置有被蚀刻到基板的孔,此接触孔是为了使金属层Metal1能与扩散区接触,图中看出Metal1图层通过接触孔与扩散区相接。

42

图5.16 NMOS截面观察

(29) 设计导览:选择view按钮,打开Design Navigator窗口,可以看到Exl0文件有nmos与pmos两个cell。

六、实验报告要求

1. 实验报告中要写明实验目的、实验内容和实验的过程; 2. 要分析每一步操作的意义和作用,并将实验的中间过程记录下来,将操作中的图片剪切到实验报告中,

以便说明实验的过程。

3. 对实验中出现的故障,做好记录。分析故障原因,说明解决办法。

七、实验注意事项

1. S-Edit的各个菜单中的选项可以通过快捷按钮实现,注意这些按钮的使用方法。 2. 由于系统占用资源较大运行仿真结果可能较慢,要耐心等待。

3. 实验过程中,注意记录中间过程和结果,利用抓图软件将中间过程剪切下来以便详细记录实验过程。

八、思考题

1. 利用T-Cell设计M个NMOS并联。

实验六 使用L—Edit画反相器布局图(2学时)

一、实验目的

1. 2. 3. 4. 5.

了解L-Edit的使用环境和方法

掌握使用L-Edit画反相器布局图的方法 掌握L-Edit设计规则设定和检查的方法 掌握利用T-Cell建立布局图的方法

掌握从仿真分析结果中提取相应的参数和对结果进行分析归纳

二、实验内容

进入L-Edit——建立新文件——环境设定——编辑组件——绘制多种图层形状——设计规则检查——

43

修改对象——设计规则检查——电路转化。

三、实验仪器、设备

1.主要设备是电脑

2.软件环境:Tanner Pro 11.1

四、实验原理

Field Poly图层:Field Poly图层不是基本图层,是Active区域以外的Poly区域,其定义与相关图层如表6.1所示。

表6.1 Field Poly图层定义

Ndiff图层:Ndiff图层不是基本图层,Ndiff图层的定义与相关图层定义整理如表6.2所示。

表6.2 Ndiff图层定义

五、实验步骤

(1) 打开L-Edit程序:执行在..\Tanner\LEdit82目录下的ledit.exe文件,或选择“开始”---“程序”---Tanner EDA---L-Edit Pro v8.2---L-Edit v 8.23命令,即可打开L-Edit程序,L-Edit会自动将工作文件命名为Layout1.sdb并显示在窗口的标题栏上。

(2) 另存新文件:选择File—Save As命令,打开“另存为”对话框,在其中的“保存在”下拉列表框中选择选取存储的目录,在“文件名”文本框中输入新文件名称,例如,Ex11。

(3) 取代设定:选择File—Replace Setup命令,单击出现的对话框中的Browser按钮,在弹出的对话框中选择C:\Tanner\LEdit82\Samples\SPR\example1\lights.tdb文件,再单击OK按钮,就可将1ishts.tdb文件的设定选择性地应用在目前编辑的文件中,包括格点设定、图层设定等。 (4) 编辑组件:L-Edit编辑方式是以组件(Cell)为单位而不是以文件(File)为单位,每一个文件可有多个Cell,而每一个Cell可表示一种电路布局图或说明,每次打开新文件时便自动打开一个Cell并将之命名为Cell0。其中,编辑画面中的十字为坐标原点。

(5) 坐标设定:坐标与格点的设定与实验五相同。

(6) 复制组件:选择Cell—Copy命令,或单击按钮,打开Select Cell to Copy对话框,单击其中的Browser按钮,在出现的对话框中选择实验五所编辑的文件Exl0.tdb,再在SelectCell to Copy对话框中选择nmos组件,单击OK按钮,则可将nmos组件复制至Ex11.tdb文件中。之后再以同样的方式将pmos组件复制到Ex11.tdb文件中。

(7) 引用nmos组件:选择Cell—Instance命令,打开Select Cell to Instance对话框,可以看到,在组件列表中有Cell0,nmos与pmos这3个组件,选择nmos组件再单击OK按钮,可以看到编辑画面出现一个nmos组件,如图6.1所示。

44

图6.1 引用nmos 组件

(8) 引用pmos组件:选择Cell—Instance命令,打开Select Cell to Instance对话框,可以看到,在组件列表中有Cell0,nmos与pmos这3组件,选择pmos组件再单击OK按钮,在编辑画面多出一个与nmos重叠的pmos组件,可利用Alt键加鼠标拖曳的方式分开pmos与nmos,如图6.2所示。

图6.5 引用pmos组件

(9) 设计规则检查:由于绘制的图样是要制作集成电路的光罩图样,必须配合设计规则来绘制图层,才能确保流程时的效率。选择Tools—DRC命令,打开Design Rule Check对话框,选中其中的Write errors to file复选框将错误项目纪录到Cell0.drc文件或自行取文件名,若单击“确定”按钮,则将进行设计规则检查,共发现有4个错误,单击“确定”按钮后,可选择Tools—Clear Error Layer命令清除错误符号,或单击按钮清除。

利用L-Edit中的File—Open命令打开错误纪录文件Cell0.drc,打开Cell0.drc的内容系统显示有4个错位,都是违背了设计规则2.3b,并标出发生错误的坐标范围。先回到Ex11.tdb文件,观看本范例设计规则的2.3b规则是什么,选择Tools—DRC命令,打开Design Rule Check对话框,单击其中的Setup按钮会出现Setup Design Rules对话框(或单击按钮),再从Rules list列表框中选择2.3bSource/Drain Active to Well Space选项就可以观看该条设计规则的设定。此规则说明ndiff层与N Well有最小距离的限制,最小距离为5个Lambda。其中,ndiff即为field active与N Select交集。

ndiff区与N Well区只距离4个格点,故违背设计规则2.3b。将nmos距离与pmos距离拉开一点,使N Well与nmos的Active区至少大于5个格点即可通过设计规则检查。

(10) 新增PMOS基板节点组件:选择Cell—New命令,打开Create New Cell对话框,在New cell name文

45

本框中输入“Basecontactp”,单击OK按钮。

(11) 编辑PMOS基板节点组件:由于PMOS的基板也需要接通电源,故需要在N Well上面建立一个欧姆节点,其方法为在N Well上制作一个N型扩散区,再利用Active Contact将金属线接至此N型扩散区。N型扩散区必须在N Well图层绘制出Active图层与N Select图层,再加上Active Contact图层与Metal1图层,使金属线与扩散区接触,绘制结果如图6.6所示。

图6.6 PMOS基板节点组件

其中N Well宽为15个格点、高为15个格点,Active宽为5个格点、高为5个格点,NSelect宽为9个格点、高为9个格点,Active Contact宽为两个格点、高为两个格点,Metal1宽为4个格点、高为4个格点。我们要利用L-Edit的观察截面的功能来观察该布局图设计出的组件的制作流程与结果。选择Tools—Cross-Section命令(或单击钮),打开Generate Cross-Section对话框,单击其中的 Browser 按钮, 在出现的对话框中选择..\\LEdit82\Samples\SPR\example1\lights.xst文件,单击Pick按钮,在编辑画面选择要观察的位置,再单击Generate Cross-Section对话框的OK按钮,结果如图6.7所示。

图6.7 PMOS基板节点截面图

(12) 新增NMOS基板接触点:选择Cell—New,出现Create New Cell窗口选单,在New cell name:中填入Basecontactn,单击OK按钮。

46

(13) 编辑NMOS基板节点组件:由于NMOS的基板也需要接地,故需要在P Base上面建立一个奥姆节点,其方法为在P Base上制作一个P型扩散区,再利用Active Contact将金属线接至此P型扩散区。P型扩散区必须绘制出Active图层与P Select图层,再加上ActiveContact图层与Metal1图层,使金属线与扩散区接触,绘制结果如图6.8所示。

图6.8 NMOS基板节点组件

其中Active宽为5个格点、高为5个格点,P Select宽为9个格点、高为9个格点,Active Contact宽为两个格点、高为两个格点,Metal1宽为4个格点、高为4个格点。我们要利用L-Edit的观察截面的功能来观察该布局图设计出的组件的制作流程与结果。选择Tools—Cross-Section命令(或单击按钮),打开Generate Cross-Section对话框, 单击其中的 Browser 按钮, 在弹出的对话框中选择..\LEdit82\Samples\SPR\example1\lights.xst文件,单击Pick按钮,在编辑画面选择要观察的位置,再单击Generate Cross-Section对话框的OK按钮,结果如图6.9所示。

图6.9 NMOS基板节点截面图

(14) 引用Basecontactp组件:选择Cell—Instance命令,打开Select Cell to Instance对话框,在其中选择Basecontactp组件,单击OK按钮,则可将Basecontactp组件复制至Ex11.tdb文件中,并且将之引入到目前编辑的组件中。引入Basecontactp组件后,利用Alt键加上鼠标左键拖曳的方式将之移动到pmos组件左边,并以进行检查,没有错误。

(15) 引用Basecontactn组件:选择Cell—Instance命令,打开Select Cell to Instance对话框,单击其中的Browser按钮,在弹出的对话框中选择第11章所编辑的文件Exl0.tdb,再选择Basecontactn组件,单击OK按钮,则可将Basecontactn组件复制到Ex11.tdb文件中,并且将之引入目前编辑的组件中。引入Basecontactp组件后,利用Alt加上鼠标左键拖曳的方式将之移动到nmos组件左边,并进行检查,没有错误。

(16) 连接闸极Poly:由于反相器电路的pmos与nmos的闸极是要相连的,故直接以Poly图层将pmos与

47

nmos的Poly相连接,绘制出Poly宽两个格点、高6个格点,如图6.10所示。绘制后进行检查,没有错误。

图6.10 连接闸极Poly

(17) 连接汲极:由于反相器电路的nmos漏极与pmos漏极是要相连的,则以Metal1连接即可,利用Metal1将图6.10中的nmos与pmos的右边扩散区有接触点处相连接,绘制出Metal1宽两个格点、高6个格点,如图6.11所示。绘制后进行检查,没有错误。

图6.11 连接漏极

(18) 绘制电源线:由于反相器电路需要有Vdd电源与GND电源,电源绘制是以Metal1图层表示,利用Metal1将图6.11中pmos上方与nmos下方各绘制一个宽为39个格点、高为5个格点的电源图样,绘制后进行检查,没有错误。利用L-Edit中的File—Open命令打开错误纪录文件Cell0.drc,打开Cell0.drc的内容,系统显示共有6个错误,都违背了设计规则7.2,并标出发生错误的坐标范围。

先回到Exl0.tdb文件观看本范例设计规则的7.2规则是什么,选择Tools—DRC命令,打开Design Rule Check对话框,单击其中的Setup按钮会出现Setup Design Rules对话框(或单击按钮),从其中的Rules list列表框选择7.2Metal1 to Metal1 Spacing选项可以观看该条设计规则设定。

此规则为最小间距(Minimum Spacing)规则,7.2规则说明Metal层与Meatl1层间有最小间距的规则,其最小间距为3个Lambda。而图6.20中的上方作为电源的Metal1图层与pmos中的Metal1图层只有2.5个格点,下方作为电源的Metal1图层与nmos中的Metal1图层也只有2.5个格点,故将其修改为至少相隔3个格点,再以设计规则检查按钮设置至无误为止,如图6.12所示。

48

图6.12 调整电源线位置

(19) 标出Vdd与GND节点:单击插入节点按钮,再到编辑窗口中用鼠标左键拖曳出一个与上方电源图样重叠的宽为39个格点、高为5个格点的方格后,将出现Edit Object(s)对话框。在Port name文本框中输入节点名称“Vdd”,在Text Alignment选项组中选择文字相对于框的位置的右边,单击“确定”按钮。再单击按钮,再到编辑窗口中用鼠标左键拖曳出一个与下方电源图样重叠的宽为39个格点、高为5个格点的方格后,出现Edit Object(s)对话框,首先需先确定最上方的On下拉列表框选择的是Metal1,接着在Portname文本框输入节点名称“GND”,在Text Alignment选项组选择文字相对于框的位置的左边,再单击“确定”按钮,结果如图6.13所示。

图6.13 加入电源节点结果

(20) 连接电源与接触点:将PMOS的左边接触点与Basecontactp的接触点利用Metal1图层与Vdd电源相连接,而将NMOS的左边接触点与Basecontactn的接触点利用Metal1层与GND电源相连接。在Layers面板中的下拉列表中选择Metal1项,使Metal1样被选取,再从Drawing工具栏中选择工具,在Cell0辑窗

49

口画出4个4格高、3格宽的方形Metal1层,如图6.14所示。

图6.14 连接电源与接触点

(21) 入输入端口:由于反相器有一个输入端口,且输入信号是从闸极(Poly)输入,由于此范例使用技术设定为MOSI/Orbit 2U SCNAMEMS,输入输出信号由Metal2传入,故一个反相器输入端口需要绘制Metal2图层、Via图层、Metal1层、Poly ontact图层与Poly图层,才能将信号从Metal2图层传至Poly层。先在编辑窗口空白处进行编辑,最后再移至整个组件的位置。先绘制Poly Contact图层,同样,绘制Poly Contact图层必须先了解是使用何种流程的设计规则,单击按钮,从弹出的对话框中的Rules list列表框中选择8.1Via Exact Size选项。从8.1规则的内容可知,若Poly Contact图层有一个标准宽度的限制,其宽度限定为两个Lambda的大小,这是标准宽度(Exact Width)规则。选取Layers面板中下拉列表中的Poly Contact选项,使PolyContact图样被选取,再从Drawing工具栏中选择工具,在Cell0编辑窗口画出横向两格、纵向两格的方形。再绘制Poly图层,Poly图层与Po1y Contact图层间有一个环绕规则要遵守,单击按钮,从弹出的对话框中的Rules list列表框中选择5.2A/5.6B Field Poly Overlap of Poly Cnt选项。从5.2A规则内容可知,Poly Contact边缘与Field Poly边缘至少要有1.5个Lambda的距离。Field Poly层的定义可以通过选择Setup—Layer命令来观看,如图6.15所示,即代表不在Active上的Poly。在Layers面板的下拉列表中选择Poly选项,使Poly图样被选取,再从Drawing工具栏中选择工具,在Cell0编辑窗口画出横向5格、纵向5格的方形,将刚才绘制的Poly Contact包围住,如图6.16所示。

图6.15 观看设计规则 图6.16 输入端口

Poly Contact是用来连接Poly层与Metal1的接触孔,故接着绘制Metal1图层使之重叠于Poly Contact

50