IP Library Granted Patent US 7,386,433
Granted Patent B2
US 7,386,433 · App. 10/098,714 · Granted Jun 10, 2008

Using a suggested solution to speed up a process for simulating and correcting an integrated circuit layout

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,386,433
App. No.
10/098,714
Granted
Jun 10, 2008
Kind
B2
Abstract

One embodiment of the invention provides a system for speeding up an iterative process that simulates and, if necessary, corrects a layout of a target cell within an integrated circuit so that a simulated layout of the target cell matches a desired layout for the target cell. The system operates by determining if the target cell is similar to a preceding cell for which there exists a previously calculated solution. If so, the system uses the previously calculated solution as an initial input to the iterative process that produces the solution for the target cell.

Claims (46)

1. A method for speeding up an iterative process that simulates and corrects a layout of a target cell within an integrated circuit, the method comprising:

determining if the target cell is similar to a preceding cell for which there exists a previously calculated solution, wherein the target cell is similar to a preceding cell if (1) a layout of a target cell matches a layout of a preceding cell, but an environment surrounding the target cell differs from an environment surrounding the preceding cell; (2) the layout of the target cell matches the layout of the preceding cell, and the environment surrounding the target cell matches the environment surrounding the preceding cell; or (3) if the layout of the target cell differs from the layout of the preceding cell by less than a pre-specified amount; and

if the target cell is similar to the preceding cell, using the previously calculated solution for the preceding cell as an initial input to the iterative process for the target cell, wherein the iterative process involves one or more repetitions of simulating a current solution for the target cell to produce a current simulated layout, wherein if the current simulated layout differs from the desired layout by less than a pre-specified amount, accepting the current solution as a final solution for the target cell, otherwise, correcting the current solution to compensate for differences between the current simulated layout and the desired layout;

otherwise using the layout of the target cell as the initial input to the iterative process for the target cell; wherein the difference between the final solution and a desired layout for the target cell is less than a pre-specified tolerance.

2. The method of claim 1 , wherein if the layout of the target cell matches the layout of the preceding cell, but the environment surrounding the target cell differs from the environment surrounding the preceding cell and if the previously calculated solution for the preceding cell is used as the initial input to the iterative process, the iterative process only operates on features within a border region within the target cell that can be affected by the environment surrounding the target cell, and ignores features within the target cell that are not located within the border region.

3. The method of claim 1 , wherein the simulated layout corresponds to a manufactured result for the layout.

4. The method of claim 1 , wherein if the previously calculated solution for the preceding cell is used as the initial input for the iterative process, and if the iterative process produces a simulation result that differs significantly from the desired layout, the method further comprises restarting the iterative process using the desired layout instead of the previously calculated solution as the initial input to the iterative process.

5. The method of claim 1 , wherein prior to considering the target cell, the method further comprises:

receiving a specification for the layout of the integrated circuit; and

dividing the layout into a plurality of cells, whereby each cell can be independently subjected to the iterative process.

6. The method of claim 1 , wherein the iterative process performs model-based optical proximity correction (OPC).

7. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for speeding up an iterative process that simulates and corrects a layout of a target cell within an integrated circuit, the method comprising:

determining if the target cell is similar to a preceding cell for which there exists a previously calculated solution, wherein the target cell is similar to the preceding cell if (1) a layout of a target cell matches a layout of a preceding cell, but an environment surrounding the target cell differs from an environment surrounding the preceding cell, (2) the layout of the target cell matches the layout of the preceding cell, and the environment surrounding the target cell matches the environment surrounding the preceding cell; or (3) if the layout of the target cell differs from the layout of the preceding cell by less than a pre-specified amount; and

if the target cell is similar to the preceding cell, using the previously calculated solution for the preceding cell as an initial input to the iterative process for the target cell, wherein the iterative process involves one or more repetitions of simulating a current solution for the target cell to produce a current simulated layout, wherein if the current simulated layout differs from the desired layout by less than a pre-specified amount, accepting the current solution as a final solution for the target cell, otherwise, correcting the current solution to compensate for differences between the current simulated layout and the desired layout;

