Photoetching mask optimization method and related product

By optimizing the photolithography mask in stages, the problem of inconsistent patterns at the grid boundaries was solved, achieving high consistency and continuity of the mask pattern and reducing the photolithography defect rate in the photolithography process.

CN121956409APending Publication Date: 2026-05-01SHENZHEN JINGYUAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHENZHEN JINGYUAN INFORMATION TECH CO LTD
Filing Date
2026-03-25
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

In parallel computing schemes, the inconsistency or poor continuity of the mask pattern at the grid boundary of the photolithography mask can lead to lithographic defects in the photolithography process.

Method used

A phased optimization method is adopted. First, the target extended block is initially corrected using OPC graphics. Then, the data of the adjacent extended blocks that have completed OPC graphics correction are used to perform advanced OPC graphics correction on the overlapping area to ensure the consistency and continuity of the mask graphics at the grid boundary.

Benefits of technology

This significantly improves the consistency and continuity of the mask pattern at the grid boundaries, and reduces the occurrence rate of lithographic defects in the photolithography process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121956409A_ABST
    Figure CN121956409A_ABST
Patent Text Reader

Abstract

The invention provides a photoetching mask optimization method and a related product. The optimization method of the photoetching mask comprises the following steps: acquiring a target extension block in a plurality of extension blocks of a mask plate graph, wherein the target extension block has adjacent extension blocks with higher priorities; carrying out limited rounds of initial OPC pattern correction on the mask pattern in the target expansion block; and performing limited rounds of advanced OPC pattern correction on the mask pattern outside the overlapping region of the target expansion block by using the pattern data of the adjacent expansion block, which has been subjected to OPC pattern correction, in the region overlapped with the target expansion block. According to the optimization method, the number or the dislocation degree of the pattern dislocation formed at the boundary splicing position of the overlapping region is greatly reduced, so that the consistency and the continuity of the large-size mask pattern are improved, and the occurrence rate of photoetching dead pixels in the subsequent photoetching process is greatly reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of integrated circuit technology, and in particular to a method for optimizing photolithographic masks, computer-readable storage media, computer program products, and computer devices. Background Technology

[0002] As the integration level of integrated circuits continues to increase and critical dimensions continue to shrink, higher demands are placed on mask design and optimization. Optical proximity correction (OPC) is a commonly used mask optimization technique. This technique uses physical models to approximately simulate the physical and chemical effects that occur during exposure and etching. Based on the simulation results, the mask pattern is then finely corrected. This simulation and pattern correction process is repeated multiple times until the image contour after exposure and etching on the silicon wafer closely matches the design pattern. Finally, a corrected mask that can achieve the required circuit functions for actual production is obtained.

[0003] Due to the extremely complex combined effects of the entire exposure and etching process, OPC optimization requires many rounds of iterative correction to obtain an approximate optimal solution. Furthermore, in actual production, the entire chip contains hundreds of millions of mask patterns that need correction, making the OPC optimization calculation process very time-consuming. To improve OPC optimization efficiency, parallel computing schemes have been proposed in related technologies. The parallel computing scheme mainly involves dividing the chip mask pattern into a tiled square grid, performing the OPC optimization task within each grid in parallel on multiple nodes of the computing cluster, and finally stitching together the optimized results from each grid.

[0004] However, after stitching together the optimized results of each grid, problems such as inconsistent mask patterns or poor continuity will occur, especially for mask patterns that cross grids, where the inconsistency at the grid boundaries is particularly prominent. Summary of the Invention

[0005] One object of the present invention is to provide a method for optimizing a photolithographic mask, a computer-readable storage medium, a computer program product, and a computer device to improve the consistency or continuity of the mask pattern at the grid boundary after optimization of adjacent grids.

[0006] Specifically, according to one aspect of the present invention, the present invention provides a method for optimizing a photolithographic mask, comprising: Obtain the target extended block from multiple extended blocks of the mask layout. The extended block is obtained by extending outward from multiple blocks obtained by dividing the mask layout. The priority of adjacent extended blocks is configured to be different. The priority is used to indicate the order of OPC graphic correction. The target extended block has adjacent extended blocks with higher priority. Perform a limited number of preliminary OPC pattern corrections on the mask pattern within the target extended block; Using the completed OPC graphic correction graphic data of the region of the adjacent extended block that overlaps with the target extended block, a limited number of rounds of advanced OPC graphic correction are performed on the mask graphic of the target extended block that is outside the overlapping region.

[0007] Optionally, the target extended block among the multiple extended blocks of the obtained mask layout includes: The target extended block data is obtained using the target node among multiple nodes in the computing cluster; The steps of performing one round of preliminary OPC pattern correction on the mask pattern within the target extended block include: The target node uses a set OPC algorithm to calculate the first offset of each segment edge of the mask pattern within the target extended block, and the multiple segments edge are formed by breaking the mask pattern with edges; The segment edge within the target extended block is offset using the first offset.

[0008] Optionally, the step of performing one round of advanced OPC graphic correction on the mask graphic of the target extended block outside the overlapping area using the completed OPC graphic correction data of the region of the adjacent extended block that overlaps with the target extended block includes: If the target node does not have OPC-corrected graphic data for the region overlapping with the target extended block in the adjacent extended block, the target node obtains the OPC-corrected graphic data for the overlapping region from the adjacent node responsible for the adjacent extended block among the plurality of nodes. The data of the overlapping region in the target node is updated using the OPC graphic data of the overlapping region that has been corrected. Based on the updated data of the target extended block, the second offset of each segment edge of the target extended block that is outside the overlapping region is calculated using the set OPC algorithm; The second offset is used to offset the segment edges of the target extended block that are outside the overlapping region.

