PATTERN MATCHING SYSTEM FOR LAYOUT SHAPES USING WALSH PATTERNS

Information

  • Patent Application
  • 20080034339
  • Publication Number
    20080034339
  • Date Filed
    August 02, 2006
    17 years ago
  • Date Published
    February 07, 2008
    16 years ago
Abstract
A pattern matching system, based on an orthogonal sub-space projection of layout shapes using Walsh patterns, performs a preliminary density feature extraction of a circuit design layout, allows a user to define a pattern, and performs a high resolution search of the layout to locate all instances of the pattern. A sorted list of layout windows ranging from the most similar to quantitatively less similar is generated. The pattern matching system significantly reduces false positives in comparison with the prior art and enables the same density data to be reused as a window is stepped in small increments across the layout.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and which constitute part of the specification, illustrate the presently preferred embodiments of the invention which, together with the general description given above and the detailed description of the preferred embodiments given below serve to explain the principles of the invention.



FIG. 1 is a schematic diagram of an example of prior art Walsh patterns;



FIG. 2 is a schematic diagram of a basis vector representation of the Walsh patterns;



FIG. 3 is a flowchart illustrating density extraction according to a preferred embodiment of the present invention;



FIG. 4 is a flowchart illustrating projection of the target pattern onto the Walsh pattern space;



FIG. 5 is a flowchart illustrating projection of the layout windows onto the Walsh pattern space; and



FIG. 6 is a flowchart illustrating a comparison of each layout window to the target pattern to perform pattern matching.





DETAILED DESCRIPTION OF THE INVENTION

The present invention and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description.


Referring to FIG. 1, a set of typical Walsh patterns is selected. As would be readily understood by one ordinarily skilled in the art, the choice of 16 is merely an example and any orthogonal set of Walsh patterns may be used.


Referring to FIG. 2, the Walsh patterns define basis vectors which form the feature space. In the example illustrated, the feature space is 16-dimensional. The conversion process from a Walsh pattern to the corresponding basis vectors shown in FIG. 2 is as follows. Each Walsh pattern is divided into 16 rectangles (4 rows and 4 columns). Beginning with the bottom row and the lower left corner of the image and progressing from left to right for each row, a +1 is used for each black rectangle and −1 for each white rectangle. Since each Walsh pattern is comprised of 16 rectangles, there are 16 entries in the corresponding basis vector.


The basis vectors listed in FIG. 2 form the axes of the coordinate system of the Walsh pattern feature space. The basis vectors are used to generate a numerical representation of the shapes within any given layout window. As will be described hereinafter, the present invention includes an orthogonal sub-space projection method for projecting layout shapes onto the W-dimensional coordinate system defined by W Walsh pattern basis vectors. In the case selected, W=16, although the invention includes any orthogonal set of Walsh patterns.


Referring to FIG. 3, there is shown a flowchart that illustrates of the density extraction of the present invention. In the preferred embodiment, the feature which is extracted is the density (fractional area of the window covered by shapes), however the present invention includes any feature which can be extracted from an integrated circuit shapes layout.


The density is extracted from any layout window (Step 301) by dividing the layout window (Step 302) into equal-sized rectangles and extracting the density from each rectangle. The result is a list of densities, one for each rectangle, where each density ranges from 0 to 1 (Step 303). The example (Step 304) shows a layout window with one shape therein. The shape covers a portion of 6 out of the 16 rectangles. Density extraction results in a list of 16 values, one corresponding to the density in each rectangle of the layout window. The density values are then mapped to the range −1 to 1 (Step 305), as shown in the example (Step 306).


The density of the layout shapes is the feature which is projected onto the basis vectors. The actual orthogonal sub-space projection method is fully described following the details of the pattern matching system.


Referring to FIG. 4, the user defines a target pattern containing the shapes which induce pattern-dependent systematic defects (Step 401). The pattern is divided into 16 equal-sized rectangles (Step 402). The densities are extracted as described in FIG. 3 (Step 403). The densities are projected onto each of the Walsh patterns (Step 404). The result is a vector of 16 elements representing the location of the target in Walsh pattern space (Step 405).


