图1.1(b)为其图形符号。
图1.1用CMOS反相器构成的施密特触发器
普通门电路的电压传输特性曲线是单调的,施密特触发器的电压传输特性曲线则是滞回的。
如果以图1.1(a)中的vo作为输出端,则得到得电压传输特性将如图1.2(a)所示,这种形式的电压传输特性叫做同相输出。
如果以图1.1(a)中的vo`作为输出端,则得到得电压传输特性将如图1.2(b)所示,这种形式的电压传输特性叫做反相输出。
图1.2施密特触发器的电压传输特性
由于图1.1电路的电路图中含有电阻,在电路功能实现以及版图绘制时有较多的限制,故在本次设计中并未采用这种结构。
图1.3就是这次设计所采用的电路。
图1.3CMOS施密特触发器
2施密特原理图输入
原理图的绘制要在Linux下的IC5141下完成。
本次设计中采用cadence的3.2版的180nmpdk(/opt/eda/cadence/lib下)工艺库。
使用Cadence,必须在计算机上作一些相应的设置,这些设置包括很多方面。
作为初学者,只需进行几项简单设置即可,在此不再赘述。
环境配置完成以后,在工作目录下键入icfb&IC,IC514界面即可启动。
2.1建立设计库
在ic5141中,设计的管理以库的方式进行。
库管理器中包含有设计使用的工艺库和ic5141软件提供的一些元件库,如analogLib,basic等。
用户在工作过程中建立的库也放在库管理器中。
无论画电路图还是设计版图,都和建库有关,建电路图库的步骤如下。
1)CIW界面点击File菜单,出现下拉菜单,选命令→New→Library,出现“NewLibrary”对话框。
2)在对话框Library的Name项中输入新库名mylib。
在TechnologyFile项中提示:
“如果要在这个库中建立掩模版图或其他物理数据,需要技术文件”若只需要用电路图或HDL数据,则不需要技术文件。
3)由于新建库后面还将用于版图绘制,因此选第二个选项,即“Attachtoanexistingtechfile,单击“OK“按钮,选择工艺库gpdk180。
下面可以进行电路原理图绘制了。
具体可见图2.1所示。
图2.1新建设计库
2.2电路原理图输入
设计库建立好后,就可以开始画电路原理图,具体过程如下:
1)建立设计原理图:
在CIW中选菜单项File→New→Cellview,出现“Create
→NewFile”对话框,新建inv单元,填写、选择相应的选项即可,点击OK按钮,进入原理图编辑器virtuososchematiceditor界面。
2)例化并添加器件:
在原理图编辑器中选择菜单项Add→nstance,出现添加器件对话框,选择相应的器件,并根据设计要求填写相应参数。
并按着电路原理图的相应位置摆放器件。
3)器件互联:
在电路图编辑窗口菜单中,选择 “Add”->”Wire(narrow)”或点击工具栏中的放置细线或用快捷键w,便可以将已经放置好的元件连接起来。
4)添加输入输出端口:
完成连线后直接添加pin完成原理图输入。
选择“Add”->“Pin”或点击工具栏中的放置端口或用快捷键P均可,弹出pin选项表,填好端口名,并使之与端口方向(分别为input和output)的选项一致,即可完成输入输出端口的添加。
5)检查与保存。
选择“Design”->“CheckandSave”,如果电路图有绘制问题,会报告出错。
至此我们就完成了整体电路图绘制。
整体原理图如图2.2所示:
图2.2施密特触发器原理图
3电路仿真与分析
3.1创建symbol
完成原理图之后,为便于进行仿真,需要进行symbol的创建。
(1)生成符号图:
在原理图编辑窗口,点击菜单项Design→CreateCellview→FromCellview,出现symbol生成选项表(图3.1上部分),点击OK按钮出现图3.1下部分。
图3.1symbol生成选项表
在的表项中只采用默认值,直接点击OK按钮,即可看到symbol编辑窗口。
3.2创建仿真电路图
完成电路原理图的输入之后,为了对设计进行仿真和性能分析,需要建立一个仿真平台,将电源、各种激励信号输入待测的电路inv,然后采用仿真器进行分析。
1)建立设计原理图:
在命令解释器窗口CIW中选菜单项File→New→Cellview,出现“CreateNewFile”对话框,填写、选择相应的选项,点击OK按钮,进入原理图编辑器virtuososchematiceditor界面。
(同前述电路原理图输入时的操作一样)。
2)例化并添加器件:
在原理图编辑器中选择菜单项Add→Instance(或者按快捷键i,或者点击编辑器左侧的工具栏Instance按钮均可)出现例化选项表。
分别添加vdd和gnd(注意这里采用的是analogLib库中的元件)。
添加负载电容,设置电源vdc和输入信号。
3)器件互联:
连线这里不详述,操作同电路原理图输入。
最后得到的仿真电路图如图3.2所示一致。
图3.2施密特触发器仿真电路图
3.3电路仿真与分析
对于ic5141模拟设计环境ADE来说,默认的仿真器是spectre,这里直接采用spectre对设计进行仿真和分析。
(1)启动模拟设计环境ADE(AnalogDesignEnvironment):
在图3.2的窗口中选择菜单项Tools→AnalogEnvironment,随即启动ADE。
窗口如图3.3所示。
所示我们的电路仿真与分析就要在该平台下进行。
图3.3ADE启动界面
(2)添加模型与仿真文件:
在图3.3的界面中,选择菜单项Setup→ModelLibraries,进入ModelSetupLibrary窗口。
然后点击右下角的Browse…按钮,进入模型库的选择,如下图3.4所示。
点击OK按钮选中模型文件gpdk.scs,窗口回到ModelLibrarySetup界面。
在Section(opt)下的框中填入stat,点击Add按钮添加模型文件。
最后点击OK选中模型文件并退出。
选定模型后,还需要设置仿真文件。
选择菜单选项Setup→SimulationFiles,弹窗口
中填入仿真文件的路径,点击OK完成设置。
图3.4仿真分析模型选择
(3)设置分析类型:
根据不同的需要,可以对电路进行不同类型的分析。
在此选择瞬态(transient)分析。
在ADE界面中,选择菜单项Analyses→Choose,选择仿真参数和类型,分析时间相对于激励适当即可。
(4)信号分析输出捕捉:
这里选择需要查看的信号。
在ADE界面中,选择菜单项Output→Tobeplotted→SelectOnSchematic,此时invTest的原理图窗口变成活跃的,直接用鼠标点击需要查看的信号即可。
这里选择inv的输入和输出信号线,可以看见这两个信号线的颜色发生了变化,表示被选中。
(5)运行仿真与波形查看:
选中信号后回到ADE窗口,此时的窗口内容如下图3.5所示。
图3.5完成设置的ADE
选择菜单项Simulation→Netlistandrun(或相应工具栏按钮),运行仿真,直接点击OK关闭弹出的欢迎页(Welcometospectre)。
随即出现仿真文字输出和波形输出。
波形如图3.6所示:
图3.6施密特触发器输出波形
4电路版图设计
本课程设计采用工具软件为cadence平台ic5.1.41,主要为Virtuoso,用于原理图、版图输入,DIVA用于提取、DRC、LVS。
这里首先建立一个基本器件版图库,再将器件加上参数,使之成为参数化单元库(ParameterizedCell)。
然后在参数化器件基础上,绘制设计的版图。
最后对设计版图进行版图提取、DRC/LVS验证。
4.1建立pCell库版图
软件工具启动后,关闭“what’snew”窗口,新建参数化器件库pCell。
在CIW(CommandInterpreterWindow)界面选择菜单项File→New→Library…,弹出如下图4.1所示窗口。
图4.1新建设计库
1)完成建库后就可以在该设计库pCell中设计器件。
在CIW界面选择菜单项File→NewCellview,弹出窗口,按照要求填写与选择,点击按钮OK完成mypmos器件文件创建。
随后出现的界面就是版图编辑器窗口。
2)N阱绘制:
回到编辑窗口中,选择菜单项Create→Rectangle(或工具栏Rectangle,或快捷键r),直接点击Hide按钮隐藏弹出窗口。
在编辑窗口移动鼠标,查看窗口菜单项上方的坐标显示,在位置(0,0)单击鼠标,向右上方拉伸至(2.78,1.6)再次单击,完成N阱绘制。
3)在LSW界面点击下方Nimp条形栏,选中Nimp作为当前绘图层。
回到编辑窗口中,仍采用Rectangle形状进行绘制。
用同样方法绘制Pimp,此时完成注入区(Nimp、Pimp)的绘制。
4)然后要进行Poly层制作。
在LSW窗口选中Poly,回到编辑窗口中,选择菜单项Create→Path(或工具栏Path,或快捷键p),出现弹出窗口,宽度Width项填入0.18,即可进行Poly的绘制。
5)最后应该绘制的是,Oxide、两处Metal1、三处Cont。
注意相应的坐标,切勿出错。
最后得到完整的PMOS绘图如下图4.2所示:
图4.2PMOS版图
在版图编辑窗口,选中菜单项DesignàSaveAs…,将当前设计mypmos的PMOS版图另存于同一库中,并命名mynmos。
然后选中菜单项WindowàClose,关闭mypmos。
再在CIW窗口选中菜单项File→Open,以编辑方式打开mynmos版图。
在版图编辑器中,删去mynmos的Nwell图层;在保持几何尺寸不变的条件下,将原来Pimp图层改成Nimp,将原来Nimp改为Pimp;其余的图层保持不变。
这样就得到了一个NMOS的版图,如下图4.3所示:
图4.3NMOS版图
4.2pCell库器件参数化
1)长度length和宽度width设置参数:
这里对MOS器件所设的参数为管子长度length和宽度width。
首先在CIW中选菜单项File→Open,以编辑方式打开mypmos版图,开始进行参数设置。
在版图编辑器窗口,选菜单项Tools→Pcell,则在编辑器中多出一菜单项Pcell。
先进行宽度参数设定。
选菜单项Pcell→StretchinY…启动命令,然后移动鼠标在点(-0.15,0.8)附近单击一下,会看到一条以单击点为起点的水平直线,向右拉伸,穿过三个cont,在点(3,0.8)附近双击鼠标(仍可用Backspace取消前一单击点),出现弹出Y向拉伸参数窗口,并参照图示填写、选择相关内容,点击按钮OK完成设定。
2)编译:
设定width参数后,要进行编译:
Pcell→Compile→ToPcell,在弹出窗口中选择transistor,并按钮OK完成设置(只在第一次编译中出现)。
编译完后就要实际验证一下。
在CIW窗口,选择菜单FileàNewàCellview,任意命名一个cell(单元),比如pcellTest,主要用来测试刚刚编译过的pcell。
在pcellTest的版图编辑界面,例化pCell库中的pmos版图,弹出窗口如下图4.4,可见width参数项。
图4.4width参数变化
对参数width分别给以不同的数值,这里是0.6和1.2,查看例化结果。
从下图4.5width参数变化见cont的尺寸发生变化,这是不希望的。
图4.5参数设定
尺寸问题的变化是这样解决的,在mypmos版图编辑界面,执行菜单命令Pcell→Repetition→RepeatinY…,然后在窗口中用鼠标分别单击三个cont,三个cont随即高亮表示被选中。
若有别的图层被选中,可按住键盘的Ctrl键再在多余的图层单击鼠标左键即可。
单击选中三个cont之后按键盘Enter键,或者选中最后一个cont时双击鼠标,就会出现如图4.6所示的表单项。
完成这个参数设置之后点击OK按钮。
先编译,再查看总结。
图4.6Y向重复选项参数
同样要进行例化验证,将参数width分别设为默认值和1。
至此,参数width设置完成,下面来进行参数length的设置。
在版图编辑窗口,执行菜单命令Pcell→StretchinX…,移动鼠标至点(1.59,1.8)附近单击,垂直垂直拉伸至点(1.59,-0.2)附近双击,会有窗口弹出,如图4.7所示。
图4.7X向伸展和length参数设置
照上图填写、选择之后按OK键。
然后进行编译、查看参数总结,如图4.8所示。
图4.8参数总结
图4.9是将参数length分别设为默认值和0.36的例化结果。
图4.9length参数例化验证
PMOS管的两个参数width和length已经设置完成,可以正常使用了。
和PMOS的参数化一样,NMOS做法步骤完全一样。
至此,pCell库中的两个单元(cell)pmos和nmos版图已经参数化完成,拥有长度length和宽度width两个参数,并且cont在宽度方向上随width参数改变
而重复,这些在设计中都可以直接使用。
注意在今后的设计当中,应尽量使用
厂商提供的pdk中的参数化器件。
下面就利用pCell库中的参数化单元进行电路版图制。
4.3器件板图绘制
要求为设计单独建一个库,例示中命名为mylib。
操作同前述所有的建库操作一样。
在设计库mylib中创建cell,使用菜单命令File→New→Cellview,弹出如下窗口,填写、选择完成点击OK按钮,进入名为sub单元(cell)的版图编辑界面。
1)PMOS和NMOS的例化:
在版图编辑界面中,直接按下键盘中i键,弹出例化cell的窗口,如下图填写、选择,完成例化PMOS单元,如图4.10所示。
图4.10PMOS的表单与摆放
当点击Hide按钮后,CreateInstance窗口消失,在版图编辑窗口出现一个随鼠标移动的PMOS管。
同样例化一个NMOS管,见下图4.11。
图4.11NMOS的表单与摆放
2)反相器版图的绘制:
反相器由一个PMOS管和NMOS管构成,先摆放PMOS管和NMOS,在用Metal1和Poly进行连接,接口pin用Metal1连接出来即可。
反相器版图如图4.12所示。
图4.12反相器版图
对例化的PMOS、NMOS及反相器进行调用,在新的版图编辑窗口将调用的元件按电路原理图摆放,计算好个器件之间的最小尺寸,以达到面积的优化。
施密特触发器的版图如图4.13所示。
图4.13施密特触发器版图
5物理验证
5.1设计规则检查DRC
设计规则是集成电路版图各种几何图形尺寸的规范,DRC是在产生掩模图形之前,按照设计规则对版图几何图形的宽度、间距及层与层之间的相对位置等进行检查,以确保设计的版图没有违反预定的设计规则,能在特定的集成电路制造工艺下流片成功,并且具有较高的成品率。
不同的集成电路工艺都具有与之对应的设计规则,因此设计规则检查与集成电路的工艺有关。
一般情况下,手动绘制版图过程中,每完成一部分都要进行DRC检查。
在版图编辑界面,执行菜单命令Verify→DRC…,启动DIVA,弹出DRC
窗口,如下图5.1所示。
图5.1启动窗口与报告
由图5.1中的检测报告可知,本次设计顺利的通过了DRC检测,完全满足几何尺寸方面的要求。
5.2LVS检查
LVS有好几个对比的对象,但通常是指版图的提取与电路原理图之间的对比,因此这两个文件是一定要具备。
首先进行版图的提取。
在inv单元版图编辑窗口执行菜单命令Verify→Extract…命令进行版图提取,出现如图5.2的界面,直接点击OK按钮就可以完成提取,保存在当前库。
图5.2版图提取表项
留意CIW中的提取提示。
为避免版图之间混淆,可以关闭sub单元版图编辑窗口,然后再在CIW窗口打开提取的版图。
File→Open…,出现如图5.3所示的窗口,打开提取的版图进行LVS检查。
图5.3打开提取版图
原理图就是前面仿真的电路图,一并打开。
在提取的版图窗口执行菜单命令Verify→LVS…,出现如图5.4所示的界面。
图5.4LVS表项
在schematic或extracted项下可以采用browse按钮选择对应的单元和视图,或者点击各自对应的按钮“SelbyCursor”,然后再去点击相应的scematic或者extracted版图窗口,就会发现相应的空格位置已经填上正确的内容。
点击Run按钮运行LVS检查,弹出提示信息如下图5.5,点击Close即可。
图5.5LVS结束提示
图5.4的界面会一直存在知道用户退出,点击Output按钮查看相应的检查报告,如图5.6示例。
图5.6LVS报告
结论
本次专业综合课程设计是对我们所学知识的综合运用,模拟了一次全定制的设计流程。
这包括电路设计、原理图的绘制、仿真与验证、版图绘制及物理验证。
在IC5141这个平台上完成施密特触发器的全定制设计。
施密特触发器的原理易于理解,因此在电路设计时没有考虑太多。
起初,我所用的原理图含有电阻,在原理图的仿真以及版图绘制时都带来了很多的问题。
最终我放弃了这个含有电阻的方案,采用了报告中的完全由CMOS管构成的电路。
没有了电阻方面的问题,才使得这次设计得以进行下去。
在这过程中我对IC5141这个平台有了更全面的了解,同时对这个平台有了一定的掌握。
电路原理图的绘制相对的容易一些,但在版图绘制时总是出现这样或那样的问题,并且都是几何规则方面的问题,修改起来十分的耗时,同时也使人变得急躁起来。
所以平常心很重要,越是急于求成,结果越是不理想。
本次设计也止步于LVS,由于时间的关系及能力上的不足只完成了DRC的验证,没有通过LVS。
感谢给予我帮助的老师和同学。
参考文献
[1]阎石.数字电子技术基础.第四版.高等教育版社.1998
[2]Rabaey,J.M.数字集成电路.周润德.第二版.电子工业版社.2010.11
[3]唐衫.徐强.王莉薇.数字系统IC设计.机械工业出版社.2006.1
[4]林丰成.竺红卫.李立.数字集成电路设计与技术.科学出版社.2008.10
[5]杨宗凯.黄建.杜旭.数字专用集成电路的设计与验证.电子工业出版社2004.10