IC layout pattern matching and classification system and method
10216889 ยท 2019-02-26
Assignee
Inventors
Cpc classification
G06F2218/06
PHYSICS
G06F30/398
PHYSICS
International classification
Abstract
A system and method for restricting the number of layout patterns by pattern identification, matching and classification, includes decomposing the pattern windows into a low frequency component and a high frequency component using a wavelet analysis for an integrated circuit layout having a plurality of pattern windows. Using the low frequency component as an approximation, a plurality of moments is computed for each pattern window. The pattern windows are classified using a distance computation for respective moments of the pattern windows by comparing the distance computation to an error value to determine similarities between the pattern windows.
Claims
1. A method for classifying patterns in a set of layout patterns, comprising: decomposing each of a plurality of pattern windows of an integrated circuit layout into a low frequency and a high frequency component using a wavelet analysis; computing a plurality of moments for each of the plurality of pattern windows of the integrated circuit layout using the low frequency component as an approximation; classifying the plurality of pattern windows into pattern classes using a distance computation for respective moments of the plurality of pattern windows by comparing the distance computation to an error value to determine similarities between the plurality of pattern windows, the classifying including generating a preferred set of integrated circuit layout designs for a particular technology node; and fabricating one or more integrated circuit chips using one or more of the generated preferred set of integrated circuit layout designs.
2. The method as recited in claim 1, wherein the wavelet analysis is performed using Haar wavelets.
3. The method as recited in claim 1, wherein computing a plurality of moments for each pattern window includes computing one or more of a mean, a variance, a skewness and a kurtosis.
4. The method as recited in claim 1, wherein classifying the pattern windows using a distance computation includes classifying the pattern windows using a Canberra metric.
5. The method as recited in claim 1, further comprising computing the moments for a plurality of levels, and the step of classifying the pattern windows using a distance computation for respective moments of the pattern windows includes classifying the pattern windows using a distance computation for respective moments of the pattern windows in the plurality of levels.
6. The method as recited in claim 5, wherein the levels include frequency components in one or more orientations.
7. The method as recited in claim 6, wherein the orientations include one or more of horizontal, vertical and diagonal.
8. The method as recited in claim 1, wherein classifying reveals a set of patterns for inclusion in a permissible set of patterns for a given technology node.
9. The method as recited in claim 1, further comprising reducing the set of layout patterns by identifying, matching and classifying the patterns into functional equivalence classes.
10. A non-transitory computer readable storage medium comprising a computer readable program for classifying patterns in a set of layout patterns, wherein the computer readable program when executed on a computer causes the computer to perform steps as recited in claim 1.
11. An integrated circuit chip configured to perform a method for classifying patterns in a set of layout patterns, the method as recited in claim 1.
12. A method for classifying patterns in a set of layout patterns, comprising: computing a plurality of moments for each of a plurality of pattern windows of an integrated circuit layout using a low frequency component of a wavelet analysis as an approximation; classifying the plurality of pattern windows into pattern classes using a distance computation for respective moments of the plurality of pattern windows by comparing the distance computation to an error value to determine similarities between the plurality of pattern windows, the classifying including generating a preferred set of integrated circuit layout designs for a particular technology node; and fabricating one or more integrated circuit chips using one or more of the generated preferred set of integrated circuit layout designs.
13. The method as recited in claim 12, wherein the wavelet analysis includes decomposing the pattern windows using Haar wavelets.
14. The method as recited in claim 12, wherein computing a plurality of moments for each pattern window includes computing one or more of a mean, a variance, a skewness and a kurtosis.
15. The method as recited in claim 12, wherein classifying the pattern windows using a distance computation includes classifying the pattern windows using a Canberra metric.
16. The method as recited in claim 12, further comprising computing the moments for a plurality of levels, and the step of classifying the pattern windows using a distance computation for respective moments of the pattern windows includes classifying the pattern windows using a distance computation for respective moments of the pattern windows in the plurality of levels.
17. The method as recited in claim 16, wherein the levels include frequency components in one or more orientations.
18. The method as recited in claim 17, wherein the orientations include one or more of horizontal, vertical and diagonal.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1) The disclosure will provide details in the following description of preferred embodiments with reference to the following figures wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
(10) IC layout patterns range from simple to very complex geometric structures. On several occasions, however, they include small differences (such as limited affine transformations or small perturbations) of other geometric structures. It is therefore important to identify the layout patterns and classify them in similarity or equivalence classes where such affine transformation or other local perturbations are encountered. To do so, the image of the patterns is decomposed into its low and high frequency parts. The low frequency part includes the tendency of the pattern while the high frequency part preserves the details. The first 4 moments of the low frequency part are then calculated: the mean, the variance, the skewness and the kurtosis. These 4 values may be used to uniquely represent the tendency of the pattern. We use these 4 values in the form of a 4-tuple to map the pattern into a pattern space. We use then the Canberra distance metric to classify the patterns. Patterns that have a Canberra distance from the center of a class smaller than error e, belong to the same class.
(11) Some of the major advantages of the present approach are summarized below. The present embodiments describe the patterns with a 4-tuple and thus can be used for all, pattern identification, matching and classification. The wavelets used are preferably the simplest and can be very easily and rapidly implemented. Similarly, the 4-tuples are based on moments that are fast to compute and need only a small amount of storage resources. The present embodiments decompose the image into its low and high frequency parts and use the low frequency tendency part for further analysis, so it encompasses small perturbations within the same class. Also, the moments can be made affine-transform invariant so within a class, we can reduce significantly the search in the pattern space. The present embodiments may employ the Canberra metric which has been proven to act robustly in very large numbers when the L2 and Euclidean distance metrics fail.
(12) Embodiments of the present invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment including both hardware and software elements. In a preferred embodiment, the present invention may be implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
(13) Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that may include, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device). Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
(14) A data processing system suitable for storing and/or executing program code may include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code to reduce the number of times code is retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) may be coupled to the system either directly or through intervening I/O controllers.
(15) Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
(16) The circuit as described herein may be part of the design for an integrated circuit chip. The chip design is created in a graphical computer programming language, and stored in a computer storage medium (such as a disk, tape, physical hard drive, or virtual hard drive such as in a storage access network). If the designer does not fabricate chips or the photolithographic masks used to fabricate chips, the designer transmits the resulting design by physical means (e.g., by providing a copy of the storage medium storing the design) or electronically (e.g., through the Internet) to such entities, directly or indirectly. The stored design is then converted into the appropriate format (e.g., Graphic Data System II (GDSII)) for the fabrication of photolithographic masks, which typically include multiple copies of the chip design in question that are to be formed on a wafer. The photolithographic masks are utilized to define areas of the wafer (and/or the layers thereon) to be etched or otherwise processed.
(17) The methods as described herein may be used in the fabrication of integrated circuit chips. The resulting integrated circuit chips can be distributed by the fabricator in raw wafer form (that is, as a single wafer that has multiple unpackaged chips), as a bare die, or in a packaged form. In the latter case the chip is mounted in a single chip package (such as a plastic carrier, with leads that are affixed to a motherboard or other higher level carrier) or in a multichip package (such as a ceramic carrier that has either or both surface interconnections or buried interconnections). In any case the chip is then integrated with other chips, discrete circuit elements, and/or other signal processing devices as part of either (a) an intermediate product, such as a motherboard, or (b) an end product. The end product can be any product that includes integrated circuit chips, ranging from toys and other low-end applications to advanced computer products having a display, a keyboard or other input device, and a central processor.
(18) Referring now to the drawings in which like numerals represent the same or similar elements and initially to
(19) The present approach decomposes the image into its low frequency and high frequency parts using Haar wavelets. A wavelet may be defined by a scaling filter, e.g., a low-pass finite impulse response (FIR) filter of a given length and sum or defined by a wavelet function (t) and a scaling function (t) in the time domain. The wavelet function is in effect a band-pass filter and scaling it for each level halves its bandwidth. The scaling function filters the lowest level of the transform and ensures all of a spectrum is covered. For a wavelet with compact support, (t) can be considered finite in length and is equivalent to a scaling filter.
(20) The Haar wavelet is a sequence of functions. The Haar wavelet's wavelet function (t) can be described in one example as, e.g.,
(21)
and its scaling function (t) can be described as
(22)
(23) The decomposition of the image into its low frequency and high frequency parts using Haar wavelets is performed by a 2D Discrete Haar Transform (DHT). The 2D DHT is composed of a tensor product of 1D DHTs. DHT transformation is known. A number of decomposition levels is chosen, and this is the number of times the DHT will be applied to the low-pass filter component.
(24) Then, for each window of an approximation, we calculate a number of moments. In one embodiment, the following 4 moments are computed: the mean, the variance, the skewness and kurtosis in both x and y dimensions, resulting into a 4-tuple vector. To illustrate the effectiveness of the moments' calculations, we use
(25) Referring to |x.sub.iy.sub.i|/(|x.sub.i|+|y.sub.i|), where n is the number of points and x and y are the coordinates of the point i.
(26) This distance metric D has been proven to be very powerful in classifying a huge amount of data, where the L2 or Euclidean distance metrics seem to fail. We classify the 4-tuples to belong to the same class when D<e or fall within a particular range of values for e. The error e is a parameter that may be user set or based on an error computation, based on an error tolerance measure, based on technology or based on any other criteria suitable for matching patterns.
(27) In a particularly useful embodiment, the layout pattern windows are decomposed into the respective high frequency and low frequency components and the respective moments are calculated for a number of levels, until an optimal solution is reached. In one example, we use 3 levels as depicted in
(28) Referring to
(29) Referring to
(30) In block 406, the low frequency component is employed as an approximation for computing a plurality of moments for each pattern window. The moments computed may include one or more of a mean, a variance, a skewness and a kurtosis. Other moments or features may also be employed such as, e.g., centroids, standard deviations, correlation coefficients, etc.
(31) In block 408, the pattern windows are classified using a distance computation (distance metric values) for respective moments of the pattern windows by comparing the distance computation to an error value to determine similarities between the pattern windows. In one embodiment, the classification of the pattern windows is performed using a Canberra metric. In block 410, the moments for a plurality of levels are computed, and a distance computation for respective moments of the pattern windows in the plurality of levels is employed for classification. The levels preferably may include the high frequency components in one or more orientations or the low frequency components in one or more orientations, or both. The orientations may include one or more of horizontal, vertical and diagonal. In block 412, the classification reveals a set of patterns for inclusion in a permissible set of patterns for a given technology node. The pattern identification, matching and classification can respectively identify all different patterns of a specific size, match them to existing ones and finally classify them into similarity classes according to specific criteria. The classification finally reveals a minimal set of patterns for the inclusion in a particular technology node, e.g., a 22 nm technology node.
(32) Referring to
(33) This process results in reducing the set of layout patterns by identifying, matching and classifying the patterns into functional equivalence classes. In one embodiment, the functional equivalence class includes a set of preferred or permissible integrated circuit layout designs which may be employed for a given technology node. Other applications are also contemplated.
(34) Having described preferred embodiments of IC layout pattern matching and classification system and method (which are intended to be illustrative and not limiting), it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in the particular embodiments disclosed which are within the scope and spirit of the invention as outlined by the appended claims. Having thus described aspects of the invention, with the details and particularity required by the patent laws, what is claimed and desired protected by Letters Patent is set forth in the appended claims.