1 Calibre使用简介 宋存杰2008年05月03日 2 IntroductionCalibreDRCCalibreLVS 3 Introduction Calibre是MentorGraphics的IC版图验证软件 此软件包括设计规则检查 DRC 版图与原理图一致性检查 LVS 电气规则检查 ERC 及版图寄生参数萃取 LPE 等验证功能 此软件的操作界面主要分为图形模式 GUI graphicaluserinterface CalibreInteractive与指令模式 CommandLine 其中图形模式可以单独启动 亦可与Virtuoso等软件相连接 其操作界面皆相同 指令模式则是类似于Dracula的操作方式 对于规模较小的版图应用Interactive很方便 而且直观的图像化接口便于初学者使用 采用命令行模式能够快速输入控制命令 快速执行 其结果精确稳定 以下简介说明以图形模式为主 Goback 4 UsefulAbbreviations SVRF StandardVerificationRuleFormat 标准的检查文件 RVE ResultsViewingEnvironment 显示结果用的环境窗口 SVDB StandardVerificationDatabase LVSresults DRC DesignRuleCheck 设计规则检查 ERC ElectricalRuleChecking 电气规则检查 LVS LayoutVersusSchematic 版图原理图一致性检查 LPE LayoutParasiticExtraction 版图寄生参数萃取 CommercialVerificationToolsCadenceDraculaSynopsysHercules MentorCalibre 5 WhatareI OsforDRCandLVS InputsLayoutSchematicorNetlist LVSonly RuleFilesOutputsSVDB LVSresultsdatabase DRCResultsReportLog 6 在Cadence环境里调用Calibre 在 cdsinit 此文件在启动tool时会自动读取 里加上load usr calibre mgc skl skl 这个 skl文件就是Mentor公司提供的skill文件 启动icfb 后 打开一个版图检查一下顶端的Menu里有没有一个Calibre的菜单 如果有则表示可以在当前环境下使用Calibre了 这个菜单里有DRC LVS RVE等命令 Goback 7 CalibreDRC 如上图所示 DRC的输入有两项 一个是layout 就是手工或APR automaticplaceandroute 自动布局布线 工具生成的版图 一般是GDSII格式 另一个是RuleFile RuleFile告诉DRC工具怎样做DRC 这个文件十分重要 一般 由流片厂家提供 或者由designer根据流片厂家提供的版图几何规范自己写 Calibre读入GDS 版图 和RuleFile 进行处理 输出结果 输出结果是calibre自己定义的格式 designer可以通过一个Viewer来看 一般用cadence的virtuoso来分析输出结果和修改版图 Goback 8 因为做DRC会产生很多文件 建议建立一个专属于此Layout做DRC时的新文件夹 然后拷贝RuleFile至此工作目录下 从版图中导出GDS文件至此工作目录下 亦可在CalibreDRC图形界面中选择从当前版图中导出GDS文件 9 DRCRuleFile 下面是一个简单的calibreLVSRuleFile 右边是对它的解释 与 后是注释部分layoutsystemgdsii 指明输入的版图格式是GDSII calibre还可支持其他格式layoutpath layout basic drc gds 输入版图的路径layoutprimarybasic drc 要检查的版图的topcell名字drcresultsdatabase training drc results db drc的输出 将来可以用calibre结合virtuoso分析variablemetal width3 定义一个变量layersubstrate0 本行和下面相似的行定义了输入版图中每一层的名字layerpwell1 本行把GDS的layer1定义为pwell 接下来pwell都指输入的GDS的layer1 layeroxide2layerres3layerpoly4layernplus5layerpplus6layercontact7layermetal18 10 DRCRuleFile layervia9layermetal210 ngate polyANDnplus layer运算 由原始的poly和nplus层推出ngate层 Module2 DRCMeasurementOperations InternalChecksrule 2a oxideminimumwidthis6 进行检查 rule 2a是检查标号 oxideminimumwidthis6是解释 报错时会报出这一句 internaloxide 6 这一句是具体动作 internal是calibre的关键字 这一句检查所有的oxide的internal小于6的情况 如果internaloxide 6的情况出现 则输出报错结果 designer根据这个结果修改错误 internal具体介绍见下一节 11 DRCRuleFile 一般说来 RuleFile首先要设好calibre运行的环境 包括GDS文件的位置 输出文件的位置等 接下来要定义输入的GDS版图的层次 例如如果GDS的layer1是多晶硅层 则应该定义如下layerpoly1这句话表明所有GDS的layer1现在都叫poly 当然也可以叫任何名字 接下来可以用poly来代表layer1 之所以要这样做是因为在GDS内 所有的层都用一个数字来表示 如1 2 3 GDS文件并不知道layer1是什么 calibre也无法从GDS中知道layer1是什么 只有designer来告诉calibre 12 DRCRuleFile Calibre是一个基于边 edge 的DRC LVS工具 所有的运算都是基于 边 来进行的 边有内边和外边之分 如上图所示 任一个polygon的边都分为两部分 polygon内部那一面的称为内边 interiorsideedge 外部的称为外边 exteriorsideedge 理解这个定义对于理解calibre复杂的指令是十分有用的 下面介绍几个calibre基本的的例子 通过这些例子有助于理解calibre的工作原理 13 Internal指令 Internal指令一般用于检查polygon内间距 可以用来检查同一layer的polygon的内间距 或检查两个不同layer的polygon之间的内间距 如下图所示 理解Internal指令的关键是Internal指令是polygon的内边 interioredge 的相对关系 只有interioredge之间才能检查 上图的左边是在同一个polygon的internal检查 请注意左边凹进去的相对两边不作检查 这是因为这两边是exterioredge 同一layer的polygon的Internal检查一般用于宽度检查 例如金属的最小宽度 InternalMetal1 0 4这条指令可以查处所有的宽度小于0 4的金属1 14 External指令 External指令一般用于检查polygon外间距 可以用来检查同一layer的polygon的外间距 或检查两个不同layer的polygon之间的外间距 如下图所示 上图的左边是同一layer的polygon的外边 exterioredge 的检查 右边是不同的layer的polygon的外边 exterioredge 的检查 理解External指令的关键是External指令是polygon的外边 Exterioredge 的相对关系 只有Exterioredge之间才能检查 一般用于金属的间距检查 15 Enclosure指令 Enclosure指令一般用于检查polygon的overlap 交迭 可以用来检查两个不同layer的polygon之间的关系 如下图所示 Enclosurelayer alayer b是layer a的外边 exterioredge 与layer b的内边 interioredge 的关系 上面介绍了Internal External Enclosure三条指令 剩余的指令请参阅calibre的文档 calibre的指令集十分复杂 足以完成各种规则的DRC检查 designer要理解所有的指令才可以用好calibre 16 17 18 19 20 点击Virtuoso中Calibre选项中的RunDRC在命令窗口里输入calibre gui启动calibreGUI 再选择DRC在命令窗口里直接输入calibre gui drc 启动DRC的方法 三种方法启动图形界面 21 红色代表这些选项需要你设置 填入信息 绿色代表已经完成设置 但是对于特定的DRC不一定完全正确 也就是也许本来就是显示绿色 但是还有需要修改的地方 有时显示灰色 代表此时不需要填写内容 RunsetFile是RUNDRC时需要填入的一些设置 方便于下次RUN 第一次由于没有 所以就点选NewRunset 等第一次RUN完后 可以将填入的设置存成一个RunsetFile 再RUNDRC时 可以将这个RunsetFileLoad进来 22 点击Rules命令 在Calibre DRCRulesFile的命令行里输入用来做DRC检查的文件 SVRF 这个文件里包括了一些层次的定义及工艺规则 在Calibre DRCRunDirectory里输入你要RUNDRC的路径 建议建一个专门的目录 可以看到这时Rules已经变成绿色 表示Rules里设置完成了 光标滑动停留在命令行时 会弹出提示 23 每个命令行后面的 可以帮助你选择文件 24 点击View可以查看或修改文件 点击Load装载文件 25 Hierarchical CalibreDRC Hperformsdesignrulecheckinghierarchically whichminimizesredundantprocessing Itstores analyzes andprocessesdataoncepercellinsteadofonceforeveryflatplacementofthecell 层次化设计规则检查维持数据库的层次化结构 并且充分利用设计数据的层次化关系减少数据处理时间 内存使用和DRC检查结果数量 26 对于确定类型的芯片而言 DRC H要比在展平模式下的Calibre快几个数量级 层次化处理对于0 35 m或以下工艺 规模达到或者超过百万晶体管的芯片设计优势更加明显 Thegreatertherepetitionordesignre useinalayout thegreaterbenefityouwillgetfromCalibreDRC H 27 在Layout的Files命令行里输入你要检查的版图的GDS 假如你已经把当前版图输出GDS了 可以输入已经生成的GDS 假如你还没有输出GDS 可以选中下面的Importlayoutdatabasefromlayoutviewer 这样Calibre在RunDRC时就先把当前的版图输出GDS 名字就是你上面输入的GDS名 PrimaryCell是顶层单元名 若是从Virtuoso中启动Calibre 则Importlayoutdatabasefromlayoutviewer选项是默认选中的 28。