The present application is related to co-pending U.S. patent application Ser. No. 11/678,593, entitled “System and Method for Model-Based Scoring and Yield Prediction,” filed on Feb. 24, 2007, and co-pending U.S. patent application Ser. No. 11/678,594, entitled “System and Method for Layout Optimization Using Model-Based Verification,” filed on Feb. 24, 2007, which are hereby incorporated by reference in their entirety.
The invention relates to Integrated Circuit (chip) design.
Traditionally, verification is performed using only rules-based approaches. For example, design rule check (DRC) is performed by checking the geometric properties of as-designed polygons in the design against a set of rules in a designated rule deck. However, the as-designed features may be significantly different from the as-manufactured features once lithography, etch, chemical mechanical planarization (CMP), and other processes are applied to actually manufacture the product. Therefore, two significant problems with the rules-only approach are (1) since the as-manufactured circuit features may differ from the as-designed circuit features, this causes inaccuracies in the verification results and (2) the rules themselves are determined for the as-designed features, and may therefore be overly-pessimistic or overly-optimistic relative to the as-manufactured features.
Methods and systems for allowing an Integrated Circuit (IC) designer to verify based on both the design rules and models.
In one implementation, a method for verification describes how the rules are associated to the models. The model-based verification tool provides simulations to predict the manufactured design.
In another implementation, a method for verification is computed in parallel to reduce complexity.
In another implementation, a method for verification is based on customization for certain design types.
In another implementation, a method for connectivity dependence to represent design intent.
The invention is directed to a method and system for integrating both models and rules into a verification flow to address both of these issues. Models are employed to perform simulations (e.g., lithography simulation) to provide more accurate verification results. In addition, the lithography simulation results can be used to fine-tune the rules themselves to provide a more realistic check upon circuit designs.
The architectural overview 100 includes a model-based verification (MBV) tool 120 which performs model based simulations using the design 105, which includes layout of the circuits. The MBV also accept design rules 110 as input. In one embodiment, standard DRC rules are used. In another embodiment, model based rules are used. Any design rules may be used as desired by the designer. MBV also accepts the model parameters for performing the simulations 130. In one embodiment, the simulations are performed in software. In another embodiment, the simulation is performed in hardware. Any simulator may be used for simulation of the design. The simulated design represents the final manufactured result of the design on wafer. Rules 110 are used to determine possible hotspots and layout attributes 135. In some embodiments, the simulations are also provided for lithography simulations 130 to determine lithography information for fabrication.
The layout information from the layout attributes 135 is determined from the simulations and MBV. In an embodiment, the layout attributes include raw geometric violations and extraction results, such as via statistics, critical area, density information, etc. In another embodiment, layout attributes include or are related to electrical information such as net IDs.
The layout information is used to determine hotspots. Because there may be too many hotspots after simulation, a filtering, scoring and yield calculation is used to rank and determine the more critical hotspots. One implementation of the filtering, scoring and yield calculation approach is described in co-pending U.S. patent application Ser. No. 11/678,593, entitled “System and Method for Model-Based Scoring and Yield Prediction,” filed on Feb. 24, 2007, which is incorporated herein by reference in its entirety.
The hotspots information is reported and is stored. In some embodiments, a report 170 is saved in storage such as in memory or hard drive. Thus, the report 170 is available to be given to the fabrication testers to assist in the determination of possible locations of hotspots on the fabricated wafers. In some embodiments, an analysis flow is usable for analyzing manufacturability on a stand-alone basis for a given process and design, for process-window optimization, and for sign-off applications. The report 170 summarizes the analysis flow results for these three applications. In other embodiments, the score and yield information 140 may also be provided as hints and constraints for optimization 180 of future designs 105. One approach to provide hints and constraints are described in co-pending U.S. patent application Ser. No. 11/678,593, entitled “System and Method for Model-Based Scoring and Yield Prediction,” filed on Feb. 24, 2007, which is incorporated herein by reference in its entirety.
In further embodiments, score and yield information 140 are also used to more accurately determine hotspots, which are also used for optimization 180. One approach to implement the optimization process is described in detail in co-pending U.S. patent application Ser. No. 11/678,594, entitled “System and Method for Layout Optimization Using Model-Based Verification,” filed on Feb. 24, 2007, which is incorporated herein by reference in its entirety.
The simulations also can predict by systematic modeling including modeling for CMP, lithography, etch, deposition, diffusion, etc. Thus, MBV can simulate both parametric and functional characteristics and then yield.
At 710, the flow 700 starts by providing rules, models and design information to the MBV.
At 720, MBV performs simulation of the design. The simulation provides the predicted shapes of the design on the fabricated wafer. The shapes are predicted using information from the fabs. The design rules are determined based on the information provided by the fabs to improve the production yield of the wafer.
At 730, using the design rules with the simulated design, hotspots on the design layout are predicted for the final product features. The hotspots are designed for areas that violate certain design rules. In one embodiment, an area violates design rules when a distance between the features in the area is less than the distance required by the rules. In another embodiment, an area is determined to be a hotspot if is determined by design rules provided by the manufacturer. The hotspots are ranked and the layout design within the hotspots is adjusted to generate layout attributes to try to improve the yield.
At 740, layout attributes are generated from the MBV tool. In some embodiments, the layout attributes include raw geometric violations and other simulation and extraction results, such as via statistics, critical area, density information, etc. In other embodiments, layout attributes include or are related to electrical information such as net IDs.
At 750, the hotspots are filtered to provide scoring for the hotspots. One approach for implementing the filtering and scoring is described in co-pending U.S. patent application Ser. No. 11/678,593, entitled “System and Method for Model-Based Scoring and Yield Prediction,” filed on Feb. 24, 2007, which is incorporated herein by reference in its entirety.
At 760, the determined hotspots are stored and provided for testers at the fab for final testing. In an embodiment, these hotspots are stored and reported. In another embodiment, the hotspots are provided to the manufacturers to represent design intent. This information assists and increases the efficiency of determining actual hotspots and testing of the manufactured wafer.
At 770, the flow 700 ends.
A computer system 800 according to an embodiment will now be described with reference to
Each computer system 800 may include a communication interface 814 coupled to the bus 806. The communication interface 814 provides two-way communication between computer systems 800. The communication interface 814 of a respective computer system 800 transmits and receives electrical, electromagnetic or optical signals, which include data streams representing various types of signal information, e.g., instructions, messages and data. A communication link 815 links one computer system 800 with another computer system 800. For example, the communication link 815 may be a LAN, in which case the communication interface 814 may be a LAN card, or the communication link 815 may be a PSTN, in which case the communication interface 814 may be an integrated services digital network (ISDN) card or a modem, or the communication link 815 may be the Internet, in which case the communication interface 814 may be a dial-up, cable or wireless modem.
A computer system 800 may transmit and receive messages, data, and instructions, including program, i.e., application, code, through its respective communication link 815 and communication interface 814. Received program code may be executed by the respective processor(s) 807 as it is received, and/or stored in the storage device 810, or other associated non-volatile media, for later execution.
In an embodiment, the computer system 800 operates in conjunction with a data storage system 831, e.g., a data storage system 831 that contain a database 832 that is readily accessible by the computer system 800. The computer system 800 communicates with the data storage system 831 through a data interface 833. A data interface 833, which is coupled to the bus 806, transmits and receives electrical, electromagnetic or optical signals, which include data streams representing various types of signal information, e.g., instructions, messages and data. In embodiments, the functions of the data interface 833 may be performed by the communication interface 814.
Computer system 800 includes a bus 806 or other communication mechanism for communicating instructions, messages and data, collectively, information, and one or more processors 807 coupled with the bus 806 for processing information. Computer system 800 also includes a main memory 808, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 806 for storing dynamic data and instructions to be executed by the processor(s) 807. The main memory 808 also may be used for storing temporary data, i.e., variables, or other intermediate information during execution of instructions by the processor(s) 807.
The computer system 800 may further include a read only memory (ROM) 809 or other static storage device coupled to the bus 806 for storing static data and instructions for the processor(s) 807. A storage device 810, such as a magnetic disk or optical disk, may also be provided and coupled to the bus 806 for storing data and instructions for the processor(s) 807.
A computer system 800 may be coupled via the bus 406 to a display device 811, such as, but not limited to, a cathode ray tube (CRT), for displaying information to a user. An input device 812, e.g., alphanumeric and other keys, is coupled to the bus 806 for communicating information and command selections to the processor(s) 807.
According to one embodiment, an individual computer system 800 performs specific operations by their respective processor(s) 807 executing one or more sequences of one or more instructions contained in the main memory 808. Such instructions may be read into the main memory 408 from another computer-usable medium, such as the ROM 809 or the storage device 810. Execution of the sequences of instructions contained in the main memory 808 causes the processor(s) 807 to perform the processes described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and/or software.
The term “computer-usable medium,” as used herein, refers to any medium that provides information or is usable by the processor(s) 807. Such a medium may take many forms, including, but not limited to, non-volatile, volatile and transmission media. Non-volatile media, i.e., media that can retain information in the absence of power, includes the ROM 809, CD ROM, magnetic tape, and magnetic discs. Volatile media, i.e., media that can not retain information in the absence of power, includes the main memory 808. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 806. Transmission media can also take the form of carrier waves; i.e., electromagnetic waves that can be modulated, as in frequency, amplitude or phase, to transmit information signals. Additionally, transmission media can take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
In the foregoing specification, the embodiments have been described with reference to specific elements 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 embodiments. For example, the reader is to understand that the specific ordering and combination of process actions shown in the process flow diagrams described herein is merely illustrative, and that using different or additional process actions, or a different combination or ordering of process actions can be used to enact the embodiments. The specification and drawings are, accordingly, to be regarded in an illustrative rather than in a restrictive sense.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5335191 | Kundert et al. | Aug 1994 | A |
| 5559718 | Baisuck et al. | Sep 1996 | A |
| 5654898 | Roetcisoender et al. | Aug 1997 | A |
| 5729466 | Bamji | Mar 1998 | A |
| 5862055 | Chen et al. | Jan 1999 | A |
| 5966459 | Chen et al. | Oct 1999 | A |
| 6035244 | Chen et al. | Mar 2000 | A |
| 6066179 | Allan | May 2000 | A |
| 6088523 | Nabors et al. | Jul 2000 | A |
| 6151698 | Telichevesky et al. | Nov 2000 | A |
| 6393602 | Atchison et al. | May 2002 | B1 |
| 6470489 | Chang et al. | Oct 2002 | B1 |
| 6493849 | Telichevesky et al. | Dec 2002 | B1 |
| 6636839 | Telechevesky et al. | Oct 2003 | B1 |
| 6751785 | Oh | Jun 2004 | B1 |
| 6904581 | Oh | Jun 2005 | B1 |
| 6921672 | Satya et al. | Jul 2005 | B2 |
| 6996797 | Liebmann et al. | Feb 2006 | B1 |
| 7194704 | Kotani et al. | Mar 2007 | B2 |
| 7308669 | Buehler et al. | Dec 2007 | B2 |
| 7325206 | White et al. | Jan 2008 | B2 |
| 7353475 | White et al. | Apr 2008 | B2 |
| 7356783 | Smith et al. | Apr 2008 | B2 |
| 7360179 | Smith et al. | Apr 2008 | B2 |
| 7363099 | Smith et al. | Apr 2008 | B2 |
| 7363598 | Smith et al. | Apr 2008 | B2 |
| 7367008 | White et al. | Apr 2008 | B2 |
| 7380220 | Smith et al. | May 2008 | B2 |
| 7383521 | Smith et al. | Jun 2008 | B2 |
| 7386815 | Bickford et al. | Jun 2008 | B2 |
| 7393755 | Smith et al. | Jul 2008 | B2 |
| 7418694 | Kobayashi et al. | Aug 2008 | B2 |
| 7453261 | Mark | Nov 2008 | B1 |
| 7503020 | Allen et al. | Mar 2009 | B2 |
| 7592827 | Brozek | Sep 2009 | B1 |
| 20050037522 | Smith et al. | Feb 2005 | A1 |
| 20050051809 | Smith et al. | Mar 2005 | A1 |
| 20050196964 | Smith et al. | Sep 2005 | A1 |
| 20050235246 | Smith et al. | Oct 2005 | A1 |
| 20050251771 | Robles | Nov 2005 | A1 |
| 20050268256 | Tsai et al. | Dec 2005 | A1 |
| 20050273739 | Tohyama | Dec 2005 | A1 |
| 20060123380 | Ikeuchi | Jun 2006 | A1 |
| 20060265684 | Buehler et al. | Nov 2006 | A1 |
| 20060273266 | Preil et al. | Dec 2006 | A1 |
| 20070101305 | Smith et al. | May 2007 | A1 |
| 20070133860 | Lin et al. | Jun 2007 | A1 |
| 20070256039 | White | Nov 2007 | A1 |
| 20070294648 | Allen et al. | Dec 2007 | A1 |
| 20080005704 | Miloslavsky et al. | Jan 2008 | A1 |
| 20080027698 | White | Jan 2008 | A1 |
| 20080148201 | Lanzerotti et al. | Jun 2008 | A1 |
| 20080160646 | White et al. | Jul 2008 | A1 |
| 20080162103 | White et al. | Jul 2008 | A1 |
| 20080163139 | Scheffer et al. | Jul 2008 | A1 |
| 20080163141 | Scheffer et al. | Jul 2008 | A1 |
| 20080163148 | Scheffer et al. | Jul 2008 | A1 |
| 20080163150 | White | Jul 2008 | A1 |
| 20080189664 | Bickford et al. | Aug 2008 | A1 |
| 20080195359 | Barker et al. | Aug 2008 | A1 |
| 20080216027 | White et al. | Sep 2008 | A1 |
| 20090031261 | Smith et al. | Jan 2009 | A1 |
| 20090031271 | White et al. | Jan 2009 | A1 |
| 20090100386 | Allen | Apr 2009 | A1 |