集成电路设计实验报告

  • 格式:doc
  • 大小:437.00 KB
  • 文档页数:9

集成电路版图设计教师:李兰英专业:电子科学与技术:陈国栋学号:201020109122时间:2012年11月28号集成电路版图设计——与Tanner EDA 工具的使用一、Tanner的L-Edit版图编辑器Tanner EDA 工具是有Tanner Research公司开发的系列集成电路设计软件,包括前端设计工具(Front End Tools)、物理版图工具(Physical Layout Tools)、仿真验证工具(T-Spice)、波形分析工具(W-Edit);物理版图工具包括:L-Edit 版图编辑器(L-Edit Layout Editor)、L-Edit交互式DRC验证工具(L-Edit Interactive-DRC)、电路驱动版图工具(Schematic Driven Layout)、L-Edit 标准单元布局布线工具(L-Edit Standard Place and Route)和器件自动生成工具(Device Generators);验证工具包括设计规则验证工具(L-Edit Standard DRC)、版图与电路图一致性检查工具(L-Edit LVS)、提取工具(L-Edit Spice Netlist Extraction)、节点高亮工具(L-Edit Node Highlighting)等。

二、使用版图编辑器画反相器的版图(1)启动版图编辑器L-Edit;(2)新建文件。

(3)对文件进行重命名;(4)设计格点与坐标;(5)调用“NMOS”和“PMOS”晶体管作为例化单元。

使用“I”或使用Cell ——Instance命令来调用“PMOS”单元。

在出现的Select Cell toInstance对话框中,通过点击Browse按钮浏览到“MOS”文件,可以看到在该文件下有“NMOS”和“PMOS”两个单元。

点击Browse按钮后点击确认键“OK”,可以看到已经添加了“PMOS”单元。

利用同样的方法可以讲“NMOS”单元添加进来。

(6)连接“NMOS”晶体管和“PMOS”晶体管的栅极。

从CMOS反相器电路图中可以发现,“NMOS”晶体管和“PMOS”晶体管的栅极要连接在一起作为反相器的输入端,所以可以在摆放“NMOS”晶体管和“PMOS”晶体管的时候将两者的栅极对准,一遍直接进行连接,然后再绘图层调色板中选择多晶硅(Poly)层最为绘图层,并在绘图工具栏中选择绘图形状,然后画出一条宽度与晶体管栅极相等的多晶硅层矩形,将两个晶体管的栅极进行连接;(7)连接晶体管的漏极。

使用金属1层将两个晶体管的漏极连接起来,金属线的宽度与该金属上所流过的电流及金属本身的电流密度等有关。

(8)画电源线和底线。

“PMOS”晶体管的源极要连接到电源上,“NMOS”晶体管的源极要连接到地上,所以在方向器的版图中要画出电源线和地线。

电源线和地线所用的绘图层为金属1层。

通常将电源线和地线的宽度设置得稍微宽一些;(9)添加节点名;(10)连接电源线和地线;(11)加入反相器的输入端;(12)添加输入端口的节点名;(13)添加输出端口的节点名;(14)新建阱与接触单元和衬底接触单元;(15)将衬底接触和阱接触添加到反相器单元中;(16)DRC规则检查;效果如下图:(17)连接“NMOS”晶体管和“PMOS”晶体管的栅极。

从CMOS反相器电路图中可以发现,“NMOS”晶体管和“PMOS”晶体管的栅极要连接在一起作为反相器的输入端,所以可以在摆放“NMOS”晶体管和“PMOS”晶体管的时候将两者的栅极对准,一遍直接进行连接,然后再绘图层调色板中选择多晶硅(Poly)层最为绘图层,并在绘图工具栏中选择绘图形状,然后画出一条宽度与晶体管栅极相等的多晶硅层矩形,将两个晶体管的栅极进行连接;(18)连接晶体管的漏极。

使用金属1层将两个晶体管的漏极连接起来,金属线的宽度与该金属上所流过的电流及金属本身的电流密度等有关。

(19)画电源线和底线。

“PMOS”晶体管的源极要连接到电源上,“NMOS”晶体管的源极要连接到地上,所以在方向器的版图中要画出电源线和地线。

电源线和地线所用的绘图层为金属1层。

通常将电源线和地线的宽度设置得稍微宽一些;(20)添加节点名;(21)连接电源线和地线;(22)加入反相器的输入端;(23)添加输入端口的节点名;(24)添加输出端口的节点名;(25)新建阱与接触单元和衬底接触单元;(26)将衬底接触和阱接触添加到反相器单元中;三、RTS”被设置,则在网表的注释语句中写出短路的器件,否则短路的器件四、版图的提取版图的提取是对版图进行验证的一种方法。

提取版图会产生一个网表,网表是对于版图相对应的电路图的器件和连接关系进行描述的文件。

网表可以用于对版图进行验证。

提取的过程是通过版图集合图形和它们所代表的电路器件之间的关联性来定义的。