[0009] Optionally, before the step of the target node calculating the first offset of each segment edge of the mask pattern within the target extended block using a set OPC algorithm, the method further includes: The target node obtains the graphic data of the overlapping area with completed OPC graphic correction from the adjacent nodes; The target node uses a predefined OPC algorithm to calculate the first offset of each edge segment of the mask pattern within the target extended block, including: The target node uses the OPC-corrected graphic data of the overlapping region to obtain the offset range of each segment edge within the overlapping region of the target node. Based on the data of the target extended block local to the target node, and with the offset range as a constraint, the first offset of each segment edge within the target extended block is calculated using a set OPC algorithm.

[0010] Optionally, the target node uses the OPC-corrected graphical data of the overlapping region to obtain the offset range of each segment edge within the overlapping region locally, including: Obtain the final offset of each segment edge in the graphic data of the overlapping region after OPC graphic correction; The offset direction of the final offset of each of the aforementioned segment edges is respectively used as the offset direction of the first offset to be calculated for each of the aforementioned segment edges in the overlapping region of the target node, wherein the offset direction includes outward offset and inward offset; or Based on the final offset of each segment edge, the lower limit and upper limit of the first offset to be calculated for each segment edge in the overlapping region of the target node are determined.

[0011] Optionally, before the step of the target node calculating the first offset of each segment edge of the mask pattern within the target extended block using a set OPC algorithm, the method further includes: The target node obtains the graphic data of the overlapping area with completed OPC graphic correction from the adjacent nodes; The target node uses a predefined OPC algorithm to calculate the first offset of each edge segment of the mask pattern within the target extended block, including: Obtain the final offset of each segment edge in the graphic data of the overlapping region after OPC graphic correction; A penalty function term is generated using the final offset of each of the aforementioned segment edges. The penalty function term is used to characterize the overall deviation between the first offset to be calculated and the final offset of each of the aforementioned segment edges within the overlapping region of the target node. Based on the penalty function term, a target function for setting the OPC algorithm is generated. The target function is used to calculate the first offset of each segment edge of the target extended block. The objective function is used to calculate the first offset of each of the segment edges within the target extended block.

[0012] Optionally, the number of rounds for the initial OPC graph correction of the target extended block is greater than the number of rounds for the advanced OPC graph correction.

[0013] According to another aspect of the present invention, a computer-readable storage medium is also provided, on which a computer program is stored, wherein the computer program, when executed by a processor, implements the steps of the optimization method for photolithographic masks described above.

[0014] According to another aspect of the present invention, a computer program product is also provided, comprising a computer program that, when executed by a processor, implements the steps of the optimization method for any of the above-described photolithographic masks.

[0015] According to another aspect of the present invention, a computer device is also provided, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the photolithographic mask optimization method described above.

[0016] The photolithography mask optimization method of this invention divides the OPC optimization of lower-priority extended regions into two stages. In the preliminary OPC pattern correction stage, a mask pattern with more degrees of freedom is used to correct the pattern within the target extended block, making the pattern after preliminary OPC pattern correction closer to the OPC pattern correction patterns of adjacent extended blocks. In the advanced OPC pattern correction stage, the pattern data after preliminary OPC pattern correction is replaced with the pattern data after preliminary OPC pattern correction in the overlapping region. This significantly reduces the number or degree of pattern misalignment at the boundary splicing of the overlapping region, thereby improving the consistency and continuity of large-size mask patterns, and consequently significantly reducing the occurrence rate of photolithography defects in subsequent photolithography processes.

[0017] The above and other objects, advantages and features of the present invention will become more apparent to those skilled in the art from the following detailed description of specific embodiments of the invention in conjunction with the accompanying drawings. Attached Figure Description

[0018] The following sections will describe some specific embodiments of the invention in detail by way of example and not limitation, with reference to the accompanying drawings. The same reference numerals in the drawings denote the same or similar parts or portions. Those skilled in the art should understand that these drawings are not necessarily drawn to scale. In the drawings: Figure 1 This is a flowchart illustrating a method for optimizing a photolithographic mask according to an embodiment of the present invention; Figure 2 This is a schematic diagram of the structure of multiple blocks of a mask layout for an optimization method according to an embodiment of the present invention; Figure 3This is a flowchart illustrating the preliminary OPC graph correction process of an optimization method according to an embodiment of the present invention. Figure 4 This is a schematic diagram of the structure for preliminary OPC graphic correction of a target extended block according to an embodiment of the present invention. Figure 5 This is a flowchart illustrating the advanced OPC graph correction method according to an embodiment of the present invention. Figure 6 This is a schematic flowchart illustrating the calculation of the first offset in the preliminary OPC graphic correction of an optimization method according to an embodiment of the present invention. Figure 7 This is a flowchart illustrating the process of obtaining the offset range of the first offset in the preliminary OPC graphic correction of an optimization method according to an embodiment of the present invention. Figure 8 This is a flowchart illustrating the process of obtaining the offset range of the first offset in the preliminary OPC graphic correction of the optimization method according to another embodiment of the present invention. Figure 9 This is a flowchart illustrating the calculation of the first offset in the preliminary OPC graphic correction of the optimization method according to another embodiment of the present invention; Figure 10 This is a schematic diagram of a computer program product according to an embodiment of the present invention; Figure 11 This is a schematic diagram of a computer-readable storage medium according to an embodiment of the present invention; Figure 12 This is a schematic diagram of a computer device according to an embodiment of the present invention. Detailed Implementation

