您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 《集成电路设计实践》第六讲
第六讲VirtuosoLayoutEditorLVSverification李福乐lifule@tsinghua.edu.cnOutline•版图编辑–Contacts的定义和使用–层操作–Pcell的安装和使用–Multipartpaths的定义和应用•版图验证–DRACULALVSContacts的定义和使用Contacts++=poly1contactmetal1p1到m1的连接++=metal1viametal2m1到m2的连接ContactsContacts++=++=++=poly1contactmetal1metal1viametal2activecontactmetal1p2com1m2nsdcopsdcoContactsencByLayer1encByLayer2layer2purpose2layer1purpose1viaLayerviaPurposeDotpinindicatingconnectivityContactsContactssymContactDevice(;(nameviaLayerviaPurposelayer1purpose1layer2purpose2;wl(rowcolumnxPitchyPitchxBiasyBias)encByLayer1;encByLayer2legalRegion)(m1m2via1drawingmetal1drawingmetal2drawing0.70.7(111.51.5centercenter)0.40.4_NA_)(nsdcocontactdrawingmetal1drawingactivedrawing0.60.6(111.21.2centercenter)0.40.4_NA_)(psdcocontactdrawingmetal1drawingactivedrawing0.60.6(111.21.2centercenter)0.40.4_NA_)(p2cocontactdrawingmetal1drawingpoly1drawing0.60.6(111.21.2centercenter)0.40.4_NA_))Contacts例子:修改p2co,将m1对co改为最小包围symContactDevice(;(nameviaLayerviaPurposelayer1purpose1layer2purpose2;wl(rowcolumnxPitchyPitchxBiasyBias)encByLayer1;encByLayer2legalRegion)(p2cocontactdrawingmetal1drawingpoly1drawing0.60.6(111.21.2centercenter)0.30.4_NA_))0.4=0.3Contacts最后okContacts按o键,createcontact生成contactarray(5x5)m1+m2层操作层操作层操作层操作12345m2m1p11:metal1ANDmetal2=poly12:metal1ANDNOTmetal2=poly13:metal1ORmetal2=poly14:metal1XORmetal2=poly15:metal1GROWBY0.4=poly1方法:先选中要操作的层,然后点击create–layergeneration…12active层操作1:activeGROWBY0.6=pimp2:activeGROWBY0.6=nimp例:注入区最后由active统一扩展而成,而不用在版图设计中一一编辑层操作121:contactGROWBY0.4=poly12:contactGROWBY0.3=metal1Pcell的安装和使用安装Pcell在CIW(命令注释窗口)输入以下内容:setSkillPath(cons(prependInstallPath(“samples/ROD/rodPcells”)getSkillPath()))load(“install/spcLoadInstall.il”)spcInstall()注意大小写不要弄错!快捷方法:选中并ctrl+c,然后在CIW中点击中键,就可以把复制的内容粘贴过去,最后回车安装PcellWelcomeWindow继续前阅读这部分内容下一步,ok则终止安装安装Pcell这里只选择了最常用的nmos/pmos,你也可以同时选上其他选项,大家可回去练习第一步:选择要安装的Devices安装Pcell一般将Pcell安装在工艺库中,供所有设计库共用第二步:选择目标库安装Pcell自动弹出层定义窗口Required:必须指定Optional:可不指定第三步:定义所用到的层安装Pcell按右图的选项依次定义好后按OK,然后在welometothe…窗口按next,进入下一步安装Pcell自动弹出规则定义窗口,根据设计规则分别设定各项值,然后按OK,在第四步窗口按next第四步:确定设计规则安装Pcell第五步:直接点击next安装Pcell第六步:提示找到安装devices所需的文件,直接点击next安装Pcell第七步:依照默认选项,直接点击next安装Pcell第八步:把上面定义的内容存入工艺文件最后按OK完成安装!使用Pcell版图编辑,按i键增加的Pcells使用Pcell利用Pcell生成W=5u;L=0.6uM=2的PMOS管使用PcellFlattenPcell后,pcell就被打散为各个部分,在此基础上对其进行加工,可得到一些不规则的版图设计Flatten过程:选中要flatten的devices-Edit-Hierarchy-Flatten…例:Flatten&adjustMultipartpaths的定义和应用Multipartpathsmetal1contactactivepimpMasterpathSubpaths定义Multipartpaths的目的在于提高版图编辑效率:1.一次性拉出符合设计规则的多个图形;2.调整masterpath,subpaths自动随之调整GuardringMultipartpathsMasterpath按F3MultipartpathsSubparts:*offsetsubpaths*enclosuresubpaths*setsofsubrectangleMultipartpathsMultipartpathsMultipartpathsMultipartpathsMultipartpathsTemplate里增加了pguradringMultipartpaths在pguardring的基础上修改生成nguardringName:pguardring改为nguardringMultipartpaths删去subpath:pimp,添加subpath:nimpMultipartpaths将nguardring的定义存入工艺文件MultipartpathsTemplate里增加了nguradringMultipartpaths•除了定义guardring以外,multipartpaths还常用于定义以下结构:–Busses–Contactarrays–transistorsMultipartpathsMasterpathSubpartsMultipartpathsMasterpathSubpaths调整masterpath,subpaths自动随之一起调整一个例子Wp=10uWn=4uM=1Wp=10uWn=4uM=2Wp=10uWn=4uM=4VinVout应用Contacts,pcells,和Multipartpaths来画出反向驱动链的版图,体会这些功能对提高版图编辑效率的作用:所有MOS管子用最小沟道长度版图验证DRACULALVSFull-customverificationflowLayoutstreamoutstreamoutGDSIIDraculaLPELVSERCDRCDraculaCommandFilesDraculaCommandFilesLPENetlistLPENetlistTapeOutTapeOutHspiceHspicePostlayoutSimulationSchematicNetlistSchematicNetlistText&graphicerrorreportsText&graphicerrorreports这里主要指晶体管级设计,后仿真采用Spice工具forLVS,LPEFlowofrunningDraculaPDRACULACommandFileProcessorCDLNetlistCDLNetlistGDSIIDatabaseGDSIIDatabaseLOGLVSLOGLVSCDLOutLVSLOGIC.DATLVSLOGIC.DATCommandFilejxrun.com/jxrun.subRunFileDraculaProgramText&GraphicerrorreportsStreamOutCommandFileErrorsLayoutSchematicCommandFileCommandfilesHeadingDescriptionBlockInputLayerBlockOperationBlockDefinedatabasename,format,I/Oinformation…Defineinputlayernumbertextsequence,connectionDefinelayeroperationverificationtype…Dracula是按批处理方式工作的验证工具,其执行的一系列命令都在命令文件中,文件结构为:修改DRCCommandFile*descriptionsystem=gds2primary=drclvsindisk=drclvs.gdsoutdisk=drclvs.outscale=0.001micresolution=0.05micprintfile=drcpr…定义Dracula使用GdsII格式Cell名和对应的streamout后的gdsii文件名,为了避免经常修改,最好固定为一个名字,对每个cell进行验证,都先saveas为这个名字的cell输出的errorgdsiiDRCVerification取得DRCCommandfile修改DRCCommandfileStreamout(GDSII)cd./verifyPDRACULA:/gdrc:/fjxrun.comTool-Draculainteractive…一般为工艺厂商提供见第三讲课件Commandfile文件名修改LVSCommandFile*descriptionsystem=gds2primary=drclvsindisk=drclvs.gdsoutdisk=drclvs.outscale=0.001micresolution=0.05micprintfile=lvsprmode=execnowschematic=LVSLOGIC.DAT…定义Dracula使用GdsII格式Cell名和对应的streamout后的gdsii文件名,为了避免经常修改,最好固定为一个名字,对每个cell进行验证,都先saveas为这个名字的cell扩展名为lvs,即lvspr.lvs为TexterrorreportsLOGLVS处理后的网表LVSVerificationCDLNetlistCDLNetlistGDSIIDatabaseGDSIIDatabaseLOGLVSLOGLVSCDLOutLVSLOGIC.DATLVSLOGIC.DAT查看lvspr.lvsStreamOutLayoutSchematic修改LVSCommandfilecd./verifyPDRACULA:/glvs:/fjxrun.com取得LVSCommandfileCdlout的网表,Streamout的gdsiifile,Com
本文标题:《集成电路设计实践》第六讲
链接地址:https://www.777doc.com/doc-4254554 .html