Referring to FIG. 5, layout windows the same size as the target pattern are created (Step 501). These layout windows are composed using the existing density data which was extracted by the method in FIG. 3. The layout window is stepped across the layout (Step 502). Overlapping the windows results in high resolution search. For each window, the densities are projected onto each of the Walsh patterns (Step 503). The result for each layout window is a vector of 16 elements representing the location of that layout window in the Walsh pattern space (Step 504).


Referring to FIG. 6, each of the layout windows (Step 601, result of FIG. 5) is compared to the target pattern (Step 602, result of FIG. 4). The search is then performed by calculating the Euclidean distance from the target to each of the layout windows (Step 603), as in the prior art. The comparison of each layout window to the target pattern results in a list of layout windows which match the target pattern. The list is sorted by Euclidean distance to the target pattern in the Walsh pattern feature space (Step 604).


The present invention enables the reuse of density data to form windows of the same size as other target patterns. The density data can be extracted from the integrated shapes layout once at a high resolution, and then can be composed into windows the size of other target patterns.


The orthogonal sub-space projection method is used for both the target pattern and the layout windows. More particularly, the orthogonal sub-space projection method consists of the following steps:

    • 1) Selecting a set of W Walsh patterns to be used as the basis vectors for the projection (FIG. 1). These Walsh patterns define the axes of the sub-space coordinate system to be used in the resultant feature vector.
    • 2) Representing each Walsh pattern as a vector wherein each vector component has the value 1 or −1 (FIG. 2),
    • for each Walsh pattern WPj, in this case j in [1 . . . W], define
      • W{right arrow over (Pj)} as the jth vector containing W values.
    • In the case where W<R, these is no need to represent the Walsh patterns in the full R-dimensional space. The dimensionality R of the full-space is used only in the actual projection step.
    • 3) Defining a rectangular layout window containing layout shapes (FIG. 3).
    • 4) Dividing the layout window into R equal-sized rectangles (FIG. 3).
    • In this case the resolution of the layout window (division into R=16 rectangles) is the same as that of the Walsh patterns. However, the invention also applies to subdivisions of the layout window that are of a finer resolution than that needed to represent the Walsh patterns, i.e., the invention holds for R≧W. Choosing R>W enables a window to be stepped in small increments across the layout, reusing the precalculated density data.
    • 5) For each rectangle i in [1 . . . R]
    • calculating the density (fractional area of the window covered by shapes) and mapping it to the range [−1, 1] (FIG. 3).
    • Defining {right arrow over (A)} as the vector containing the R mapped densities calculated in step 5, one vector component for each rectangle.
    • Projecting the layout window onto each of the W Walsh patterns as follows: for j in [1 . . . W]






Pj= W{right arrow over (Pj)}*{right arrow over (A)}





where







W{right arrow over (Pj)}*{right arrow over (A)}=Σ
from i=1 to W of WPji*Ai


Practitioners of the art will readily recognize that each projection forms one dimension of the 16-element feature vector representing the location of that layout window in the Walsh pattern feature space.


W=16, describing the location of the layout window in the W-dimensional Walsh pattern coordinate system as the following feature vector:


P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16


In summary, the orthogonal sub-space projection method represents a highly significant improvement over the previously-used non-orthogonal Walsh pattern intersection method. In addition, this invention provides for density extraction as a separate step from the projection, allowing overlapping windows for high resolution search and allowing density data to be reused for other target window sizes.


While the present invention has been particularly described in conjunction with a specific preferred embodiment, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art in light of the present description. It is therefore contemplated that the appended claims will embrace any such alternatives, modifications and variations as falling within the true scope and spirit of the present embodiment of the invention.

