The invention relates to the design of integrated circuits.
A semiconductor integrated circuit (IC) has a large number of electronic components, such as transistors, logic gates, diodes, wires, that are fabricated by forming layers of different materials and of different geometric shapes on various regions of a wafer. Many phases of physical design may be performed with computer aided design (CAD) tools or electronic design automation (EDA) systems. To design an integrated circuit, a designer first creates high level behavior descriptions of the IC device using a high-level hardware design language. The high level behavior descriptions of the IC device are translated into netlists of various levels of abstraction using a computer synthesis process. A netlist describes interconnections of nodes and components on the chip and includes information of circuit primitives such as transistors and diodes, their sizes and interconnections, for example.
An integrated circuit designer may use EDA layout tools to create a physical integrated circuit design layout from a logical circuit design. The layout tools use geometric shapes of different materials to create the various electrical components on an integrated circuit and to represent electronic and circuit IC components as geometric objects with varying shapes and sizes. After an integrated circuit designer has created an initial integrated circuit layout, the integrated circuit designer then verifies and optimizes the integrated circuit layout using a set of EDA testing and analysis tools.
Optical lithography, which is also referred to as photolithography, is a fabrication process by which patterns for various devices are generated on substrate wafers. One or more photomask, or more simply “masks,” provide the master image of a layer of a given integrated circuit chip's physical geometries. A typical photolithography system projects UV light energy onto and through the one or more masks in order to transmit the mask pattern in reduced size to the wafer surface, where it interacts with a photosensitive coating on the wafer.
The resolution limit of conventional optical lithography technology is increasingly being challenged by the sub wavelength dimensions of the critical IC feature dimensions and geometries. Not only are the critical dimension feature geometries steadily decreasing in size, but the quantity of these features is also growing at a dramatic rate as well. These critical feature geometries also need to be patterned very precisely due to the severity and sensitivity of the imaging process and therefore, the lithography process plays a significant role in all aspects of the IC design flow.
In the integrated circuit design flow, routing involves assigning wires and vias to create a circuit connection. A routing solution is usually driven by design rules (DRC), a set of requirements, such as spacing requirements between two objects and routing object size requirements, to be met by a router in order to have a working circuit. DRC governs how an object has to be spaced relative to another object and to meet the width requirement. The DRC rules that govern spacing between two objects may not always adequately account for lithographic effects with the decreased dimensions of the critical IC features and geometries.
For example, the light wave length (e.g. 193 nm) may be much larger than feature widths of the printed geometry (e.g. 65 nm or less). As such, the light waves used to print an object can interfere with the light waves used to print surrounding objects. Because of these lithographic issues, the spacing requirements between two objects verified by DRC rules can be affected by other surrounding objects not contemplated by the DRC rules.
To overcome these lithographic issues, one approach of chip manufacturers or foundries is to translate the lithographic issues into new design rules. However, the new design rules that account for the lithographic issues with multiple objects have become very complicated because the rules involve more than two objects. In some cases, the design rules are difficult to abstract because the effects of lithography are hard to predict with the number of factors that must be accounted for in determining the lithographic effects, such as the light source, focus and mask. The number of design rules and variations in design rules have increased significantly with the seemingly infinite number of combinations of objects that need to be taken into account for routing. Furthermore, even if all of the rules were defined, it has become too difficult for routers to honor all the design rules. Thus, rule driven routing may be limited in its ability to handle all the lithography related issues.
Another approach to overcome the lithographic issues is to build an optical model and simulation engine, and calculate the lithographic effects. However, it is difficult for manufacturers to create a model for designers to generate a lithography-friendly layout because the accuracy of the model is dependent on such factors as the process site, the parameters and the device. Further, incorporating simulation into the router significantly slows the router down. Due to the limitations of the described approaches, there is a need for a new approach to reduce the impact of lithographic effects on routing and thereby, increase the chance for a higher yield.
A method and system for pattern-driven routing are disclosed. Pattern-driven routing comprises creating a representation for at least a portion of an initial routing solution, comparing the representation for at least the portion of the initial routing solution with a pattern, and determining whether the initial routing solution has lithographic issues based on the comparison.
The invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
Embodiments of the present invention provide methods, systems, and mediums for implementing pattern driven routing.
According to some embodiments, pattern driven routing utilizes pattern matching to determine whether a routing solution has lithographic issues. Pattern matching is a method of comparing the layouts of at least two portions of an IC design and determining whether the two portions of the IC designs are similar. Pattern matching can be performed with generated or calculated layouts for an IC design, and a pattern may have a geometry or geometries that are a subset of an IC design. A pattern driven router compares portions of a routing solution to patterns with either known lithographic issues or known lithographic clean patterns stored in a routing pattern library, and can determine whether the routing solution has lithographic issues if a portion of the routing solution matches a known good pattern (i.e. lithographic-clean pattern) or bad pattern (i.e. known lithographic issues). By using pattern matching, the pattern driven router may more easily identify lithographic issues in routing solutions that involve multiple objects, and differs from other approaches such as DRC, which generally is limited to handling lithographic issues between a small number of objects.
The initial routing solution may be broken up into portions for the pattern driven router to perform comparisons between the portion and the known good or bad patterns. In one or more embodiments, a default size for the portion that is selected is determined by experimentation with pattern matching, and a series of the default size portions are selected from the initial routing solution for pattern matching until the entire routing solution has undergone pattern matching with the known good or bad patterns in the Routing Pattern Library. Those skilled in the art will recognize that there are many ways to select a portion of a routing solution. For example, embodiments may select a portion by using a critical point in the initial routing solution and a portion of the IC design surrounding the critical point. Next, a comparison of the representation for at least the portion of the initial routing solution with a pattern is performed (102). In one or more embodiments, the pattern has been extracted from known routing solutions that either have lithographic issues or are an ideal routing solution from a lithographic perspective. Optionally, the pattern may be represented by one or more mathematical functions to facilitate pattern matching. Embodiments may not require that the representation for a portion of the routing solution be an exact match with the pattern to indicate a lithographic issue. Optionally, the Pattern Driven Router may account for a percentage error in comparing the pattern to the routing solution and alter a determination on the lithographic issues present in the design or results from the comparison accordingly. The patterns used for pattern driven routing may be stored in a Routing Pattern Library or database.
Continuing with
Next, the initial routing solution is provided to a Pattern Driven Router 204 to create a lithographically clean routing solution. The Pattern Driven Router 204 may use the extracted patterns in the Routing Pattern Library 206 to match and ultimately, avoid patterns for the lithographically clean routing solution. In one or more embodiments, a Pattern Driven Router Matching Module 210 is used by the Pattern Driven Router 204 to perform the comparison between a representation of at least a portion of the initial routing solution to extracted patterns stored in a Routing Pattern Library 206. In one or more embodiments, there is a better chance of a high yield if the patterns identified as having lithography issues in the Routing Pattern Library 206 are avoided.
If the patterns with lithographic issues match the representation of at least a portion of the initial routing solution, then the Pattern Driven Router 204 reroutes the routing solution to fix the route. In order to efficiently re-route the initial routing solution to avoid lithographic patterns, the Pattern Driven Router 204 may have areas of the routing solution that are designated as zones that are not preferred for routing, and the Pattern Driven Router 204 tries to avoid to route in those areas as much as possible. In some embodiments, the routing solution in those areas does not create a DRC violation but may create a lithographic issue. In one or more embodiments, the Routing Pattern Library 206 contains a corresponding solution for the lithographic issues that exist in the pattern that was matched to the representation of at least a portion of the initial routing solution. The combination of the rule driven routing and pattern driven routing allows for the creation of a DRC and Lithography Clean Design 212.
The Routing Pattern Library 206 is created from patterns extracted with a Routing Pattern Extractor 208. Optionally, the pattern may be represented with mathematical functions. The Routing Patterns Library 206 may contain patterns with lithography issues identified by manufacturing and/or identified by lithography verification tools that may utilize simulations of the routing solution. In one or more embodiments, the Routing Pattern Library 206 may provide rerouting solutions for the lithographic issues.
Next, the Pattern Driven Router 204 must determine whether there is a match of the representation of the portion of an initial routing solution to a bad pattern in the Routing Pattern Library (304). If there is a match to a bad pattern in the Routing Pattern Library 206 (304), then the router may need to rip up and reroute to create a new routing solution. The Pattern Driven Router 204 may check whether a routing solution for the bad pattern is stored in the Routing Pattern Library 206 (306). If there is a routing solution stored in the Routing Pattern Library 206 that corresponds to the bad pattern (306), then the Pattern Driven Router 204 may rely on a routing solution or portion of a routing solution stored in the Routing Pattern Library 206 to rip and re-route the portion of the routing solution that may have lithographic issues with a stored routing solution (310). The new routing solution generated by the Pattern Driven Router 204 is again checked by the Pattern Driven Router 204 to determine if the routing solution has lithographic issues by comparing the routing solution to patterns in the Routing Pattern Library 206 (302).
Alternatively, if there is no stored routing solution that corresponds to the bad pattern (306), then the Pattern Driven Router 204 may rip and reroute the routing solution (308). The Pattern Driven Router 204 may reroute the routing solution itself or call upon an external router to do the rerouting of the routing solution. The new routing solution generated by the Pattern Driven Router 204 is again checked by the Pattern Driven Router 204 to determine if the routing solution has lithographic issues by comparing the routing solution to patterns in the Routing Pattern Library 206 (302).
Continuing with
Continuing with
In the following description, numerous details are set forth for purpose of explanation. However, one of ordinary skill in the art will realize that various embodiments of the invention may be practiced without the use of these specific details. In other instances, well-known structures and devices are shown in block diagram form in order not to obscure the description of various embodiments of the invention with unnecessary detail.
According to one embodiment of the invention, computer system 1400 performs specific operations by processor 1407 executing one or more sequences of one or more instructions contained in system memory 1408. Such instructions may be read into system memory 1408 from another computer readable/usable medium, such as static storage device 1409 or disk drive 1410. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and/or software. In one embodiment, the term “logic” shall mean any combination of software or hardware that is used to implement all or part of the invention.
The term “computer readable medium” or “computer usable medium” as used herein refers to any medium that participates in providing instructions to processor 1407 for execution. Such a medium may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as disk drive 1410. Volatile media includes dynamic memory, such as system memory 1408.
Common forms of computer readable media includes, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
In an embodiment of the invention, execution of the sequences of instructions to practice the invention is performed by a single computer system 1400. According to other embodiments of the invention, two or more computer systems 1400 coupled by communication link 1415 (e.g., LAN, PTSN, or wireless network) may perform the sequence of instructions required to practice the invention in coordination with one another.
Computer system 1400 may transmit and receive messages, data, and instructions, including program, i.e., application code, through communication link 1415 and communication interface 1414. Received program code may be executed by processor 1407 as it is received, and/or stored in disk drive 1410, or other non-volatile storage for later execution.
In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. For example, the above-described process flows are described with reference to a particular ordering of process actions. However, the ordering of many of the described process actions may be changed without affecting the scope or operation of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
6077310 | Yamamoto et al. | Jun 2000 | A |
7657852 | Waller | Feb 2010 | B2 |
20020007481 | Ono | Jan 2002 | A1 |
20030115569 | Ikeuchi | Jun 2003 | A1 |
20070044060 | Waller | Feb 2007 | A1 |
20070092142 | Kuriathungal et al. | Apr 2007 | A1 |
20070106971 | Lien et al. | May 2007 | A1 |