1目录前端电路设计与仿真.......................................................................................................................2第一节双反相器的前端设计流程...........................................................................................21、画双反相器的visio原理图.......................................................................................22、编写.sp文件...............................................................................................................2第二节后端电路设计...............................................................................................................4一、开启linux系统.........................................................................................................42、然后桌面右键重新打开Terminal..............................................................................6双反相器的后端设计流程...............................................................................................................7一、schematic电路图绘制.............................................................................................7二、版图设计.................................................................................................................21画版图一些技巧:.........................................................................................................29三、后端验证和提取.....................................................................................................30第三节后端仿真.....................................................................................................................37其它知识.........................................................................................................................402前端电路设计与仿真第一节双反相器的前端设计流程1、画双反相器的visio原理图VDDinM0M1VDDM2M3outfa图1.1其中双反相器的输入为in输出为out,fa为内部节点。电源电压VDD=1.8V,MOS管用的是TSMC的1.8V典型MOS管(在Hspice里面的名称为pch和nch,在Cadence里面的名称为pmos2v和nmos2v)。2、编写.sp文件新建dualinv.txt文件然后将后缀名改为dualinv.sp文件具体实例.sp文件内容如下:3.lib'F:\ProgramFiles\synopsys\rf018.l'TT是TSMC用于仿真的模型文件位置和选择的具体工艺角*****这里选择TT工艺角***********划红线部分的数据请参考excel文件《尺寸对应6参数》,MOS管的W不同对应的6个尺寸是不同的,但是这六个尺寸不随着L的变化而变化。划紫色线条处的端口名称和顺序一定要一致MOS场效应晶体管描述语句:(与后端提取pex输出的网表格式相同)MMXDGSBMNAMEL=valW=valAD=valAS=valPD=valPS=valNRD=valNRS=val2.1、在windowXP开始--程序这里打开Hspice程序2.2、弹出以下画面然后进行仿真1、打开.sp文件2、按下仿真按钮3、查看波形存放.sp文件的地址查看波形按钮按下后弹出以下对话框4单击此处如果要查看内部节点的波形,双击Top处单击这些节点即可查看波形如果有多个子电路请单击此处的Top查看如果要查看测量语句的输出结果请查看.MTO文件(用记事本打开)至此前端仿真教程结束第二节后端电路设计前序(打开Cadence软件)一、开启linux系统双击桌面虚拟机的图标5选择Poweronthisvirtualmachine开启linux之后在桌面右键选择OpenTerminal输入xhostlocal:命令按回车之后输入suxue命令按回车,这样就进入了xue用户61、输入命令加载calibre软件的license,按回车,等到出现以下画面再关闭Terminal窗口2、然后桌面右键重新打开Terminal进入学用户,开启Cadence软件,如下图然后出现cadence软件的界面关闭这个help窗口,剩下下面这个窗口,这样cadence软件就开启了7[如果在操作过程中关闭了cadence,只需要执行步骤2即可,步骤1加载calibre的license只在linux重启或者刚开启的时候运行一次就可以了。]双反相器的后端设计流程一、schematic电路图绘制1、注意----在Cadence中画schematic电路图时,每一个节点都需要命名,不然在参数提取之后没有命名的那些节点会被系统自动命名,导致用HSPICE查看内部节点波形时难以迅速找到自己需要的节点。2、打开Cadence软件新建库和单元CellView用命令icfb&打开Cadence软件后弹出以下CIW窗口选择Flie-New-Libirary之后弹出以下窗口这里我们新建一个名为ttest的库。(注意:在新建library的时候要attachtoanexistingtechfile)8点击OK以后弹出以下窗口在technologylibrary这里选择我们的TSMC库tsmc18rf然后点击OK在CIW窗口的tools菜单中选择第二个librarymanager之后弹出以下窗口我们可以看到左边Library里面有我们之间建立的ttest库,用鼠标左键选择ttest,发现它的Cell和View都是空的。然后在该窗口的File-New-CellView新建一个单元CellView弹出以下窗口在窗口的Cellname中输入我们需要取的名字,这里取的是dualinv。点击OK后自动弹出画schematic的窗口93、画schematic电路图点击上面的这个作图版面,在键盘上按快捷键i会出现添加器件的窗口点击Browse后弹出以下窗口这里选中TSMC的库tsmc18rf,在Cell中选中pmos2v,view中选中symbol然后鼠标移到外面的画图板上,就会出现一个PMOS管,左键点击就可以放上去了,按ESC回到正常的光标状态。10同理,选中TSMC库中的nmos2v,就可以添加NMOS管。(按快捷键M,然后再点击一下(选中)器件即可以移动器件)接下来修改MOS管的尺寸,我们看到上述MOS管的默认尺寸都是L=180nW=2u我们这里将PMOS管修改为W=720nNMOS管修改为W=220n(注意:TSMC0.18um库nmos2v和pmos2v最小的W只能设置到220nm,而不能设置到180nm)鼠标左键选中一个器件(如M0),然后按快捷键Q(property),出现以下调整MOS管属性窗口在w(M)的文本框中修改前面的2u修改成我们需要的720n然后点击OK即可同理修改NMOS管的W=220n。之后开始连线按快捷键W(wire)即可11然后添加PIN脚(即与外部信号相连的端口,从图1.1可以看出这个双反相器电路涉及到的PIN脚有inoutvddgnd)[注意:由于目前的工艺是P阱衬底,所以全部NMOS管的衬底即B端要接gnd,而PMOS管的衬底可以接自己的S端或者vdd,一般只接VDD不接S][知识补充:MOS管的衬底B端接S才能不引起衬偏,衬偏了会造成阈值电压增大]按快捷键P就可以添加PIN脚在pinname中输入名称Direction中选中pin脚的方向(其中in的direction是inputout的direction是outputgnd和vdd的direction是inputoutput)然后按回车,光标上就会出现一个pin的光影,点击鼠标左键即可摆放摆放pin脚之后,将PIN脚与电路相连,同样用快捷键W来连线12由于图1.1中还有一个内部节点fa,这里我们就需要给内部节点命名。按快捷键L,出现命名窗口在names这里输入fa,然后按回车然后鼠标上出现fa光影,将fa移到内部需要命名的线上点击左键即可。然后保存电路通用,也可以用快捷键L来连接两个单元:[这样就不用连线,却能保证两个单元连接到一起。]13在画图板左边工具栏里面选中第一个checkandsave4、将电路图创建成为一个symbol,用于仿真电路选择Design—CreateCellview-FromCellview弹出以下窗口14点击OK弹出以下窗口这里主要是TopPins和BottonPins这里需要修改,修改成如下图点击OK弹出以下电路点击save按钮保存这样我们就会看到在librarymanager里面就多出了一个该电路的symbol155、用spectre仿真器仿真电路(这里仿真一下电路主要是验证一下自己电路有没有画错,如果电路逻辑功能正确,那么基本上可以保证自己刚才画的电路是正确的)新建一个名为dualtest的CellView单元(在LibraryManager下)16点击OK按快捷键i添加我们之前给双反相器电路创建的symbol然后出现下图接下来就要给各个端口加激励信号和电源了按I添加器件,在analoglib中首先选择直流电压Vdc,另外还要选择vpwl作为线性分段信号源。按Q修改vdc的属性17在DCvoltage这里将电压值设置为1.8v(注意,只要填入1.8即可,不要带入单位)同样修改vpwl的属性(这里我们设置一个3段线性信号,即6个点),如下图此外我们还要添加一个gnd器件作为基准地信号(在analoglib中选择)添加完器件之后如下图18(注意:电路的gnd与标准地gnd之间要添加一个0V的直流电压)接下来连线以及给输出端添加一个PIN,如下图然后按checkandsave保存选择tools中的Analogenvironment弹出以下窗口19选择右边工具框中的第二个,弹出以下窗口这里设置仿真的停止时间(该时间根据自己具体需要填写),然后点OK接下来设置需要看波形的那些端口outputs—ToBePlotted—SelectOnSch