Plaque It!
Sponsored by: Flash of Genius |
[0001] 1. Field of the Invention
[0002] The present invention relates to the design and manufacture of complex devices, including integrated circuits; and more particularly to estimation of manufacturing yield based upon layout design data and defect models.
[0003] 2. Description of Related Art
[0004] Manufacturing yield is a measure of the number of defective devices made during a manufacturing process which also yields good devices. Improvements in manufacturing yield lead to increases in manufacturing efficiency and reduced costs. In the integrated circuit manufacturing, yields are affected by so-called extra material defects caused by foreign particles, like dust, which settle on a layer of the device, and cause short circuits, open circuits, or other types of defects in the devices being manufactured. Defects can also be caused by missing material, and other things.
[0005] In the design of complex devices like integrated circuits, it is desirable to predict the yield of the device under design, so that design improvements may be made if needed to improve the yield. Background concerning yield prediction procedures is found in U.S. Pat. No. 6,178,539 B1, which is incorporated by reference as if fully set forth herein.
[0006] Because designs for integrated circuits are so complex, yield predictions are typically made for very localized or isolated portions of the layout. Using these portions, a yield curve as a function of defect size is calculated to model device failure rates given defect size, distribution and density. Sometimes, a two-dimensional equivalent yield map is produced for a small portion of a layout, which characterizes the yield by mapping locations on the layout having structures that have higher probability of suffering defects that affect yield. The two-dimensional calculation is very expensive in terms of computational resources, even for small areas. Two-dimensional calculations for the entire layout of a full chip are impractical using reasonably available computers.
[0007] Accordingly, there is a need for a method and system for two-dimensional yield map calculation that can be practically applied to large layouts, including full-chip layouts in integrated circuit design.
[0008] The present invention provides a method and system applying a fast algorithm for two-dimensional yield map calculation, and extends yield map computation using hierarchical management of layout data to generation of full-chip yield maps within reach of practical computer systems.
[0009] A method according to the present invention provides an estimate of yield for a device, such as an integrated circuit, in a fabrication facility. The device has a layout including a pattern, or a plurality of patterns, characterizable by a combination of members of a set of basis shapes. A set of basis pre-images is provided in a machine-readable storage medium. The basis pre-images include localized yield map data, representing, for example, an interaction of respective members of the set of basis shapes with a defect model. Yield map data is produced by one or more techniques, including linear or non-linear combinations of convolutions or linear operations. Both theoretical and empirical techniques may be used to provide yield map data. Basis pre-images in one embodiment comprise the results of convolution, or of some mapping of convolution(s), of a function representing the defect model with a function representing the respective basis shapes. A yield map for the pattern is created by reading and combining basis pre-images corresponding to the basis shapes in the combination of members that characterize the pattern. In some embodiments, pattern used for the yield map computation is automatically extracted from the layout file. The combination result is provided as output, in the form of a two-dimensional yield map for the pattern. The output may be displayed to an engineer performing yield analysis, or otherwise processed.
[0010] In embodiments in which the layout includes a plurality of such patterns, pattern yield maps are generated for each of the patterns in the plurality, and combined to provide a yield map for the layout. In some embodiments, the layout characterizes a complete layer of an integrated circuit, and the present invention enables generation of full chip two-dimensional yield maps. Thus, yield maps for layout patterns can be computed in reasonable amount of time, and then pattern yield maps can be combined to characterize yield maps for large complex layouts for devices such as integrated circuit modules or complete integrated circuits.
[0011] According to yet another embodiment, the present invention provides a library of basis pre-images. The basis pre-images in the library comprise yield map data for corresponding basis shapes utilized to characterize a layout. In the process of calculating a yield map, the algorithm includes determining for a particular basis shape in the combination of basis shapes that characterize the pattern in the layout, whether a basis pre-image corresponding to the particular basis shape is included in the library. If the particular basis shape is not included in the library, then a new basis pre-image is computed in response to the defect model and the particular basis shape. The new basis shape has been added to the library for subsequent use.
[0012] In some embodiments of the invention, for which the pattern is automatically extracted, patterns to be subject of the yield map analysis are identified by accessing a particular layout feature in the layout from the layout file and defining a halo region around the layout feature. A halo region as an inner parameter defined for example by the outer perimeter of the particular layout feature. The outer perimeter of the halo is spaced away from the inner parameter by a distance related to the defect model in use. The process determines whether another layout feature in the layout file intersects the halo region. If another layout feature intersects the layout region, then a combination including the particular layout feature and the other feature is provided as said pattern for yield analysis.
[0013] Using two-dimensional yield maps for patterns of a complex layout in association with instance-based or hierarchical layout files significantly increases the efficiency of yield map computation. Thus, in one embodiment of the invention, a method for providing an estimate of yield for a device characterized by an instance-based or hierarchical layout file includes associating with nodes in the instance-based or hierarchical layout file, two-dimensional yield maps for the layout patterns corresponding to the nodes. A layout for a complete layer of an integrated circuit, or a complete layer of a complex module of an integrated circuit design, is generated by collapsing the layout file.
[0014] In processing the layout file for generation of a yield map, in some embodiments of the invention, a node in the layout file for a particular layout pattern is accessed, where the particular pattern includes a layout feature. A halo region is defined around the layout feature, as described above. For the layout pattern, the process determines whether a layout pattern in a sibling node or other node in the layout file intersects with a halo region. If an intersecting layout region from another node in the layout file is found, then the yield map associated with the first node is modified based upon interactions with the other layout pattern. In instance-based layouts, a new instance of the node may be created if there are no other nodes already existing having the same interactions.
[0015] Embodiments of the invention include the library of basis pre-images. The basis pre-images in the library comprise yield map data for a subset of the set of basis shapes, including some or all of the basis shapes in the combination of members.
[0016] The invention is embodied by data processing methods, data processing systems adapted for implementation of the methods, and articles of manufacture that comprise computer readable data storage media holding computer programs that include logic for implementation of the methods.
[0017] Other aspects and advantages of the present invention can be seen on review of the drawings, the detailed description and the claims, which follow.
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030] A detailed description of embodiments of the present invention is provided with reference to FIGS.
[0031] Components of the system shown in
[0032] Also, the database storage system
[0033]
[0034] As mentioned with respect to
[0035] Continuing with the procedure shown in
[0036] As illustrated with reference to
[0037] Accordingly, representative feature
[0038] As described previously, distance “d” is selected such that interaction with any potential feature which could have a significant effect on yield for a given defect model will be included in analysis halo. The analysis halo would typically not incorporate all features that could introduce any probability of failure of the device. Such a comprehensive approach would generally be undesirable, because probabilities of failure of IC elements below a certain level would not provide much benefit to the yield map calculation, but would require an excessively large yield analysis halo. This approach, in turn, would tend to negate the efficiency benefits derived from applying yield analysis zones to the yield map computation. Therefore, the yield analysis range should be selected, either empirically or based on engineering or theoretical models, to encompass only those features that could have an effect on yield above a certain threshold for a given defect model.
[0039]
[0040] As illustrated in
[0041] FIGS.
[0042] Once a hierarchical design is processed into an instance-based representation it is possible to perform tasks in parallel on the instance cells. That is because each instance cell includes the necessary information about the relevant neighboring (in a physical/geometrical sense) structures in the layout. Further, if care is taken while instances are created to identify locations where a particular cell has similar interactions with neighboring layout geometries and structures, the number of instances created can be reduced. For example, if there is an instance in the instance-based representation where a cell C is interacting with a geometry from cell B as well as a geometry from cell A in a particular fashion, other locations where C has the same type of proximity interaction with the same geometries can be represented as a single instance.
[0043] The term instance thus has two meanings, the applicable one should be apparent from use. To repeat, in the context of a standard hierarchical layout, or non-instance-based representation, an instance is a particular cell (e.g. its geometry, contained cells, and/or other information, e.g. connectivity information, netlist information and/or information on coloring schemes). Thus if a standard hierarchical layout includes five instances of a cell C, then the cell C appears five times (at various rotations, orientations, positions, etc.) within the layout. In contrast, in an instance-based representation, an instance refers to a specific environment for a given cell. For example, when a given instance-based representation has two instances of a cell, e.g. the instance cell CP, that means there are two locations where a cell C has identical interactions with nearby geometries.
[0044] Returning to the layout shown in FIGS.
[0045] The instance cells can either directly store the geometrical information about the interacting geometries (e.g. the small rectangles for the portions of the three structures within the dotted lines) or can store references to the relevant geometric shapes themselves together with information about the relevant portions of those shapes that interact with cell C in this particular instance, CP. Also, according to the present invention, the instance cells include yield map pre-images or references to yield map pre-images as described above.
[0046]
[0047]
[0048] This modified hierarchy can be generated by replacing each node in the original hierarchical representation (as illustrated in
[0049] The physical cell also specifies areas of interest, e.g. the shapes and geometries upon which the relevant operations are to be performed. An interaction range for a cell covers an area surrounding the cell that must be examined for features that can interact with features defined within the cell. For example, for optical proximity correction (OPC) and phase shifting mask (PSM) production an interaction range (or halo) around the cell of approximately 1-2 μm is used. For yield analysis, the interaction range can be computed using a halo as described above. Note that as the wavelength of light (λ) and sizes of structures being used decreases, the size of the halo/interaction range can change. Thus, the halo may decrease below 1 μm. More specifically, in one embodiment when rules based OPC is performed the interaction range used is 1 μm while for model based OPC the interaction range used is 2 μm, and the range for yield analysis is yet another value.
[0050] Finally, the actual cell can include the original cell. For example in
[0051] As noted, it is generally the case that in an instance-based representation, the hierarchy information is separated from other information (thus the holding or hierarchy cells). A consequence of this arrangement is that in the hierarchy an instance cell (or physical cell) will not point to other physical cells. However, in some cases it may be convenient to merge a holding and physical cell into a single cell to reduce the number of nodes in the tree. This can be done where the hierarchy contains only a single cell, e.g. DH
[0052]
[0053] In this graphical representation, layout T
[0054] Consequently the system creates two instances of cell A. The first instance A
[0055] The definition of cell A
[0056] Note that the definition of cell B
[0057] Moreover, note that it may be possible for factors that affect cell A to also affect cells C and D. For example, if geometrical feature
[0058] Note that by using an instance-based representation, a computational task can be easily partitioned so that different instances are processed by different threads. This facilitates parallel processing and/or pipelined execution for computational tasks, such as optical proximity correction and design rule checking.
[0059]
[0060] Next, for each node in the design hierarchy, the system determines how interactions with siblings change the layout and yield map of the node (step
[0061] In one embodiment of the invention, during the above-described process, the nodes are visited in topological order. This ensures that all instances of a parent node are created before a child node is analyzed.
[0062] In one embodiment of the invention, all instances of a master cell are generated before going on to the next cell.
[0063] Next, the design hierarchy is collapsed to merge holding cells that contain only a single physical cell into a single physical cell (step
[0064] Note that an instance-based representation will not necessarily reduce the amount of layout that must be considered during subsequent analysis operations-however, the instance-based representation enables parallel processing of layouts. For example, if instances are not repeated in a layout, using an instance-based representation does not reduce the total layout area that must be analyzed. Therefore, it may be more efficient to use other representations for yield map generation, including expanded hierarchical representations and flat representations, in some situations.
[0065] While the present invention is disclosed by reference to the preferred embodiments and examples detailed above, it is to be understood that these examples are intended in an illustrative rather than in a limiting sense. It is contemplated that modifications and combinations will readily occur to those skilled in the art, which modifications and combinations will be within the spirit of the invention and the scope of the following claims. What is claimed is: