Mask layout generation method and device, equipment and storage medium
During the OPC correction process, adjusting according to the movement amount of the to-process segments and their reference segments of the curve mask layout, the problem of unsmooth edges of the curve graph is solved, and higher process accuracy and graphics quality are achieved.
Patent Information
- Application Number
- CN202510482831.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-17
- Publication Date
- 2025-05-13
- Estimated Expiration
- 2045-04-17
AI Technical Summary
The prior art causes unsmooth edges of the graph to affect process accuracy during the OPC correction process of the curve mask layout.
By receiving the original layout to be adjusted and the corresponding lookup table, the reference segments of each pending segment are determined, and the real movement volume is calculated based on the table movement amount of the reference segment, and the position of the pending segment is adjusted to make the edges of the graph smoother.
Improves the flatness and continuity of the edges of curved graphics, reduces graphics distortion, and improves process accuracy.
Smart Images

Figure CN119987121A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of semiconductor production, and in particular to a method, device, equipment and storage medium for generating a mask layout. Background Art
[0002] Photolithography is the core process in chip manufacturing. Nonlinear effects in the optical system, mask and photoresist system will cause transfer distortion from design graphics to wafer manufacturing in the chip manufacturing process. Existing mask pattern optimization mainly uses OPC (optical proximity correction) technology to simulate and optimize the mask layout based on the objective function of EPE (edge position error) or CD (critical dimension) to minimize the pattern distortion caused by nonlinear effects such as optics in the semiconductor manufacturing process.
[0003] Continuing from the previous article, the current traditional OPC correction method is usually based on Manhattan graphics input. One of the key geometric adjustment steps, namely, geometric graphics correction based on lookup tables, is widely used in the layout adjustment process. However, if the existing Manhattan graphics-based lookup table graphics correction method is still used for curved graphics, it will cause a lot of jagged edges in the corrected curved graphics, which will greatly affect the quality of subsequent graphics and cause graphics distortion. You can refer to Figure 1 , Figure 1 The present invention is a schematic diagram of the movement of each segment in a graph when the graph is corrected by using the prior art. In the figure, the movement distance of each segment is indicated by numbers.
[0004] Therefore, how to improve the flatness of the edge of the curved graphic in the layout after OPC correction, improve the continuity of the edge of the curved graphic, and reduce the graphic distortion is a problem that needs to be solved urgently by those skilled in the art. Summary of the invention
[0005] The purpose of the present invention is to provide a method, device, equipment and storage medium for generating a mask layout, so as to solve the problem in the prior art that the edges of the curved mask layout are not smooth, thereby reducing the process accuracy.
[0006] In order to solve the above technical problems, the present invention provides a method for generating a mask layout, comprising:
[0007] Receive an original layout to be adjusted and a corresponding lookup table; the original layout to be adjusted includes graphics to be processed, and each of the graphics to be processed includes a plurality of segments to be processed;
[0008] Determine a reference segment corresponding to each of the to-be-processed segments; the reference segment and the to-be-processed segment belong to the same to-be-processed graph, and are distributed along the edge of the to-be-processed graph within a search distance on both sides of the to-be-processed segment;
[0009] According to the lookup table, determining the table shift amount corresponding to each reference segment;
[0010] Determine the actual movement amount of the corresponding segment to be processed according to the table movement amount of the reference segment of the segment to be processed;
[0011] According to the actual movement amount corresponding to each of the to-be-processed segments, the to-be-processed segments are moved so that the to-be-processed graph becomes a to-be-fitted graph;
[0012] Fitting is performed on the edge of the pattern to be fitted to obtain an adjusted layout.
[0013] Optionally, in the method for generating a mask layout, determining a reference segment corresponding to each of the to-be-processed segments includes:
[0014] Taking the segment to be processed as the starting point, the preset search distance is moved to both sides along the edge of the graphic to be processed corresponding to the segment to be processed, and the passed segments are used as reference segments of the segment to be processed.
[0015] Optionally, in the method for generating a mask layout, determining a reference segment corresponding to each of the to-be-processed segments includes:
[0016] A first number of segments on both sides of the to-be-processed segment along the edge of the corresponding to-be-processed graphic are used as the reference segments.
[0017] Optionally, in the method for generating the mask layout, determining the actual movement amount of the corresponding segment to be processed according to the table movement amount of the reference segment of the segment to be processed includes:
[0018] According to the lookup table, determining the table movement amount corresponding to the to-be-processed segment;
[0019] According to the table movement amount of the segment to be processed and the table movement amount of the reference segment corresponding to the segment to be processed, the actual movement amount of the corresponding segment to be processed is determined.
[0020] Optionally, the method for generating a mask layout further includes, before determining a reference segment corresponding to each of the to-be-processed segments:
[0021] According to the lookup table, determining the table movement amount corresponding to the to-be-processed segment;
[0022] The search distance corresponding to the segment to be processed is determined according to the table movement amount corresponding to the segment to be processed.
[0023] Optionally, in the method for generating a mask layout, receiving the original layout to be adjusted and the corresponding lookup table includes:
[0024] Receive the original layout to be adjusted and the corresponding two-dimensional lookup table.
[0025] Optionally, in the method for generating the mask layout, fitting the edge of the pattern to be fitted to obtain an adjusted layout includes:
[0026] Determine the midpoint of each segment in the figure to be fitted;
[0027] Polynomial fitting is performed on the midpoints of all the segments in the figure to be fitted to obtain an adjusted layout.
[0028] A device for generating a mask layout, comprising:
[0029] A receiving module, used for receiving an original layout to be adjusted and a corresponding lookup table; the original layout to be adjusted includes graphics to be processed, and each of the graphics to be processed includes a plurality of segments to be processed;
[0030] A reference determination module, used to determine a reference segment corresponding to each of the to-be-processed segments; the reference segment and the to-be-processed segment belong to the same to-be-processed graph, and are distributed within a search distance on both sides of the to-be-processed segment along the edge of the to-be-processed graph;
[0031] A reference table lookup module, used to determine the table shift amount corresponding to each reference segment according to the lookup table;
[0032] A movement amount determination module, used to determine the actual movement amount of the corresponding segment to be processed according to the table movement amount of the reference segment of the segment to be processed;
[0033] A moving module, used for moving the to-be-processed segments according to the actual movement amount corresponding to each of the to-be-processed segments, so that the to-be-processed graph becomes a to-be-fitted graph;
[0034] The fitting module is used to fit the edge of the to-be-fitted graphic to obtain an adjusted layout.
[0035] A device for generating a mask layout, comprising:
[0036] Memory for storing computer programs;
[0037] A processor is used to implement the steps of any of the above-mentioned methods for generating a mask layout when executing the computer program.
[0038] A computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above-mentioned methods for generating a mask layout are implemented.
[0039] The method for generating a mask layout provided by the present invention comprises receiving an original layout to be adjusted and a corresponding lookup table; the original layout to be adjusted comprises graphics to be processed, and each of the graphics to be processed comprises a plurality of segments to be processed; determining a reference segment corresponding to each segment to be processed; the reference segment and the segment to be processed belong to the same graphic to be processed, and are distributed within a search distance on both sides of the segment to be processed along the edge of the graphic to be processed; determining a table movement amount corresponding to each reference segment according to the lookup table; determining a real movement amount of the corresponding segment to be processed according to the table movement amount of the reference segment of the segment to be processed; moving the segment to be processed according to the real movement amount corresponding to each segment to be processed, so that the graphic to be processed becomes a graphic to be fitted; fitting the edge of the graphic to be fitted to obtain an adjusted layout.
[0040] The present invention not only determines the table movement amount corresponding to the segment in the lookup table based on the segment's own attributes, but also further considers the influence of the movement of other surrounding segments. The final movement amount (that is, the actual movement amount) of the segment to be processed is determined by the table movement amount corresponding to other segments (that is, the reference segment) in the lookup table within a certain range around the segment to be processed. In other words, the movement amount adjusted for each segment in the layout during the OPC process is restricted by the surrounding segments in the same graphic to be processed, avoiding sudden bulges or depressions at the edges of the adjusted graphics, making the edges of the adjusted graphics smoother, improving the continuity of the edges of the curved graphics, and reducing graphic distortion. The present invention also provides a mask layout generation device, equipment, and storage medium with the above-mentioned beneficial effects. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] In order to more clearly illustrate the embodiments of the present invention or the technical solutions of the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0042] Figure 1 A schematic diagram of edge segment movement when performing OPC correction on a mask in the prior art;
[0043] Figure 2 A schematic diagram of a specific implementation of the method for generating a mask layout provided by the present invention;
[0044] Figure 3 A process structure diagram of a specific implementation of the method for generating a mask pattern provided by the present invention;
[0045] Figure 4A process structure diagram of a specific implementation of the method for generating a mask pattern provided by the present invention;
[0046] Figure 5 A process structure diagram of a specific implementation of the method for generating a mask pattern provided by the present invention;
[0047] Figure 6 A schematic flow chart of another specific implementation of the method for generating a mask layout provided by the present invention;
[0048] Figure 7 A schematic structural diagram of a specific implementation of the mask pattern generation device provided by the present invention.
[0049] Reference numerals:
[0050] 100 - receiving module; 200 - reference determination module; 300 - reference table lookup module; 400 - movement amount determination module; 500 - movement module; 600 - fitting module. DETAILED DESCRIPTION
[0051] In order to enable those skilled in the art to better understand the scheme of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0052] The core of the present invention is to provide a method for generating a mask layout, and a flowchart of a specific implementation method thereof is shown as follows: Figure 2 As shown, it is called specific implementation mode 1, including:
[0053] S101: receiving an original layout to be adjusted and a corresponding lookup table; the original layout to be adjusted includes graphics to be processed, and each of the graphics to be processed includes a plurality of segments to be processed.
[0054] The lookup table records the corresponding relationship between the properties of the to-be-processed segment and the movement amount.
[0055] As a preferred implementation, receiving the original layout to be adjusted and the corresponding lookup table includes:
[0056] Receive the original layout to be adjusted and the corresponding two-dimensional lookup table.
[0057] In this preferred embodiment, the lookup table uses the two-dimensional lookup table, that is, according to the data on the two dimensions of the segment to be processed, the table movement amount corresponding to the segment to be processed is determined. For example, the corresponding table movement amount is determined by the graphic width and graphic spacing at the corresponding position of the segment to be processed. Figure 3 , Figure 3 W1 is used to mark the width of the graphic, and W2 is used to mark the spacing of the graphic. Of course, the table movement amount has positive and negative values, indicating whether the corresponding segment moves to the outside of the graphic or to the inside of the graphic. For example, it is stipulated that the movement to the outside of the graphic is a positive value, and the movement to the inside of the graphic is a negative value.
[0058] S102: Determine a reference segment corresponding to each of the to-be-processed segments; the reference segment and the to-be-processed segment belong to the same to-be-processed graph, and are distributed along the edge of the to-be-processed graph within a search distance on both sides of the to-be-processed segment.
[0059] For reference Figure 4 , Figure 4 The figure shows a portion of the edge of the graphics to be processed, in which a single segment to be processed (represented by L0 in the figure) and the reference segments L1, L2, L3 and L4 corresponding to the segment L0 are marked. It should be noted that the reference segment is the reference segment relative to the segment to be processed, and in the entire mask layout generation process, L1, L2, L3 and L4 in the figure will also be used as the segment to be processed one after another, and they each have a corresponding reference segment. The two sides of the segment to be processed are the two sides along the edge of the corresponding graphics to be processed.
[0060] As a preferred implementation manner, the determining of the reference segment corresponding to each of the to-be-processed segments includes:
[0061] A1: starting from the segment to be processed, moving to both sides by a preset search distance along the edge of the graphic to be processed corresponding to the segment to be processed, and taking the passed segments as reference segments of the segment to be processed.
[0062] You can refer to Figure 5 , Figure 5 It is also a partial edge of the graph to be processed, where D1 is used to mark the search distance. Of course, Figure 5 The starting point of the search distance is the corresponding endpoint of the segment to be processed. In actual operation, the midpoint of the segment to be processed can also be selected as the starting point of the search distance, which can be adjusted according to actual conditions.
[0063] As another preferred implementation manner, the determining a reference segment corresponding to each of the to-be-processed segments includes:
[0064] B1: taking a first number of segments on both sides of the edge of the to-be-processed segment corresponding to the to-be-processed graphic as the reference segments.
[0065] In this preferred embodiment, the distances from the surrounding segments to the segment to be processed are no longer calculated to see whether they fall within the search distance. Instead, a certain number of segments on both sides of the segment to be processed are directly used as the reference segments, which results in faster processing speed and higher processing efficiency.
[0066] S103: Determine the table shift amount corresponding to each reference segment according to the lookup table.
[0067] The table shift amount is the shift amount recorded corresponding to the reference segment in the lookup table.
[0068] S104: Determine the actual movement amount of the corresponding segment to be processed according to the table movement amount of the reference segment of the segment to be processed.
[0069] The actual movement amount is the basis for subsequent movement of the segment to be processed. The method of calculating the actual movement amount of the segment to be processed by the table movement amount of the reference segment in this step can be selected according to the actual situation, such as averaging the table movement amounts of all reference segments corresponding to the segment to be processed, and then taking the average value as the actual movement amount of the segment to be processed.
[0070] As a preferred implementation, determining the actual movement amount of the corresponding segment to be processed according to the table movement amount of the reference segment of the segment to be processed includes:
[0071] C1: Determine the table movement amount corresponding to the to-be-processed segment according to the lookup table.
[0072] C2: Determine the actual movement amount of the corresponding segment to be processed according to the table movement amount of the segment to be processed and the table movement amount of the reference segment corresponding to the segment to be processed.
[0073] In this preferred embodiment, the actual movement amount of the segment to be processed is no longer determined only by the table movement amount of the reference segment, but also needs to consider the table movement amount of the segment to be processed, such as calculating the actual movement amount of the segment to be processed by the following formula (1):
[0074] W F =W A *i+W C ; (1)
[0075] Among them, W F is the actual movement of the segment to be processed, W Ais the average value of the table movement amount of all reference segments of the segment to be processed, i is a preset coefficient, W C is the table movement amount of the segment to be processed.
[0076] S105: moving the segments to be processed according to the actual movement amounts corresponding to the segments to be processed, so that the graph to be processed becomes a graph to be fitted.
[0077] S106: Fitting the edge of the to-be-fitted pattern to obtain an adjusted layout.
[0078] Fitting the edge of the to-be-fitted graphic to obtain an adjusted layout includes:
[0079] E1: Determine the midpoint of each segment in the figure to be fitted.
[0080] E2: Perform polynomial fitting on the midpoints of all the segments in the figure to be fitted to obtain an adjusted layout.
[0081] As a specific implementation, in this step, the midpoints of all the segments of the figure to be fitted can be fitted, which greatly reduces the difficulty of calculation, and the calculation is performed by polynomial fitting, which not only improves the calculation speed but also improves the fitting accuracy. Of course, other fitting methods can also be used, and the present invention is not limited here.
[0082] The method for generating a mask layout provided by the present invention comprises receiving an original layout to be adjusted and a corresponding lookup table; the original layout to be adjusted comprises graphics to be processed, and each of the graphics to be processed comprises a plurality of segments to be processed; determining a reference segment corresponding to each segment to be processed; the reference segment and the segment to be processed belong to the same graphic to be processed, and are distributed within a search distance on both sides of the segment to be processed along the edge of the graphic to be processed; determining a table movement amount corresponding to each reference segment according to the lookup table; determining a real movement amount of the corresponding segment to be processed according to the table movement amount of the reference segment of the segment to be processed; moving the segment to be processed according to the real movement amount corresponding to each segment to be processed, so that the graphic to be processed becomes a graphic to be fitted; fitting the edge of the graphic to be fitted to obtain an adjusted layout. The present invention not only determines the corresponding table movement amount of the segment in the lookup table based on the attributes of the segment itself, but also further takes into account the influence of the movement of other surrounding segments. The final movement amount of the segment to be processed (that is, the actual movement amount) is determined by the corresponding table movement amounts of other segments (that is, the reference segments) within a certain range around the segment to be processed in the lookup table. In other words, the movement amount adjusted for each segment in the layout during the OPC process is restricted by the surrounding segments in the same graphic to be processed, avoiding sudden bulges or depressions at the edges of the adjusted graphics, making the edges of the adjusted graphics smoother, improving the continuity of the edges of the curved graphics, and reducing graphic distortion.
[0083] On the basis of the first specific implementation mode, the method for determining the search distance is further limited to obtain the second specific implementation mode, and the corresponding flow chart is as follows: Figure 6 As shown, it is called specific implementation method 2, including:
[0084] S201: Receive an original layout to be adjusted and a corresponding lookup table; the original layout to be adjusted includes graphics to be processed, and each of the graphics to be processed includes a plurality of segments to be processed.
[0085] S202: Determine the table movement amount corresponding to the to-be-processed segment according to the lookup table.
[0086] S203: Determine the search distance corresponding to the segment to be processed according to the table movement amount corresponding to the segment to be processed.
[0087] As a specific implementation method, the table movement amount corresponding to the segment to be processed can be directly used as its corresponding search distance. That is, the larger the table movement amount of the segment to be processed, the larger the corresponding search distance. In other words, the more surrounding segments are considered, the smaller the difference between the subsequent actual movement amount and the actual movement amount of other surrounding segments is. This avoids the situation where the table movement amount of a single segment to be processed is too large, causing excessive protrusion or depression, and further improves the continuity of the edge of the adjusted graphic.
[0088] Of course, the search distance may also be determined by the table movement amount corresponding to the to-be-processed segment in other ways, for example, by the following formula (2):
[0089] D n =|W0-W n |*a+D0; (2)
[0090] Among them, D n is the search distance of the nth segment to be processed, W n is the table movement amount of the nth segment to be processed, W0 is the preset reference movement amount, D0 is the preset reference search distance, and a is the preset proportional coefficient.
[0091] It is not difficult to see from formula (2) that the method provided by formula (2) has a preset reference movement amount and a preset reference search distance. The larger the movement amount recorded in the table is from the preset reference movement amount, the larger the search distance of the segment to be processed needs to be increased. In other words, the more the segment to be processed deviates from the reference movement amount, the more the corresponding reference segment is increased, thereby further reducing the probability of the segment to be processed being excessively protruding or concave after adjustment, thereby improving the flatness of the edge of the graphic.
[0092] S204: Determine a reference segment corresponding to each of the to-be-processed segments; the reference segment and the to-be-processed segment belong to the same to-be-processed graph, and are distributed within a search distance on both sides of the to-be-processed segment along an edge of the to-be-processed graph.
[0093] S205: Determine the table shift amount corresponding to each reference segment according to the lookup table.
[0094] S206: Determine the actual movement amount of the corresponding segment to be processed according to the table movement amount of the reference segment of the segment to be processed.
[0095] S207: moving the to-be-processed segments according to the actual movement amounts corresponding to the to-be-processed segments, so that the to-be-processed graph becomes a to-be-fitted graph.
[0096] S208: Fitting the edge of the to-be-fitted graphic to obtain an adjusted layout.
[0097] The difference between this specific implementation and the above specific implementation is that in this specific implementation, the corresponding search distance is calculated for each of the to-be-processed segments, and the other steps are the same as those in the above specific implementation, which will not be elaborated here.
[0098] In this specific implementation, before determining the reference segment corresponding to the segment to be processed, the search distance corresponding to each segment to be processed is first determined, that is, different segments to be processed have different search distances, which further improves the smoothness of the adjusted graphic edge and enhances the versatility of the present invention.
[0099] The following is an introduction to a mask layout generation device provided by an embodiment of the present invention. The mask layout generation device described below and the mask layout generation method described above can refer to each other.
[0100] Figure 7 The structural block diagram of the mask layout generation device provided by the embodiment of the present invention is shown in FIG. Figure 7 The mask layout generating device may include:
[0101] The receiving module 100 is used to receive an original layout to be adjusted and a corresponding lookup table; the original layout to be adjusted includes graphics to be processed, and each of the graphics to be processed includes a plurality of segments to be processed;
[0102] A reference determination module 200 is used to determine a reference segment corresponding to each of the to-be-processed segments; the reference segment and the to-be-processed segment belong to the same to-be-processed graph and are distributed along the edge of the to-be-processed graph within a search distance on both sides of the to-be-processed segment;
[0103] A reference table lookup module 300 is used to determine the table shift amount corresponding to each reference segment according to the lookup table;
[0104] A movement amount determination module 400 is used to determine the actual movement amount of the segment to be processed according to the table movement amount of the reference segment of the segment to be processed;
[0105] A moving module 500, used for moving the to-be-processed segments according to the actual movement amount corresponding to each of the to-be-processed segments, so that the to-be-processed graph becomes a to-be-fitted graph;
[0106] The fitting module 600 is used to fit the edge of the pattern to be fitted to obtain an adjusted layout.
[0107] As a preferred implementation, the reference determination module 200 includes:
[0108] The mobile search unit is used to take the to-be-processed segment as a starting point, move a preset search distance to both sides along the edge of the to-be-processed graphic corresponding to the to-be-processed segment, and use the passed segment as a reference segment of the to-be-processed segment.
[0109] As a preferred implementation, the reference determination module 200 includes:
[0110] The quantity search unit is used to use the first number of segments on both sides of the to-be-processed segment along the edge of the corresponding to-be-processed graphic as the reference segments.
[0111] As a preferred implementation, the movement amount determination module 400 includes:
[0112] A first table lookup unit to be processed, used for determining the table movement amount corresponding to the segment to be processed according to the lookup table;
[0113] The segment comprehensive movement amount unit is used to determine the actual movement amount of the corresponding segment to be processed according to the table movement amount of the segment to be processed and the table movement amount of the reference segment corresponding to the segment to be processed.
[0114] As a preferred implementation, the reference determination module 200 further includes:
[0115] A second table lookup unit to be processed, used for determining the table movement amount corresponding to the segment to be processed according to the lookup table;
[0116] The search distance determination unit is used to determine the search distance corresponding to the to-be-processed segment according to the table movement amount corresponding to the to-be-processed segment.
[0117] As a preferred implementation, the receiving module 100 includes:
[0118] The two-dimensional table unit is used to receive the original layout to be adjusted and the corresponding two-dimensional lookup table.
[0119] As a preferred implementation, the fitting module 600 includes:
[0120] A midpoint determination unit, used to determine the midpoint of each segment in the figure to be fitted;
[0121] The midpoint fitting unit is used to perform polynomial fitting on the midpoints of all the segments in the figure to be fitted to obtain an adjusted layout.
[0122] The mask layout generation device provided by the present invention includes a receiving module 100, which is used to receive an original layout to be adjusted and a corresponding lookup table; the original layout to be adjusted includes a to-be-processed graphic, and each of the to-be-processed graphics includes a plurality of to-be-processed segments; a reference determination module 200, which is used to determine a reference segment corresponding to each to-be-processed segment; the reference segment and the to-be-processed segment belong to the same to-be-processed graphic, and are distributed along the edge of the to-be-processed graphic within the search distance on both sides of the to-be-processed segment; a reference lookup table module 300, which is used to determine the table movement amount corresponding to each reference segment according to the lookup table; a movement amount determination module 400, which is used to determine the actual movement amount of the corresponding to-be-processed segment according to the table movement amount of the reference segment of the to-be-processed segment; a moving module 500, which is used to move the to-be-processed segment according to the actual movement amount corresponding to each to-be-processed segment, so that the to-be-processed graphic becomes a to-be-fitted graphic; a fitting module 600, which is used to fit the edge of the to-be-fitted graphic to obtain an adjusted layout. The present invention not only determines the corresponding table movement amount of the segment in the lookup table based on the attributes of the segment itself, but also further takes into account the influence of the movement of other surrounding segments. The final movement amount of the segment to be processed (that is, the actual movement amount) is determined by the corresponding table movement amounts of other segments (that is, the reference segments) within a certain range around the segment to be processed in the lookup table. In other words, the movement amount adjusted for each segment in the layout during the OPC process is restricted by the surrounding segments in the same graphic to be processed, avoiding sudden bulges or depressions at the edges of the adjusted graphics, making the edges of the adjusted graphics smoother, improving the continuity of the edges of the curved graphics, and reducing graphic distortion.
[0123] The mask layout generation device of the present embodiment is used to implement the aforementioned mask layout generation method, so the specific implementation method of the mask layout generation device can be seen in the embodiment part of the mask layout generation method in the previous text, for example, the receiving module 100, the reference determination module 200, the reference table lookup module 300, the movement amount determination module 400, the movement module 500, the fitting module 600, are respectively used to implement steps S101, S102, S103, S104, S105 and S106 in the aforementioned mask layout generation method, so its specific implementation method can refer to the description of the corresponding various parts of the embodiment, which will not be repeated here.
[0124] The present invention also provides a device for generating a mask layout, comprising:
[0125] Memory for storing computer programs;
[0126] A processor is used to implement the steps of any of the above-mentioned methods for generating a mask layout when executing the computer program. The method for generating a mask layout provided by the present invention receives an original layout to be adjusted and a corresponding lookup table; the original layout to be adjusted includes a figure to be processed, and each of the figures to be processed includes a plurality of segments to be processed; a reference segment corresponding to each segment to be processed is determined; the reference segment and the segment to be processed belong to the same figure to be processed, and are distributed within the search distance on both sides of the segment to be processed along the edge of the figure to be processed; according to the lookup table, the table movement amount corresponding to each reference segment is determined; according to the table movement amount of the reference segment of the segment to be processed, the actual movement amount of the corresponding segment to be processed is determined; according to the actual movement amount corresponding to each segment to be processed, the segment to be processed is moved so that the figure to be processed becomes a figure to be fitted; the edge of the figure to be fitted is fitted to obtain an adjusted layout. The present invention not only determines the corresponding table movement amount of the segment in the lookup table based on the attributes of the segment itself, but also further takes into account the influence of the movement of other surrounding segments. The final movement amount of the segment to be processed (that is, the actual movement amount) is determined by the corresponding table movement amounts of other segments (that is, the reference segments) within a certain range around the segment to be processed in the lookup table. In other words, the movement amount adjusted for each segment in the layout during the OPC process is restricted by the surrounding segments in the same graphic to be processed, avoiding sudden bulges or depressions at the edges of the adjusted graphics, making the edges of the adjusted graphics smoother, improving the continuity of the edges of the curved graphics, and reducing graphic distortion.
[0127] The present invention also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the method for generating a mask layout described above are implemented. The method for generating a mask layout provided by the present invention receives an original layout to be adjusted and a corresponding lookup table; the original layout to be adjusted includes a figure to be processed, and each of the figures to be processed includes a plurality of segments to be processed; a reference segment corresponding to each segment to be processed is determined; the reference segment and the segment to be processed belong to the same figure to be processed, and are distributed along the edge of the figure to be processed within the search distance on both sides of the segment to be processed; according to the lookup table, the table movement amount corresponding to each reference segment is determined; according to the table movement amount of the reference segment of the segment to be processed, the actual movement amount of the corresponding segment to be processed is determined; according to the actual movement amount corresponding to each segment to be processed, the segment to be processed is moved so that the figure to be processed becomes a figure to be fitted; the edge of the figure to be fitted is fitted to obtain an adjusted layout. The present invention not only determines the corresponding table movement amount of the segment in the lookup table based on the attributes of the segment itself, but also further takes into account the influence of the movement of other surrounding segments. The final movement amount of the segment to be processed (that is, the actual movement amount) is determined by the corresponding table movement amounts of other segments (that is, the reference segments) within a certain range around the segment to be processed in the lookup table. In other words, the movement amount adjusted for each segment in the layout during the OPC process is restricted by the surrounding segments in the same graphic to be processed, avoiding sudden bulges or depressions at the edges of the adjusted graphics, making the edges of the adjusted graphics smoother, improving the continuity of the edges of the curved graphics, and reducing graphic distortion.
[0128] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.
[0129] It should be noted that, in this specification, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the statement "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.
[0130] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.
[0131] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
[0132] The above is a detailed introduction to the mask generation method, device, equipment and storage medium provided by the present invention. This article uses specific examples to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method and core ideas of the present invention. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present invention, the present invention can also be improved and modified, and these improvements and modifications also fall within the scope of protection of the present invention.
Claims
1. A method for generating a mask layout, characterized in that: include: Receive the original layout to be adjusted and the corresponding lookup table; The original layout to be adjusted includes graphics to be processed, and each of the graphics to be processed includes a plurality of segments to be processed; Determine a reference segment corresponding to each of the to-be-processed segments; The reference segment and the to-be-processed segment belong to the same to-be-processed graph, and are distributed within the search distance on both sides of the to-be-processed segment along the edge of the to-be-processed graph; According to the lookup table, determining the table shift amount corresponding to each reference segment; Determine the actual movement amount of the corresponding segment to be processed according to the table movement amount of the reference segment of the segment to be processed; According to the actual movement amount corresponding to each of the to-be-processed segments, the to-be-processed segments are moved so that the to-be-processed graph becomes a to-be-fitted graph; Fitting is performed on the edge of the graphic to be fitted to obtain an adjusted layout.
2. The method for generating a mask layout according to claim 1, wherein: The determining of a reference segment corresponding to each of the to-be-processed segments comprises: Taking the segment to be processed as the starting point, the preset search distance is moved to both sides along the edge of the graphic to be processed corresponding to the segment to be processed, and the passed segments are used as reference segments of the segment to be processed.
3. The method for generating a mask layout according to claim 1, wherein: The determining of a reference segment corresponding to each of the to-be-processed segments comprises: A first number of segments on both sides of the to-be-processed segment along the edge of the corresponding to-be-processed graphic are used as the reference segments.
4. The method for generating a mask layout according to claim 1, wherein: Determining the actual movement amount of the corresponding segment to be processed according to the table movement amount of the reference segment of the segment to be processed includes: According to the lookup table, determining the table movement amount corresponding to the to-be-processed segment; According to the table movement amount of the segment to be processed and the table movement amount of the reference segment corresponding to the segment to be processed, the actual movement amount of the corresponding segment to be processed is determined.
5. The method for generating a mask layout according to claim 1, wherein: Before determining the reference segment corresponding to each of the to-be-processed segments, the method further includes: According to the lookup table, determining the table movement amount corresponding to the to-be-processed segment; The search distance corresponding to the segment to be processed is determined according to the table movement amount corresponding to the segment to be processed.
6. The method for generating a mask layout according to claim 1, wherein: Receiving the original layout to be adjusted and the corresponding lookup table includes: Receive the original layout to be adjusted and the corresponding two-dimensional lookup table.
7. The method for generating a mask layout according to claim 1, wherein: Fitting the edge of the to-be-fitted graphic to obtain an adjusted layout includes: Determine the midpoint of each segment in the figure to be fitted; Polynomial fitting is performed on the midpoints of all the segments in the figure to be fitted to obtain an adjusted layout.
8. A mask layout generation device, characterized in that: include: A receiving module, used for receiving the original layout to be adjusted and the corresponding lookup table; The original layout to be adjusted includes graphics to be processed, and each of the graphics to be processed includes a plurality of segments to be processed; A reference determination module, used to determine a reference segment corresponding to each of the to-be-processed segments; The reference segment and the to-be-processed segment belong to the same to-be-processed graph, and are distributed within the search distance on both sides of the to-be-processed segment along the edge of the to-be-processed graph; A reference table lookup module, used to determine the table shift amount corresponding to each reference segment according to the lookup table; A movement amount determination module, used to determine the actual movement amount of the corresponding segment to be processed according to the table movement amount of the reference segment of the segment to be processed; A moving module, used for moving the to-be-processed segments according to the actual movement amount corresponding to each of the to-be-processed segments, so that the to-be-processed graph becomes a to-be-fitted graph; The fitting module is used to fit the edge of the to-be-fitted graphic to obtain an adjusted layout.
9. A mask layout generation device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the method for generating a mask layout as claimed in any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method for generating a mask layout according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Method for verifying optical approximatino correction
CN101458719A
Optical proximity correction method
CN107797391A
A method for optical proximity correction
CN109254494A
optical proximity correction (OPC) method and methods for manufacturing mask using the OPC method
CN109932865A
Method of determining control parameters of a device manufacturing process
CN111149063A