otherwise using the layout of the target cell as the initial input to the iterative process for the target cell; wherein the difference between the final solution and a desired layout for the target cell is less than a pre-specified tolerance.

8. The computer-readable storage medium of claim 7 , wherein if the layout of the target cell matches the layout of the preceding cell, but the environment surrounding the target cell differs from the environment surrounding the preceding cell and if the previously calculated solution for the preceding cell is used as the initial input to the iterative process, the iterative process only operates on features within a border region within the target cell that can be affected by the environment surrounding the target cell, and ignores features within the target cell that are not located within the border region.

9. The computer-readable storage medium of claim 7 , wherein the simulated layout corresponds to a manufactured result for the layout.

10. The computer-readable storage medium of claim 7 , wherein if the previously calculated solution for the preceding cell is used as the initial input for the iterative process, and if the iterative process produces a simulation result that differs significantly from the desired layout, the method further comprises restarting the iterative process using the desired layout instead of the previously calculated solution as the initial input to the iterative process.

11. The computer-readable storage medium of claim 7 , wherein prior to considering the target cell, the method further comprises:

receiving a specification for the layout of the integrated circuit; and

dividing the layout into a plurality of cells, whereby each cell can be independently subjected to the iterative process.

12. The computer-readable storage medium of claim 7 , wherein the iterative process performs model-based optical proximity correction (OPC).

13. An apparatus for speeding up an iterative process that simulates and corrects a layout of a target cell within an integrated circuit, the apparatus comprising:

a comparison mechanism that is configured to determine if the target cell is similar to a preceding cell for which there exists a previously calculated solution, wherein a target cell is similar to a preceding cell if (1) a layout of a target cell matches a layout of a preceding cell, but an environment surrounding the target cell differs from an environment surrounding the preceding cell; (2) the layout of the target cell matches the layout of the preceding cell, and the environment surrounding the target cell matches the environment surrounding the preceding cell; or (3) if the layout of the target cell differs from the layout of the preceding cell by less than a pre-specified amount; and

an iterative processing mechanism,

wherein if the target cell is similar to a preceding cell, the iterative processing mechanism is configured to use the previously calculated solution as an initial input to the iterative process for the target cell, wherein the iterative process involves one or more repetitions of simulating a current solution for the target cell to produce a current simulated layout, wherein if the current simulated layout differs from the desired layout by less than a pre-specified amount, accepting the current solution as a final solution for the target cell, otherwise, correcting the current solution to compensate for differences between the current simulated layout and the desired layout;

otherwise, the iterative processing mechanism is configured to use the layout of the target cell as the initial input to the iterative process for the target cell; wherein the solution for the target cell is such that the difference between this solution and a desired layout for the target cell is less than a pre-specified tolerance.

14. The apparatus of claim 13 , wherein if the layout of the target cell matches the layout of the preceding cell, but the environment surrounding the target cell differs from the environment surrounding the preceding cell and if the previously calculated solution for the preceding cell is used as the initial input to the iterative process, the iterative processing mechanism only operates on features within a border region within the target cell that can be affected by the environment surrounding the target cell, and ignores features within the target cell that are not located within the border region.

15. The apparatus of claim 13 , wherein the simulated layout corresponds to a manufactured result for the layout.

16. The apparatus of claim 13 , wherein if the previously calculated solution for the preceding cell is used as the initial input for the iterative process, and if the iterative processing mechanism produces a simulation result that differs significantly from the desired layout, the iterative processing mechanism is configured to restart the iterative process using the desired layout instead of the previously calculated solution as the initial input to the iterative process.

17. The apparatus of claim 13 , further comprising a partitioning mechanism that is configured to:

receive a specification for the layout of the integrated circuit; and to

divide the layout into a plurality of cells, whereby each cell can be independently subjected to the iterative process.

18. The apparatus of claim 13 , wherein the iterative processing mechanism performs model-based optical proximity correction (OPC).

19. A mask to be used in an optical lithography process for manufacturing an integrated circuit, wherein the mask is created through a method that simulates and corrects a layout of a target cell within an integrated circuit, the method comprising:

