Calibre学习陈远明第1页5/31/2020Calibre学习总结第一章Calibre简述1.1Calibre简介Calibre作为MentorGraphics公司出品的后端物理验证(PhysicalVerification)工具,它提供了最为有效的DRC/LVS/ERC解决方案,特别适合超大规模IC电路的物理验证。它支持平坦化(Flatmode)和层次化(Hierarchicalmode)的验证,大大缩短了验证的过程;它高效可靠的性能已经被各大Foundry认证,作为TapeOut之前的验证标准。它独有的RVE(ResultViewEnviroment)界面可以把验证错误反标到版图工具中去,而且良好的集成环境便于用户在版图和电路图之间轻松转换,大大提高了改错的效率。xCalibre具有版图寄生参数抽取的功能。1.2手册在工作站下输入mgcdocs&命令,就可阅读Calibre的所有手册。1.3几个常用的缩写命令1、SVRF---StandardVerificationRuleFormat(标准的检查文件)2、RVE---ResultsViewingEnvironment(显示结果用的环境窗口)3、SVDB---StandardVerificationDatabase(LVSresults)4、DRC---DesignRuleChecking5、LVS---LayoutVersusSchematic6、ERC---ElectricalRuleCheckingCalibre学习陈远明第2页5/31/2020第二章CalibreDRC2.1数据准备完成CalbireDRC需要的数据有版图数据和执行DRC检查的命令文件(Runset)。版图数据支持GDSII、CIF、BINARY、ASCII格式。2.2流程图2.3DRCRunsetFile1基本控制,原有DRACULA的file可以用drac_cvtsourcefiletargetfile命令来转换。(1)Calibre是一个“Edge-Based”Tool,默认错误的显示是边(2)DRC检查的结果有三种控制Euclidean(default)、Square、Opposite。RunsetCompletedLayoutCalibreDRCASCIIReportDRCResultsDatabaseLocateErrorsUsingCalibreRVEandLayoutToolCorrectLayoutErrorsErrorisbetweentheseedgesCalibre学习陈远明第3页5/31/2020(3)常用的几条检查规则,具体可阅读Calibre的手册(a)Internal(内边对内边)用来检查Width、Overlap;(b)External(外边对外边)用来检查Space、Notch;(c)Enclosure(内边对外边)2一般的DRC检查文件包含以下几个部分:(1)运行设置,设置GDS的位置,结果文件放的位置等;(2)层次定义,定义输入的层次;(3)层次运算,产生运算需要的一些中间层次;(4)规则检查,具体对每条规则的检查;(5)选择控制,可以只检查某几条规则或者只检查某个单元。Calibre学习陈远明第4页5/31/20203一个简单的RuleFile,“//”后面为注释//――――――――――――――――――――――――――――LAYOUTPATH“/home/*…….”//GDS的路径LAYOUTPRIMARY“*”//GDS的顶单元名LAYOUTSYSTEMGDSII//版图数据的格式//――――――――――――――――――――――――――――DRCMAXIMUMRESULTS500//最大错误输出数目DRCRESULTSDATABASE“/home/*……”//存放DRC错误数据的路径及名称DRCSUMMARYREPORT“/home/*……”HIER//存放DRC简述文件的路径及名称//――――――――――――――――――――――――――――DRCCELLNAMEYESCELLSPACEXFORM//表示底层的错误将直接在底层显示PRECISION1000RESOLUTION10//两句合起来表示检查的数据格点为10/1000=0.01//――――――――――――――――――――――――――――FLAGOFFGRIDYES//在SummaryReport里显示不在格点上的版图的坐标FLAGSKEWYES//在SummaryReport里显示不是45度线的版图的坐标FLAGACUTEYES//在SummaryReport里显示锐角的版图的坐标//――――――――――――――――――――――――――――-//输入层次的定义LAYERnwelli1LAYERndiffi2LAYERpdiffi3...//TEXT层及连接性的定义TEXTLAYER60ATTACH60met1TEXTLAYER70ATTACH70met2//定义连接CONNECTmet1poly1BYcontCONNECTmet1ndiffBYcontCONNECTmet1pdiffBYcontCONNECTmet2met1BYvia1CONNECTmet1allnsubBYcontSCONNECTallnsubnwelli//顶层数据的定义,有利于提高检查速度LAYOUTTOPLAYERpadmet2via1//―――――――――――――――――――――――――――//层次的运算fpoly=poly1INTERACTcelisotpoly=poly1NOTINTERACTcelisopcode=SIZEpcodeiBY0.15OVERUNDER.Calibre学习陈远明第5页5/31/2020..//一般用来层次运算用的命令大概有:INTERACT表示有任何重合关系的,//相当于DRACULA的OVERLAP。NOT,AND,OR,SIZE同DRACULA。SIZE后面//加上UNDEROVER表示先缩小再放大,OVERUNDER表示先放大再缩小。//wmet1=WITHWIDTHmet1=10表示找出宽度大于等于10的铝。//―――――――――――――――――――――――――――――――//具体的规则检查//FLAGCHECKacute_chk{//acute_chk表示这个错误的名称,随便定义@flagacuteyes//@开头表示注释会在RVE的注释窗口里显示DRAWNACUTE//每条检查必须包含一条可以输出错误的命令}//一对花括号表示执行一条规则检查//上面这条规则检查的目的是在版图上直接显示锐角的地方。offgrid_chk{@flagoffgridyesDRAWNOFFGRID}//直接在版图上显示不在格点上的地方skew_chk{@flagskewyesDRAWNSKEW}//直接在版图上显示非45度线的地方//――――――――――――――――――――――――――――//wellcheckGROUPnwchknw_chk?//?是一个通配符,这句语句是将所有以nw_chk开头的错//误定义成一个名称为nwchk的集合。可以通过//DRCSELECTCHECKnwchk这个语句来控制DRC检查//只检查这个集合,也可UNSELECT去掉这个集合。nw_chk1{@nwellwidthmust=2.5INTnwelli2.5ABUT90SINGULARREGION}//N阱的宽度检查,后面的ABUT90SINGULARREGION是secongkeywords。//ABUT90一般都要加上,表示有交叉的地方的角度小于90度报错//SINGULAR一般也要加上,表示有点碰点或者点碰线的地方都报错//REGION是一个显示控制,表示显示错误时显示范围nw_chk2{@nwellofsamepotentialspacemust=1.4EXTnwelli1.4ABUT90SINGULARREGIONSQUARECONNECT}//同电位的阱间距必须不能小于1.4。SQUARE是输出结果控制,上面有详细说明//CONNECT是连接控制,表示凡是通过铝或其它连接层有连接关系的阱。Calibre学习陈远明第6页5/31/2020nw_chk3{@nwellofdifferentpotentialspacemust=4EXTnwelli4ABUT90SINGULARREGIONNOTCONNECT}//不同电位的阱间距不能小于4。nw_chk4{@nwelloverlapnsub=0.4ENCallnsubnwell0.4ABUT90OUTSIDEALSOSINGULARREGION}//阱包nsub不能小于0.4,OUTSIDEALSO也是secondkeywords,表示nsub在//nwell外也报错。nw_chk5{@showbadnwellconnecttwodifferentnetstamp_nwell=STAMPnwellBYallnsubnwellNOTstamp_nwell}//STAMP命令来定义nwell连接性,并且只能有一个连接,当某个nwell的nsub有两//个或以上的不同线名时,这个nwell不会被选成stamp_nwell。没有nsub的阱也不会被//选出来。//――――――――――――――――――――――――――――――――//关于有源区及多晶硅,铝等层次的检查可参考nwell的设置。//contactcheckcont_chk1{@min&maxcontactsize0.5×0.5NOTRECTANGLEcont==0.5BY==0.5ORTHOGONALONLY}//表示contact只能这么大,并且每条边必须都平行与X或Y轴。//密度检查den_chk1{@minmet1densityis30%DENSITYmet10.3PRINTden_report_m1.log}//当铝密度小于30%时,输出den_report_m1.log文件,要注意查看。这个文件里有具//体的铝密度。(6)上面只是一个简单的检查文件,从上面的内容可大致了解一下Calibre的检查规则。还有许多其它的检查,如Antenna(天线效应)、衬底密度等的检查可以参考Calibre手册。2.4用commondline来运行CalibreDRC检查(1)先必须有一个完整的规则检查文件,必须包含运行设置、层次定义、层次运算、规则检查等几部分。(2)在UNIX的命令窗口里输入calibre–hier–drcrulefile。(3)运行完后可在Cadence的版图窗口里的Calibre菜单点出startRVE,然后就可进行DRC错误的修改了。(4)也可输入calibre–gui调出calibre图形界面,具体的运行方式类似Cadence环境下的模式。Calibre学习陈远明第7页5/31/20202.5查看结果文件和改错1、drc检查运行完毕后,首先看drc_err.sum文件,看有无错误。下面是一个例子:前面是本次运行的一些信息:CALIBRE::DRC-FSUMMARYREPORTExecutionDate/Time:FriJan220:10:462004CalibreVersion:v9.1_9.3FriDec1315:05:27PST2002RuleFilePathname:drc.ruleRuleFileTitle:LayoutSystem:GDSLayoutPath(s):test_nand3.gdsLayoutPrimaryCell:test_nand3CurrentDirectory:/export/home/project/cpu863/LVStest/calibre/drc/testUserName:cpu863MaximumResults/RuleCheck:1000MaximumResultVertices:4096DRC