[0019] Masks are used to transfer design patterns onto silicon wafers during chip manufacturing. Masks undergo complex physical and chemical effects during the exposure and etching processes of photolithography. Currently, with the increasing integration of integrated circuits and the shrinking of critical dimensions, even minute imperfections in the mask can cause severe distortion in the final imaging result, preventing the chip manufactured based on the mask from achieving the required circuit functions. At the same time, there are bottlenecks in improving the performance of photolithography machines. Therefore, resolution enhancement technology (RET), which can improve the imaging capabilities of the entire photolithography system, has long been an important research area of ​​continuous focus in the industry.

[0020] Among the many RET techniques, optical proximity correction (OPC) is one of the most commonly used mask optimization techniques. This technique can approximate the physical and chemical effects that occur during exposure and etching through a physical model. Then, based on the simulation results, the mask pattern is finely corrected. This simulation and pattern correction process is repeated multiple times until the imaging contour after exposure and etching on the silicon wafer is close enough to the design pattern. Finally, a corrected mask that can realize the required circuit function is obtained for actual production.

[0021] Due to the extremely complex combined effects of the entire exposure and etching process, OPC optimization requires many rounds of iterative correction to obtain an approximate optimal solution. Furthermore, in actual production, the entire chip contains hundreds of millions of mask patterns that need correction, making the OPC optimization calculation process very time-consuming. To improve OPC optimization efficiency, parallel computing schemes have been proposed in related technologies. The parallel computing scheme mainly involves dividing the chip mask pattern into a tiled square grid, performing the OPC optimization task within each grid in parallel on multiple nodes of the computing cluster, and finally stitching together the optimized results from each grid.

[0022] However, when stitching together the optimized results of each grid, problems such as inconsistent mask patterns or poor continuity occur, especially for mask patterns that span grids, where inconsistencies are particularly prominent at grid boundaries.

[0023] The purpose of the photolithography mask optimization method in this embodiment is to improve the consistency or continuity of the mask pattern at the grid boundary after optimization of adjacent grids.

[0024] Figure 1 This is a flowchart illustrating a method for optimizing a photolithographic mask according to an embodiment of the present invention. The method generally includes: S100, Obtain the target extended block from multiple extended blocks of the mask layout. The extended block is obtained by extending outward from multiple blocks obtained by dividing the mask layout. The priority of adjacent extended blocks is configured to be different. The priority is used to indicate the order of OPC graphic correction. The target extended block has adjacent extended blocks with higher priority. S200 performs a limited number of preliminary OPC pattern corrections on the mask pattern within the target extended block; S300 uses the completed OPC graphic correction graphic data of the region of the adjacent extended block that overlaps with the target extended block to perform a limited number of rounds of advanced OPC graphic correction on the mask graphic of the target extended block that is outside the overlapping region.

[0025] For example, the master node of the computing cluster is first used to divide the mask pattern into tiled blocks of a set grid size (e.g., ten to tens of micrometers) to ensure that each mask pattern on the mask pattern can be completely covered by one or more blocks.

[0026] Next, the master node can be used to divide all blocks into different priorities according to a certain algorithm, so that any two adjacent blocks have different priorities. In the subsequent OPC optimization process, the optimization will be performed in descending order of priority. Blocks of the same priority can be optimized in parallel. Only after all blocks of the previous priority have been optimized will the OPC optimization task for the next priority block begin.

[0027] Please see Figure 2 , Figure 2 The diagram illustrates multiple blocks of the mask layout, where each solid-line box represents a block. The higher the priority value, the higher the level. The priority values ​​of any two adjacent blocks are not equal, so that when blocks with the same priority are optimized in parallel, the optimization results do not affect each other. Figure 2 The blocks are set to 4 priorities. Blocks with higher priority numbers are optimized first. The arrows indicate that the blocks optimized first have an impact on the blocks optimized later.

[0028] Next, each block is expanded outwards to form an extended block. Specifically, based on a set width value, the four boundaries of the current block are expanded outwards by that width value, forming a U-shaped buffer region. The block and the buffer region together constitute the extended block. The purpose of forming the extended block is to increase the computational field of view during OPC optimization, thereby enabling the calculation of the impact of the pattern within the buffer region on the block due to the optical proximity effect. The specific width value can be determined based on the range of influence of the physicochemical effects during the photolithography process.

[0029] According to the relevant technical solutions, the next step should be for the master node to send the data of each extended block to the corresponding node, and each node to use the data of the extended block it is responsible for to perform OPC optimization on the mask pattern within the block in order of priority. After all blocks have been optimized, the mask patterns of all blocks are then stitched together. However, stitching can lead to inconsistencies or poor continuity of mask patterns across blocks at block boundaries.

[0030] To overcome the above problems, the inventors of this application propose the following improvement scheme without changing the parallel distribution framework: After the master node sends the data of each extended block to the corresponding node, each node performs OPC optimization on the mask pattern (including the mask pattern in the block and its buffer area) in the extended block it is responsible for in order of priority.