Claims
  • 1. A method of providing an orthogonal projection of circuit design layout shapes onto a basis of Walsh patterns, each of the Walsh patterns consisting of a plurality of sub-windows, the method comprising the steps of: a) representing the Walsh patterns as a set of first vectors numbering W, {WP1, WP2, . . . WPW}, forming a basis, each of said Walsh patterns having respective components, numbering R, WPi=(WPi1, WPi2, . . . , WPiR), said components WPij (i ranging from 1 to W; and j ranging from 1 to R) being either +x or −x, wherein ‘x’ is a real number, each of said components WPij corresponding to a sub-window of said Walsh pattern;b) defining a layout window containing said circuit design layout shapes and subdividing said circuit design layout window into R sub-windows having the same resolution as said Walsh patterns;c) calculating a density of each circuit design layout sub-window, mapping the density to the range −x to +x, and forming from said mapped densities a second vector A, having a dimension R, wherein A=(A1, A2, . . . , AR);d) projecting the second vector A of said mapped layout densities onto each of said W Walsh patterns WPi; ande) forming a third vector P of dimension W from said projections, said third vector P being an orthogonal projection of said layout window onto said Walsh pattern basis.
  • 2. The method of claim 1, wherein said real number ‘x’ equals 1.
  • 3. The method of claim 1, wherein said sub-window is a rectangle.
  • 4. The method of claim 1, wherein the density is a feature which is extracted from said integrated circuit shapes layout.
  • 5. The method of claim 1, wherein said layout window is a target pattern consisting of layout shapes resulting in a projection vector T, and wherein said layout window is one of a plurality of said windows of said circuit design shapes layout, resulting in a plurality of projection vectors Lk, wherein k ranges from 1 to N, and N is the number of windows of said circuit design layout shapes.
  • 6. The method of claim 5 further comprising calculating a Euclidean distance between said vector T representing the target pattern and each of the vectors Lk representing the windows of said circuit design shapes layout.
  • 7. The method of claim 5, wherein said Euclidean distances are used for sorting said N layout windows whose projection vectors are Lk into a list of window projections, ordered such that the windows closest to said target pattern are at the beginning of said list.
  • 8. The method of claim 1, wherein R is greater than or equal to W, allowing the subdivision of the layout to be finer than that of said Walsh patterns.
  • 9. The method of claim 5, wherein circuit design shapes layout densities are extracted prior to selecting said target pattern, and wherein said density extraction is at a higher resolution than that of the target window, and wherein said layout windows are later generated from said pre-extracted densities.
  • 10. The method of claim 5, wherein said windows represented by said projection vectors Lk are overlapping, resulting in a high resolution search.
  • 11. The method of claim 1, wherein the basis consisting of Walsh patterns is a subset of a full set of said Walsh patterns.
  • 12. A program storage device readable by a machine, tangibly, embodying a program of instructions executable by the machine to perform method steps for providing an orthogonal projection of circuit design layout shapes onto a basis of Walsh patterns, each of the Walsh patterns consisting of a plurality of sub-windows, said method steps comprising: a) representing the Walsh patterns as a set of first vectors numbering W, {WP1, WP2, . . . WPW}, forming a basis, each of said Walsh patterns having respective components, numbering R, WPi=(WPi1, WPi2, . . . , WPiR), said components WPij (i ranging from 1 to W; and j ranging from 1 to R) being either +x or −x, wherein ‘x’ is a real number, each of said components corresponding to a sub-window of said Walsh pattern;b) defining a layout window containing said circuit design layout shapes and subdividing said circuit design layout window into R sub-windows having the same resolution as said Walsh patterns;c) calculating the density of each circuit design layout sub-window, mapping the density to the range −x to +x, and forming a second vector A, having a dimension R, A=(A1l, A2, . . . , AR) from said mapped densities;d) projecting the second vector A of said mapped layout densities onto each of said W Walsh patterns WPi; ande) forming a third vector P of dimension W from said projections, said third vector P being an orthogonal projection of said layout window onto said Walsh pattern basis.