is your layout density verification exact ?
DESCRIPTION
Is Your Layout Density Verification Exact ?. Hua Xiang * , Kai-Yuan Chao ‡ , Ruchir Puri * and D.F. Wong + * IBM T.J. Watson Research Center + Univ. of Illinois at Urbana-Champaign ‡ Intel Corporation. Density Calculation. - PowerPoint PPT PresentationTRANSCRIPT
Is Your Layout Density Verification Exact ?
Hua Xiang*, Kai-Yuan Chao‡, Ruchir Puri* and D.F. Wong+
*IBM T.J. Watson Research Center+Univ. of Illinois at Urbana-Champaign‡Intel Corporation
Density Calculation Density Calculation is a fundamental operation
in deep-submicron chip designs. Density Control
Find the max/min density window in a given layout Several manufacturing processes (CMP, etch, CD,
lithography etc.) are sensitive to pattern density. Density check
Foundries have density range requirements. Density rules are associated with many process
layers Dummy fills / slotting are based on density calculation.
Existing Methods: Exact density calculation Running time is very long
(days) Approximate algorithm No exact solution Fix-dissection approach
Fix-Dissection Approach
M
N
R
W
W
R
M
N
R
W
W
R
Total windows: (M-W+1)x(N-W+1)
Sliding windows: [(M-W)/R+1]x[(N-W)/R+1]
e.g. M=N=1mm/10nm=105,
W=20um/10nm=2000
R=W/4=500
Total windows ≈ 9.6x109
Sliding windows ≈ 3.88x104
Lemma:
If R is larger than the minimum feature size, fix-dissection approach cannot guarantee to solve the density problem exactly.
Density Bound Theorems Theorem 1:
Any window Win can be fully covered by four sliding windows, and its density d satisfies
where D is the max/min density of the four sliding windows.
R
us
WLB
u
s
R
vs
WRB
v
s
R
ut
WUL
u
t
R
vt
WUR
v
t
,2
||2
W
R
W
RdD
R1
R2
R3R4
R5R6
R7
R8
R9
R10
R11R12
R13
R14
R1
R2
R3R4
R5R6
R7
R8
R9
R10
R11R12
R13
R14
Density Bound Theorems Theorem 2
For any given region, there exists a maximum density window whose two adjacent edges overlap with two rectangle edges, and the overlapped window edges and rectangle edges are in the same direction.
H1
H2
H3
H1+H2=H3
ss
Density Bound Theorems Theorem 3
For any given region, there exists a minimum density window whose two adjacent edges overlap with two rectangle edges, and the overlapped window edges and rectangle edges are in the different direction.
R1
R2
R3R4
R5R6
R7
R8
R9
R10
R11R12
R13
R14
Theorem Extension
R1
R2R7
R9
R5R6
R8R11
R12R13
R3
R10
R4
R1
R2R7
R9
R5R6
R8R11
R12R13
R3
R10
R4
A layout with rectangular and overlap shapes can be converted to a layout only with rectangles.
All theorems can be applied on the converted layout.
R1
R2R7
R9
R5R6
R8R11
R12R13
R3
R10
T3
T1R1
R2R7
R9R8
R11
R12R13
R3
R10
T2
T1
T3
T5T4
T6
T7
T8T9
T10T11 T12 T13
T14
Density Calculation Algorithm Main Ideas
Start from fix-dissection. Let d be the max density of this iteration.
Prune regions based on Theorem 1 For selected regions, call detail_density with finer grids When the region size is small enough, call exact_density
which is based on Theorems 2
M
N
R
R
M
N
R
R
M
N
R
R
M
N
R
R
d R/W – (R/2W)2 + max {d1,d2,d3,d4} ?
d1 d2 d3 d4
Detail_Density
W
W
B
B
RR
B
B
R
R
RR
B
B
R
R
W-B
W-B
RR
B
B
R
R
W-B
W-B
RR
B
B
R
R
W-B
W-B
RR
B
B
R
R
W-B
W-B
center_dens
RR
B
B
R
R
W-B
W-B
center_dens
RR
B
B
R
R
W-B
W-B
center_dens
Region Properties Region Size L = W + B All windows share the center (W-B)x(W-B) area The left bottom corner of any window falls in the pink region The number of sliding windows is (k+1)2, where k=B/R
Exact_Density
R1
R2
R3R4
R7
R8
R9
R10
R11R12
R13
R14
B
B
L
L
R5R6
W
W
R1
R2
R3R4
R7
R8
R9
R10
R11R12
R13
R14
B
B
L
L
R5R6
W
W
R1
R2
R3R4
R7
R8
R9
R10
R11R12
R13
R14
B
B
L
L
R5R6
W
W
R1
R2
R3R4
R7
R8
R9
R10
R11R12
R13
R14
B
B
L
L
R5R6
W
W
R1
R2
R3R4
R7
R8
R9
R10
R11R12
R13
R14
B
B
L
L
R5R6
W
W
R1
R2
R3R4
R7
R8
R9
R10
R11R12
R13
R14
B
B
L
L
R5R6
W
W
R1
R2
R3R4
R7
R8
R9
R10
R11R12
R13
R14
B
B
L
L
R5R6
W
W
R1
R2
R3R4
R7
R8
R9
R10
R11R12
R13
R14
B
B
L
L
R5R6
W
W
R1
R2
R3R4
R7
R8
R9
R10
R11R12
R13
R14
B
B
L
L
R5R6
W
W
The grid is set up based on rectangle edges. Only the left rectangles within the left column
are considered. Similarly for other directions. The density of the center (W-B)x(W-B) area is
obtained from previous iterations.
Experimental Results Implemented in C on a linux workstation (2.3GHz) Test cases are derived from industry designs Compared with two algorithms
ALG3 is an exact algorithm. Jobs were killed when the running time was longer than 24 hour Our algorithm reduces the running time from hours/days to secs/mins
MDA is an approximate algorithm. Our algorithm can report exact max/min density numbers; while the running time is equivalent or even shorter.
Testcase Layout Area (um2) #rectanglesTest1 576x576 191,967Test2 576x576 360,799Test3 512x512 449,828Test4 1248x1216 762,412Test5 512x512 1,375,605Test6 992x992 3,106,559Test7 992x992 4,632,445Test8 992x992 5,033,242Test9 1216x1216 5,287,136
Test10 992x992 5,583,589
Experimental Results (Cont)
Test Alg3 MDA (err ≤ 2%) Our Algorithm
Max Dens CUP (s) Max Dens
CPU (s) Max Dens
CPU (s)
Test1 57.54% 22027 58.41% 300 57.54% 2
Test2 42.83% 83254 43.26% 224 42.83% 4
Test3 28.99% 51h30m 29.32% 170 28.99% 42
Test4 84.48% 46231 85.52% 821 84.48% 3
Test5 - > 24h 19.61% 197 19.35% 110
Test6 - > 24h 56.33% 136 55.57% 39
Test7 - > 24h 47.95% 687 47.34% 195
Test8 - > 24h 26.93% 138 26.64% 73
Test9 - > 24h 86.88% 135 85.90% 15
Test10 - > 24h 39.30% 346 38.96% 74Test Results with a window size 32um
Experimental Results (Cont)
Test Alg3 MDA (err ≤ 2%) Our Algorithm
Max Dens CUP (s) Max Dens
CPU (s) Max Dens
CPU (s)
Test1 67.23% 10587 68.06% 436 67.23% 1
Test2 47.40% 42289 48.02% 817 47.40% 3
Test3 29.82% 93242 30.20% 201 29.82% 32
Test4 84.42% 22876 85.57% 1421 84.42% 5
Test5 - > 24h 21.05% 166 20.94% 88
Test6 - > 24h 58.62% 270 57.56% 28
Test7 - > 24h 50.82% 779 50.04% 96
Test8 - > 24h 28.49% 128 28.08% 64
Test9 - > 24h 88.24% 104 86.84% 15
Test10 - > 24h 43.51% 213 42.92% 46Test Results with a window size 24um
Conclusion Density calculation is a fundamental operation
in many manufacturing processes. A fast and exact density algorithm is proposed
to identify the maximum/minimum density window for a given layout.
The algorithm fully utilize the density calculation results from previous iterations so that the running time can be greatly reduced.
Compared with the existing exact algorithms, the running time is reduced from hours/days to seconds/minutes.
The running time is equivalent to the existing approximate algorithms in literature.