[0031] Specifically, for the highest priority extended block, its corresponding node performs OPC optimization on the mask pattern within this extended block. After optimization, the optimization result of this extended block is saved. For example, the result within the block is split and output to a final file that saves the chip optimization result layout, while the result of the region of this extended block that overlaps with the adjacent low-priority extended blocks is output to another temporary file, which is then retrieved and used by the node responsible for the low-priority extended blocks.

[0032] It's important to understand that the optimization results of the first optimized block will have a certain impact on adjacent blocks that are optimized later (the optimization results will create an optical proximity effect in the area near the boundary line, thus affecting adjacent blocks). Blocks with higher priority are usually critical circuit areas of the chip, or areas with more complex patterns that can easily affect manufacturing yield. Therefore, the final optimization result of the mask pattern in the overlapping area of ​​the extended blocks is determined by the OPC optimization result of the extended block with the highest relative priority among the involved extended blocks.

[0033] Next, OPC optimization is performed on expansion blocks with priorities lower than the highest priority. Using a total of four priority levels as an example, the target expansion block (obtained by expanding outwards from the target block) can have a priority of level 3, level 2, or level 1 (level 4 being the highest priority). When multiple nodes in the computing cluster begin performing OPC optimization in parallel on all expansion blocks of the same priority level as the target expansion block, all expansion blocks with priorities higher than the target expansion block have already completed OPC optimization.

[0034] In this embodiment, adjacent extended blocks (obtained by expanding outwards from adjacent blocks, where an adjacent block represents a block adjacent to the target block and with a higher priority) represent extended blocks that overlap with the target extended block and have a higher priority. There can be one or more adjacent extended blocks, and the overlapping area of ​​the target extended block can also be one or more. It should be understood that for overlapping areas composed of three or more extended blocks, the final optimization result is determined by the OPC optimization result of the block with the highest priority.

[0035] Since the final optimization result of the overlapping region of the target extended block is determined by the OPC optimization results of adjacent extended blocks, when performing OPC optimization on the target extended block, the data of the corresponding overlapping region of the target extended block can first be replaced with the graphic data of the adjacent extended blocks that have completed OPC graphic correction, as the final optimization result for that region. That is, the graphic of the overlapping region of the target extended block is deleted, and the graphic of the overlapping region of the adjacent extended blocks is stitched into the target extended block. Then, multiple rounds of OPC graphic correction are performed on the region outside the overlapping region of the target extended block until the optimization result for the region outside the overlapping region of the target extended block is obtained. In this way, the consistency requirement of the mask graphic at the block boundary (i.e., within the overlapping region) is satisfied, eliminating or reducing the problem of inconsistency or poor continuity of mask graphics across blocks at the block boundary.

[0036] However, for larger mask patterns, such as those spanning the overlapping areas of the target extension block and adjacent extension blocks (e.g., long straight conductors), significant pattern misalignment may still occur at the splicing point when stitching the patterns of the overlapping areas of adjacent extension blocks into the target extension block. After performing OPC optimization on the areas outside the overlapping region of the target extension block based on the layout with significant pattern misalignment, the resulting optimized pattern exhibits poor continuity at the pattern misalignment points, which can easily lead to lithographic defects in subsequent photolithography processes.

[0037] In this embodiment, to further address the problem of poor graphic continuity at the boundaries of overlapping regions, the inventors have further improved the optimization method, creatively setting the OPC optimization process for the target extended block into two stages: preliminary OPC graphic correction and advanced OPC graphic correction. Taking the total number of iterations required for the OPC optimization process of the target extended block as an example, the preliminary OPC graphic correction first iterates for LK-1 rounds, and from the LKth round onwards, the advanced OPC graphic correction iteration begins. Here, LK-1 is an integer greater than or equal to 1, and K is also an integer greater than or equal to 1.

[0038] During the initial OPC pattern correction, the original layout of the target extended block is used to perform OPC pattern correction on all mask patterns within the target extended block (including mask patterns within overlapping areas). In other words, during the initial OPC pattern correction stage, the data in the corresponding overlapping area of ​​the target extended block is not replaced with the already corrected OPC pattern data from adjacent extended blocks. This allows the initial OPC pattern correction to maintain the maximum degree of freedom in pattern correction, completing the initial stage of OPC optimization.

[0039] During the initial OPC pattern correction iterations, as the number of iterations increases, the mask pattern within the target expansion block generally tends to stabilize, and the amount of local pattern correction generated in each iteration gradually decreases. At this point, advanced OPC pattern correction iterations can begin.

[0040] After entering the advanced OPC graphic correction stage, the graphic data of the target extended block that has completed the initial OPC graphic correction can be replaced first with the graphic data of the adjacent extended block that has completed the OPC graphic correction. Then, the updated data of the target extended block is used to perform multiple rounds of OPC graphic correction on the area outside the overlapping area of ​​the target extended block until the final optimization result is obtained.

[0041] During the initial OPC pattern correction stage, the OPC algorithm simultaneously corrects the mask patterns both within and outside the overlapping area. This makes the pattern at the boundary of the overlapping area, after initial OPC pattern correction, closer to the pattern of the adjacent extended block that has completed OPC pattern correction. Therefore, when stitching together the pattern data of the adjacent extended block after completing OPC pattern correction in the advanced OPC pattern correction stage, the number or degree of pattern misalignment formed at the stitching point of the overlapping area boundary is greatly reduced. This improves the consistency and continuity of large-size mask patterns, and consequently significantly reduces the occurrence rate of lithographic defects in subsequent lithography processes.

