Method and apparatus for data hierarchy maintenance in a system for mask description
First Claim
1. In a system for performing an operation in accordance with a particular set of operating criteria on a hierarchically described integrated circuit layout comprising a plurality of cells, the hierarchically described integrated circuit layout having a flattened layout which comprises a rendering of geometric features of the plurality of cells in the hierarchically described integrated circuit layout, a computer program product comprising computer readable media, the computer program product including first program data comprising hierarchically configured correction data corresponding to the hierarchically described layout, the hierarchically configured correction data comprising a plurality of delta planes corresponding to the plurality of cells, and wherein if the first program data were applied to the flattened layout an output comprising data representative of a result of performing the operation on the hierarchically described layout would be generated.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for performing an operation on hierarchically described integrated circuit layouts such that the original hierarchy of the layout is maintained is provided. The method comprises providing a hierarchically described layout as a first input and providing a particular set of operating criteria corresponding to the operation to be performed as a second input. The mask operation, which may include operations such as OPC and logical operations such as NOT and OR, is then performed on the layout in accordance with the particular set of operating criteria. A first program data comprising hierarchically configured correction data corresponding to the hierarchically described layout is then generated in response to the layout operation such that if the first program data were applied to the flattened layout an output comprising data representative of the result of performing the operation on the layout would be generated. As the first program data is maintained in a true hierarchical format, layouts which are operated upon in accordance with this method are able to be processed through conventional design rule checkers. Further, this method is capable of being applied to all types of layouts including light and dark field designs and phase shifting layouts.
-
Citations
92 Claims
- 1. In a system for performing an operation in accordance with a particular set of operating criteria on a hierarchically described integrated circuit layout comprising a plurality of cells, the hierarchically described integrated circuit layout having a flattened layout which comprises a rendering of geometric features of the plurality of cells in the hierarchically described integrated circuit layout, a computer program product comprising computer readable media, the computer program product including first program data comprising hierarchically configured correction data corresponding to the hierarchically described layout, the hierarchically configured correction data comprising a plurality of delta planes corresponding to the plurality of cells, and wherein if the first program data were applied to the flattened layout an output comprising data representative of a result of performing the operation on the hierarchically described layout would be generated.
-
14. The method of performing an operation on a hierarchically described integrated circuit layout, the method comprising:
-
providing the hierarchically described integrated circuit layout as a first input wherein the hierarchically described layout comprises a plurality of cells, the hierarchically described integrated circuit layout having a flattened layout which comprises a rendering of geometric features of the plurality of cells in the hierarchically described integrated circuit layout;
providing a particular set of operating criteria as a second input;
performing a layout operation in accordance with the particular set of operating criteria on the hierarchically described layout; and
generating a first program data comprising hierarchically configured correction data corresponding to the hierarchically described layout, the hierarchically configured correction data comprising a plurality of delta planes corresponding to the plurality of cells, in response to the layout operation such that if the first program data were applied to the flattened layout an output comprising data representative of the result of performing the operation on the hierarchically described layout would be generated. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
compiling the hierarchically described layout, wherein compiling comprises generating a first correction layer for each cell of the plurality of cells in response to the particular set of operating criteria; and
linking the hierarchically described layout, wherein linking comprises modifying the correction layer of each cell in response to the particular set of operating criteria to generate the delta plane for each cell such that the delta plane of each cell accounts for interaction between each of the cell'"'"'s child cells and interaction between the cell'"'"'s primitive geometry and each of the cell'"'"'s child cells.
-
-
21. The method of performing an operation on a hierarchically described integrated circuit layout of claim 20 wherein for each cell in the hierarchically described layout the sum of the cell'"'"'s delta plane and the delta planes of the cell'"'"'s child cells comprises a correction plane of the cell wherein the correction plane for each cell in the plurality of cells comprises data that would generate an output data representative of the result of performing the operation on the cell if the correction plane were applied to the flattened cell data.
-
22. The method of performing an operation on a hierarchically described integrated circuit layout of claim 20 wherein compiling comprises a depth-wise traversing of the hierarchically described layout.
-
23. The method of performing an operation on a hierarchically described integrated circuit layout of claim 20 wherein linking comprises a depth-wise traversing of the hierarchically described layout.
-
24. The method of performing an operation on a hierarchically described integrated circuit layout of claim 14 further comprising:
-
combining the first program data with the data describing the integrated circuit layout to produce a second program data that describes a first corrected layout;
providing the second program data to a design rule checker apparatus; and
operating the design rule checker apparatus to determine whether the first corrected layout falls within a set of integrated circuit design rules.
-
-
25. The method of performing an operation on a hierarchically described integrated circuit layout of claim 14 wherein the first program data is provided on a computer readable media.
-
26. The method of performing an operation on a hierarchically described integrated circuit layout of claim 14 wherein the operation comprises one of a group of operations including logical and arithmetic operations.
-
27. The method of performing an operation on a hierarchically described integrated circuit layout of claim 14 wherein the first program data comprises data described by a GDS-II data file.
-
28. The method of performing an operation on a hierarchically described integrated circuit layout of claim 14 wherein the first program data comprises data which corrects the hierarchically described layout for optical proximity effects.
-
29. The method of performing an operation on a hierarchically described integrated circuit layout of claim 14 wherein the first program data comprises data which corrects the hierarchically described layout for a logical operation performed on the hierarchically described layout.
-
30. The method of performing an operation on a hierarchically described integrated circuit layout of claim 29 wherein the logical operation comprises one of a group of logical operations including AND, NOT, OR, NOR and NAND.
-
31. The method of performing an operation on a hierarchically described integrated circuit layout of claim 14 wherein the hierarchically described layout comprises one of a bright field and a dark field layout.
-
32. The method of performing an operation on a hierarchically described integrated circuit layout of claim 14 wherein the hierarchically described layout comprises a phase shifting layout.
-
33. A program storage device readable by a machine, tangibly embodying a program of instructions executable by said machine to perform method steps to perform an operation on a hierarchically described integrated circuit layout, the method comprising:
-
providing the hierarchically described integrated circuit layout as a first input wherein the hierarchically described layout comprises a plurality of cells, the hierarchically described integrated circuit layout having a flattened layout which comprises a rendering of geometric features of the plurality of cells in the hierarchically described integrated circuit layout;
providing a particular set of operating criteria as a second input;
performing a layout operation in accordance with the particular set of operating criteria on the hierarchically described layout; and
generating a first program data comprising hierarchically configured correction data corresponding to the hierarchically described layout, the hierarchically configured correction data comprising a plurality of delta planes corresponding to the plurality of cells, in response to the layout operation such that if the first program data were applied to the flattened layout an output comprising data representative of the result of performing the operation on the hierarchically described layout would be generated. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
compiling the hierarchically described layout, wherein compiling comprises generating a first correction layer for each cell of the plurality of cells in response to the particular set of operating criteria; and
linking the hierarchically described layout, wherein linking comprises modifying the correction layer of each cell in response to the particular set of operating criteria to generate the delta plane for each cell having child cells such that the delta plane of each cell accounts for interaction between each of the cell'"'"'s child cells and interaction between a primitive geometry of the cell and each of the cell'"'"'s child cells.
-
-
40. The program storage device readable by a machine of claim 39 wherein for each cell in the hierarchically described layout the sum of the cell'"'"'s delta plane and the delta planes of the cell'"'"'s child cells comprises a correction plane of the cell wherein the correction plane for each cell in the plurality of cells comprises data that would generate an output data representative of the result of performing the operation on the cell if the correction plane were applied to the flattened cell data.
-
41. The program storage device readable by a machine of claim 39 wherein compiling comprises a depth-wise traversing of the hierarchically described layout.
-
42. The program storage device readable by a machine of claim 39 wherein linking comprises a depth-wise traversing of the hierarchically described layout.
-
43. The program storage device readable by a machine of claim 33 wherein the first program data is provided on a computer readable media.
-
44. The program storage device readable by a machine of claim 33 wherein the operation comprises one of a group of operations including logical and arithmetic operations.
-
45. The program storage device readable by a machine of claim 33 wherein the first program data comprises data described by a GDS-II data file.
-
46. The program storage device readable by a machine of claim 33 wherein the first program data comprises data which corrects the hierarchically described layout for optical proximity effects.
-
47. The program storage device readable by a machine of claim 33 wherein the first program data comprises data which corrects the hierarchically described layout for a logical operation performed on the hierarchically described layout.
-
48. The program storage device readable by a machine of claim 47 wherein the logical operation comprises one of a group of logical operations including AND, NOT, OR, NOR and NAND.
-
49. The program storage device readable by a machine of claim 33 wherein the hierarchically described layout comprises one of a bright field and a dark field layout.
-
50. The program storage device readable by a machine of claim 33 wherein the hierarchically described layout comprises a phase shifting layout.
-
51. The program storage device readable by a machine of claim 33 wherein the program storage device comprises a hard disk drive.
-
52. The program storage device readable by a machine of claim 33 wherein the program storage device comprises storage in a server.
-
53. An apparatus for performing an operation on a hierarchically described integrated circuit layout, the apparatus comprising:
-
a resource for receiving the hierarchically described integrated circuit layout as a first input, wherein the hierarchically described layout comprises a plurality of cells, the hierarchically described layout having a flattened layout which comprises a rendering of geometric features of the plurality of cells in the hierarchically described layout;
a resource for receiving a particular set of operating criteria as a second input;
an operation engine which performs a layout operation in accordance with the particular set of operating criteria on the hierarchically described layout; and
a hierarchy preserver which generates a first program data comprising hierarchically configured correction data corresponding to the hierarchically described layout, the hierarchically configured correction data comprising a plurality of delta planes corresponding to the plurality of cells, in response to the layout operation such that if the first program data were applied to the flattened layout an output comprising data representative of the result of performing the operation on the hierarchically described layout would be generated. - View Dependent Claims (54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72)
a compiler which generates a first correction layer for each cell in response to the particular set of operating criteria; and
a linker which modifies the first correction layer of each cell in response to the particular set of operating criteria to generate the delta plane for each cell such that the delta plane of each cell having child cells accounts for interaction between each of the cell'"'"'s child cells and interaction between a primitive geometry of the cell and each of the cell'"'"'s child cells.
-
-
60. The apparatus for performing an operation on a hierarchically described integrated circuit layout of claim 59 wherein for each cell having child cells in the hierarchically described layout the sum of the cell'"'"'s delta plane and delta planes of the cell'"'"'s child cells comprises a correction plane of the cell wherein the correction plane for each cell in the plurality of cells comprises data that would generate an output data representative of the result of performing the operation on the cell if the correction plane were applied to flattened cell data for the cell and its child cells.
-
61. The apparatus for performing an operation on a hierarchically described integrated circuit layout of claim 59 wherein the generation of the first correction layers comprises a depth-wise traversing of the hierarchically described layout.
-
62. The apparatus for performing an operation on a hierarchically described integrated circuit layout of claim 59 wherein the generation of the delta planes comprises a depth-wise traversing of the hierarchically described layout.
-
63. The apparatus for performing an operation on a hierarchically described integrated circuit layout of claim 53 further comprising:
-
a resource for combining the first program data with the data describing the integrated circuit layout to produce a second program data that describes a first corrected layout; and
a design rule checker apparatus which receives the second program data and which provides an output that indicates whether the first corrected layout falls within a set of integrated circuit design rules.
-
-
64. The apparatus for performing an operation on a hierarchically described integrated circuit layout of claim 53 wherein the first program data is provided on a computer readable media.
-
65. The apparatus for performing an operation on a hierarchically described integrated circuit layout of claim 53 wherein the operation comprises one of a group of operations including logical and arithmetic operations.
-
66. The apparatus for performing an operation on a hierarchically described integrated circuit layout of claim 53 wherein the first program data comprises data described by a GDS-II data file.
-
67. The apparatus for performing an operation on a hierarchically described integrated circuit layout of claim 53 wherein the first program data comprises data which corrects the hierarchically described layout data for optical proximity effects.
-
68. The apparatus for performing an operation on a hierarchically described integrated circuit layout of claim 53 wherein the first program data comprises data which corrects the hierarchically described layout for a logical operation performed on the hierarchically described layout data.
-
69. The apparatus for performing an operation on a hierarchically described integrated circuit layout of claim 68 wherein the logical operation comprises one of a group of logical operations including AND, NOT, OR, NOR and NAND.
-
70. The apparatus for performing an operation on a hierarchically described integrated circuit layout of claim 53 wherein the hierarchically described layout comprises one of a bright field and a dark field layout.
-
71. The apparatus for performing an operation on a hierarchically described integrated circuit layout of claim 53 wherein the hierarchically described layout comprises a phase shifting layout.
-
72. The apparatus for performing an operation on a hierarchically described integrated circuit layout of claim 53 wherein the apparatus comprises a computer program product which comprises a computer usable medium having a computer readable program code embodied therein for causing a computer to perform the operation on the hierarchically described integrated circuit layout.
-
73. A photolithography mask which has been produced according to a method for performing an operation on a hierarchically described integrated circuit layout, the method comprising:
-
providing the hierarchically described integrated circuit layout as a first input wherein the hierarchically described layout comprises a plurality of cells, the hierarchically described layout having a flattened layout which comprises a rendering of geometric features of the plurality of cells in the hierarchically described layout;
providing a particular set of operating criteria as a second input;
performing a layout operation in accordance with the particular set of operating criteria on the hierarchically described layout; and
generating a first program data comprising hierarchically configured correction data corresponding to the hierarchically described layout, the hierarchically configured correction data comprising a plurality of delta planes corresponding to the plurality of cells, in response to the layout operation such that if the first program data were applied to the flattened layout an output comprising data representative of a result of performing the operation on the hierarchically described layout would be generated;
providing the first program data and data describing the hierarchically described layout to a mask making apparatus; and
generating the photolithography mask with the mask making apparatus in response to the data describing the hierarchically described layout and the first program data. - View Dependent Claims (74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92)
compiling the hierarchically described layout, wherein compiling comprises generating a first correction layer for each cell of the plurality of cells in response to the particular set of operating criteria; and
linking the hierarchically described layout, wherein linking comprises modifying the correction layer of each cell in response to the particular set of operating criteria to generate the delta plane for each cell such that the delta plane of each cell having child cells accounts for interaction between each of the cell'"'"'s child cells and interaction between a primitive geometry of the cell and each of the cell'"'"'s child cells.
-
-
80. The photolithography mask of claim 79 wherein for each cell having child cells in the hierarchically described layout the sum of the cell'"'"'s delta plane and the delta planes of the cell'"'"'s child cells comprises a correction plane of the cell wherein the correction plane for each cell in the plurality of cells comprises data that would generate an output data representative of the result of performing the operation on the cell if the correction plane were applied to flattened cell data for the cell and its child cells.
-
81. The photolithography mask of claim 79 wherein compiling comprises a depth-wise traversing of the hierarchically described layout.
-
82. The photolithography mask of claim 79 wherein linking comprises a depth-wise traversing of the hierarchically described layout.
-
83. The photolithography mask of claim 73 wherein the method further comprises:
-
combining the first program data with the data describing the integrated circuit layout to produce a second program data that describes a first corrected layout;
providing the second program data to a design rule checker apparatus; and
operating the design rule checker apparatus to determine whether the first corrected layout falls within a set of integrated circuit design rules.
-
-
84. The photolithography mask of claim 73 wherein the first program data is provided on a computer readable media.
-
85. The photolithography mask of claim 73 wherein the operation comprises one of a group of operations including logical and arithmetic operations.
-
86. The photolithography mask of claim 73 wherein the first program data comprises data described by a GDS-II data file.
-
87. The photolithography mask of claim 73 wherein the first program data comprises data which corrects the hierarchically described layout for optical proximity effects.
-
88. The photolithography mask of claim 73 wherein the first program data comprises data which corrects the hierarchically described layout for a logical operation performed on the hierarchically described layout.
-
89. The photolithography mask of claim 88 wherein the logical operation comprises one of a group of logical operations including AND, NOT, OR, NOR and NAND.
-
90. The photolithography mask of claim 73 wherein the hierarchically described layout comprises one of a bright field and a dark field layout.
-
91. The photolithography mask of claim 73 wherein the hierarchically described layout comprises a phase shifting layout.
-
92. The photolithography mask of claim 73 wherein the method steps for performing the operation on the hierarchically described integrated circuit layout are executed by a machine in response to a program of instructions embodied in a program storage device readable by the machine.
Specification