内容发布更新时间 : 2024/12/23 22:53:12星期一 下面是文章的全部内容请认真阅读。
实用文档
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 ONLY }//表示contact只能这么大,并且每条边必须都平行与X或Y轴。 //密度检查 den_chk1{
@ min met1 density is 30%
DENSITY met1 < 0.3 PRINT den_report_m1.log
}//当铝密度小于30%时,输出den_report_m1.log文件,要注意查看。这个文件里有具//体的铝密度。
(6)上面只是一个简单的检查文件,从上面的内容可大致了解一下Calibre的检查规则。
还有许多其它的检查,如Antenna(天线效应)、衬底密度等的检查可以参考Calibre手册。
2.4用commond line 来运行Calibre DRC检查
(1) 先必须有一个完整的规则检查文件,必须包含运行设置、层次定义、层次
运算、规则检查等几部分。
(2) 在UNIX的命令窗口里输入 calibre –hier –drc rulefile 。
(3) 运行完后可在Cadence的版图窗口里的Calibre菜单点出start RVE ,然
后就可进行DRC错误的修改了。
实用文档
(4) 也可输入 calibre –gui 调出calibre 图形界面,具体的运行方式类似
Cadence环境下的模式。
2.5查看结果文件和改错
1、 drc 检查运行完毕后, 首先看drc_err.sum 文件,看有无错误。下面是一个例子: 前面是本次运行的一些信息:
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: drc.rule Rule File Title: Layout System: GDS
Layout Path(s): test_nand3.gds Layout Primary Cell: test_nand3
Current Directory: /export/home/project/cpu863/LVStest/calibre/drc/test User Name: cpu863
Maximum Results/RuleCheck: 1000 Maximum Result Vertices: 4096
DRC Results Database: drc.out (ASCII) Layout Depth: ALL Text Depth: PRIMARY
Summary Report File: drc_err.sum (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 中的定义, 检查有错的如:
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: drc.rule
Minimum width of an NW region is 0.86um NW_2a
0 0 3 Jan 2 20:10:47 2004 Rule File Pathname: drc.rule
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: drc.rule
Minimum space between two NW with different potential is 1.40um NW_3 ……
Rule File Pathname: drc.rule NW without N+ pick up Convention_BPMO
0 0 2 Jan 2 20:10:48 2004 Rule File Pathname: drc.rule Pmos in PW
Convention_BAD_IMP
0 0 2 Jan 2 20:10:48 2004 Rule File Pathname: drc.rule 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 来调用的。然后要根据错误去版图中相应的位置改,Calibre 提供了良好的RVE(Result View Enviroment)界面,它能直接调用DRC 或者LVS 检查后的结果数据库,图形化很直观地显示错误所在,并且可以调用版图工具如Virtuoso,直接在Virtuoso 中快速定位错误位置。
2、用RVE 查看结果和改错
RVE(Result View Enviroment)是Calibre 自带的看验证结果的集成工具。启动 方式为:
calibre –rve database
database 为DRC 或LVS 检查结果的数据库,这里是drc_err :
实用文档
calibre -rve drc_err 激活后界面如图1
可见左边显示DRC 错误种类和数目,右边显示坐标位置,下面是对该Rule 的解释。 清晰的界面,方便的操作能帮助用户快速找到错误和修改。RVE 能调用很多版图工 具,把错误直接反映在版图位置上,见菜单Setup ——> Layout , 这里可以设置调 用的版图工具。具体配置方法见在线帮助中Calibre 与其他工具的接口。在Cadence 的Virtuoso 中集成了Calibre 以后,Virtuoso 的菜单中会多出Calibre 的菜单,如: 即可以直接从Virtuoso 中调用图形化的DRC, LVS 和RVE,显得十分方便。点击 Start RVE , 选择数据库名称,同样可以得到同图1 一样的界面,这时RVE 已经 和版图工具集成在一起,可以在RVE 中点击一些错误坐标,Virtuoso 中立刻会显示 错误的位置,如图3:
这里点击M1 小于最小面积的错误中的第1 个错误点:右边坐标红色下划线的(-1.96 , 3.97 ) , 在版图工具中会立刻高亮显示位置,如图4:
因此改错起来十分方便。可以在RVE 菜单View ――> By Check , RVE 左边会显 示出Check 每条rule 的结果,见图5:
绿色的表示检查该rule 无误。而且利用File 菜单中可以方便地打开DRC 结果报告、 DRC Runset 等,如图6:
第三章 Calibre LVS
3.1数据准备
需要的数据为版图数据、电路图数据和runset 文件。Calibre 把电路图网表 的部分叫SOURCE。SOURCE 部分要求的网表格式为标准spice 格式或者Calibre
自身的一种类似spice 的格式。Calibre 有一种把verilog 转为自身类spice 格式的 功能,叫v2lvs,下面先介绍v2lvs:
v2lvs 能够把verilog 网表和相对应的spice 库、verilog 子库转成Calibre LVS 用 到的电路图SOURCE 网表,其功能如图:
转换的原理是verilog 网表根据verilog 子库对元件端口的定义,去spice 子库找同样 名称和端口的元件,然后进行网表和格式上的替换。因此v2lvs 转类spice 网表时,