Hercules DRC基本操作
- 格式:doc
- 大小:113.00 KB
- 文档页数:4
Hercules DRC基本操作
http://www.chalayout.com/Article/物理版图/200706/20070613103818.html
LVS可以参考 “Hercules LVS基本操作”
DRC 运行结果可以通过cellview下拉菜单 synopsys tools execute explo
rer start explorer DRC „ 也可以在terminal中直接输入hxdrc 来开启
窗口。
运行方法:
1, 准备 drc.ev runset file
2, 使用hercules drc.ev
3, 使用 hxdrc 调用
4,第2、3步可以直接使用菜单命令start explorer 运行并调用结果
图示:
以下是drc.ev 的内容,runset file 只举了几个例子:
/********************************************************************
****/
/* hercules drc demo runset */
/* Creator : NFMao Date : 07/06/13 */
/* from www.chalayout.com */
/* Note : */
/********************************************************************
****/
HEADER {
LAYOUT_PATH = .
INLIB = invert.db
OUTLIB = ERR_OUT
BLOCK = invert
GROUP_DIR = group
FORMAT = GDSII
OUTPUT_FORMAT = LTL
OUTPUT_LAYOUT_PATH = .
}
OPTIONS {
GDSIN_OPTIONS = "-nl"
MAXIMUM_CELLNAME_LENGTH = 127
PRINT_ERRSUM_FILE = TRUE
EXPLORER_DATA = TRUE
IGNORE_CASE=FALSE
RESOLUTION=0.001 /* tool resolution */
NET_PREFIX = N_
}
DRC_OPTIONS {
DRC_ERROR_BOX = 0.1
}
EXPLODE_OPTIONS {
DELETE = { test }
}
EVACCESS_OPTIONS {
CREATE_VIEWS = TRUE
CREATE_XREF_VIEW = TRUE
}
GRAPHICS {
EXPLORER_LAYERS
}
TEXT_OPTIONS {
USE_COLON_TEXT=TRUE
TRUNCATE_FLAG=FALSE
REMOVE_TEXT_FROM_SHORT=TRUE
CONNECT_BY_NAME = MIXED_MODE
ATTACH_TEXT = ALL
}
ASSIGN {
pwell (0;0)
pldd (1;0)
nldd (2;0)
contact (3;0)
mt1 (4;0) TEXT(4;0) /*mt1 text attach on 4;0*/
thinox (5;0)
nwell (6;0)
res (7;0) TEXT(7;0)
poly (8;0)
via (10;0)
dummy (16;0)
}
GRID_CHECK {
ASSIGN_LAYERS=TRUE
CHECK_45=TRUE
GRID=0.001 /* layout grid */
} TEMP=DEFAULT_GRID_CHECK_OUTPUT
CELL_EXTENT { CELL_LIST = { * } } TEMP = bulk
BOOLEAN bulk NOT nwell { } TEMP = psub
boolean poly and thinox { } temp = gate
boolean gate and dummy { } temp = cgate
boolean gate not cgate { } temp = agate
boolean agate and pldd { } temp = pgate
boolean agate not pldd { } temp = ngate
boolean thinox not gate { } temp = diff
boolean diff and pldd { } temp = pdiff
boolean diff and nldd { } temp = ndiff
select nwell cutting res {} temp = rnwel
boolean nwell not rnwel {} temp = anwel
boolean rnwel and res {} temp = wres
boolean rnwel not rnwel {} temp = wress
boolean psub and pdiff {} temp = pcont
boolean anwel and ndiff {} temp = ncont
CONNECT {
mt1 poly by contact
mt1 pdiff by contact
mt1 ndiff by contact
ndiff anwel by ncont
pdiff psub by pcont
pgate by poly
ngate by poly
wress by ndiff
}
TEXT {
mt1 BY mt1.TEXT
rnwel BY res.TEXT
}
internal nwell {
comment = "nwell width < 6.0"
non_parallel = true
spacing < 6.0} (60)
external nwell {
comment = "nwell spacing < 1.0"
non_parallel = true
spacing < 1.0
check_same_polygon = true } (60)
enclose contact by ndiff {
comment = "contact by ndiff space < 0.4"
non_parallel = true
spacing < 0.4
touch = true } (60)
cut thinox by poly { enclosed = true } temp = tgate
length tgate {
comment = "gate width between 0.005 and 0.6"
range = [0.005,0.6] } (60)