2024年3月3日发(作者:)
Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地
第二章
Virtuoso Editing的使用简介
全文将用一个贯穿始终的例子来说明如何绘制版图这个例子绘制的是一个最简单的非门的版图
§ 21
建立版图文件
使用library manager首先建立一个新的库myLib关于建立库的步骤在前文介绍cdsSpice时已经说得很清楚了就不再赘述与前面有些不同的地方是由于我们要建立的是一个版图文件因此我们在technology file选项中必须选择compile a new tech file,或是attach to an exsiting tech file这里由于我们要新建一个tech file因此选择前者这时会弹出load tech file的对话框如图2-1-1所示
图2-1-1
在ASCII Technology File中填入即可接着就可以建立名为inv的cell了为了完备起见读者可以先建立inv的schematic view和symbol view具体步骤前面已经介绍其中pmos长6u宽为0.6unmos长为3u宽为0.6umodel 仍然选择hj3p和hj3n然后建立其layout view其步骤为在tool中选择virtuosolayout然后点击ok
§ 22 绘制inverter掩膜版图的一些准备工作
首先在library manager中打开inv这个cell的layout view即打开了virtuoso editing窗 第 1 页 共 1页
Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地
图2-2-1 virtuoso editing窗口
口如图2-2-1所示
版图视窗打开后掩模版图窗口显现视窗由三部分组成Icon menu , menu banner , status
banner.
Icon menu (图标菜单)缺省时位于版图图框的左边列出了一些最常用的命令的图标,要查看图标所代表的指令只需要将鼠标滑动到想要查看的图标上图标下方即会显示出相应的指令
menu banner菜单栏,包含了编辑版图所需要的各项指令并按相应的类别分组几个常用的指令及相应的快捷键列举如下Zoom In -------放大 (z)
Save -------
保存编辑(f2)
Undo -------
取消编辑(u)
Move -------
移动(m)
Rectangle -------编辑矩形图形(r)
Path ------- 编辑布线路径(p)
status banner状态显示栏令等状态信息
Layer and Selection Window LSW
Zoom out by 2-------
缩小2倍(Z)
Delete -------
删除编辑(Del)
Redo -------恢复编辑 (U)
Stretch -------
伸缩(s)
Polygon -------
编辑多边形图形(P)
Copy -------复制编辑 (c)
位于menu banner的上方显示的是坐标当前编辑指在版图视窗外的左侧还有一个层选择窗口 第 2 页 共 2页
Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地
LSW视图的功能
123 可选择所编辑图形所在的层 可选择哪些层可供编辑 可选择哪些层可以看到
由于我们所需的部分版图层次在初始LSW中并不存在因此下一步要做的是建立我们自己的工艺库所需的版图层次及其显示属性为了简单起见以下仅列出绘制我们这个版图所需的最少版图层次
层次名称 说明
Nwell N阱
Active 有源区
Pselect P型注入掩膜
Nselect N型注入掩膜
Contact
Metal1
Via
Metal2
Text
Poly
引线孔连接金属与多晶硅/有源区
用于水平布线如电源和地 第一层金属通孔连接metal1和metal2
用于垂直布线如信号源的I/O口 第二层金属标签
多晶硅做mos的栅
下图是修改后的LSW
第 3 页 共 3页
Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地
图2-2-2 LSW
如何来修改LSW中的层次呢以下就是步骤
1 切换至CIW窗口在technology file的下拉菜单中选择最后一项edit layers出现如图窗口
图2-2-3 edit layers
2 在technology library中选择库mylib先使用delete 功能去除不需要的层次add添加必需的层次add打开如下图的窗口
然后点击 第 4 页 共 4页
Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地
图2-2-4
其中layer name中填入所需添加的层的名称Abbv是层次名称缩写Number是系统给层次的内部编号系统保留128256的数字作为其默认层次的编号而将1127留给开发者创造新层次Purpose是所添加层次的功用如果是绘图层次一般选择drawingPriority是层次在LSW中的排序位置其余的选项一般保持默认值在右边是图层的显示属性可以直接套用其中某些层次的显示属性也可以点击edit resources自己编辑显示属性如图2-2-5所示这个窗口还可以在LSW中调出 编辑方法很简单读者可以自己推敲就不再赘述上述工作完毕后就得到我们所需的层次接着我们就可以开始绘制版图了
§ 2一3
绘制版图
画pmos的版图新建一个名为pmos的cell
1 画出有源区
在LSW中点击activedg注意这时LSW顶部显示active字样说明active层为当前所选层次然后点击icon menu中的rectangle icon在vituoso editing窗口中画一个宽为3.6u长为6u的矩形这里我们为了定标必须得用到标尺点击misc/ruler即可得到清除标尺点击misc/clear ruler如果你在绘制时出错点击需要去除的部分然后点击delete icon
2 画栅
在LSW中点击polydg画矩形与有源区的位置关系如下图
第 5 页 共 5页
Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地
0.6u 0.6u(gate length)
6u(gate width)
1.5u
3.6u
图2-2-5 display resource editor
3画整个pmos
为了表明我们画的是pmos管我们必须在刚才图形的基础上添加一个pselect层这一层将覆盖整个有源区0.6u接着我们还要在整个管子外围画上nwell它覆盖有源区1.8u如下图所示
第 6 页 共 6页
Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地
pselect
00.6u0.6u
1.8u
nwell
4衬底连接
pmos的衬底nwell必须连接到vdd首先画一个1.2u乘1.2u的active矩形然后在这个矩形的边上包围一层nselect层覆盖active06u最后将nwell的矩形拉长完成后如下图所示
nselect
active
pselect
这样一个pmos的版图就大致完成了接着我们要给这个管子布线
二布线
pmos管必须连接到输入信号源和电源上因此我们必须在原图基础上布金属线
1 首先我们要完成有源区源区和漏区的连接在源区和漏区上用contactdg层分别画三个矩形尺寸为0.6乘0.6注意contact间距为1.5u
2 用metal1dg层画两个矩形他们分别覆盖源区和漏区上的contact覆盖长度为0.3u
3 为完成衬底连接我们必须在衬底的有源区中间添加一个contact这个contact每边都被active覆盖0.3u
4 画用于电源的金属连线宽度为3u将其放置在pmos版图的最上方
布线完毕后的版图如下图所示
第 7 页 共 7页
Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地
图2-3-1 pmos版图
通过以上步骤我们完成了pmos的版图绘制接下来我们将绘制出nmos的版图
三画nmos的版图
绘制nmos管的步骤同pmos管基本相同新建一个名为nmos的cell无非是某些参数变化一下下面给出nmos管的图形及一些参数具体绘制步骤就不再赘述
3.6u
0.6u
0.6u 3u
3u
图2-3-2nmos版图
四完成整个非门的绘制及绘制输入输出
1 新建一个cellinv将上面完成的两个版图拷贝到其中并以多晶硅为基准将两 第 8 页 共 8页
Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地
图对齐然后我们可以将任意一个版图的多晶硅延长和另外一个的多晶硅相交
2 输入为了与外部电路连接我们需要用到metal2但poly和metal2不能直接相连因此我们必须得借助metal1完成连接具体步骤是
a 在两mos管之间画一个0.6乘0.6的contact
b 在这个contact上覆盖poly过覆盖0.3u
c 在这个contact的左边画一个0.6乘0.6的via然后在其上覆盖metal2dg过覆盖0.3u
d 用metal1连接via和contact过覆盖为0.3u
从下图中可以看得更清楚
via contact
metal2
metal1
poly
3 输出先将两版图右边的metal1连起来任意延长一个的metal1与另一个相交然后在其上放置一个via接着在via上放置metal2
五作标签
1 在LSW中选择层次textd3点击create/label在弹出窗口中的label name中填入vdd并将它放置在版图中相应的位置上
2 按同样的方法创制gndA和Out的标签完成后整个的版图如下
图2-3-4 非门的版图
至此我们已经完成了整个非门的版图的绘制制时是否有同设计规则不符的地方
下一步将进行DRC检查以检查版图在绘 第 9 页 共 9页
Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地
第三章 Diva验证工具使用说明
版图绘制要根据一定的设计规则来进行也就是说一定要通过DRCDesign Rule
Checker检查编辑好的版图通过了设计规则的检查后有可能还有错误这些错误不是由于违反了设计规则而是可能与实际线路图不一致造成版图中少连了一根铝线这样的小毛病对整个芯片来说都是致命的所以编辑好的版图还要通过LVSLayout Versus
Schematic验证同时编辑好的版图通过寄生参数提取程序来提取出电路的寄生参数电路仿真程序可以调用这个数据来进行后模拟下面的框图可以更好的理解这个流程
图 3-0-1 IC后端工作流程
验证工具有很多我们采用的是Cadence环境下集成的验证工具集DIVA下面先对DIVA作一个简单介绍
DIVA是Cadence软件中的验证工具集用它可以找出并纠正设计中的错误它除了可以处理物理版图和准备好的电气数据从而进行版图和线路图的对查LVS外还可以在设计的初期就进行版图检查尽早发现错误并互动地把错误显示出来有利于及时发现错误所在易于纠正
DIVA工具集包括以下部分
1 设计规则检查iDRC
2 版图寄生参数提取iLPE
3 寄生电阻提取iPRE
第 10 页 共 10页
Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地
45 电气规则检查iERC
版图与线路图比较程序iLVS
需要提到的是Diva中各个组件之间是互相联系的有时候一个组件的执行要依赖另一个组件先执行例如要执行LVS就先要执行DRC在Cadence系统中Diva集成在版图编辑程序Virtuoso和线路图编辑程序Composer中在这两各环境中都可以激活Diva要运行Diva前还要准备好规则验证的文件可以把这个文件放在任何目录下这些规则文件的写法下面专门会进行说明也会给出例子这些文件有各自的默认名称如做DRC时的文件应以命名版图提取文件以命名做LVS时规则文件应以命名
§ 31 DRC规则文件的编写
仍旧以前面的非门为例我们制定了以下规则
1.a n阱(well) n阱的最小宽度
1.b 阱与阱之间的最小间距
1.c ndiff到nwell的最小间距
1.d pdiff到nwell的最小间距
1.e p mos 器件必须在nwell内
2.a 有源区active 有源区的最小宽度
2.b 有源区之间的最小间距
3.a 多晶硅poly 多晶硅的最小宽度
3.b 多晶硅间的最小宽度
3.c 多晶硅与有源区的最小间距
3.d 多晶硅栅在场区上的最小露头
3.e 源漏与栅的最小间距
4.a 引线孔contact 引线孔的最小宽度
4.b 引线孔间的最小间距
4.c 多晶硅覆盖引线孔的最小间距
4.d metal1覆盖引线孔的最小间距
5.a 金属1metal1 金属1的最小宽度
5.b 金属1间的最小间距
6.a 金属2metal2 金属2的最小宽度
6.b 金属2间的最小间距
6.c 金属2的最小挖槽深度
7.a 通孔via 通孔的最小宽度
7.b 通孔间的最小间距
7.c 通孔与引线孔间的最小间距
7.d metal1覆盖通孔的最小间距
4.8u
1.8u
0.6u
1.8u
1.2u
1.2u
0.6u
0.6u
0.6u
0.6u
0.6u
0.6u
0.9u
0.3u
0.3u
1.2u
0.9u
1.2u
1.2u
1.2u
0.6u
0.9u
0.6u
0.3u
第 11 页 共 11页
Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地
7.e metal2覆盖通孔的最小间距 0.3u
7.f 通孔与多晶硅的最小间距 0.3u
结合上述规则我们就可以编写出相应的DRC规则检查文件见附录1取名为这个文件的第一部分是层次处理用于生成规则文件中所要应用到的层次可以是原始层或是衍生层例如nwell=geomOr("nwell")在文件中引用到的所有原始物理层次都要用双引号括起来这一句的目的是在后面应用到nwell这个原始物理层次时不需要再用引号括起来前面几句都是这个意思后面四句则生成版图验证中必须的一些层次有一点需要注意的是在geomOr的关键字和(之间不能出现空格nwell=geomOr (“nwell”)的写法系统在编译时会报错
下面这个语句相当于一个条件转移语句当有drc命令时执行下面的规则否则跳转到下一个命令
ivIf( switch( "drc?" ) then
在设计规则检查中主要的语句就是drc了先简单介绍一下这个语句的语法
[outlayer]=drc(inlayer1 [inlayer2] function [modifiers] )
outlayer表示输出层如果定义给出输出层则通过drc检查的出错图形就可以保存在该输出层中此时如果没有modifiers选项则保存的是原始的图形如果在modifiers选项中定义了修改方式那么就把修改后的结果保存在输出层中如果没有定义outlayer层出错的信息将直接显示在出错的原来层次上
Inlayer1和inlayer2代表要处理的版图层次有些规则规定的是只对单一层次的要求比如接触孔的宽度那么可以只有inlayer1而有些规则定义的是两个层次之间的关系如接触孔和铝线的距离那么要注明两个层次
Function中定义的是实际检查的规则关键字有sep不同图形之间的间距, width图形的宽度, enc露头, ovlp(过覆盖), area图形面积, notch挖槽的宽度等关系有>, <, >=, <=, ==等结合起来就是sep<3, width<4, 1 在规则文件中我们还可以看到saveDerived语句如saveDerived(geomAndNot(pgate nwell) "p mos device must in nwell")这一句将输出不在nwell内部的pgatepmos这种写法在规则文件的编写中经常碰到要熟练掌握 另外在DRC文件中引号引出的行是注释行 以上就是对DRC文件编写的一些简单介绍对于其中使用的关键字作者有专门的说明文章同时在本文后面作者还会给出一个完整的DRC校检文件并给出详细说明读者可以参照它以加深对文件编写的理解 § 32 版图提取文件的介绍 上面已经提到通过DRC验证的版图还需要进行LVS也就是版图和线路图对查比较实际上就是从版图中提取出电路的网表来再与线路图的网表比较那么如何提取版图网表呢这里我们就要使用到DIVA的extract文件下面是它的简单介绍 首先同DRC一样extract文件的最开始同样是这样一条语句 第 12 页 共 12页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 ivIfswitchextract then 它相当于一个条件转移语句当有extract这个命令时执行下面的规则否则跳转到另外的循环 接着extract文件中要进行的是层次定义它一般分为三个步骤 1 识别层定义recognition layer 2 终端层定义terminal layer 3 伪接触层定义psuedo_contact layer 然后是定义层次间的连接关系使用geomConnect语句将版图间的不同层次连接起来一个extract文件只能有一个geomConnect语句构成完整的网表例如句子 geomConnect viacontact psd nsd poly metal1 viavia metal1 metal2 其中via语句的作用是使用连接层连接任意数目的层次但要注意的是一个via语句中只能出现一个连接层但在geomConnect语句中via语句可以出现的次数不限以上语句表示在有contact的地方psd nsd poly metal1 是相互连接的在有via 的地方metal1和metal2相连注意后一个via和前一个的意义不同 上述工作完成之后我们接着要进行的工作是器件的提取device extraction使用extractDevice语句extractDevice 语句定义电路中用到的元器件这是提取文件中的关键语句语法说明如下 extractDevice( reclayer termlayer model physical ) 其中reclayer是识别层它应该是后来通过逻辑关系生成的提取层这个层上的每一个图形都会被当作是一个元器件 Termlayer是端口层它表示的是元器件的端口一定要是可以连接的层次具体的端口定义因元器件而异 Model指的是元器件的类型与端口要对应例如下两句 extractDevice( pgate (GT "G")(psd "S" "D")(NT "B")"pfet ivpcell" ) extractDevice( ngate (GT "G")(nsd "S" "D")(pwell "B")"nfet ivpcell" ) 分别提取出pmos管和nmos管 接着很重要的一步是器件尺寸测量使用measureParameter语句例如 w1measureParameterlength ngate butting nsd .5 这一句测量的是nmos的沟道宽度注意后面的.5必须加上否则测出的将是两倍的沟道宽度 下面使用saveInterconnect 这个命令把连接的层次写到提取出来的网表中以便在做LVS时可以与线路图中的网表互相对比 saveInterconnect( nsd psd poly contact metal1 ) saveRecognition 这个命令将提取产生的可以识别的图形保存下来通常和extractDevice语句中的识别层一致 saveRecognition( ngate "ngate" ) saveRecognition( pgate "pgate" ) 以上就是对extract文件的一个简要介绍读者可以参看附录中完整的例子以加深对它的理解 § 3接下来就是LVS检查了3 LVS文件的介绍 LVS文件在diva中由于版图提取在extract中就已经完成 第 13 页 共 13页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 中的逻辑结构相对就比较简单只需进行网表比较参数比较以及把一些并联或串联的元器件归并等即可所以这一部分文件不会因为工艺层次不同而有很大不同可以根据范本做少许改动 以下只介绍一下LVS的基本结构 lvsRules procedure(mosCombine(value1,value2) ……. ) Procedure(mosCompare(lay,sch) ……. ) permuteDevice(parallel “pmos” mosCombine) compareDeviceProperty(“pmos” mosCompare) ) 至于例子读者可以参考附录 § 3一DRC的说明 4 Diva的用法 编辑好的验证文件都存在..exporthomewmymyLib下文件名分别是有了这三个文件就可以进行版图验证了下面将以一个非门为例子来进行说明 在编辑版图文件的同时就可以进行DRC检查在virtuoso版图编辑环境中单击Verify菜单上面提到的DIVA工具都集成在这个菜单下先介绍设计规则检查DRC单击第一个子菜单DRC就会弹出DRC的对话框如下 图3-4-1 DRC菜单窗口 第 14 页 共 14页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 Checking Method指的是要检查的版图的类型 Flat 表示检查版图中所有的图形对子版图块不检查与电路图中类似最上层电路由模块组成而模块由小电路构成有些复杂的版图也是如此 Hierarchical利用层次之间的结构关系和模式识别优化检查电路中每个单元块内部是否正确 hier w/o optimization 利用层次之间的结构关系而不用模式识别优化来检查电路中每个单元块 Checking Limit 可以选择检查哪一部分的版图 Full 表示查整个版图 Incremental 查自从上一次DRC检查以来改变的版图 by area 是指在指定区域进行DRC检查一般版图较大时可以分块检查 如果选择这种方式后Coordinate 这个输入框就变为可输入可以在这个框内输入坐标用矩形的左下角和右上角的坐标来表示格式为12599:98991 115682:194485 或者先单击Sel by Cursor,然后用鼠标在版图上选中一个矩形这个输入框也会出现相应的坐标如果不出现可以多选几次 Switch Names 在DRC文件中我们设置的switch在这里都会出现这个选项可以方便我们对版图文件进行分类检查这在大规模的电路检查中非常重要 Run-Specific Command File Inclusion Limit 上面的两项并不是必需的可以根据默认设定 Echo Commands 选上时在执行DRC的同时在CIW窗口中显示DRC文件 Rules File 指明DRC规则文件的名称默认为 Rules Library 这里选定规则文件在哪个库里 Machine 指明在哪台机器上运行DRC命令 local 表示在本机上运行对于我们来说是在本机运行的选local remote 表示在远程机器上运行 Remote Machine Name 远程机器的名字 在填好规则文件的库和文件名后根据实际情况填好Checking Method 和Checking Limit就可以单击OK运行这时可以在CIW窗口看到运行的信息同时在版图上也会出现发亮的区域如果有错误 错误在版图文件中可以看到另外也可以选择Verify-Markers-Find菜单来帮助找错单击菜单后会弹出一个窗口在这个窗口中单击apply就可以显示第一个错误这个窗口较简单大家看一下再试几次就可以了 同样可以选择Verify-Markers-Explain来看错误的原因提示选中该菜单后用鼠标在版图上出错了的地方单击就可以了也可以选择Verify-Markers-Delete把这些错误提示删除 Virtuoso版图编辑环境下的菜单见图3-4-2 第 15 页 共 15页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 图3 –4-2Virtuoso菜单 二版图提取Extractor说明 为了进行版图提取还要给版图文件标上端口这是LVS的一个比较的开始点在LSW窗口中选中metal1pn层然后在Virtuoso环境菜单中选择pn指得是引脚pinCreate-Pin这时会出来一个窗口如下 图3-2-3 创建版图端口窗口 填上端口的名称Terminal Names 和Schematic中的名字一样模式Mode一般选rectangle输入输出类型I/O Type等至于Create Label属于可选择项选上后端口的名称可以在版图中显示 填好可以直接在版图中画上端口往往有好几个端口可以都画好在单击Hide 这些端口仅表示连接关系并不生成加工用的掩模板只要求与实际版图上铝线接触即可也没有规则可言 第 16 页 共 16页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 版图的完成后就可以提取了在版图编辑环境下选择Verify –extractor 下 弹出菜单如图3-2-4Extractor窗口 图3-2-5 提取出的文件 填好提取文件库和文件名后单击OK就可以了然后打开Library Manager在库myLib下nmos单元中增加了一个文件类型叫extracted的文件可以用打开版图文件同样的方式打开它图3-2-5就是提取出来的版图可以看到提取出来的器件和端口要看连接关系的话可以选择Verify-probe菜单在弹出窗口中选择查看连接关系 版图的准备工作基本上就完成了接下来是线路图的准备工作线路图的准备工作相 第 17 页 共 17页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 对较简单有几个要注意的地方首先在库的选用上要用Sample库中的元件其次线路图的端口名称要与版图中的端口名称一致最后在线路编辑完成后要进行检查可以直接单击左边第一个快捷键也可以选择菜单Check--Current Cellview 在版图和线路图的准备工作完成后就可以进行LVS了 图3-2-6 LVS 参照图3-2-6的弹出菜单填好规则文件的库和文件名要进行LVS的两个网表其实在LVS中比较的是两个网表一个是schematic中另一个是extracted所以两个schematic文件也可以比较只是一般没这个必要设置完以后单击RUN片刻后就回弹出一个窗口表示LVS完成或者失败失败时可以在上面的菜单中单击Info看运行的信息再进行处理LVS完成后可以在上面的弹出菜单中单击Output这时会弹出LVS的结果 当然LVS完成并不是说LVS通过了可能会有很多地方不匹配这时要查看错误可以在LVS窗口中单击Error Display即可在Extracted和Schematic 中查看错误 第 18 页 共 18页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 第四章 Cadence中Verilog 的一些使用方法 § 41 Verilog 的文本编辑器 随着电路规模的增大和复杂传统的图形输入模式已不可行语言描述电路成为潮流它的方便性和好的更改性维护性在实践中得到很好的体现尤其现在强大的综合工具和系统集成对核的需求性使Verilog更有用武之地每个硬件工程师应该学习掌握它 在进入Cadence后在命令行中键入 textedit *.v↙ (此处*为文件名在textedit 命令后应带上文件名) 键入上述命令后进入文本编辑框和Windows 中常用的文本编辑框很象 图4-1-1textedit文本编辑框界面 图中的主菜单FileViewEditFind及各自底下的子菜单和Windws中的 文本编辑器差不多使用方法相似这里就不多说了编好程序保存可以进 行后续工作了 § 4一2 Verilog 的模拟仿真 命令的选择 在命令行中键入 verilog↙ 会出现关于此命令的一些介绍如下 -f -v -y -c compile only -s enter interactive mode immediately 第 19 页 共 19页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 -k -u convert identifiers to upper case -t set full trace -q quiet -d decompile data structure Special behavioral performance options (if licensed): +turbo speed up behavioral simulation. +turbo+2 +turbo with second level optimizations. +turbo+3 +turbo+2 with third level optimizations. +listcounts generate code for maintaining information for $listcounts +no_turbo don't use a VXL-TURBO license. +noxl disable XL acceleration of gates in all modules Special environment invocation options (if licensed): +gui invoke the verilog graphical environment 在上面的参数选择中简单介绍几个常用的: (1)-c 首先应该保证所编程序的语法正确性先进行语法的检查选择参数- c键入 如下命令 verilog –c *.v↙ 根据Cadence的报告查找错误信息的性质和位置然后进入文本编辑器进 行修改再编译这是个反复的过程直到没有语法错误为止 (2)-s 进入交互式的环境人机交互运行和下面的参数联合使用 (3)+gui & verilog 仿真有命令和图形界面两种方式图形界面友好和windows使用很 象很好掌握一般都使用图形方式 &”符号是后台操作的意思不影响 前台工作如此时你可以在命令行输入其它的命令 其它的命令参数选择比较复杂这里就不介绍了故我们这里常用的命令是 verilog –s *.v +gui &↙ (*代表文件名) 进入图形交互界面 $附命令行输入 !!↙ 是执行上一条命令 命令行输入 !* ↙ (*代表字母) 是执行最近的以*开头的命令 上述附注对命令输入速度提高有所帮助 二SimVision 图形环境 SimVision是Verilog-XL的图形环境 主要有SimControlNavigator Signal Flow Browswer Wactch Objects Window SimWave 等窗口 第 20 页 共 20页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 (1)SimControl 窗口 此窗口是主要的仿真控制窗口让用户和机器进行交互式操作执行各种Verilog-XL命令(菜单)进行仿真分析调试你的设计该窗口可以显示设计的模块和模块显示和设置断点强制信号等创建用户自己的按钮和执行经常使用的操作 Manu Bar Tool Bar Source Browser 图4-2-1 SimControl 窗口界面图 Scope Region I/O Region Message Region 各部分简介 Menu Bar 有许多的子菜单让你执行各种模拟仿真命令这里就不一一介绍到使用时在指明其功能和所在位置 Tool Bar 各种按钮代表最常用的操作和功能能快速对选中的物体执行各种命令你可以在工具条中加入自己定义的按钮来代表常用的操作命令使用 第 21 页 共 21页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 Option-User Buttons-Create 菜单项用Options-User Buttons-Edit 菜单项修改修改按钮工具条还显示当前模拟时间当处于交互式的模拟状态时会随模拟更新时间因为工具条按钮的操作为常用操作下面各功能详细介绍一下 运行模拟按钮 设置模块按钮 对对象执行操作按钮 调用其它显示窗口按钮 显示模拟时间 a b c d e f g h i j k l m n 放用户自定义按钮 是否显示程序代码 图4-2-2 SimControl窗口中的工具条 aRun Simulation按钮 运行模拟若无断点直至完成图标变为停止模拟图标若有断点则运行到断点对应信号再改变的位置 bSingle Step按钮 再任何模块每按一下执行到下一个可执行行即使在子程序中也是单步运行 cStep Over 按钮 在当前的模块中执行到下一个可执行行在子程序中步单步执行而是一步执行完子程序 dSet Scope 按钮 由当前的调试模块转到被选中的模块 eScope Up 按钮 由当前模块转到它的上一级模块但若有对象被选中不执行 fShow Execution 按钮 模拟时更新当前模块显示正在模拟的模块在当前刚执行完的代码行左边有一个箭头 gSet Breakpoint 按钮 设置断点当模拟过程中被选信号变化时发生代码左边的行号为高亮的可设为断点灰色则不可以 hSet Force 按钮 弹出一个窗口里面有当前选中信号的名字和数值用户可以强制信号为一个希望值 iShow Value 按钮 n程序代码是否显示的切换按钮显示当前被选信号的数值 第 22 页 共 22页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 以下jklm调用其它调试窗口具体介绍放到后面 j打开Navigator窗口 k打开Watch Objects 窗口显示被选中的对象 l打开Singal Flow Browser窗口把被选中的对象放到浏览器中 m打开SimWave窗口显示被选中对象的模拟波形 Source Browser 显示被调试的程序代码每行左边有行号你可以在其间选择信号和模块这种选择会影响其它工具的操作对象反过来其他工具操作对象的选择也会作用于Source Browser信号和对象的选择可在其间设置断点如前所说的在行号为高亮的行可设为断点灰色则不可以可在Source Browser中点鼠标的右键选择菜单进行操作另一个对选择对象的操作是双击该对象如双击信号得到它的数值双击模块则调到该模块描述处如图4-2-2中的n字母代表的按钮Source Browser可被关掉不显示 Scope Region 包含scope field 和subscopes field从下拉按钮选择不同的项跳到不同的模块对应的Source Browser显示该模块的代码 I/O Region 显示执行的命令和模拟输出的结果你也可以直接在此键入命令执行操作I/O Region 也可以被关掉不显示当点击Message Region右边的三角按钮可切换显示与否 Message Region 显示模拟状态 三Navigator 窗口 按下和图4-2-2中j字母所代表的按钮一样的按钮打开Navigator窗口此窗口用图形在Scope Tree 中采用树的形式显示设计中各模块的层次关系在Objects List中显出Scope Tree中被选模块的当前模拟数值和描述 第 23 页 共 23页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 图4-2-3 Navigator窗口 Menu Bar 提供各种命令和操作有下拉菜单(如下面的图4-2-4)和右键弹出菜单两种选中对象点击右键可选择对对象操作所需的命令如下面的图4-2-5 图4-2-4 Navigator窗口的菜单 第 24 页 共 24页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 图4-2-5 Navigator中的PoP-Up菜单 Tool Bar a设置模块 b对选择对象操作 c调用其他显示窗口 图4-2-6 Navigator中的工具条 abc同SimControl窗口中的工具条对应按钮的功能一样都是对选择对象进行相应的操作只是对象可以在SimControl窗口选择也可以在Navigator窗口中选择互相影响 Hierarchy Path 显示当前模块的直接路径其他路径不显示可选择其间的模块点击右键弹出菜单进行操作 Scope Tree 对被选中的模块用树的形式表示出来在图4-2-4中Options-Scope Tree…菜单项中有关于对象显示的的性质有FiltersFormattingLayout三栏各有一些选项供选择影响当前Scope Tree显示的内容 Objects List 显示当前调试模块里的信号和当前数值在在图4-2-4中Options-Objects List…菜单选项有FiltersFormatting两栏会影响Objects List中的显示内容在Selcet子菜单中的选项(如图4-2-4)能选取某一类别的信号如都是Wires型或是Registers型 第 25 页 共 25页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 四Singal Flow Browser窗口 该窗口跟踪可疑信号的值进入有三个方法 (1) 按下图4-2-2中j字母所代表的按钮 (2)SimControl 窗口Tools- Singal Flow Browser菜单项 (3) 图4-2-6 Navigator中的工具条中字母c的第二个按钮打开窗口 (4) Wactch Objects Window中按下图4-2-2 中j字母所代表的按钮的一样的按钮界面如下图(没选信号时) 图427 Singal Flow Browser窗口界面 Menu Driver Frame Tool Bar Trace field Menu 对对象的操作命令可查看信号或输入的细节显示信号的驱动可用四种进制显示信号的数值见下图后面会阐述菜单项的功能 图428 Singal Flow Browser窗口菜单 Tool Bar 中的按钮和前面出现的相同的按钮的功能一样这里就不重复了 Trace field显示图2 SimControl 窗口Source Browser或者图4Navigator窗口中Objects List所选的信号也可在Trace field输入信号名 Driver Frame 第 26 页 共 26页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 显示被选的信号和数值以及所有影响该信号的信号及它们的数值假设某个时候的Driver和Value 如下图 图4-2-9 Driver 信号举例 如果在上图中选中Driver信号选图4-2-9中 View-Driver info…的菜单项将弹出 Driver Details窗口显示信号的详细信息如下图 图4210 Driver 信号Driver Details窗口 当选中图4-2-9中的Driver 信号选图4-2-8中Trace-show inputs菜单项或者双击信号将得到影响Driver 信号的有关信号的信息如下图 图4211Driver 信号的inputs信息图 再次双击Driver 信号会隐去这些信息 第 27 页 共 27页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 五Watch Objects 窗口 显示所选信号及其数值当模拟中断时更新数值进入有三个方法 (1) 按下图4-2-2中k字母所代表的按钮 (2) SimControl 窗口Tools- Watch Objects菜单项 (3) Navigator中的工具条中字母c的第一个按钮打开窗口 (4) Singal Flow Browser 窗口中按下和图4-4-2中k字母所代表的按钮的一样的按钮界面如下图(没选信号时) 图4212Watch Objects 窗口 Browser 中 你可以在打开Watch Objects窗口前选择观察信号如在Source 点选择信号或在SimControl窗口中(图2)的Select菜单下的菜单项选择或在图4中Navigator窗口的Objects List中选择也可以在打开Watch Objects窗口后再选择信号如前选择好信号然后点击图4212中工具条上的加号图标把选好信号加到窗口中窗口的菜单如下图菜单项的含义都比较明了就不多说了提一下Options-Heighlight Activity项使最新变化的信号项用高亮条表示Options-Continous Update 项使信号随时变化即使按图3中的aRun Simulation按钮也会显示最后的结果否则不显示最后结果 第 28 页 共 28页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 图4213Watch Objects 窗口的菜单 SimWave 窗口 显示选择信号的波形和数值 图4214SimWave 窗口界面 § 43 一个示例 这里举一个实际工作中编的例子演示前面所讲的内容但不一定面面俱到 程序的清单见附录(alu.v) 在命令行中敲textedit alu.v↙ 用textedit 编好程序的文本 在命令行中敲verilog –c alu.v↙ 编译通过程序. 在命令行中敲verilog –s alu.v +gui&↙ 进入交互式图形界面SimControl 窗口(见图2)在Scope中选择 在SimControl 窗口中的选中Select-Ports项选择端口 按下图3SimControl窗口中的工具条中的k键打开Watch Objects 窗口 并如图13选中Options-Continuous ,Highlight Activity两项 按下图3SimControl窗口中的工具条中的m键,打开 SimWave 窗口 按下图3SimControl窗口中的工具条中的a键, 第 29 页 共 29页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 图4 31Watch Objects 窗口 附 图432SimWave 窗口波形 alu.v源程序 module alu(sum,c_out,a,b,c_in,m); output [3:0]sum; output c_out; input [3:0]a,b; 第 30 页 共 30页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 input c_in,m; wire c4,cn,cout1; wire [3:0]sum1,a2; assign a2[0]=(b[0]&~m)|(~b[0]&m); assign a2[1]=b[1]; assign a2[2]=(b[2]&~m)|(((~b[2]&b[1])|(b[2]&~b[1]))&m); assign a2[3]=(b[3]&~m)|(~b[3]&~b[2]&~b[1]&m); assign {c4,sum1}=a+a2+c_in; assign cn=c4|(sum1[3]&sum1[2])|(sum1[3]&sum1[1]); assign {cout1,sum}=sum1+{1'b0,cn,cn,1'b0}+1'b0; assign c_out=cn; endmodule module test; reg [3:0]ta,tb; reg tc,tm; wire [3:0]tsum; wire tcout; alu talu(tsum,tcout,ta,tb,tc,tm); initial $monitor($time,"c_out=%d,sum %d=%d+%d+%d,m=%d",tcout,tsum,ta,tb,tc,tm); initial begin ta=4'b1001; tb=4'b1000; tc=1'b0; tm=1'b0; #10 ta=4'b1001; tb=4'b1001; tc=1'b1; #10 ta=4'b0111; tb=4'b0010; tc=1'b0; #10 tm=1'b1; ta=4'b0111; tb=4'b0010; tc=1'b1; #10 ta=4'b0111; tb=4'b0100; tc=1'b1; #10 ta=4'b0101; tb=4'b0010; tc=1'b1; #10 $finish; 第 31 页 共 31页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 end endmodule 下图1718是程序对应的电路图 图17 BCD码加法器 图18 ALU原理图 几个打开相关帮助的命令,在命令行中敲入 openbook vlogtut&↙ (Verilog-XL Tutorial) openbook vlogref&↙ (Verilog-XL Reference) openbook vloguser&↙ (simwave user guide) openbook simwaveuser&↙ (open the Verilog-XL guide) 校内网站ftp10.12.41.35有PC机版Verilog仿真工具如Modelshim,Active HDL4.2版Xilinx的FPGA等等还有Cadence 的一些资料如Verilog-XL Referenceuser_guide等等 第 32 页 共 32页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 第五章 MEDICI 的使用简介 § 51 MEDICI 的使用 1 登陆 请使用自己的帐号登陆到10.13.72.33 进入系统后,请进入目录/export/home/avant/bin 如果用户是从PC机上登录的应确保在登录前已经运行了EXCEED该程序可以使工作站上的图形输出在PC机上可见在登陆后应接着运行命令这个命令使得程序结 果输出在指定的PC机上setenv DISPLAY 本机IP0.0 2 运行MEDICI 步骤如下将所有的语句写在一个文本文件中在运行命令medici后系统将提示是否输入文件名此时可以将文件名输入或者直接将文件名作为参数和medici命令一起运行如下 medici /export/home/avant/public/ <回车> § 52 关于MEDICI 的概述 关于MEDICI语法的详细描述请参阅使用手册在该手册中有几种不同类型结构的例子如MOS和NPN请结合例子来准确理解语句的用途 一MEDICI 的功能简介 公司的一个用来进行二维器件模拟的软件它对势能Medici 是先驱AVANT场和载流子的二维分布建模通过解泊松方程和电子空穴的电流连续性等方程来获取特定偏置下的电学特性用该软件可以对双极型MOS型等半导体器件进行模拟这个程序通过解二极管和双极型三极管以及和双载流子有关的电流效应诸如闩锁效应的电流连续性方程和泊松方程来分析器件Medici 也能分析单载流子起主要作用的器件例如MOSFETJFETMESFET另外MEDICI 还可以被用来分析器件在瞬态情况下的变化在亚微米器件模拟中MEDICI 通过联解电子和空穴的能量平衡和其他的器件方程可以对深亚微米的器件进行模拟像热载流子和速度过冲等效应在MEDICI 中都已经考虑了并能够对他们的影响进行分析 二MEDICI 的一些特性 网格GRID 在MEDICI 使用了非均匀的三角形网格可以处理具有平面和非平面表面的特殊器件并且能够根据电势或杂质分布的情况自动进行优化电极可以被放在器件结构中的任何地方 杂质分布的读入 杂质的分布可以通过MEDICI 的函数从AVANT的其他工艺建模软件如TMA SUPREM3和SUPREM4或者是包含杂质分布的文本文件中获得也可以在文本文件中描述 第 33 页 共 33页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 物理模型 为了使模拟的结果精确下列模型都可以被考虑进来载流子的复合PHOTOGENERRATION碰撞离化效应禁带变窄效应BAND-BAND TUNNELING迁移率的变化载流子寿命载流子的Boltzman 和 Fermi-Dirac 统计分布部分离化效应 其他特性 12345 Attach lumped resistivecapacitiveand inductive elements to contacts 可以描述分布式接触电阻 可以在模拟中描述电压和电流的边界条件 I-V曲线自动跟踪 为了计算和频率相关的电容电导admittance和s参数可以在任何虚拟的频率下进行交流小信号分析 图形的输出 1 One-dimensional plots of terminal data 可以用来显示直流特性例如所加的电压接触端的电压终端电流时间瞬态特性还能够用来显示交流量如电容电导admittance频率以及用户定义的一些变量 可以显示沿着器件结构中特定路径上的某一参量的一维分布 包括势能载流子的准费米势能电场载流子浓度杂质浓度复合和产生率以及电流密度 网格边界电极和结的位置耗尽区边界的二维结构图 量的二维图形分布例如势能载流子的准费米势能电场载流子浓度杂质浓度复合和产生率电流密度电流分布 电流密度核电场的二维向量分布 Three-dimensional projuction plots of quantities例如势能载流子的准费米势能电场载流子浓度杂质浓度复合和产生率电流密度 23456 三MEDICI 的语法概览 语句简介 器件结构定义语句包括: MESH, , , ELIMINATE, SPREAD, BOUNDRY, TSUPREM4,REGION ELECTRODE, PROFILE这些语句定义了器件的结构和模拟用的网格. MESH:初始化网表的生成 :描述X方向上的网格线的位置 :描述Y方向上的网格线的位置 ELIMINATE:沿着网格线缩减节点 SPREAD:沿着水平网格线调整节点的垂直位置 BOUNDRY:调整模拟的网表以适应边界的界面 第 34 页 共 34页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 REGRID可以用来用来对这种网格进一步优化. 材料物理性能描述 REGION:描述材料在结构中的区域 INTERFACE 语句可以被用来说明界面层电荷,陷阱,和复合速率. CONTACT被用来说明电极边上的特殊边界条件. MATERIAL可以用来改变结构的材料特性. 器件求解的物理模型 MOBILITY描述和各种各样的迁移率模型相关的参数. MODELS用来描述模拟过程中的物理模型. SYBOLIC可用来选择模拟时用的求解方法. METHOD用来对特定的求解方法选择特殊的技巧. SOLVE用来选择偏置条件和分析类型.,这个语句可以被用于稳态,瞬态和交流小信号. 图形化结果的输出 PLOT.3D被用来初始化三维图显示平台它的配套语E,TITLECOMMENT等. PLOT.2D用来初始化二维图形显示平台.它的配套语句可以有CONTOUR,VERCTOR,,LABEL,TITLE,COMMENT等. PLOT.1D用来初始化一维图形显示平台,它的配套语句有,LABEL,TITIE,COMMENCONTOUR等. 网表描述的步骤 通常,网表的描述有以下步骤: 1. 定义一系列有间隔的X和Y方向的网格线构成的一个简单的矩形 2. 将网格线适当扭曲以适应非平面的图形或者与杂质的分布相匹配(平面性很差的结构很难处理好)这一步的目的是为了将网格进行优化 3. 将多余的节点从网格中去除掉 4描述材料区域和电极 语句格式: MEDICI 的输入语句具有自由的格式,并具有下列的一些特性. a) 每一个语句都由语句名称开始,后面再跟一些参数名和值. b) 每一个语句都可以占用一行以上的地方,行与行之间用连接符号(“+”)连接. c) 每一行最多由80个字符构成 参数类型: 参数是指接在每一个语句名称后用来定量的实现该语句的功能的符号a) logical:如果该参数出现,则表示为true b) numerical c) array d) character 第 35 页 共 35页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 输入限制: 1. 最多1000个语句 2. 最多2000行 3. 最多60000个字符 § 53 教学实例1 这里以一个NMOS为例作了一些分析.关于这个例子的描述文件放在/export/home/avant/public/中可以通过FTP将这个文件下载这是一个文本文件假如想在这个文件的基础上做进一步的修改的话修改后必须将文件上载到原来的目录下然后按照前面所说的方法运行该文件另外使用手册也放在这个目录下有兴趣的话可以自己下载了去看用Acrobat打开 请各位需要注意的是在使用之前请每人自己作一个备份并使用另外的名字以免因为使用同一个文件名致使程序运行到半中间时产生冲突而中断 例子如下; TITLE TMA MEDICI Example 1 - 1.5 Micron N-Channel MOSFET 给本例子取的标题对实际的模拟无用 COMMENT Specify a rectangular mesh COMMENT语句表示该行是注释 MESH SMOOTH=1 创建器件结构的第一步是定义一个初始的网表(见图1),在这一步中网表不需要定义得足够精确,只需要能够说明器件的不同区域,在后面我们会对该网表进行优化.网表的生成是由一个MESH语句开始的,MESH语句中还可以对smoothing进行设置(好的smoothing可以把SPREAD语句产生的钝角三角形带来的不利影响减小). COMMENT WIDTH is the whole width,H1 is the width of a grid WIDTH=3.0 H1=0.125 和语句描述了初始网表是怎样生成的,用来描述横向的区域.在此例子中,语句中的H1=0.125说明在横向区域0—WIDTH之间网格线水平间隔为0.125微米(均匀分布). COMMENT location of line NO. 1 is -0.025u, No.3 is 0.0u N=1 L=-0.025 用来描述纵向的区域,在这参数N指第一条水平网格线,L指位于0.025微米处 N=3 L=0. 第三条水平线位于0微米处 在这个例子中头三条水平线用来定义厚度为0.025微米的二氧化硅(栅氧). COMMENT 0u-1.0u H1=0.125 1u-2u H1=0.250 DEPTH=1.0 H1=0.125 这条语句添加了一个1微米深(DEPTH)的,垂直向网格线均匀间隔0.125微米(H1)的区域 DEPTH=1.0 H1=0.250 第 36 页 共 36页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 添加了一个1微米深的,垂直向网格线均匀间隔0.250微米的区域 COMMENT Eliminate some unnecessary substrate nodes ELIMIN COLUMNS =1.1 该语句将1.1微米()以下的网格线隔列(COLUMNS)删除,以减小节点数 COMMENT distort source/drain oxide thickness using SPREAD COMMENT ENC means the abruptness of two reagion, the number more litter,more sharp SPREAD LEFT WIDTH=.625 UP=1 LO=3 THICK=.1 ENC=2 SPREAD语句用来对网格线进行扭曲,以便更好的描述器件的边界.这个SPREAD语句将前三条网格线在左边(0-WIDTH之内)的间隔从0.025(栅区氧化层)过渡到0.1微米(源区氧化层).其中UP指要定义的区域的上边界(此处为第一条网格线),LO指要定义的区域的下边界(此处为第三条网格线),THICK定义了这个区域的厚度. SPREAD RIGHT WIDTH=.625 UP=1 LO=3 THICK=.1 ENC=2 这个SPREAD语句将前三条网格线的在右边的间隔从0.025(栅区氧化层)过渡到0.1微米 (漏区氧化层). 参数ENC决定了从厚的区域过渡到薄的区域的变化特性.值越大过渡区越平缓,可以自己修改这个参数,看看过渡区有什么变化ENC=2表明只在两格完成过渡 WIDTH在这里以过渡区域的中点为准 COMMENT Use SPREAD again to prevent substrate grid distortion COMMENT line NO.4 move to , >line No.4 will be not affected SPREAD LEFT WIDTH=100 UP=3 LO=4 =0.125 这个SPREAD语句将第四条网格线固定在0.125微米处=0.125,可以使前两条SPREAD语句产生的网格扭曲不影响到0.125微米以下的网格 在这儿WIDTH参数取了一个特别大的值,可以把过渡性的区域放在器件的外面. COMMENT Specify oxide and silicon regions COMMENT no more description means all reagion REGION SILICON REGION是用来定义区域的材料性质,如果不特别说明区域的范围的话,则表示对整个结构进行定义,在这里定义整个区域为硅 REGION OXIDE =3 定义第三条网格线以上的区域为二氧化硅 COMMENT Electrode definition ELECTR NAME=Gate =0.625 =2.375 TOP ELECTR是用来定义电极位置的,在这里将栅极放在栅极二氧化硅的表面 ELECTR NAME=Substrate BOTTOM 将衬底接触电极放在器件的底部 ELECTR NAME=Source =0.5 =3 将源区的接触电极放在器件的左边 ELECTR NAME=Drain =2.5 =3 将漏区的接触电极放在器件的右边 第 37 页 共 37页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 COMMENT Specify impurity profiles and fixed charge PROFILE P-TYPE =3E15 UNIFORM PROFILE语句是用来定义掺杂情况的,P-TYPE表示是P型掺杂,描述峰值浓度. 这个语句定义整个衬底的浓度为均匀掺杂(UNIFORM),浓度为P型(P-TYPE)3E15(). PROFILE P-TYPE =2E16 =.25 这个语句定义沟道阈值调整的掺杂为P型,浓度为2E16掺杂的特征长度()为0.25微米 PROFILE N-TYPE =2E20 =.34 =0.0 WIDTH=.5 =.75 PROFILE N-TYPE =2E20 =.34 =2.5 WIDTH=.5 =.75 以上两句定义了源(0-0.5微米处)和漏2.5-3微米处的掺杂区,他们的结深()为0.34微米,横向扩散率为0.75(),为N型(N-TYPE),浓度为2E20(). INTERFAC QF=1E10 INTERFAC语句是用来定义界面态的,这个语句说明在整个二氧化硅的表面有浓度一致的固定态,浓度为1E10(QF). COMMENT GRID means show/hide grid + FILL means reagions is color filled or not + SCALE means the plot is reduced from the specified size in x or y directions PLOT.2D GRID TITLE="Example 1 - Initial Grid" FILL SCALE PLOT.2D是用来显示二维图形的语句,参数GRID表示在图中显示网表FILL表示不同的区域用颜色填充使用参数SCALE后,可以使显示图形的大小合适.这个语句本身并不能显示器件的什么特性,只是给器件特性的显示提供一个平台,结合了其他的语句后才能显示所想要的图形,这一点在下面会给出示范.在这里的几个参数都是可有可无的,不妨把他们去掉,看看有什么不同,以加深理解. 该语句所得的图形如下: 第 38 页 共 38页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 到目前为止,器件的结构已经定义了,下面将对该网格进行调整以适应模拟的需要. COMMENT Regrid on doping REGRID DOPING IGNORE=OXIDE RATIO=2 SMOOTH=1 REGRID语句是用来对网格按要求进行优化的语句. 当节点的掺杂特性超出了RATIO的要求时,该三角形网格将被分割成四个适合的小三角形,但二氧化硅区域不被包含在内(由IGNORE说明).SMOOTH用来平滑网格的,以减小钝角三角形带来的不利影响,SMOOTH=1表示平滑湖化时,各个区域的边界不变,SMOOTH=2表示仅仅不同材料的边界保持不变.参数DOPING说明优化网格的标准是基于杂质分布的,杂质分布变化快的区域自动进行调整. PLOT.2D GRID TITLE="Example 1 - Doping Regrid" FILL SCALE 该语句生成的图形如下,大家可以仔细比较一下和上图的区别(在网格上有什么不同,尤其是在PN结的边缘.这儿浓度的变化最快). 第 39 页 共 39页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 COMMENT Specify contact parameters CONTACT NAME=Gate CONTACT语句是用来定义电极相关的一些物理参数在这儿栅极(NAME)的材料被定义为N型的多晶硅(). COMMENT Specify physical models to use MODELS CONMOB FLDMOB SRFMOB2 MODELS用来描述在模拟中用到的各种物理模型,模拟时的温度也可以在这里设定(由参数TEMP设定).除非又使用了该语句,否则该语句定义的模型一直有效. 参数CONMOB表示使用迁移率与杂质分布有关的模型, 参数FLDMOB表示使用迁移率与电场分布有关的模型.参数SRFMOB2表示表面迁移率降低效应将被考虑. COMMENT Symbolic factorization, solve, regrid on potential SYMB CARRIERS=0 The SYMBOLIC statements performs a symbolic factorization in preparation for the LU decompositions in the solution phase of the program. 在这儿只选用了Poisson来解方程,因为在这只需要势能,所以载流子类型为零. COMMENT METHOD ICCG DAMPED METHOD语句设置了一个和SYMB语句相关的特定的求解的算法 第 40 页 共 40页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 在大多数的情况下,只需要这两个参数就能够得到最有效的零类型载流子模拟. SOLVE 该语句用来获得解,在这里初始条件设置为0 REGRID POTEN IGNORE=OXIDE RATIO=.2 MAX=1 SMOOTH=1 该语句可以在势能变化快的地方将网格进一步优化, PLOT.2D GRID TITLE="Example 1 - Potential Regrid" FILL SCALE 该语句显示的图形如下 COMMENT Impurity profile plots PLOT.1D DOPING =.25 =.25 =0 =2 + POINTS BOT=1E15 TOP=1E21 COLOR=2 + TITLE="Example 1 - Source Impurity Profile" PLOT.1D语句是用来显示参数的一维变化的.在这里参数DOPING说明显示的是杂质的分布情况,,,,用来定义想要考察的路径起始坐标是,,终点坐标是,. 表示纵坐标使用对数坐标,最大值为TOP,最小值为BOT. 参数COLOR用来描述该曲线选用的颜色不妨改变该参数看看颜色发生了什么变化 这条语句用来显示从0.25,0到0.25,2上的一维杂质分布,具体结果见图 第 41 页 共 41页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 PLOT.1D DOPING =1.5 =1.5 =0 =2 + POINTS BOT=1E15 TOP=1E17 COLOR=2 + TITLE="Example 1 - Gate Impurity Profile" 这条语句用来显示从1.5,0到1.5,2上的一维杂质分布具体结果见图 第 42 页 共 42页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 PLOT.2D BOUND REGION TITLE="Example 1 - Impurity Contours" FILL SCALE CONTOUR DOPING LOG MIN=16 MAX=20 DEL=.5 COLOR=2 CONTOUR DOPING LOG MIN=-16 MAX=-15 DEL=.5 COLOR=1 LINE=2 在这里PLOT.2D语句搭建了一个显示的平台两个CONTOUR语句则在这个平台上描绘了所需参数的特性CONTOUR语句是用来在最近的一个PLOT.2D语句上绘制各种物理参量的二维特性的在这里它们都是用来绘制杂质的二维分布由参数DOPING说明不妨把其中一个语句去掉看看该语句产生的曲线是那些 MIN和MAX则指定了参数的显示范围DEL表示所显示的相邻曲线之间的在参数值上的间隔负数表示是P型掺杂正数表示是N型掺杂 COLOR表示线条的颜色LINE表示线条的类型不妨把这两个参数改变一下看看对应的是那一个曲线 LOG表示MINMAX和DEL都采用对数表示 上面三条语句产生的图形如下 COMMENT Solve using the refined grid, save solution for later use SYMB CARRIERS=0 SOLVE 为了给下面的模拟提供一个起始条件在这获得了一个零偏置解 COMMENT Do a Poisson solve only to bias the gate SYMB CARRIERS=0 第 43 页 共 43页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 METHOD ICCG DAMPED SOLVE V(Gate)=1.0 在使用SOLVE语句获得下一个解之前SYMB语句必须再使用一次因为网表的节点数在上一次求解的时候已经改变因为器件在零偏置的时候电流很小所以使用零载流子模型就足够了 COMMENT Use Newton's method and solve for electrons SYMB NEWTON CARRIERS=1 ELECTRON 下面将要求解漏极电压和漏极电流的关系因为是NMOS器件所以设置载流子类型为电子 COMMENT Ramp the drain SOLVE V(Drain)=0.0 ELEC=Drain VSTEP=.2 NSTEP=15 漏极上加上步长为VSTEP扫描次数为NSTEP的扫描电压然后进行模拟 COMMENT Plot Ids vs. Vds PLOT.1D =I(Drain) =V(Drain) POINTS COLOR=2 + TITLE="Example 1D - Drain Characteristics" 该语句显示漏极电压横坐标和漏极电流纵坐标的关系结果下图 LABEL LABEL="Vgs = 3.0v" X=2.4 Y=0.1E-4 LABEL语句用来在图上适当位置添加标志. 第 44 页 共 44页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 COMMENT Potential contour plot using most recent solution PLOT.2D BOUND JUNC DEPL FILL SCALE + TITLE="Example 1D - Potential Contours" =2.3 =0.02 =-0.3 =8 + =3 COLOR=1 ELINE是用来画电力线的,这条语句必须和PLOT.1D或者是PLOT.2D相结合使用.在这里要求最多画条电力线,从(,)开始画S .DELTA定义了电力线起点之间的距离,正数表示在上一个条电力线的右边负数表示在左边. CONTOUR POTENTIA MIN=-1 MAX=4 DEL=.25 COLOR=6 这一条语句是用来绘制势能分布的由参数POTENTIA决定绘制的势能曲线从-1伏MIN开始到4伏MAX每一条曲线之间电势差为0.25伏DEL,共有(MAX-MIN)/DEL条势能曲线 LABEL LABEL="Vgs = 3.0v" X=0.2 Y=1.6 LABEL LABEL="Vds = 3.0v" 这两条语句在图中加了两个标志使图形更具有可读性上面几句绘制的势能曲线如下 SOLVE V(Drain)=0 TSTEP=1E-18 TSTOP=1E-10 下面将要显示当漏极电压突然从5伏上面一个SOLVE语句已经得到了突然降到0伏在这一个SOLVE语句中由V(Drain)得到时的漏极电流瞬态曲线,因为瞬态响应的模拟不同于直流模拟,因而必须重新求解,在这里,设定求解时迭代的步长为TSTEP,模拟结束时间为TSTOP. PLOT.1D =TIME =I(Drain) POINTS 这个语句设定纵坐标为漏极电流,横坐标为时间,两个坐标都使用对数坐标 第 45 页 共 45页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 § 54 教学实例2 下面是一个npn双集型三极管的描述实例1... TITLE TMA MEDICI Example 2P - NPN Transistor Simulation 2... COMMENT Simulation with Modified Emitter Region 3... COMMENT Initial mesh specification 4... MESH;创建一个原始网格 5... WIDTH=6.0 H1=0.250网格横向宽为 =-0.25 =0.0 =2行网格 7... DEPTH=0.5 H1=0.125纵向添加深度为0.5u的网格8... DEPTH=1.5 H1=0.125 H2=0.4变化到0.4u 9... COMMENT Region definition 10... REGION NAME=Silicon SILICON定义整个区域性质为silicon 11... REGION NAME=Oxide OXIDE =0的中间部分区域为poly 13... COMMENT Electrodes 14... ELECTR NAME=Base =1.25 =2.00 =0.0基区电极位置定义 15... ELECTR NAME=Emitter =2.75 =4.25 TOP发射区电极位置定义顶部,TOP 16... ELECTR NAME=Collector BOTTOM集电区电极位置定义在器件的最底部BOTTOM 在整个器件定义从0.25到0的区域都为二氧化硅 12... REGION NAME=Poly POLYSILI =0 =2.75 =4.25再次定义二氧化硅层纵向间距为0.125u 其纵向间距从0.125u纵向再添加深度为1.5u的网格间距为0.25u 在纵向0.25和0之间创建两 第 46 页 共 46页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 17... COMMENT Specify impurity profiles 18... PROFILE N-TYPE =5e15 UNIFORM =MDEX2DS定义衬底为n型均匀搀杂浓度为5e15并将所有定义的搀杂特性记录在文件MDEX2DS中... + =1.25 WIDTH=3.5 =为0.16横向扩散率为0.75 20... PROFILE P-TYPE =4e18 =0.0 =0.16 ... + =1.25 WIDTH=3.5 =0.75;仍旧是定义基区的搀杂特性较高 和发射区邻接部分浓度在下次网格优化时方便调用 搀杂特征长度19... PROFILE P-TYPE =6e17 =0.35 =0.16 定义基区为p型搀杂浓度为 PROFILE N-TYPE =7e19 =-0.25 DEPTH=0.25 =0.17 ... + =2.75 WIDTH=1.5 =0.75定义n型发射区的搀杂特性 22... PROFILE N-TYPE =1e19 =2.0 =0.27定义n型集电区的搀杂特性 23... COMMENT Regrids on doping 24... REGRID DOPING LOG RATIO=3 SMOOTH=1 =MDEX2DS小三角形 再次进行同样的优化处理读入文件MDEX2DS,对网格进行优化处理当网格上某节点的搀杂变化率超过3时对这个网格进行更进一步的划分分为四个全等的25... REGRID DOPING LOG RATIO=3 SMOOTH=1 =MDEX2DS将网格更加的细化 26... COMMENT Extra regrid in emitter-base junction region only. 27... REGRID DOPING LOG RATIO=3 SMOOTH=1 =MDEX2DS ... + =2.25 =4.75 =0.50 =MDEX2MP网格进行专门的优化处理28... PLOT.2D GRID SCALE FILL ... + TITLE=”Example 2P - Modified Simulation Mesh”完成的网格如下图 对发射区与基区交界部分的最后将整个完整定义的网格保存在文件MDEX2MP中 29... COMMENT Modify properties of polysilicon-emitter region 30... MOBILITY POLYSILI CONC=7E19 HOLE=2.3 FIRST LAST在多晶硅的搀杂浓度为7e19时空穴的迁移率为2.3依赖多晶硅的搀杂浓度而变化杂浓度为多少空穴的迁移率保持不变 CONMOB表示使用迁不过FIRST和LAST这两个参数的引入表明无论搀31... MATERIAL POLYSILI TAUP0=8E-8多晶硅中空穴的寿命保持为8e8 32... MODEL CONMOB CONSRH AUGER BGN定义在模拟中用到的各种物理模型移率与杂质分布有关的模型 AUGER表示使用与俄歇复合有关的模型BGN表示使用与禁带宽度变窄效应 第 47 页 共 47页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 有关的模型 0表示只选用POISSON方程来建模33... COMMENT Initial solution 34... SYMB CARRIERS=0在SYMB语句中如果设置CARRIERS称之为零载流子模型 35... METHOD ICCG DAMPED一般使用上述两个参数来解决零载流子模型 36... SOLVE V(Collector)=3.0在VcNEWTON来作进一步求解 38... SOLVE仍旧在Vc3v时求解使用NEWTON模型 导纳矩阵 at 1.0 MHz 39... COMMENT Setup log files, forward bias base-emitter junction, and ... + calculate the admittance matrix3v时求探索解 我们使用更精确的模型37... SYMB NEWTON CARRIERS=2在使用了零载流子模型作初步估计后40... LOG =MDEX2PI将上面模拟的数据保存在LOG文件MDEX2PI中,后面要用到 41... SOLVE V(Base)=0.2 ELEC=Base VSTEP=0.1 NSTEP=4 ... + FREQ=1E6 TERM=Base在频率为1e6HZ下进行交流小信号的模拟 同样是在频率为1e6HZVb0.7Vb0.2v0.6v步长为0.1V的情况42... SOLVE V(Base)=0.7 ELEC=Base VSTEP=0.1 NSTEP=2 ... + FREQ=1E6 TERM=Base =MDEX2P70.9步长为0.1V的情况下进行交流小信号的模拟并将结果(Vb0.7v)保存在文件MDEX2P7中,Vb=0.8v的结果保存在文件MDEX2P8中Vb=0.9v的结果保存在文件MDEX2P9中 1... TITLE TMA MEDICI Example 2PP - NPN Transistor Simulation 2... COMMENT Post-Processing of MDEX2P Results 3... COMMENT Plot Ic and Ib vs. Vbe 4... PLOT.1D =MDEX2PI =I(Collector) =V(Base) ... + LINE=1 COLOR=2 TITLE=”Example 2PP - Ic & Ib vs. Vbe”... + BOT=1E-14 TOP=1E-3 POINTS读取LOG文件其中纵坐标为对数坐标LOG文件一般与PLOT.1D联合使用绘制集电极电流和基极电压的关系曲线 绘制基极电流和电压的曲线图UNCHANGE表5... PLOT.1D =MDEX2PI =I(Base) =V(Base) ... + POINTS LINE=2 COLOR=3 UNCHANGE明仍旧绘制在上面一条曲线所在的坐标系中 6... LABEL LABEL=”Ic” X=.525 Y=1E-8 7... LABEL LABEL=”Ib” X=.550 Y=2E-10 8... LABEL LABEL=”Vce = 3.0v” X=.75 Y=1E-13上述三句在上面绘制的曲线图上添加标签 使用EXTRACT语句列出 COMMENT Plot the current gain (Beta) vs. collector current 10... EXTRACT NAME=Beta EXPRESS=@I(Collector)/@I(Base)增益的表达式 11... PLOT.1D =MDEX2PI =I(Collector) =Beta ... + TITLE=”Example 2PP - Beta vs. Collector Current” ... + BOTTOM=0.0 TOP=25 LEFT=1E-14 RIGHT=1E-3 ... + POINTS COLOR=2绘制集电极电流与增益的关系曲线 12... LABEL LABEL=”Vce = 3.0v” X=5E-14 EXTRACT NAME=Ft UNITS=Hz ... + EXPRESS=”@G(Collector,Base)/(6.28*@C(Base,Base))”位是Hz 列出截止频率的表达式单做标签 13... COMMENT Plot the cutoff frequency Ft=Gcb/(2*pi*Cbb) 第 48 页 共 48页 Cadence cdsSPICE使用说明 资料收藏 PCB收藏天地 15... PLOT.1D =MDEX2FI =I(Collector) =Ft ... + TITLE=”Example 2FP - Ft vs. Collector Current” ... + BOTTOM=1 TOP=1E10 LEFT=1E-14 RIGHT=1E-3 ... + POINTS COLOR=2绘制集电极电流与截止频率的关系曲线数坐标 16... LABEL LABEL=”Vce = 3.0v” X=5E-14 MESH =MDEX2MS由于要绘制二维图形19... LOAD =MDEX2S9做标签 为了方便重新载入前面描述的网格0.9v) 17... COMMENT Read in the simulation mesh and solution for Vbe=0.9v 横纵坐标均使用对载入模拟结果文件 COMMENT Vector plot of total current for Vbe=0.9v 21... PLOT.2D BOUND JUNC SCALE FILL ... + TITLE=”Example 2FP - Total Current Vectors” 22... VECTOR COLOR=2绘制二维电流矢量图 23... LABEL LABEL=”Vbe = 0.9v” X=0.4 Y=1.55 24... LABEL LABEL=”Vce = 3.0v”做标签 25... COMMENT Potential contour plot for Vbe=0.9v 26... PLOT.2D BOUND JUNC DEPL SCALE FILL ... + TITLE=”Example 2FP - Potential Contours” 27... CONTOUR POTEN MIN=-1 MAX=4 DEL=.25 COLOR=6等高线负数表示是p型搀杂正数表示是n型搀杂 28... LABEL LABEL=”Vbe = 0.9v” X=0.4 Y=1.55 29... LABEL LABEL=”Vce = 3.0v”做标签 30... COMMENT Plot doping and carrier concentrations for Vbe=0.7v 31... LOAD =MDEX2S7载入模拟结果文件 PLOT.1D DOPING SYMBOL=1 COLOR=2 LINE=1 ... + BOT=1E10 TOP=1E20 ... + =3.5 =3.5 =0 =2 ... + TITLE=”Example 2FP - Carrier & Impurity Conc.”;绘制器件的杂质浓度特性曲线使用第一种标志SYMBOL=1,方块起始点为3.5,0,终止点为3.5,2 33... PLOT.1D ELECTR SYMBOL=2 COLOR=3 LINE=2 UNCHANGE ... + =3.5 =3.5 =0 =2仍旧在上面曲线的基础上绘制电子的浓度特性曲线 34... PLOT.1D HOLES SYMBOL=3 COLOR=4 LINE=3 UNCHANGE ... + =3.5 =3.5 =0 = LABEL LABEL=”Vce = 3.0v” 37... LABEL LABEL=”Doping” SYMBOL=1 COLOR=2 38... LABEL LABEL=”Electrons” SYMBOL=2 COLOR=3 39... LABEL LABEL=”Holes” SYMBOL=3 COLOR=4添加标签 绘制空穴的浓度特性曲线 35... LABEL LABEL=”Vbe = 0.7v” X=1.55 Y=4E12 0.7v) 绘制等势能曲线CONTOUR用来绘制POTEN指势能MIN和MAX指定参数的显示范围DEL表示所显示的相邻曲线在参数值上的间隔 第 49 页 共 49页
发布者:admin,转转请注明出处:http://www.yc00.com/web/1709403666a1623844.html
评论列表(0条)