Upload
aiden-morcom
View
218
Download
0
Embed Size (px)
Citation preview
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Compression Schemes for "Dummy Fill" VLSI Layout Data
Robert Ellis, Andrew B. Kahng and Yuhong Zheng
( Texas A&M University and UCSD) ( Texas A&M University and UCSD)
http://vlsicad.ucsd.eduhttp://vlsicad.ucsd.edu
Supported by MARCO GSRC
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Outline
• Dummy Fill and Fill Compression Problem
• Our Contributions
• JBIG* Standards
• Loss/Lossless Compression Algorithms
• Experimental Results
• Conclusion and Future Research
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Uneven features cause polishing pad to deform in Chemical-Mechanical Polishing (CMP)
Post-CMP ILD thicknessFeatures
CMP and Dummy Fill
Interlevel-dielectric (ILD) thickness feature density Insert non-functional dummy features to decrease variation
Dummy features Post-CMP ILD thickness
Dummy feature explodes layout data volume, creates a bottleneck in the design-to-manufacturing handoff
Dummy fill data compression is required
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Fill Compression Problem
1 1 0 0 0 0 0 00 0 0 0 0 1 1 11 0 1 0 0 0 0 01 0 0 0 0 0 0 01 0 0 0 0 0 0 11 0 0 0 0 0 0 10 0 1 0 0 0 1 10 0 1 1 1 1 0 1
Compressed Layout Data
1: With features 0: Without features
A fill pattern can be expressed as a binary (0-1) matrix
Problem: Given a 0-1 matrix B [mn] digitized from a dummy fill layout, compress it with the objective of minimizing output data size h Compression ratio r = mn/h One-sided loss
• Limited loss can improve compressibility• Asymmetric loss:
• 10 okay! (fill geometry disappears); • 01 not allowed (fill geometry appears)
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
General Flow for Compression Heuristics
Segment data matrix into blocks
Loss allowed?
Applied one-sided loss to original data matrix
Perform lossless compression on data matrix
END
YesNo
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Our Contribution
New compression heuristic algorithms on JBIG methods• JBIG1• JBIG2-Pattern Matching and Substitution (PM&S)• JBIG2-Soft Pattern Matching (SPM)
Two loss mechanisms• Proportional loss: relative fraction of 1’s allowed to be
changed to 0’s• Fixed “speckle” loss: absolute number of 1’s allowed to
be changed to 0’s
Asymmetric cover method that comprehends one-sided loss and improves the compression ratio
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
General Flow for Compression Heuristics
Segment data matrix into blocks
Loss allowed?
Perform lossless compression (JBIG1, JBIG2 PM&S, and JBIG2 SPM) on data matrix
END
YesNo
Applied one-sided loss to original data matrix
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
JBIG* Standard
JBIG (Joint Bi-level Image Experts Group) is an experts group of ISO, IEC and CCITT (JTC1/SC2/WG9 and SGVIII). Its goal is to define a compression standard for bi-level image coding• JBIG1: international standard for lossless compression
of bi-level images (ITU-T T.82) (1993)• JBIG2: the first International standard that provides for
both lossless and lossy compression of bi-level images (1999)
JBIG* methods are based on Arithmetic Coding and Context-based Statistical Modeling
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
JBIG2 PM&S
PM&S: Pattern Matching and Substitution
Dictionary: reference blocks that used to match data blocks
Extract and encode repeatable patterns
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
JBIG2 SPM
SPM: Soft Pattern Matching
Dictionary: reference blocks that used to match and coding data blocks
Estimate bits probabilities based on data block and matched reference block, codes data in arithmetic coding
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Dictionary Construction
To achieve better compression ratio:
Dictionary should contain as few reference blocks as possible to match a much larger number of data blocks
Reference indices (pointing from data blocks to reference blocks) as shorter as possible
Removing singletons from the dictionary will reduce the size of dictionary
Asymmetric cover approach is applied to construct a dictionary for loss compression
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
General Flow for Compression Heuristics
Segment data matrix into blocks
Loss allowed?
Asymmetric cover heuristic for one-sided loss
Perform lossless compression (JBIG1, JBIG2 PM&S, and JBIG2 SPM) on data matrix
END
YesNo
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Asymmetric Cover Heuristic
The problem of building a cover for a set of data blocks is an instance of the Set Cover Problem (SCP)
Asymmetric cover: allows number of 1’s can be changed to 0’s, yet 0’s can not be changed to 1’s
Our heuristic for constructing cover: views the data blocks as vertices of a graph with edge weights defined as:
w(D1, D2) = min(t(D1) – HD(D1, D1 ^ D2), t(D2)-HD(D2, (D1 ^ D2))
D: data block, ^: bit-wise AND t(D) = the total allowable loss for D• D1 and D2 covered by the same cover iff w(D1, D2) 0
• Cover D = D1 ^ D2.
Clustering data blocks 111111 and 111101
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Description of Algorithm Pieces
Index Description A1 A2.1 A2.2 A2.3 A3
Benchmark Compress matrix using JBIG1
Loss introduction
Proportional loss
Fixed speckle loss
JBIG* lossless
components
JBIG2 PM&S
JBIG2 SPM (lossless)
Singleton exclusion & singleton data blocks compression by
JBIG1
Compress dictionary
JBIG1 on reference blocks compression
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
General Compression Algorithm
Segment data matrix into blocks
Asymmetric cover heuristic for one-sided loss
Perform lossless compression (JBIG1, JBIG2 PM&S, and JBIG2 SPM) on data matrix
END
Yes
No•(A2.2)
•(A2.3)
•(A3)•Exclude Singleton (A2, A3)
•JBIG2 PM&S (A2, A3)
•Dictionary Compression using JBIG1 (A2, A3)
•JBIG2 SPM (A2)
Loss allowed?
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Experimental Results
A2.1 is the best lossless fill compression methods, with an average of 29.93% improvement to the Bzip2
A1 gives competitive compresstion ratios, with an average of 28.7% improvement to the Bzip2
A2.2 and A3 performs similar in all test casesLarge loss yields better compression ratios.
Compression ratio of fill compression heuristics
0
20
40
60
80
100
1 2 3 4 5Test cases
Com
pres
sion
rat
io
Bzip2
A1
A2.1
A2.2@20%loss
A2.2@40%loss
A3@20%loss
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Dictionary Fits SREFs 111000101111000111111000111000101000000101000000101000101000000111000000101000000
101000101101000101101000101000101000000101000000101000101000000101000000101000000
loss
Dictionary entrySREF
F
F’
M
M’
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Geometry Compression Operators
TYPE 1TYPE 2
TYPE 3
equivalent to “GDSII AREF”
TYPE 4
TYPE 5
TYPE 6
TYPE 7
TYPE 8
equivalent to “GDSII SREF”
OASIS Repetition Types
Original layout Filled layout with area features in 9 repetitions
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Conclusion and Future Research
We have implemented algorithms based on JBIG* methods in combination with the new concept of one-sided loss to compress binary data files of dummy fill features.
JBIG1 is quite effective. Our new heuristics A2-A3 and the fixed speckle loss heuristic offer better compression with slower runtime, especially as data files become larger
Ongoing research examines synergies between fill generation and compression, as well as compression techniques that exploit constructs in the GDSII standard (AREF and SREF) and the new OASIS format (8 repetitions) for layout data.
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Thank You!Thank You!
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
DPIMM-II 2003DPIMM-II 2003 UCSD VLSI CAD LABUCSD VLSI CAD LAB
Experimental Results (Cont’d)Run time of fill compression heuristics
0100200300400500600700
1 2 3 4 5Test cases
Run
time
(s)
Bzip2
A1
A2.1
A2.2@20%loss
A2.2@40%loss
A3@20%loss
For lossless compression, A1 is the most cost-effective method, taking only 2.7 longer than Bzip2 on average. A2.1 is nearly as cost effective, but takes 5.9 longer than Bzip2 on average.
A3 is the most cost-effective proportional loss method, taking 3.7 longer than Bzip2 on average. The running time of A2.2 is 9.4 longer than Bzip2 on average with proportional loss ratio k=0.2 and 10.3 longer with k=0.4.