determining if the target cell is similar to a preceding cell for which there exists a previously calculated solution, wherein the target cell is similar to the preceding cell if (1) a layout of a target cell matches a layout of a preceding cell, but an environment surrounding the target cell differs from an environment surrounding the preceding cell; (2) the layout of the target cell matches the layout of the preceding cell, and the environment surrounding the target cell matches the environment surrounding the preceding cell; or (3) if the layout of the target cell differs from the layout of the preceding cell by less than a pre-specified amount; and;

if the target cell is similar to the preceding cell, using the previously calculated solution for the preceding cell as an initial input to the iterative process for the target cell, wherein the iterative process involves one or more repetitions of simulating a current solution for the target cell to produce a current simulated layout, wherein if the current simulated layout differs from the desired layout by less than a pre-specified amount, accepting the current solution as a final solution for the target cell, otherwise, correcting the current solution to compensate for differences between the current simulated layout and the desired layout;

otherwise using the layout of the target cell as the initial input to the iterative process for the target cell; wherein the difference between the final solution and a desired layout for the target cell is less than a pre-specified tolerance.

20. An integrated circuit created through process that simulates and corrects a layout of a target cell within an integrated circuit, the process comprising:

determining if the target cell is similar to a preceding cell for which there exists a previously calculated solution, wherein the target cell is similar to the preceding cell if (1) a layout of a target cell matches a layout of a preceding cell, but an environment surrounding the target cell differs from an environment surrounding the preceding cell; (2) the layout of the target cell matches the layout of the preceding cell, and the environment surrounding the target cell matches the environment surrounding the preceding cell; or (3) if the layout of the target cell differs from the layout of the preceding cell by less than a pre-specified amount; and;

if the target cell is similar to the preceding cell, using the previously calculated solution for the preceding cell as an initial input to the iterative process for the target cell, wherein the iterative process involves one or more repetitions of simulating a current solution for the target cell to produce a current simulated layout, wherein if the current simulated layout differs from the desired layout by less than a pre-specified amount, accepting the current solution as a final solution for the target cell, otherwise, correcting the current solution to compensate for differences between the current simulated layout and the desired layout;

otherwise using the layout of the target cell as the initial input to the iterative process for the target cell; wherein the difference between the final solution and a desired layout for the target cell is less than a pre-specified tolerance.

21. A method for jump-starting model-based optical proximity correction, comprising:

receiving a current cell to be subjected to a model-based optical proximity correction process, wherein the model-based optical proximity correction process involves one or more repetitions of simulating a current solution for a current cell to produce a current simulated layout, wherein if the current simulated layout differs from a desired layout by less than a pre-specified amount, accepting the current solution as a final solution for the current cell, otherwise, correcting the current solution to compensate for differences between the current simulated layout and the desired layout;

analyzing the current cell to identify a previously corrected cell that is similar to the current cell, wherein the previously corrected cell is similar to the current cell if (1) a layout of a previously corrected cell matches a layout of a current cell, but an environment surrounding the previously corrected cell differs from an environment surrounding the current cell; (2) the layout of the previously corrected cell matches the layout of the current cell, and the environment surrounding the previously corrected cell matches the environment surrounding the current cell; or (3) if the layout of the previously corrected cell differs from the layout of the current cell by less than a pre-specified amount; and; and

if a similar previously corrected cell is identified, producing an optical proximity correction for the current cell by using an optical proximity correction for the previously corrected cell as an initial input to the optical proximity correction process for the current cell, otherwise using the layout of the current cell as the initial input to the optical proximity correction process for the current cell.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR DOCUMENT DATE SHOULD BE 12/20/2004 PREVIOUSLY RECORDED ON REEL 023736 FRAME 0275. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST. Recorded Mar 10, 2016
From: NUMERICAL TECHNOLOGIES, INC.
To: SYNOPSYS MERGER HOLDINGS, LLC.
Reel/Frame 038060/0911 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2010
From: NUMERICAL TECHNOLOGIES, INC.
To: SYNOPSYS MERGER HOLDINGS, LLC.
Reel/Frame 023736/0273 →