|
其他的做LVL的方法:
. N6 j: K/ j) x用calibre做LVL的两种方法:
" `7 X/ s) d& O! z9 u假设我们有两个版图文件,分别为1.gds和2.gds,顶层分别为TOP1和TOP2
9 ]% D8 R2 H) `" I3 U( c方法1。 + F) Z" N4 G9 A. A! B
compare_gds 1.gds TOP1 2.gds TOP2 /tmp/diff.db -XOR 5 Q) Y$ K1 D9 b
然后用calibre -rve /tmp/diff.db看结果 ! s6 K- d. @7 T8 X) R
这种方法适用于比较整个版图;
1 g5 ~& y' G/ q( |方法2。 3 U5 h& n# w8 O* O; W
写一个简单的rule file,然后做DRC;
3 I6 C$ {) V8 K. f' W首先查出需要比较的那基层的layer number,比如M1为46,VIA1为47,M2为48,我们来比较这几层; : K2 r0 p/ g) n, M
cat > lvl.cal
! J+ v2 E# ]$ N" \* o( K& U; {LAYOUT PATH "1.gds" 2 P% y6 v* Q% Q& a$ V0 d
LAYOUT PRIMARY "TOP1"
* I& T9 g! ^ {: RLAYOUT SYSTEM GDSII
% f0 C1 o9 ~9 ]8 h" Y7 o% C8 {' ]. B J8 P" W
LAYOUT PATH2 "2.gds" 9 s" \6 x6 a+ M* l5 t
LAYOUT PRIMARY2 "TOP2" % T2 T% f& G% b% X# ]6 M
LAYOUT SYSTEM2 GDSII 5 `4 _; g, @% g9 E
5 J% j s* H4 n; w$ u
LAYOUT BUMP2 400
: ?, q( H4 j3 `4 a4 X* p, _! l
% s( y) i! e. K0 H, {4 e3 N0 ?# GDRC RESULTS DATABASE "/tmp/lvl.db"
8 Y- K. V6 M# y, p
8 L4 m) ]3 o) B* T/ ?; Y- dLAYER OLD_M1 46
. |9 {7 r3 A' v. uLAYER OLD_M2 48 2 P% ~' t1 D) B- _0 a S( R
LAYER OLD_VIA1 47
3 _( u4 Q8 ]" C" i6 c
5 k, d7 N: F3 g% i. ULAYER NEW_M1 446 , d# s, _: x8 t/ `
LAYER NEW_M2 448 3 Z1 e+ R n \/ Z
LAYER NEW_VIA1 447
6 J/ K! d& @. l& Y( ]+ \! j5 W$ ~
- i, m' q0 Q( U: \; g$ bdiff_m1 {XOR OLD_M1 NEW_M1}
; t# S$ Z$ K. pdiff_m2 {XOR OLD_M2 NEW_M2} 1 s% \6 i) F0 s3 @% `: C3 h8 X
diff_via1 {XOR OLD_VIA1 NEW_VIA1} ; b) ^, [2 \+ B/ x2 {
^D
3 M _ `1 h: n3 m3 ?5 `( ^4 R这样rule file就写好了
6 ] ~# V3 v* S$ H+ j( {7 L- F运行:) n+ n. I& G+ v, ^- ]) A# j: v. f
$ calibre -drc lvl.cal
0 j- Q! g: h( N, i+ M/ g; P* R% i看结果
0 m) `1 L* H1 L! ?. O/ j& m2 b$ calibre -rve /tmp/lvl.db ' [5 K2 a% u4 d4 r, w" |' C
祝你好运! |
|