This application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2005-169801, filed Jun. 9, 2005, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to an evaluation pattern generating method and a computer program product used for verification of optical proximity correction (OPC).
2. Description of the Related Art
In recent years, progress of a semiconductor manufacturing technology has been very remarkable, and a semiconductor device having the minimum process dimension of 70 nm has been mass-produced. The miniaturization of the semiconductor device is achieved by a substantial progress of a fine pattern forming technique such as a mask process technique, an optical lithography technique, and an etching technique.
In the days when pattern sizes have been sufficiently large, a pattern nearly same as the design pattern can be formed on the wafer by drawing a plane shape of a desired integrated circuit as a design pattern on a mask pattern, preparing a mask pattern which is faithful to the design pattern, transferring the mask pattern on the wafer by a projective optical system, and etching an underlying layer.
However, as the miniaturization of semiconductor device and integration of integrated circuit increase, forming the pattern faithfully is getting difficult in each process. As a result, the problem that a final finished dimension is not made to be as the same as a design pattern has been brought about.
In order to solve such a problem, correction for modifying a pattern of design data is generally performed so that a desired pattern can be obtained when a pattern formed on a photo mask is transferred onto the wafer (Jpn. Pat. Appln. KOKAI Publication No. 09-186058). Correction of this type is referred to as optical proximity correction (hereinafter, referred to as OPC). A variety of techniques have been proposed and carried out so far.
In the case of using OPC, there is a need for a technique of evaluating the correctness of correction. One method of verifying the correctness of OPC includes a method using an evaluation pattern.
There is no dedicated software (program) for generating an evaluation pattern. Therefore, the evaluation pattern is generated using a general-purpose program language. Verification precision becomes higher as the number of variation of pattern shapes increases. However, the variation of pattern shapes is designed by humans, and thus, it is difficult to easily generate rich pattern variations.
According to an aspect of the present invention, there is provided an evaluation pattern generating method comprising: generating plural types of unit patterns based on a seed pattern group and a unit frame, the seed pattern group including plural types of seed patterns, each of the plural types of unit patterns including a pattern that corresponds to the seed pattern arranged in the unit frame; and generating plural types of evaluation patterns based on the plural types of unit patterns and an arrangement frame having size that is N times of the unit frame (N is a positive integer), each of the plural types of evaluation patterns including the plural types of evaluation unit patterns arranged in the arrangement frame so that the inside of the arrangement frame is filled with the plural types of the unit patterns.
According to another aspect of the present invention, there is provided a computer program product configured to store program instructions for execution on a computer system enabling the computer system to perform: generating plural types of unit patterns based on a seed pattern group and a unit frame, the seed pattern group including plural types of seed patterns, each of the plural types of unit patterns including a pattern that corresponds to the seed pattern arranged in the unit frame; and generating plural types of evaluation patterns based on the plural types of unit patterns and an arrangement frame having size that is N times of the unit frame (N is a positive integer), each of the plural types of evaluation patterns including the plural types of evaluation unit patterns arranged in the arrangement frame so that the inside of the arrangement frame is filled with the plural types of the unit patterns.
Now, embodiments of the present invention will be described here with reference to the accompanying drawings.
First, plural types of unit patterns D3 (output data) are generated using a seed pattern group D1 which includes a plurality of seed patterns, and a unit frame D2 as input data (step S1).
In
As shown in
Length (unit frame size) L1 of vertical and horizontal sides of the unit frame D2 is such that the vertical and horizontal sides of the seed pattern frame SF are magnified to be equal to each other. The shape of the unit frame D2 is formed in a square. With the magnified vertical and horizontal sides of the seed pattern frame SF, the seed pattern SP is magnified similarly. The thus magnified pattern is provided as the unit pattern D3.
Therefore, a length of one side of the seed pattern frame SF to which the seed pattern SP is specified is magnified (changed) to an extent corresponding to the unit frame size L1, whereby the unit pattern D3 is obtained. For example, in the case where the length of one side of the seed pattern frame SF is L1/4, the length L1/4 of one side of the seed pattern frame SF specified with the seed pattern SP is changed to L (specified size), whereby the unit pattern D3 is obtained. Therefore, plural types of unit patterns D3 is obtained by specifying specified size L and changing length L1/4 to L for each of one side of the seed pattern frames S specified with the seed patterns SP.
Next, a unit pattern is arranged using plural types of unit patterns D3 and arrangement frames D4 for input data (step S2), and plural types of evaluation patterns D5 are generated.
As shown in
A required number of evaluation patterns D5 can be obtained by changing the arrangement of a plurality of unit patterns D3. Here, all arrangement variations are generated.
A total number M of types of unit patterns D3 is fewer than the number (N) of unit patterns D3 required to configure the evaluation pattern D5 (M<N). Thus, the same type of unit patterns D3 exist in N unit patterns D3 that configure the evaluation patterns D5.
In the case where the total number M of types of unit patterns D3 is greater than or equal to that of unit patterns D3 required to configure the evaluation pattern D5 (M≧N), unit pattern D3 that is not used may be generated.
First, a basic pattern is generated using coordinate point D101 expressing the basic pattern for input data (step S101), and a basic unit D102 (output data) is generated.
Next, value assigning of the basic pattern is performed by using the portions of the basic pattern (assignment portion) to which values (sizes) are desired to be assigned and its values (assignment values) D103 as input data (step S102), and an evaluation pattern D104 is generated.
In the case of comparative example, a basic pattern is generated, further, its assignment portion 10 and assignment value are changed, thereby a required number of evaluation patterns are obtained.
There are three problems in comparative example described above.
First, the first problem is that a variation of pattern shapes (basic pattern shape, assignment portion, and assignment value) must be determined on the human side. Therefore, it is difficult to achieve rich pattern variations.
The second problem is that only a pattern that can be realized by one-stroke writing can be handled as a basic pattern. This makes it difficult to achieve rich variations.
The third problem is that it takes long to generate a required number of evaluation patterns. That is, a coordination point must be inputted every time a basic pattern is generated, and it is very cumbersome.
In contrast, in the case of the present embodiment, the seed pattern group D1 having simple shapes and unit frame D2 are merely generated on the software (program) or human side, and thus, the first problem does not occur.
With respect to the second problem, in the case of the present embodiment, a basic pattern as generated in comparative example is not used, and thus, the second problem does not occur. In addition, according to the present embodiment, an evaluation pattern D5 that is not realized by one-stroke writing is also generated as shown in
In the case of the present embodiment, the steps S1 and S2 are executed by an information processing device such as a computer, whereby plural types of evaluation patterns can be easily generated. Thus, the third problem does not occur.
Therefore, according to the present embodiment, rich pattern variations can be easily generated.
The present embodiment is different from the first embodiment in that a drawing grid (design grid) Dg is used as input data for generating the unit pattern (step S1) in addition to the seed pattern group D1 and unit frame D2 (step S1).
Therefore, a unit pattern D3 is generated in units of drawing grid Dg, as shown in
In the present embodiment as well, an advantageous effect similar to that of the first embodiment can be obtained. Further, according to the present embodiment, an evaluation pattern covering all variations required for verification of OPC can be generated, as a result, it becomes possible to completely eliminate middle scale or large scale data verification that is operated in the OPC verification method of comparative example. This OPC verification method will be described in more detail in a twelfth embodiment.
In the present embodiment, a plurality of evaluation patterns generated in the step of arranging a unit pattern (step S2) is defined as evaluation pattern candidates D5c, respectively. These evaluation pattern candidates D5c are checked by design rule check using a design rule DR, and every pattern candidate D5c conforming to the design rule is extracted (step S3). The every extracted evaluation pattern candidate D5c is defined as evaluation pattern D5.
According to the present embodiment, in addition to an advantageous effect similar to that of the first embodiment, there can be attained an advantageous effect that the number of evaluation patterns that could be increased sharply can be restricted.
The present embodiment is different from the first embodiment in that, in the step of arranging the unit pattern (step S2), a unit pattern D3 is arranged randomly instead of generating all arrangement variations. As a method for arranging the unit pattern D3 randomly, a method using Monte Carlo method is given for instance.
According to the present embodiment, in addition to the advantageous effect similar to that of the first embodiment, there can be attained an advantageous effect that the number of evaluation patterns that could be increased sharply can be restricted to a realistic number.
Instead of arranging the unit pattern D3 randomly by using Monte Carlo method, the unit pattern D3 may be arranged by changing a probability of generating the unit pattern D3.
In the case of using the Monte Carlo method, the probabilities of generating the unit pattern D3 that corresponds to the seed pattern group D1 shown in
Such an arrangement method can be carried out by making correction so that a probability of generating a certain unit pattern D3 is different from that of another unit pattern D3 in Monte Carlo method.
The present embodiment is different from the first embodiment in that, in the step of arranging the unit pattern (step S2), an arrangement variation is generated so that a portion connected at a point does not occur between unit patterns D3 connected to each other.
According to the present embodiment, an advantageous effect similar to that of the first embodiment can be attained. Further, according to the present embodiment, there can be attained an advantageous effect that the number of evaluation patterns that could be increased sharply can be restricted to a realistic number by forbidding (disabling) point connection and arranging the unit pattern D3. Further, there is a high possibility that point connection portions cannot be realized on a wafer, and thus, there is no need for generating a wasteful evaluation pattern.
The present embodiment is different from the first embodiment in that the step of the arranging the unit pattern (step S2) includes a step of assigning a space width value or a line width value by moving upwardly or downwardly a boundary (horizontal line) Lh between a space and a pattern, or moving to the right or left a boundary (vertical line) Lv between a space and a pattern as shown in
According to the present embodiment, an advantageous effect similar to that of the first embodiment can be attained. Further, according to the present embodiment, it becomes possible to make richer variations of evaluation patterns by using the pattern obtained by assigning the space width value or the line width value as the evaluation pattern D5.
The present embodiment is different from the first embodiment in that the step of the arranging the unit pattern (step S2) includes a step of rotating the generated unit pattern D3 (rotation angle θ=0 degree) (by 90 degrees, 180 degrees, and 270 degrees) as shown in FIGS. after the generating the unit pattern D3. 15A to 15D, and a step of adding a pattern obtained by rotating the unit pattern D3 to the unit pattern D3.
According to the present embodiment, an advantageous effect similar to that of the first embodiment is attained. Further, according to the present embodiment, the pattern obtained by rotating the unit pattern D3 is utilized as the unit pattern D3, thereby making it possible to efficiently increase variations of evaluation patterns.
The present embodiment is different from the second embodiment in that the step of arranging a unit pattern (step S2) includes a step of expanding or reducing the generated unit pattern D3 in one direction as shown in
According to the present embodiment, an advantageous effect similar to that of the second embodiment is attained. Further, according to the present embodiment, only the pattern obtained by expanding or reducing the unit pattern D3 in one direction is utilized as the unit pattern D3, thereby making it possible to efficiently restrict an increasing number of evaluation patterns.
The present embodiment is different from the first embodiment in that the step of the generating the unit pattern (step S1) includes a step of shrinking the generated unit pattern D3 after the generating the unit pattern D3, and a step of adding the shrunk unit pattern D3 to the unit pattern D3. The above described shrinking denotes converting a pattern of one generation to a finer generation pattern in accordance with scaling rule.
According to the present embodiment, an advantageous effect similar to that of the first embodiment is attained. Further, according to the present embodiment, a pattern obtained by shrinking the unit pattern D3 is also utilized as the unit pattern D3, thereby evaluation patterns of their different generations are obtained, thus making it possible to increase richer variations of the evaluation patterns.
The present embodiment is different from the first embodiment in that a unit frame which is obtained by adjusting size of unit frame (unit frame size L) prepared beforehand (the unit frame D2 shown in
According to the present embodiment, an advantageous effect similar to that of the first embodiment is attained. Further, according to the present embodiment, a unit frame whose size is adjusted to be larger is used, thereby making it possible to restrict increasing number of evaluation patterns. In contrast, a unit frame whose size is adjusted to be smaller is used, thereby making it possible to increase the variations of evaluation patterns.
There is no need for preparing the unit frame whose size is adjusted if a step of adjusting the size of unit frame prepared beforehand (unit frame D2 shown in
The present embodiment is different from the second embodiment in that an increasing number of evaluation patterns are restricted by roughening a drawing grid Dg.
First, the first verification of an OPC program is made by verification program for verifying the OPC program using an evaluation pattern (small scale data) D5 generated by any of the methods according to the first to eleventh embodiments and an OPC program D11 targeted for the verification as input data (step S11). The first verification (step S11) corresponds to a small scale data verification of comparative example described later.
Next, it is judged whether or not an error occurs with the OPC program, based on a result of the first verification (step S12).
In the case where the error occurs, tuning of the OPC program D11 is carried out (step S13). Thereafter, the first verification is made again. A looping of the steps S11 to S13 ends, for example, if the number of the loop reaches a predetermined number, for preventing the loop from being an indefinite loop.
In the case where no error occurs, the second verification of the OPC program is made by verification program for verifying the OPC program using actual product design pattern data (large scale data) D12 as input data (step S14). The second verification (step S14) corresponds to a large scale data verification of comparative example, described later.
A data quantity of the design pattern data D12 is larger than a data quantity of the evaluation pattern D5 in general. Here, in the case of the present embodiment, pattern variations of the evaluation patterns D5 are rich, thus making it possible to eliminate the second verification (step S14). That is, the evaluation pattern D5 may include data used in the second verification (step S14).
Next, it is judged whether or not an error occurs with the OPC program based on a result of the second verification (step S15).
In the case where an error occurs, tuning of the OPC program D11 is carried out (step S16). Thereafter, the first verification is carried out again. A loop of the steps S14 to S16 ends, for example, if the number of the loop reaches a predetermined number.
In the case where no error occurs, the OPC program is accepted as the one that can be released as an actual product (step S17).
The OPC verification method of comparative example has three verification steps (small scale data check S21, middle scale data check S23, and large scale data check S25) and three judging steps S22, S24, and S26.
In contrast, in the case of the present embodiment, a maximum of two verification steps S11 and S14 and two judging steps S12 and S15 will suffice. Therefore, according to the present embodiment, as compared with comparative example, the OPC verification can be made in a shorter period of time.
In the OPC verification method of comparative example, there is a need for preparing a standard pattern, a pattern which caused a problem in the past, and a pattern generated by auto generation as small scale data D21. Further, in the case of comparative example, there is a need for preparing middle scale data D22 that is not used in the present embodiment. Therefore, in comparative example, it takes long to prepare OPC verification data. In contrast, in the case of the present embodiment, there is no need for the middle scale data D22. In addition, the evaluation pattern D5 corresponding to the small scale data D21 can be easily generated. Thus, it does not take long for preparing data compared to comparative example.
An OPC process (step S31) is made using the OPC program D11 and product design pattern data D12. Confirmation and verification of the OPC process (steps S32 and S33) are made using a verification program D32 as required.
The OPC program D11 of the present embodiment is generated using the evaluation pattern D5 having rich pattern variations. Thus, it is presumed that the evaluation pattern D5 of the embodiment includes a variety of patterns (additional pattern and modified pattern) generated in the OPC process. Therefore, the OPC process of the present embodiment basically does not require the confirmation and verification (steps S32 and S33).
The OPC process is made using an OPC program D31 and the product design pattern data D12 (step S41).
Next, verification of the OPC process is made using the verification program D32 (step S42).
As a result of the check, in the case where an error occurs in the OPC process, tuning of the OPC program and correction of design data are made, and further, a pattern proved to error (unpredicted pattern) is registered as a small scale verification pattern (step S44).
The OPC program D31 of comparative example is generated using an evaluation pattern that lacks a pattern variation. Thus, there is no guarantee that the evaluation pattern of comparative example includes a pattern (additional pattern or modified pattern) generated in the OPC process. Therefore, there is a need for verifying the OPC process of comparative example.
A method for generating an evaluation pattern of the embodiment described above can be carried out as a computer program product (for example, CD-ROM or DVD) 22 having recorded therein a program 21 to be executed by a system including a computer 20, as shown in
For example, a computer program product of the method for generating the evaluation pattern of the embodiment causes a computer to execute the step (instruction) that includes the step (instruction) corresponding to the steps S1 and S2 or the steps S1 to S3 of the embodiment described above.
The program in the computer program product is executed using hardware resources, such as a CPU and memory in the computer (external memory may be concurrently used depending on the case). The CPU reads necessary data from the memory, and executes instructions corresponding to the steps described above for the read data. The result of the respective step (execution of the respective instruction) is temporarily stored by necessary in the memory, and is read out when it is required in the other step (instruction).
Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.
| Number | Date | Country | Kind |
|---|---|---|---|
| 2005-169801 | Jun 2005 | JP | national |