[0042] In practical use, those skilled in the art can set the values ​​of L and K reasonably as needed, thereby further improving the consistency and continuity of cross-block mask patterns, which will not be elaborated here.

[0043] In some embodiments of the photolithographic mask optimization method of the present invention, such as Figure 3 As shown, the target extended block among multiple extended blocks of the mask layout is obtained, including: S111 uses the target node among multiple nodes in the computing cluster to obtain data for the target extended block.

[0044] The steps for performing a preliminary OPC pattern correction on the mask pattern within the target extended block include: S211, the target node uses the set OPC algorithm to calculate the first offset of each segment edge of the mask pattern in the target extended block, and multiple segments edge are formed by breaking the mask pattern through edges; S213, offset the segment edges within the target extended block using the first offset.

[0045] Please see Figure 4 , Figure 4 This is a schematic diagram of the structure for preliminary OPC graphical correction of a target extended block. Figure 4Solid squares represent target blocks, dotted-line squares represent target extended blocks, shaded squares represent the original mask pattern, dashed squares represent the mask pattern after segment offset, solid squares represent breakpoints used to break the edges of the original mask pattern, arrows represent the first offset of each segment edge, arrow direction represents the offset direction, and arrow length represents the offset distance.

[0046] The output of the initial OPC graph correction for one round of the target expansion block can be transformed into an array based on the difference between the optimized graph and the original mask graph (the mask graph assigned from the master node to the target node). Specifically, by numbering each segment (also called a movable edge) formed after placing the breakpoints in the original mask graph from 1, the result of the OPC optimization can be represented as an array. To indicate, among which Corresponding to the The first offset of each segment's edge is defined as follows: a positive value indicates movement outwards from the graphic, and a negative value indicates movement inwards from the graphic. Preferably, the offset is measured in nanometers and is always an integer.

[0047] For example, the OPC algorithm can be set as Newton's method, the principle of which is to solve the current optimal solution in K rounds. Finally, the total is obtained by summing them up. .

[0048] The quality of the initial OPC pattern correction result for the target expansion block in one round using the set OPC algorithm can be quantitatively evaluated. This typically involves converting the corrected pattern into a simulated exposure and etching profile, and then measuring the distance from the profile to the target profile calculated from the design pattern at a pre-defined set of evaluation points. M represents the number of evaluation points; the smaller the distance value, the better the optimized graph meets the design requirements. For example, the objective function of the OPC algorithm is defined using the following equations (1) and (2): , (1) , (2) in, This represents the deviation between the OPC optimization result and the desired result, also known as the cost. Let N be an array of N integer elements. Equation (2) indicates that the goal of OPC optimization is to adjust... The value of makes Minimum. It's important to understand that during the initial OPC graph correction phase, It includes all segment edges within the target expansion block and all optimizable variables. All are free variables, and the OPC algorithm is configured to freely offset all optimizable segment edges.

[0049] In practical applications, the optimization problems represented by equations (1) and (2) are very complex, and obtaining the final solution is difficult. This typically requires an iterative solution process involving many rounds of initial OPC graph corrections. Here, we use... Indicates after the first The first round of iterations obtained The values ​​of each component are set, and the maximum upper limit L of the total number of iterations for the initial OPC graph correction stage plus the advanced OPC graph correction stage is set. Therefore, the entire iterative optimization process of OPC graph correction can be represented by the following equations (3) and (4): , (3) , (4) in, Indicates the first The values ​​of each component before the start of the initial OPC graph correction stage are iterated for a maximum of LK-1 rounds in the initial OPC graph correction stage, and then enter the advanced OPC graph correction stage from the LKth round.

[0050] In some embodiments of the photolithographic mask optimization method of the present invention, such as Figure 5 As shown, the steps for performing one round of advanced OPC pattern correction on the mask pattern of the target extended block outside the overlapping area, using the completed OPC pattern correction data of the regions of adjacent extended blocks that overlap with the target extended block, include: S311, If ​​the target node does not have completed OPC graphic correction graphic data for the region overlapping with the target extended block in the adjacent extended block, the target node obtains the completed OPC graphic correction graphic data for the overlapping region from the adjacent node responsible for the adjacent extended block among multiple nodes. S313, use the graphic data of the overlapping area that has been corrected by OPC graphics to update the data of the overlapping area on the target node. S315, based on the updated target extended block data, use the set OPC algorithm to calculate the second offset of each segment edge of the target extended block that is outside the overlapping area; S317, use the second offset to offset the segment edges of the target extended block that are outside the overlapping area.

[0051] After entering the advanced OPC graph correction stage in round LK, the first step is to determine whether the target node has already obtained the completed OPC graph correction graph data for the overlapping area from adjacent nodes or temporary files. If so, proceed to the next step; otherwise, obtain the data from adjacent nodes or temporary files.

