Calibre DRC和LVS验证总结材料 下载本文

内容发布更新时间 : 2024/6/2 0:30:16星期一 下面是文章的全部内容请认真阅读。

实用文档

Calibre学习总结 第一章 Calibre简述

1. 1 Calibre 简介

Calibre 作为Mentor Graphics 公司出品的后端物理验证(Physical Verification)

工具,它提供了最为有效的DRC/LVS/ERC 解决方案,特别适合超大规模IC电路的物

理验证。它支持平坦化(Flat mode )和层次化(Hierarchical mode)的验证,大大缩 短了验证的过程;它高效可靠的性能已经被各大Foundry 认证,作为Tape Out 之前的 验证标准。它独有的RVE(Result ViewEnviroment)界面可以把验证错误反标到版图 工具中去,而且良好的集成环境便于用户在版图和电路图之间轻松转换,大大提高了 改错的效率。xCalibre 具有版图寄生参数抽取的功能。

1.2手册

在工作站下输入mgcdocs &命令,就可阅读Calibre的所有手册。

1.3几个常用的缩写命令

1、 SVRF---Standard Verification Rule Format(标准的检查文件)

2、 RVE---Results Viewing Environment(显示结果用的环境窗口)

3、 SVDB---Standard Verification Database (LVS results)

4、 DRC---Design Rule Checking

5、 LVS---Layout Versus Schematic

6、 ERC---Electrical Rule Checking

实用文档

第二章Calibre DRC

2. 1数据准备

完成CalbireDRC需要的数据有版图数据和执行DRC检查的命令文件(Runset)。版图数

据支持GDSII、CIF、BINARY、ASCII 格式。

2.2流程图

Runset Calibre DRC ASCII Report DRC Results Database Locate Errors Using Calibre RVE and Layout Tool Completed Layout Correct Layout Errors

2.3 DRC Runset File

1 基本控制,原有DRACULA的file可以用drac_cvt sourcefile targetfile命令来

转换。

(1)Calibre是一个“Edge-Based”Tool,默认错误的显示是边

Error is between these edges

(2)DRC 检查的结果有三种控制 Euclidean(default)、Square、Opposite。

实用文档

(3)常用的几条检查规则,具体可阅读Calibre的手册

(a) Internal(内边对内边)用来检查 Width、Overlap; (b) External(外边对外边)用来检查 Space、Notch; (c) Enclosure(内边对外边)

2 一般的DRC检查文件包含以下几个部分:

(1) 运行设置,设置GDS的位置,结果文件放的位置等; (2) 层次定义,定义输入的层次;

(3) 层次运算,产生运算需要的一些中间层次; (4) 规则检查,具体对每条规则的检查;

(5) 选择控制,可以只检查某几条规则或者只检查某个单元。

实用文档

3一个简单的Rule File,“//”后面为注释

//―――――――――――――――――――――――――――― LAYOUT PATH “/home/*…….” //GDS的路径 LAYOUT PRIMARY “*” //GDS的顶单元名 LAYOUT SYSTEM GDSII //版图数据的格式

//―――――――――――――――――――――――――――― DRC MAXIMUM RESULTS 500 //最大错误输出数目

DRC RESULTS DATABASE “/home/*……” //存放DRC错误数据的路径及名称 DRC SUMMARY REPORT “/home/*……” HIER //存放DRC简述文件的路径及名称 //――――――――――――――――――――――――――――

DRC CELL NAME YES CELL SPACE XFORM //表示底层的错误将直接在底层显示 PRECISION 1000

RESOLUTION 10 //两句合起来表示检查的数据格点为 10/1000=0.01 //――――――――――――――――――――――――――――

FLAG OFFGRID YES //在Summary Report 里显示不在格点上的版图的坐标 FLAG SKEW YES //在Summary Report 里显示不是45度线的版图的坐标 FLAG ACUTE YES //在Summary Report 里显示锐角的版图的坐标 //――――――――――――――――――――――――――――-

//输入层次的定义 LAYER nwelli 1 LAYER ndiffi 2 LAYER pdiffi 3

. . .

//TEXT层及连接性的定义

TEXT LAYER 60 ATTACH 60 met1 TEXT LAYER 70 ATTACH 70 met2 //定义连接

CONNECT met1 poly1 BY cont CONNECT met1 ndiff BY cont CONNECT met1 pdiff BY cont CONNECT met2 met1 BY via1 CONNECT met1 allnsub BY cont SCONNECT allnsub nwelli

//顶层数据的定义,有利于提高检查速度 LAYOUT TOP LAYER pad met2 via1

//――――――――――――――――――――――――――― //层次的运算

fpoly = poly1 INTERACT celiso tpoly = poly1 NOT INTERACT celiso pcode = SIZE pcodei BY 0.15 OVERUNDER

实用文档

. . .

//一般用来层次运算用的命令大概有:INTERACT 表示有任何重合关系的, //相当于DRACULA的OVERLAP。NOT ,AND,OR,SIZE 同DRACULA。SIZE 后面 //加上UNDEROVER 表示先缩小再放大,OVERUNDER表示先放大再缩小。 //wmet1 = WITH WIDTH met1 >=10 表示找出宽度大于等于10的铝。

//――――――――――――――――――――――――――――――― //具体的规则检查 //FLAG CHECK

acute_chk { //acute_chk表示这个错误的名称,随便定义 @ flag acute yes //@开头表示注释会在RVE的注释窗口里显示 DRAWN ACUTE //每条检查必须包含一条可以输出错误的命令 } //一对花括号表示执行一条规则检查

//上面这条规则检查的目的是在版图上直接显示锐角的地方。 offgrid_chk{

@ flag offgrid yes DRAWN OFFGRID

} //直接在版图上显示不在格点上的地方 skew_chk {

@ flag skew yes DRAWN SKEW

}// 直接在版图上显示非45度线的地方

//―――――――――――――――――――――――――――― // well check

GROUP nwchk nw_chk? //?是一个通配符,这句语句是将所有以nw_chk开头的错

//误定义成一个名称为nwchk的集合。可以通过 //DRC SELECT CHECK nwchk 这个语句来控制DRC检查 //只检查这个集合,也可UNSELECT去掉这个集合。

nw_chk1 {

@ nwell width must >=2.5

INT nwelli <2.5 ABUT <90 SINGULAR REGION

} // N阱的宽度检查,后面的ABUT<90 SINGULAR REGION 是secong key words 。 //ABUT<90一般都要加上,表示有交叉的地方的角度小于90度报错 //SINGULAR一般也要加上,表示有点碰点或者点碰线的地方都报错 //REGION 是一个显示控制,表示显示错误时显示范围

nw_chk2{

@ nwell of same potential space must >=1.4

EXT nwelli < 1.4 ABUT<90 SINGULAR REGION SQUARE CONNECT

} // 同电位的阱间距必须不能小于1.4 。SQUARE 是输出结果控制,上面有详细说明 //CONNECT 是连接控制,表示凡是通过铝或其它连接层有连接关系的阱。