This is the first application filed for the present invention.
Not Applicable.
The invention generally relates to the analysis of integrated circuits, and in particular, to a method and system for producing a 3-D model of metal lines in layers of a semiconductor chip.
The reverse engineering of semiconductor chips is an important enterprise in today's technology market, and can be used for product verification, market intelligence purposes, and identifying infringement of intellectual property rights. Semiconductor chips generally include a polysilicon layer and a plurality of metal layers. It is well known to produce mosaic images of an area of interest on a semiconductor chip by stitching together highly magnified images of small parts of the area of interest on each layer of the chip. The images are acquired using an iterated process that alternates between delayering and imaging of the area of interest.
The manufacture of integrated circuits typically involves a verification process 24 by which wafers 12, cut dies 20, or portions thereof are inspected, and post-manufacturing analysis is frequently performed by third parties using a micro-imaging system 26 to extract design and layout information. Such IC imaging is therefore useful for competitive analysis, as noted above.
Processes of reverse-engineering 28 are therefore known and have been applied to chips 16. A first step in the reverse-engineering process 28 is decapsulation 30 of the chip 16 to remove the die 20. Die 20 is inspected using a micro-imaging system 26 to extract design and layout information. The micro-imaging system 26 may include high magnification optical microscopes, scanning electron microscopes, field emission electron microscopes, or the like. Design and layout extraction from a die 20 or portion thereof involves a process of deconstruction 32 by which layers formed during the manufacturing process 14 are removed step-by-step.
High magnification tile images 34 of the sample die 20 are acquired between each deconstructive step 32 under the control of a computer workstation 36. The computer workstation 36 controls the micro-imaging system 26 using control signals 38. The computer workstation 36 receives tile image data 40 from the micro-imaging system 26 and saves the tile image data 40 to memory, such as a tile image database 42.
The stored tile images 34 are assembled into image mosaics 44, each image mosaic 44 representing a surface of the die 20 at a deconstructive step 32. Before acquisition of the tile images 34 of the die 20, a sample coordinate space 46 is defined. The sample coordinate space 46 is used to coarsely align the image mosaics 44 with respect to each other, within the limits imposed by the accuracy with which the die can be re-aligned to the micro-imaging system 26 after each deconstruction step 32. The resulting image mosaics 44 that are coarsely aligned to each other via the sample coordinate space 46, is then stored in a mosaic image database 48.
Because the delayering of the semiconductor chip cannot be completed on a stage, which may be an optically or interferometer-controlled stage for example, of an imaging device, a well known procedure involving fiduciary marks is used to realign the semiconductor chip on the stage. Imperfections in the alignment of the mosaic images with respect to each other are inevitable. Within a mosaic image, techniques are known for ensuring that distances are accurately reflected and that stitching of the tile images is accurately done, so each mosaic image conforms to x and y coordinates to a very high level of accuracy, but the inter-mosaic (vertical) alignment of these mosaics tends to be much less accurate.
As is known in the art, inaccuracies in inter-mosaic alignment considerably complicates automated feature extraction. Consequently current automated feature extraction requires substantial operator intervention, contributing significantly to an expense of the process and a time required to complete the process.
For example, United States Patent Application Publication No. 2003/00238242409, to Abt et al. published on May 1, 2003 teaches a method for constructing a 3-D vector representation of a semiconductor chip, to facilitate the automation of feature extraction, including line extraction. After automatic line extraction is performed an operator may view the vector representation of the area of interest of the semiconductor chip in order to refine an alignment of the mosaic images, and to correct any errors that were caused by imaging defects, or imperfect delayerng.
According to Abt et al., alignment is enabled by the operator selecting a via or other inter-layer feature shown on two adjacent layers. This method does not produce an optimal alignment, which is critical to an automated or semi-automated construction of a 3-D model.
Furthermore, those skilled in the art of line tracing are aware that the detection of lines using known techniques produces a large number of lines with no discernment between different types of image objects, and limited ability to identify interrupted lines. As the size and complexity of semiconductor chips increase, there is an increasing need for skilled analysts in spite of current attempts to automate circuit analysis.
There therefore remains a need for a method and apparatus that achieves improved alignment between mosaic images of respective layers of an integrated circuit to facilitate automation of integrated circuit analysis.
It is therefore an object of the invention to provide a method and apparatus that achieves improved alignment between mosaic images of respective layers of an integrated circuit to facilitate automation of integrated circuit analysis and creation of a 3-dimensional model of a circuit being analyzed.
In accordance with the invention, a three-dimensional model of a semiconductor chip is produced from coarsely aligned mosaic images of respective layers of the semiconductor chip using an improved method for aligning the mosaic images, so that minimal operator intervention is required to produce the model. A line detection algorithm is applied to each of the mosaic images to produce a set of line segments identified by x and y coordinates of end points of the line segments with respect to a frame defined by a mosaic image in which each line segment occurs. Virtual reference marks are established using end points of different mosaic images that are vertically aligned to within an uncertainty of the coarse alignment of the mosaic images, and the virtual reference marks are used to compute a mean adjustment of the x and y coordinates of each of the mosaic images to produce a three dimensional coordinate space. The end points are processed within the three dimensional coordinate space to define vias, lines and branch lines of the semiconductor chip, which are used to build the three-dimensional model. Operator intervention is only required to verify putative line segments that are marked as uncertain because of poor agreement with predefined rules. The 3-D model may be annotated and viewed separately from the mosaic images.
The invention also provides an article comprising a computer readable modulated carrier signal and means embedded in the carrier signal for executing the method of for producing a 3-dimensional model in accordance with the invention.
The invention further provides an article comprising a computer readable memory storing program instructions and means embedded in the memory for executing the methods in accordance with the invention.
The invention likewise provides an article comprising a computer readable modulated carrier signal for transmitting program instructions for executing the method in accordance with the invention.
Further features and advantages of the present invention will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
a schematically illustrates a small portion of two coarsely aligned mosaic images;
b schematically illustrates a binary edge bitmap of the small portion of the two coarsely aligned mosaic images;
c schematically illustrates a thinned line bitmap of the small portion of the two coarsely aligned mosaic images;
d schematically illustrates coincidence in the x-y plane of end points of line segments;
e schematically illustrates a thinned line bitmap of the small portion of the two mosaic images in accurate alignment;
f schematically illustrates connected line segments of a 3-D model of the small portion of the two mosaic images;
a,b are a flow chart schematically illustrating another embodiment of the invention; and
It should be noted that throughout the appended drawings, like features are identified by like reference numerals.
The invention provides a method for producing a 3-D model of the connectivity of a semiconductor chip from a plurality of image mosaics corresponding to respective layers of an area of interest on the semiconductor chip.
The workstation 50 is adapted to receive the coarsely aligned mosaic image data from the mosaic image database 48, and to apply a line detection algorithm effected using the line detection 56 program instructions. The data output of the line detection algorithm is stored in a corresponding line segment database 62. A plurality of line segment databases may be used, and these may be organized hierarchically according to the layer represented by the mosaic image that is processed, for example.
Records of the line segment database 62 are accessed by the workstation 50 in order to perform mosaic image alignment using the mosaic image alignment 58 program instructions. The line segment data with the fine grain vertical alignment is used by the 3-D model generation 60 program instructions to produce a 3-D model stored in a 3-D model database 64.
After the line segment database has been populated, the coordinates of the end points of different mosaic images are compared to identify sets of end points that are vertically aligned to within a predetermined uncertainty of the coarse mosaic image alignment. The identified sets of end points that are present on the most mosaic images, and that are most closely virtually aligned across the image mosaics are selected to be used as virtual reference marks (step 114) to adjust the inter-mosaic alignment. The identified sets of end points are used to align the mosaics (step 116) in a manner that is considerably more precise than the selection of a single feature for aligning adjacent mosaic images. A mean adjustment computed by statistically minimizing x and y differences in the virtual reference mark end points of the respective mosaic images, permits alignment accuracy up to a fraction of a pixel in dimension.
It should be noted that as used in this document, the phrase “metal lines” (more frequently referred to simply as “lines”) are not geometric lines in the sense that they do not have infinite extent, zero width, and are not continuous in one direction. Rather a metal line, as used in this document, refers to a continuous, electrically conductive path that is generally formed of x direction line segments, y direction line segments, z direction vias between layers, and sometimes, 45 degree (y=+/−x+c) line segments, that are end connected. Branch lines may also extend from a vertex or side of a line.
In step 116, the end points associated with respective mosaic images have all been aligned by computing the mean adjustment of the end points in both x and y directions. The inter-mosaic alignment is also adjusted by the corresponding mean adjustments so that the coordinates of the end points always refer to the same corresponding points on the mosaic images from which they were derived. Once the end points are all defined with respect to an accurate common coordinate space, the positions of the end points are used to identify vias, lines and branches using predefined rules (step 118). The vias, lines and branches defined with the common coordinate space are stored to produce a 3-D model of annotatable lines that represent the area of interest of the die (step 120).
a-f illustrate respective steps in the method shown in
In step 352, a file containing parameters (observed or otherwise known) about properties of the die is retrieved. The parameters include at least a minimum width of line segments in the die, but may also include such parameters as: a minimum line segment length; a minimum spacing between parallel line segments; a maximum bulge width of a line segment; a maximum or minimum spacing of branch line segments; etc. If these parameters are different at different layers, the parameters may apply only to respective layers. The parameters may be observed during the imaging of the layers, may be deduced from the lithographic (or other) technology used to produce the die, etc. These parameters are useful for line segment detection and for the construction of line segment databases.
In steps 354-360 an exemplary embodiment of a line detection algorithm is applied. In step 354, an edge detector is used to produce a binary edge bitmap from the (digital) mosaic image (or a high-contrast copy thereof). The binary edge bitmap contains white pixels at every location of the mosaic image, except where the corresponding pixel of the mosaic image is bounded on one side by a dark region, and bounded on an opposite side by a light region, in which case the pixel is black. Well known transforms have been successfully applied to produce such binary edge bitmaps using an eight pixel neighborhood of the subject pixel. Such transforms include the following: the Hough transform, Robert's cross transform, the Sobel transform, and the Prewitt transform. Given the overwhelming majority of the line segments sought are either aligned with the x-axis or the y-axis, the Hough transform may be preferred.
b schematically shows a binary edge bitmap of the small parts of the mosaic images shown in
In step 356 pixels of the mosaic image within a pixel region of a selected edge object are subjected to a line tracing algorithm. Several line tracing algorithms known in the art can be applied. Currently a line thinning algorithm is preferred, although center-line following techniques may alternatively be used. Line thinning algorithms iteratively whiten a (high contrast) copy of the mosaic image to remove edge pixels, until the line is one or two pixels wide. In accordance with one embodiment, by defining the edge objects as definite pixel regions, the process of line thinning is greatly facilitated. Rather than applying line thinning to all pixels of the mosaic image, only the pixels within the pixel regions delimited by the selected edge objects, are processed. Specific known algorithms for line thinning include: a Zhang Suen skeletonizing algorithm, and a Stentiford skeletonizing algorithm.
The line thinning produces a thinned line binary bitmap, such as those shown schematically in
Preferably the end points 244 are stored hierarchically in a line segment database associated with the mosaic image (of a layer of the die) as follows: a record of a first line segment is stored as end points, and at any point along the first line segment from which another line segment extends, the point is noted and a separate record of each of the line segments depending from the first line segment is stored in an associated record. When all of the line segments depending from the first line segment are recorded, all of the line segments depending from one of these line segments is then recorded in a further nested record. The process iterates until all of the line segments of the thinned line bitmap are recorded.
In accordance with a preferred aspect of the illustrated embodiment, each of the line segments is associated with a measure of uncertainty (step 360). For example, a measure of fit between the shape of the edge object, and the expected dimensions of line segments; the smoothness and orientation of the (thinned) line segments; and the precision of the determination of the end points, each contribute to the uncertainty measure associated with a line segment in accordance with the present embodiment. The first use of the uncertainty measure is to determine whether each line segment is so uncertain as to require verification by an operator (step 362). Each line segment with an uncertainty measure that is greater than a predefined threshold is segregated for operator verification (step 364), or flagged in some other way that permits an operator to optionally verify whether the line segment is a valid part of the IC design. The identification of a small fraction of the line segments as ambiguous is efficient and provides a high confidence in the identified line segments for the subsequent automated steps.
Once the records for a first mosaic image are stored in the first line segment database (and flagged if necessary), it is determined whether another mosaic image remains to be analyzed (step 366). If another mosaic image is identified, the mosaic image is retrieved from the mosaic image database, and the process returns to step 354. Otherwise, in step 367, any records that are flagged for operator verification are examined by an operator to determine whether the identified pixel region corresponds to a line segment. The uncertainties of the line segments accepted by the operator are modified and the records of edge objects that do not correspond to line segments are removed from the corresponding line segment database.
In step 368, records of the line segment databases associated with respective mosaic images, are loaded. The coordinates of a selected end point 244 in a currently processed line segment database are identified (step 370), and it is determined how many of the other mosaic images includes an end point vertically above or below the end point coordinates, to within an uncertainty of the coarse alignment of the mosaic images (step 372). In one embodiment the first line segment database processed is associated with a middle layer of the IC. In another embodiment, the first line segment database processed is associated with a mosaic image of a highest metal layer, subsequently lower metal layers are processed in sequence. Vertical alignment of end points to within an uncertainty of the coarse inter-mosaic alignment can be visually represented by measuring proximity of the end points projected onto a common x-y plane.
If another end point of the currently processed line segment database has not been processed (step 374), another end point is chosen and the process returns to step 370. Otherwise the “currently” processed line segment database is completely processed, and in step 376, it is determined whether end points of another mosaic image's line segment database remains to be processed. If another line segment database is to be processed, another line segment database becomes “current”, and the method returns to step 370. Otherwise the method advances to step 378. In this manner, the method cycles through the end points of the line segments of all of the line segment databases determining a number of proximate end points in the common x-y plane for each end point.
In step 378, the number of proximate end points per respective end point is compared to identify end points having high coincidence in the x-y plane 247, so that from among these high coincidence end points, a set of virtual reference marks can be selected. Preferably the selection provides for a complete set of virtual reference marks that permit the alignment of all of the mosaic images, each mosaic image being aligned by at least three virtual reference marks using the fewest total number of virtual reference marks. Furthermore, the virtual reference marks are established by selectors from the high coincidence end points that are most evenly dispersed over the mosaic images. The selected end points may further be chosen as having a least uncertainty, and/or being closest to coincidence.
Shown in
In step 380 a mosaic image having the least uncertain, and most complete set of the end points that correspond to the virtual reference marks is chosen. The chosen image mosaic forms a frame of reference that is used to define an accurate coordinate space for the end points of the line segment databases. The accurate coordinate space is produced by computing a mean adjustment in both the x and y directions of each of the mosaic images. The mean x and y adjustments for each mosaic image is computed with respect to the end points corresponding to the virtual reference marks. The distances in the x-y plane between the virtual reference marks and the corresponding end points in the mosaic image is minimized to adjust the mosaic image (step 382). The mean x and y adjustments are used when reading the end point coordinates from the records of the line segment database associated with the mosaic image, and are used (in step 384) to refine the alignment of the mosaic images so that the line segments remain in the accurate coordinate space as the mosaic images from which they were derived.
As shown in
Line segments as extracted in the above-identified manner more accurately define an orientation than end points. End points may be obscured or may not be accurate because of imperfect delayering of the die, imaging defects, etc. The present invention relies on the orientation of the lines to determine points where line segments of different mosaic images would intersect in the x-y plane, if they were extended short distances (i.e. a given fraction of the length of the line segment). In step 386 the end points of the line segments are finalized so that vias that are identified by high coincidences of finalized end points become the end points of connected edges; ‘broken’ lines (line segments of a common line that have been incorrectly separated) are reconnected using a predefined set of rules relating to configurations of the two line segments, etc.
Once the line segments have all been finalized, they are processed to identify connections of the line segments (step 388). The line segments are connected to each other and to vias (step 390), and thereby connected to line segments on other mosaic images to form a virtual representation of the metal lines of the die. These lines are stored in a 3-D model of connections of the area of interest of the die and can be viewed with or without one or more of the mosaic images.
f schematically shows the line segments 246 connected to each other and by a via 251 to line segments 246 in the other mosaic images. The 3-D model of the connections of the die may be viewed as a set of lines as shown in
In step 408 it is determined whether the operator has selected a line. If no line is selected the process returns to step 404. Otherwise, when a line is selected a display of the line becomes highlighted (step 409), and in step 410 the operator may elect to add or change an annotation associated with the selected line (step 410), or may change the connections or length of the line in the 3-D model (step 414), or may return to step 404.
If, the operator elects to add or change an annotation (step 412) the change or addition is made by associating the line in the 3-D model with the new or revised annotation. It is well known in the art to include signal lines, revision data, operator identifiers, and other circuit and model-related annotations to lines of models produced in other ways, and all such annotations may be supported.
If the operator identifies an incorrect connection of line segments, the operator may correct the interconnection manually to change the 3-D model (step 416). The revision of the 3-D model may be effected by selecting end points of the line segments, deleting line segments added to interconnect broken line segments, to identify vias, etc.
The method and apparatus in accordance with the invention provides more accurate alignment of the mosaic images, than has been previously achievable, and permits automated construction of the 3-D model from automatically detected line segments, requiring only minimal operator intervention to verify line segments that are uncertain.
The embodiments of the invention described above are intended to be exemplary only. The scope of the invention is therefore intended to be limited solely by the scope of the appended claims.