[0052] In the advanced OPC graph correction stage, formulas (1)-(3) can be used as a reference, where This can represent the second offset array of each segment edge, and replace equation (4) with equation (5): , (5) In the above formula, set S represents the segment edges within the overlapping region of the target extended block. This represents the final offset of the segment edges in the overlapping region, where the higher-priority adjacent extended blocks have completed OPC graph corrections. K is a pre-defined positive integer; K is introduced because it is used in iteration rounds. The increase, each The values ​​of will tend to stabilize if we directly set after the last iteration. ( This may result in a difference compared to the previous round of optimization. The problem of excessively large adjustment values ​​can worsen optimization results that are close to convergence.

[0053] Equation (5) serves as a constraint for advanced OPC graph correction, used to make... Forced equals ( This makes the OPC optimization problem a residual problem. The problem involves a set of free variables (i.e., all optimizable segment edges in the target expanded block, excluding overlapping regions).

[0054] Based on equations (1)-(3) and (5), multiple rounds of iterative optimization of advanced OPC graphic correction can be performed on the regions of the target extended block other than the overlapping regions.

[0055] After each node completes the optimization of the extended blocks of each priority, the master node can be used to exchange and stitch together the optimized graphical results of each block, which will not be elaborated here.

[0056] In some embodiments of the photolithography mask optimization method of the present invention, the number of rounds LK-1 for preliminary OPC pattern correction of the target extended block is much greater than the number of rounds K+1 for advanced OPC pattern correction.

[0057] Since the advanced OPC pattern correction is an extension block optimized by the initial OPC pattern correction, the timing of the constraint conditions in equation (5) is changed from taking effect before the start of the OPC optimization algorithm to taking effect only when there are only a few K+1 rounds left before the end of the optimization. This allows the initial OPC pattern correction to maintain the most free variables to complete most of the optimization work, greatly reducing the number or degree of pattern misalignment formed at the boundary splicing of the overlapping area, thereby improving the consistency and continuity of the cross-block mask pattern, and thus greatly reducing the occurrence rate of lithographic defects in the subsequent lithography process.

[0058] In some embodiments of the photolithographic mask optimization method of the present invention, such as Figure 6 As shown, before the step of the target node using the set OPC algorithm to calculate the first offset of each segment edge of the mask pattern within the target extended block, the following steps are also included: S113, the target node obtains the graphic data of the overlapping area with completed OPC graphic correction from the adjacent nodes; The target node uses the set OPC algorithm to calculate the first offset of each edge segment of the mask pattern within the target extended block, including: S221, the target node uses the graphic data of the overlapping area that has been corrected by OPC graphics to obtain the offset range of each segment edge in the overlapping area of ​​the target node. S223, based on the target node's local target extended block data, using the offset range as a constraint, calculates the first offset of each segment edge within the target extended block using the set OPC algorithm.

[0059] When the OPC algorithm is set to use a relatively simple optimization principle, such as Newton's method, to solve the optimization problem represented by equation (2), the constraint conditions in equation (5) usually take effect smoothly in the LKth round and will not cause problems with the algorithm's coherence. If the OPC algorithm is set to use a more complex algorithm, such as the quasi-Newton method, to solve the optimization problem represented by equation (2), according to the principle of the quasi-Newton method, the constraint conditions in equation (5) above take effect in the LKth round, which may disrupt the coherence of the solution obtained by the quasi-Newton method (e.g., the final offset of a certain segment edge). For larger positive values, and (In the case of a smaller negative value).

[0060] This embodiment provides a solution where the constraints in equation (5) are not rigidly enforced during the optimization process, thus avoiding disruption of the consistency of the quasi-Newton method solution when equation (5) takes effect in the LKth round. Specifically, in the initial OPC graph correction stage, the target node uses the completed OPC graph correction graph data of the overlapping area to obtain the offset range of each edge segment within the overlapping area of ​​the target node. During the initial OPC graph correction process in each round, the offset range is used as a constraint to ensure that the first offset of each edge segment within the overlapping area is always within the set offset range, preventing... and The deviation between them is too large, thus avoiding disrupting the consistency of the solution obtained by the quasi-Newton method.

[0061] Those skilled in the art can reasonably set the offset range as needed. For example, the offset range of a certain segment edge can be determined based on the direction of its final offset, ensuring that the first offset of the segment edge always aligns with the final offset during the initial OPC graphic correction process. Alternatively, the lower and upper limits of the offset range of a certain segment edge can be determined based on the value of its final offset, ensuring that the first offset of the segment edge always lies between the lower and upper limits during the initial OPC graphic correction process.

[0062] In some embodiments of the photolithographic mask optimization method of the present invention, such as Figure 7 As shown, the target node uses the OPC-corrected graphical data of the overlapping region to obtain the offset range of each edge segment within the overlapping region of the target node, including: S231, obtain the final offset of each edge segment in the graphic data of the overlapping region after OPC graphic correction is completed; S233, the offset direction of the final offset of each segment edge is used as the offset direction of the first offset to be calculated of each segment edge in the local overlapping area of ​​the target node. The offset direction includes outward offset and inward offset.

[0063] By constraining the offset direction of the first offset to be calculated of each segment edge to be consistent with the final offset during the initial OPC graph correction stage, it is beneficial to make the formula (5) take effect in the LK round without being rigid.

[0064] In some embodiments of the photolithographic mask optimization method of the present invention, such as Figure 8 As shown, the target node uses the OPC-corrected graphical data of the overlapping region to obtain the offset range of each edge segment within the overlapping region of the target node, including: S231, obtain the final offset of each edge segment in the graphic data of the overlapping region after OPC graphic correction is completed; S235, based on the final offset of each edge segment, determine the lower limit and upper limit of the first offset to be calculated for each edge segment of the overlapping region of the target node.

[0065] For example, the final offset of each segment edge can be used as the lower limit or upper limit of the first offset of the corresponding segment edge, as shown in equations (6) and (7) below: and , (6) and , (7) For example, the final offset of each segment edge can be extended upward and downward by a preset distance to obtain the lower limit and upper limit of the first offset of the corresponding segment edge, as shown in the following formula (8): , (8) In the above formula, P and Q are set integers, which can be set by those skilled in the art as needed.

[0066] In some embodiments of the photolithographic mask optimization method of the present invention, such as Figure 9 As shown, before the step of the target node using the set OPC algorithm to calculate the first offset of each segment edge of the mask pattern within the target extended block, the following steps are also included: S113, the target node obtains the graphic data of the overlapping area with completed OPC graphic correction from the adjacent nodes; The target node uses the set OPC algorithm to calculate the first offset of each edge segment of the mask pattern within the target extended block, including: S241, obtain the final offset of each edge segment in the graphic data of the overlapping region after OPC graphic correction is completed; S243, use the final offset of each segment edge to generate a penalty function term. The penalty function term is used to characterize the overall deviation between the first offset to be calculated and the final offset of each segment edge in the overlapping area of ​​the target node. S245, Based on the penalty function term, the objective function of the OPC algorithm is generated and set. The objective function is used to calculate the first offset of each segment edge of the target extended block. S247, use the objective function to calculate the first offset of each segment edge within the target extended block.

[0067] This embodiment is used to further provide a solution for making the constraints in formula (5) take effect non-rigidly during the optimization process.

[0068] Specifically, this embodiment proposes to use a penalty function to... ( This can be guaranteed to hold true. For example, construct the objective function as shown in equations (9) and (10) below, replacing equation (2) above during the initial OPC graph correction stage: , (9) , (10) in It is a penalty function factor. This is the penalty function term.

[0069] In practical use, those skilled in the art can adjust equation (10) as needed, such as changing the variance to the mean squared error. By introducing a penalty function term into the objective function in the initial OPC graph correction stage, the constraint in equation (5) can be made to take effect non-rigidly in any LK round, ensuring that the constraint can be ultimately satisfied.

[0070] It should be understood that in practical use, those skilled in the art can combine the two types of measures, namely setting the offset range and setting the penalty function term, to support each other and work together so that the constraint in equation (5) is not rigidly effective in any LK round, ensuring that the constraint can be satisfied in the end.

[0071] The flowchart provided in this embodiment is not intended to indicate that the operations of the method will be performed in any particular order, or that all operations of the method are included in every case. Furthermore, the method may include additional operations. Within the scope of the technical concept provided by the method in this embodiment, additional variations can be made to the above method.

[0072] It should be understood that in some embodiments, the components may be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods may be implemented using software or firmware stored in memory and executed by a suitable instruction execution system.

[0073] This invention also provides a computer program product 10, a computer-readable storage medium 20, and a computer device 30. Figure 10 This is a schematic diagram of a computer program product 10 according to an embodiment of the present invention. Figure 11 This is a schematic diagram of a computer-readable storage medium 20 according to an embodiment of the present invention. Figure 12This is a schematic diagram of a computer device 30 according to an embodiment of the present invention. The computer program product 10 includes a computer program 11, which, when executed by the processor 32, implements the steps of the photolithographic mask optimization method described above. A computer-readable storage medium 20 stores the computer program 11 thereon, which, when executed by the processor 32, implements the steps of the photolithographic mask optimization method described above. The computer device 30 may include a memory 31, a processor 32, and the computer program 11 stored in the memory 31 and running on the processor 32.

[0074] The computer program 11 used to perform the operations of this invention may be assembly instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, integrated circuit configuration data, or source code or object code written in any combination of one or more programming languages ​​and procedural programming languages. The computer program 11 may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a Local Area Network (LAN) or Wide Area Network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, to perform aspects of this invention, electronic circuits, including, for example, programmable logic circuits, Field-Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs), may execute computer-readable program instructions to personalize the electronic circuits by utilizing state information from computer-readable program instructions.

[0075] For the purposes of this embodiment, computer program product 10 is a related product that includes computer program 11.

[0076] For the purposes of this embodiment, the computer-readable storage medium 20 is a tangible device capable of holding and storing a computer program 11. It can be any device capable of containing, storing, communicating, propagating, or transmitting the computer program 11 for use by or in conjunction with an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable storage medium 20 include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable optical disc read-only memory (CD-ROM), digital versatile disc (DVD), memory stick, floppy disk, mechanical encoding device, and any suitable combination thereof.

[0077] Computer device 30 can be, for example, a server, desktop computer, laptop computer, tablet computer, or smartphone. In some examples, computer device 30 can be a cloud computing node. Computer device 30 can be described in the general context of computer system executable instructions (such as program modules) executed by a computer system. Typically, program modules can include routines, programs, object programs, components, logic, data structures, etc., that perform specific tasks or implement specific abstract data types. Computer device 30 can be implemented in a distributed cloud computing environment where tasks are performed by remote processing devices linked through a communication network. In a distributed cloud computing environment, program modules can reside on local or remote computing system storage media, including storage devices.

[0078] Computer device 30 may include a processor 32 adapted to execute stored instructions and a memory 31 that provides temporary storage space for the operation of said instructions during operation. The processor 32 may be a single-core processor, a multi-core processor, a computing cluster, or any other configuration. The memory 31 may include random access memory (RAM), read-only memory, flash memory, or any other suitable storage system.

[0079] Computer device 30 may also include a network adapter / interface and an input / output (I / O) interface. The I / O interface allows external devices that can be connected to the computer device to input and output data. The network adapter / interface provides communication between the computer device and a network, typically represented as a communication network.

[0080] Therefore, those skilled in the art should recognize that although numerous exemplary embodiments of the present invention have been shown and described in detail herein, many other variations or modifications conforming to the principles of the present invention can be directly determined or derived from the disclosure of the present invention without departing from the spirit and scope of the invention. Thus, the scope of the present invention should be understood and construed as covering all such other variations or modifications.

Claims

1. A method for optimizing a photolithographic mask, characterized in that, include: Obtain the target extended block from multiple extended blocks of the mask layout. The extended block is obtained by extending outward from multiple blocks obtained by dividing the mask layout. The priority of adjacent extended blocks is configured to be different. The priority is used to indicate the order of OPC graphic correction. The target extended block has adjacent extended blocks with higher priority. Perform a limited number of preliminary OPC pattern corrections on the mask pattern within the target extended block; Using the completed OPC graphic correction graphic data of the region of the adjacent extended block that overlaps with the target extended block, a limited number of rounds of advanced OPC graphic correction are performed on the mask graphic of the target extended block that is outside the overlapping region.

2. The optimization method according to claim 1, characterized in that, The target extended block among the multiple extended blocks of the obtained mask layout includes: The target extended block data is obtained using the target node among multiple nodes in the computing cluster; The steps of performing one round of preliminary OPC pattern correction on the mask pattern within the target extended block include: The target node uses a set OPC algorithm to calculate the first offset of each segment edge of the mask pattern within the target extended block, and the multiple segments edge are formed by breaking the mask pattern by edges; The segment edge within the target extended block is offset using the first offset.

3. The optimization method according to claim 2, characterized in that, The step of performing one round of advanced OPC graphic correction on the mask graphic of the target extended block outside the overlapping area using the completed OPC graphic correction data of the region of the adjacent extended block that overlaps with the target extended block includes: If the target node does not have OPC-corrected graphic data for the region overlapping with the target extended block in the adjacent extended block, the target node obtains the OPC-corrected graphic data for the overlapping region from the adjacent node responsible for the adjacent extended block among the plurality of nodes. The data of the overlapping region in the target node is updated using the OPC graphic data of the overlapping region that has been corrected. Based on the updated data of the target extended block, the second offset of each segment edge of the target extended block that is outside the overlapping region is calculated using the set OPC algorithm; The second offset is used to offset the segment edges of the target extended block that are outside the overlapping region.

4. The optimization method according to claim 3, characterized in that, Before the step of the target node using the set OPC algorithm to calculate the first offset of each segment edge of the mask pattern within the target extended block, the method further includes: The target node obtains the graphic data of the overlapping area with completed OPC graphic correction from the adjacent nodes; The target node uses a predefined OPC algorithm to calculate the first offset of each edge segment of the mask pattern within the target extended block, including: The target node uses the OPC-corrected graphic data of the overlapping region to obtain the offset range of each segment edge within the overlapping region of the target node. Based on the data of the target extended block local to the target node, and with the offset range as a constraint, the first offset of each segment edge within the target extended block is calculated using a set OPC algorithm.

5. The optimization method according to claim 4, characterized in that, The target node uses the OPC-corrected graphic data of the overlapping region to obtain the offset range of each segment edge within the overlapping region of the target node, including: Obtain the final offset of each segment edge in the graphic data of the overlapping region after OPC graphic correction; The offset direction of the final offset of each of the aforementioned segment edges is respectively used as the offset direction of the first offset to be calculated for each of the aforementioned segment edges in the overlapping region of the target node, wherein the offset direction includes outward offset and inward offset; or Based on the final offset of each segment edge, the lower limit and upper limit of the first offset to be calculated for each segment edge in the overlapping region of the target node are determined.

6. The optimization method according to claim 3, characterized in that, Before the step of the target node using the set OPC algorithm to calculate the first offset of each segment edge of the mask pattern within the target extended block, the method further includes: The target node obtains the graphic data of the overlapping area with completed OPC graphic correction from the adjacent nodes; The target node uses a predefined OPC algorithm to calculate the first offset of each edge segment of the mask pattern within the target extended block, including: Obtain the final offset of each segment edge in the graphic data of the overlapping region after OPC graphic correction; A penalty function term is generated using the final offset of each of the segment edges, the penalty function term being used to characterize the overall deviation between the first offset to be calculated and the final offset of each of the segment edges in the overlapping region of the target node. Based on the penalty function term, a target function for setting the OPC algorithm is generated. The target function is used to calculate the first offset of each segment edge of the target extended block. The objective function is used to calculate the first offset of each of the segment edges within the target extended block.

7. The optimization method according to claim 1, characterized in that, The number of rounds for the initial OPC graph correction of the target extended block is greater than the number of rounds for the advanced OPC graph correction.

8. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by a processor, implements the steps of the optimization method for the photomask as described in any one of claims 1 to 7.

9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the method for optimizing the photomask as described in any one of claims 1 to 7.

10. A computer device, characterized in that, The method includes a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method for optimizing the photomask according to any one of claims 1 to 7.