这种关联式在提取定义文件(.ext)中定义的。

在提取定义文件中包含了要提取的器件和连接的一个列表。

提取定义文件可以利用定义两个不同工艺层之间的连接以及以类别、器件绘图层、引脚和模板名称定义的器件。

要提取节点或元件到网表中,必须在节点或元件的绘图层上添加端口,端口是用与节点或元件相同的绘图层上的方框或多边形来表示的,因此在版图中仅仅需要绘出节点或元件而不用对端口进行标注,抽取网表的时候会忽略次节点或元件。

利用命令Tools——Extract可以从当前激活的文件中提取网表。

1、General标签的选项(1) Extract definition file:输入的提取定义文件。

可以用Browse按钮浏览选择该文件,点击后面的“Edit”按钮可以将文件已文本方式打开;(2) SPICE extract output file:包含提取后网表的输出文件的名字。

可以用Browse按钮选择输出文件的路径,点击后面的“Edit”按钮可以将输出文件以文本方式打开,这样会同时将Extract对话框关闭;(3) Overwrite existing output files:此选项被选中,将会导致SPICE输出文件自动重写;(4) Label all devices:对每个未被命名的器件,在器件所在位置创建一个端口。

2、Output标签的选项(1) Write node names aliases:在网表文件开头的“NODE NAME ALLASES”节中,将与每个节点相关的节点名都进行注释;(2) Write device coordinates:在SPICE语句的末尾写出器件左下角和右上角的坐标作为行注释;(3) P-Spice compatible comments:用分号“;”作为行注释符号来代替“$”以达到与P-Spice的格式相一致的目的;(4) Write terminal names for subcircuits:在注释语句中给出子电路的端点名和网表中子电路的状态;(5) Write shorted devices:如果在提取定义文件中“IGNORE_SHO将被忽略;如果在提取定义文件中“IGNORE_SHORTS”没有被设置,则在网表中短路的器件将作为正常器件被写进;(6) Write layer cap.&resistance warnings:将缺少的绘图层电容和电阻的值写进网表的警告信息中;(7) Write node-element crossreference:将节点和器件的前后参照表写进网表文件的注释中,同时也列出器件的端点、节点,识别器件的多边形之间的边界及器件的位置;(8) Write nodes and devices as:用来选择节点的命名方式;(9) Write values in scientific notation:当此选项选中的时候,数值以科学计数法表示;(10) Write verbose SPICE statements:当此选项选中的时候,网表文件中电阻、电感和电容的值用“R=,L=,或C=”的形式表示;(11) Write empty subcircuit definition:在网表文件的顶端写一个空的子电路定义块,至在抽取子电路的时候才有可能用到;(12) Write .END statement:在网表的结尾以“.END statement”结束;(13) Wrap lines greater than 80 chars:在网表文件中,当一行的字符超过80个的时候,另起一行;(14) SPICE include statement:指定一个文本并将其写进输出网表文件中,通常会写进.include file命令,在这里file代表一个模块或子电路的文件名。

3、Subcircuit标签的选项(1) Recognize subcircuit instances:激活子电路识别;(2) Subcircuit recognition layer:对子电路识别层进行命名;(3) Write netlist as a subcircuit definition(.SUBCKT…ENDS):如果选中次选项,则将以子电路格式写出整个网表;(4) Flag improper overlaps:此选项用来控制对“几何违反”所作的反应;(5) Ignore subcircuit connection ports with nemes:列出子电路提取是要忽略的端口(6) Subcircuit cross port names:列出子电路提取时的子电路交叉端口。

四、Tanner的S-Edit使用(1)打开S-Edit程序;(2)另存为文件;(3)环境设置;(4)编辑模块;(5)浏览元件库;S-Edit本身附有4个元件库,分别是:scmos.sdb , spice.sdb , pages.sdb ,和element.sdb;(6)从元件库应用模块:找到NMOS、PMOS、Vdd与Gnd这四个模块;(7)编辑反相器:按住“Alt”键拖动鼠标,可移动对象。

注意MOSFET_N与MOSFET_P 选项分别有4个节点,Vdd与Gnd选项分别有一个节点。

注意,在两个对象相连接处,个节点上小圆圈消失即代表连接成功;(8)加入联机:走线时需注意,是联机符号还是线符号;(9)加入输入端口和输出端口:利用S-Edit提供的输入端口和输出端口按钮,标明次反相器的输入输出信号的位置与名称;(10)建立反相器符号;(11)加入输入端口和输出端口;(12)更改模块名称;注意大小写名称需一致;(13)反相器设计成果:效果如图:(14)模块输出格式:S-Edit可将模块的内容输出成几种文字形式,在其中的Select Export Data Type 下拉列表中可以看到6中输出格式;(15)输出成SPICE文:将设计好的S-Edit电路图输出成SPICE格式,可以借助于T-Spice 分析与模拟此设计电路的性质,可选择File——Export命令输出,会自动输出成SPICE文件并自动打开T-Spice与转出文件。