-
Calibre
学习
Calibre
学习总结
第一章
Calibre
简述
1.
1 Calibre
简介
Calibre
作为
Mentor
Graphics
公司出品的后端物理验证(
Physical
Verification
)
工具,它提供了最为有效的
DRC/LVS/ERC
解决方案,特别适合超大规模
IC
电路的物
p>
理验证。它支持平坦化(
Flat
mode
)和层次化(
Hierarchical
mode
)的验证,大大缩
短了验证的过程;它高效可靠的性能已经被各大
Foundry
认证,作为
Tape Out
之前的
验证标准。它独有的
RVE
(
Result ViewEnviro
ment
)界面可以把验证错误反标到版图
< br>工具中去,而且良好的集成环境便于用户在版图和电路图之间轻松转换,大大提高了
改错的效率。
xCalibre
具有版图寄生参数抽取的功能。
<
/p>
1
.
2
手册
p>
在工作站下输入
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
陈远明
第
1
页
4/12/2013
Calibre
学习
第二章
Calibre DRC
2
.
1
数据准备
p>
完成
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
)
Cal
ibre
是一个“
Edge
-
Based
”
Tool
,默认错误的显示是边
Error is between these edges
(2)DRC
检查的结果有三种控制
Euclidean
(
default
)
、
Square
、
Opposite
。
陈远明
第
2
页
4/12/2013
Calibre
学习
(3)
常用的几条检查规则,具体可阅读
Calibr
e
的手册
(a)
Internal
(内边对内边)用来检查
Width
、
Overlap
;
(b)
External
(外边对外边)用来检查
Space
、
Notch
;
(c)
Enclosure
(内边对外边)
2
一般的
DRC
检查文件包含以下几个部分:
(1)
运行设置,设置
GDS
的位置,结果文件放的位置等;
(2)
层次定义,定义输入的层次;
(3)
层次运算,产生运算需要的一些中间层次;
(4)
规则检查,具体对每条规则的检查;
(5)
选择控制,可以只检查某几条规则或者只检查某个单元。
陈远明
第
3
页
4/12/2013
Calibre
学习
3
一个简单的
Rule File
p>
,
“
//
”后面为
注释
//
――――――――――――
――――――――――――――――
LAYOUT PATH
“
/home/*
……
.
”
//GDS
的路径
LAYOUT PRIMARY
“
*
”
//GDS
的顶单元名
LAYOUT SYSTEM GDSII
//
版图数据的格式
//
――――――――――――――――――――――――――――
DRC
MAXIMUM RESULTS 500
//
最大错误输出数目
DRC RESULTS
DA
TABASE
“
/home/*
……”
//
存放
DRC
错误数据的路径及名称
DRC SUMMARY
REPORT
“
/home/*
……
”
HIER //
存放
DRC
简述文件的路径及名称
< br>//
――――――――――――――――――――――――――――
DRC CELL NAME YES CELL SPACE XFORM
//
表示底层的错误将直接在底层显示
PRECISION 1000
RESOLUTION 10
//
两句合起来表示检查的数据格点为
10/1000
=
0.01
//
――――――――――――――――――――――――――――
p>
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
//
p>
顶层数据的定义,有利于提高检查速度
LAYOUT TOP LAYER pad met2 via1
//
――
―――――――――――――――――――――――――
//
层次的运算
fpoly
=
poly1 INTERACT
celiso
tpoly
=
poly1 NOT INTERACT celiso
pcode
=
SIZE pcodei BY 0.15
OVERUNDER
.
陈远明
第
4
页
4/12/2013
Calibre
学习
.
.
//
一般用来层次运算用的命令大概有:
INTERACT
表示有任何重合关系的,
//
相当于
DRACULA
的
OVERLAP
。
NOT ,AND,OR,SIZE
同
DRACULA
< br>。
SIZE
后面
//
加上
UNDEROVER
表示先缩小再放大,
OVERUNDER
表示
先放大再缩小。
//wmet1 = WITH WIDTH
met1 >=10
表示找出宽度大于等于
10
的铝。
//
――――――
―――――――――――――――――――――――――
//
具体的规则检查
//FLAG CHECK
acute_chk {
p>
//acute_chk
表示这个错误的名称
,
随便定义
@ flag acute
yes
//@
开头表示注释会在<
/p>
RVE
的注释窗口里显示
DRAWN ACUTE
//
每条检查必须包含一条可以输出错误的命令
}
//
一对花括号表示执行一条规则检查
//
上面这条规则检查的目的是在版图上直接显示锐角的地方。
offgrid_chk{
@
flag offgrid yes
DRAWN OFFGRID
}
//
直接在版图上显示不在格点上的地方
skew_chk {
@
flag skew yes
DRAWN SKEW
}//
直接在版图上显示非
45
p>
度线的地方
//
――――――――――――――――――――――――――――
// well check
GROUP
nwchk
nw_chk? //
?是一个通配符,这句语句是将所有以<
/p>
nw_chk
开头的错
//
误定义成一个名称为
nwchk
< br>的集合。可以通过
//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
。
p>
//ABUT<90
一般都要加上,表示有交叉的地方的角度小于<
/p>
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
是连接控制,表示凡是通过铝或其它连接层有连接关系的阱。
陈远明
第
5
页
4/12/2013
Calibre
学习
nw_chk3{
@nwell of
different potential space must >=4
EXT
nwelli <4
ABUT<90 SINGULAR REGION
NOT CONNECT
} //
不同电位的阱间距不能小于
4
。
nw_chk4{
@nwell overlap nsub
>=0.4
ENC allnsub
nwell <0.4 ABUT<90 OUTSIDE ALSO SINGULAR REGION
}//
阱包
nsub
不能小于
0.4, OUTSIDE ALSO
也是
second key words,
表示
nsub
在
// nwell
外也报错。
nw_chk5{
@ show bad nwell connect two different
net
stamp_nwell = STAMP nwell
BY allnsub
nwell NOT stamp_nwell
}//STAMP
命令来定义
nwell
连接性,并且只能有一个连接,当某个
nwell
的
nsub
有两
//
个或以上的不同线名时
,
这个
nwell
不会被选成
stamp_nwell
。没有
nsub
的阱也不会被
//
选出来。
//
――――――――――――――
――――――――――――――――――
//
关于有源区及多晶硅,铝等层次的检查可参考
nwell
的设置。
//contact check
cont_chk1{
@min&max contact size
0.5
×
0.5
NOT RECTANGLE cont
==
0.5 BY = =0.5 ORTHOGONAL
ONL
Y
}//
表示
contact
只能这么大,并且每条边必须都平行与
X
或
Y
轴。
//
密度检查
den_chk1{
@ min met1 density is 30%
DENSITY met1 < 0.3 PRINT den_report_
p>
}//
当铝密度小于
30
< br>%时,输出
den_report_
文件,要注意查看。
这个文件里有具
//
体的铝密度。
(
6
)
p>
上面只是一个简单的检查文件,
从上面的内容可大致了解一下
Calibre
的检查规则。
还有许多其它的检查,如
Antenna
(天线效应
)
、衬底密度等的检查可以参考
Calibre
手
册。
2
< br>.
4
用
commond
line
来运行
Calibre
DRC
检查
(
1
)
p>
先必须有一个完整的规则检查文件,必须包含运行设置、层次定义、层次
运算、规则检查等几部分。
(
2
)
p>
在
UNIX
的命令窗口里输入
calibre
–
hier
–
drc rulefile
。
(
3
)
p>
运行完后可在
Cadence
的版图窗口里
的
Calibre
菜单点出
start
RVE
,然后
就可进行
DRC
错误的修改了。
(
4
)
也可输入
calibre
–
gui
调出
calibre
图形界面,具体的运行方式类似
Cadence
环境
下的模式。
陈远明
第
6
页
4/12/2013
Calibre
学习
2
.
5
查看结果文件和改错<
/p>
1
、
drc
检查运行完毕后,
首先看
drc_
文件,看有无错误。下面是一个例子:
前面是本次运行的一些信息:
CALIBRE:: DRC-F SUMMARY REPORT
Execution Date/Time: Fri Jan 2 20:10:46
2004
Calibre Version: v9.1_9.3 Fri Dec
13 15:05:27 PST 2002
Rule File
Pathname:
Rule File Title:
Layout System: GDS
Layout
Path(s): test_
Layout Primary Cell:
test_nand3
Current Directory: /export/h
ome/project/cpu863/LVStest/calibre/drc/test
User Name: cpu863
Maximum
Results/RuleCheck: 1000
Maximum Result
Vertices: 4096
DRC Results Database:
(ASCII)
Layout Depth: ALL
Text Depth: PRIMARY
Summary
Report File: drc_ (REPLACE)
Geometry
Flagging: ACUTE = YES SKEW = YES OFFGRID = NO
NONSIMPLE POLYGON = YES NONSIMPLE PATH
= NO
CheckText Mapping: COMMENT TEXT +
RULE FILE INFORMATION
Layers: MEMORY-
BASED
Keep Empty Checks: YES
-------------------------------------------------
---------------------------------
---
RUNTIME WARNINGS
——
There is no data for layout net name
?vcc?.
中部开始有关
RuleCheck
Results
的统计,如下:
--- RULECHECK RESULTS STATISTICS
---
RULECHECK NW_1
................. TOTAL Result Count = 0
RULECHECK NW_2a ................ TOTAL
Result Count = 0
RULECHECK NW_2b
................ TOTAL Result Count = 0
RULECHECK NW_3 ................. TOTAL
Result Count = 0
RULECHECK NR_1
................. TOTAL Result Count = 0
RULECHECK NR_2 ................. TOTAL
Result Count = 0
RULECHECK NR_3
................. TOTAL Result Count = 0
RULECHECK NR_4 ................. TOTAL
Result Count = 0
RULECHECK NR_5
................. TOTAL Result Count = 0
RULECHECK NR_6 ................. TOTAL
Result Count = 0
RULECHECK NR_7
................. TOTAL Result Count = 0
RULECHECK NR_8 ................. TOTAL
Result Count = 0
如
RULECHECK NR_8
................. TOTAL Result Count = 0
表示
NR_8
这条规则
检查的结果是
0
个错误,
具体
NR_8
规则的含义要看
DRC Runset File
中的定义,
陈远明
第
7
页
4/12/2013
Calibre
学习
检查有错的如:
RULECHECK
CT_9 ................. TOTAL Result Count = 0
RULECHECK CT_10 ................ TOTAL
Result Count = 0
RULECHECK CT_11
................ TOTAL Result Count = 0
RULECHECK CT_12 ................ TOTAL
Result Count = 0
RULECHECK M1_1
................. TOTAL Result Count = 0
RULECHECK M1_2 ................. TOTAL
Result Count = 1
RULECHECK M1_3&4
............... TOTAL Result Count = 0
RULECHECK M1_5 ................. TOTAL
Result Count = 0
RULECHECK M1_6
................. TOTAL Result Count = 3
RULECHECK M2_1 ................. TOTAL
Result Count = 0
RULECHECK M2_2
................. TOTAL Result Count = 0
RULECHECK PD_M1 ................ TOTAL
Result Count = 0
RULECHECK PD_M2
................ TOTAL Result Count = 1
RULECHECK PD_M3 ................ TOTAL
Result Count = 1
RULECHECK PD_M4
................ TOTAL Result Count = 1
RULECHECK PD_M5 ................ TOTAL
Result Count = 1
RULECHECK PD_M6
................ TOTAL Result Count = 1
RULECHECK Convention_FLT_NW .... TOTAL
Result Count = 0
分别是
1
,
3
,
1
,
1
,
1
,
1
个错误,最后是错误统计:
--- SUMMARY
---
TOTAL CPU Time: 0
TOTAL REAL
Time: 1
TOTAL Original Layer
Geometries: 73
TOTAL DRC RuleChecks
Executed: 205
TOTAL DRC Results
Generated: 9
可见一共检查出
9
个
DRC
错误。如果没有错,则最后的
TOTAL DRC
Results
Generated
为
0
。
还可以查看
DRC
检查结果的数据库
“
drc_err
”,
如下:
test_nand3
1000
NW_1
0 0 2 Jan 2
20:10:47 2004
Rule File Pathname:
Minimum width of an NW region is 0.86um
NW_2a
0 0 3 Jan 2 20:10:47
2004
Rule File Pathname:
Minimum space between two NW regions
with the same potential is 0.60um
Merge
if space is less than 0.6um
NW_2b
0 0 2 Jan 2 20:10:47 2004
Rule File Pathname:
Minimum
space between two NW with different potential is
1.40um
陈远明
第
8
页
4/12/2013
Calibre
学习
NW_3
……
Rule File Pathname:
NW without N+ pick up
Convention_BPMO
0 0 2 Jan 2
20:10:48 2004
Rule File Pathname:
Pmos in PW
Convention_BAD_IMP
0 0 2 Jan
2 20:10:48 2004
Rule File Pathname:
AA area without any implant
__RVE_ERROR_TAG2__
0 0 14
Jan 11 10:10:57 2004
M1_2 151 1
1
M1_6 154 1
000
PD_M2 197 1
0
PD_M3 198 1
0
PD_M4 199 1
0
PD_M5 200 1
0
PD_M6 201 1
0
也包含了检查的错误信息,该数据库主要是被后面的
RVE <
/p>
来调用的。然后
要根据错误去版图中相应的位置改,
Calibre
提供了良好的
RVE
(
R
esult
V
iew
E
nviroment
)界面,它能直接调用
DRC
或者
LVS
检查后的结果数据库,图
形化
很直观地显示错误所在,并且可以调用版图工具如
Virt
uoso
,直接在
Virtuoso
中
快速定位错误位置。
2
、用
RVE
查看结果和改错
RVE
(
R
esult
V
iew
E
nviroment
)是
Calibre
自带的看验证结果的集成工具。启动
方式为:
calibre
–
rve database
database
为
DRC
或
LVS
检查结果的数据库,这里是
drc_err
:
calibre -rve
drc_err
激活后界面如图
1
可见左边显示
DRC
错误种类和数目,右边显示坐标位置,下面是对该
Rule
的解释。
清晰的界面,方便的操作能
帮助用户快速找到错误和修改。
RVE
能调用很多版图工
陈远明
第
9
页
4/12/2013
-
-
-
-
-
-
-
-
-
上一篇:2010阅读解析第1篇阅读全文翻译
下一篇:小学英语三年级上册教材解读