OPC calculation convergence optimization method and device, medium, program product and terminal
By dividing the mask pattern into feature and non-featured areas, first iteratively optimize the featured areas, obtain preliminary parameters, and then optimize the non-featured areas, the problem of low computing efficiency in the existing OPC technology is solved, and efficient optimization of the mask pattern and imaging quality improvement are achieved.
Patent Information
- Application Number
- CN202510808939.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-17
- Publication Date
- 2025-09-02
AI Technical Summary
The existing OPC technology is limited by the running time and calculation complexity during the global iteration optimization process, making it difficult to fully complete the precise correction of the mask pattern within the preset number of iterations, affecting the accuracy and imaging quality of the mask pattern.
The mask pattern is divided into dense graphics areas, and the dense graphics area is further divided into feature areas and non-featured areas. First, iterative optimization calculation is performed on the feature areas, preliminary optimization parameters are obtained, and then the non-featured areas are optimized based on this until convergence is converged to generate the optimized dense graphics area.
By sharing preliminary optimization parameters, repeated calculations of similar structures are avoided, optimization convergence time is shortened, overall operation complexity is reduced, and computing efficiency in dense areas is improved. It is especially suitable for the rapid processing of large-scale OPC graph data.
Smart Images

Figure CN120578010A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of integrated circuit manufacturing, and in particular to an optimization method, device, medium, program product, and terminal for OPC computational convergence. Background Art
[0002] At present, common solutions to the problem of mask pattern optimization include Optical Proximity Correction (OPC) technology. OPC correction uses the designed target pattern (Target) as the initial mask pattern, and uses optical and process models for simulation to simulate the pattern transfer effect in the lithography process. Specifically, through iterative calculations, the edge position on the mask is continuously adjusted or auxiliary patterns are added to gradually approach the ideal imaging profile. The iterative algorithm aims to globally optimize the target pattern as a whole, evaluate and compensate for optical imaging errors. OPC correction technology achieves progressive optimization of the mask pattern through multiple iterative simulations and adjustments, but the calculation usually needs to be terminated within a preset number of iterations or calculation time.
[0003] However, existing technologies still have significant shortcomings. For example, the iterative calculation process is limited by runtime, resulting in inadequate optimization and affecting the accuracy and imaging quality of the final mask pattern. Global iterative calculation methods for the entire target image are computationally intensive and time-consuming, making them difficult to meet the requirements of efficient design. A limited number of iterations can lead to premature optimization termination, preventing optimal mask correction results. Summary of the Invention
[0004] In view of the shortcomings of the existing technology mentioned above, the purpose of this application is to provide a method, device, medium, program product and terminal for optimizing the OPC calculation convergence speed, which is used to solve the problem that the existing OPC technology is limited by the running time and computational complexity during the global iterative optimization process, and it is difficult to fully complete the precise correction of the mask graphics within a preset number of iterations.
[0005] To achieve the above-mentioned purpose and other related purposes, the first aspect of the present application provides an optimization method for OPC calculation convergence, including: obtaining an initial mask pattern, wherein the initial mask pattern contains multiple basic units; identifying one or more dense graphic areas in the initial mask pattern, and dividing each of the dense graphic areas into feature areas and non-feature areas; in each of the dense graphic areas, performing a first optimization operation on the feature area, and obtaining preliminary optimization parameters after the calculation converges; based on the preliminary optimization parameters, performing a second optimization operation on the non-feature area until convergence, so as to generate an optimized dense graphic area.
[0006] In some embodiments of the first aspect of the present application, an initial mask pattern is obtained, and a process of identifying one or more dense graphic areas in the initial mask pattern includes: traversing the initial mask pattern with candidate areas of a preset size; in each traversal process, identifying one or more dense graphic areas in the candidate area, wherein each dense graphic area contains multiple basic units and has a periodic arrangement feature.
[0007] In some embodiments of the first aspect of the present application, the periodic arrangement characteristics include any one of the following characteristics: the arrangement directions of the basic units are the same; the spacing change between adjacent basic units is less than a preset difference; the distribution density of the same basic units is higher than a preset density.
[0008] In some embodiments of the first aspect of the present application, the process of dividing each of the dense graphic areas into feature areas and non-feature areas includes: in each dense graphic area, extracting a rectangular area located in the middle position as a feature area; wherein the shape, size, arrangement direction, spacing and distribution density of all basic units in the feature area are completely consistent; and dividing the remaining areas in the dense graphic into non-feature areas.
[0009] In some embodiments of the first aspect of the present application, in each of the dense graphic areas, the process of performing a first optimization operation on the feature area and obtaining preliminary optimization parameters after the calculation converges includes: extracting a basic unit in the feature area, and performing iterative calculation on the extracted basic unit to generate the preliminary optimization parameters; based on the preliminary optimization parameters, performing graphic optimization on all basic units in the feature area.
[0010] In some embodiments of the first aspect of the present application, based on the preliminary optimization parameters, a second optimization operation is performed on the non-feature area until convergence to generate an optimized dense graphic area. The process includes: performing iterative calculations on each basic unit in the non-feature area, and each iterative calculation uses the preliminary optimization parameters as the initial optimization parameters until the result of each iterative calculation meets the preset convergence conditions to generate the optimized dense graphic area.
[0011] To achieve the above-mentioned purpose and other related purposes, the second aspect of the present application provides an optimization device for OPC calculation convergence, including: a data acquisition module: used to obtain an initial mask pattern, wherein the initial mask pattern contains multiple basic units; an area division module: used to identify one or more dense graphic areas in the initial mask pattern, and divide each of the dense graphic areas into feature areas and non-feature areas; an optimization calculation module: used to perform a first optimization operation on the feature area in each of the dense graphic areas, and obtain preliminary optimization parameters after the calculation converges; based on the preliminary optimization parameters, perform a second optimization operation on the non-feature area until convergence, so as to generate an optimized dense graphic area.
[0012] To achieve the above-mentioned purpose and other related purposes, the third aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, which implements the optimization method for OPC calculation convergence when the computer program is executed by a processor.
[0013] To achieve the above-mentioned purpose and other related purposes, the fourth aspect of the present application provides a computer program product, which includes computer program code. When the computer program code is run on a computer, the computer implements the optimization method for the OPC calculation convergence.
[0014] To achieve the above-mentioned purpose and other related purposes, the fifth aspect of the present application provides an electronic terminal, including a memory, a processor and a computer program stored in the memory; the processor executes the computer program to implement the optimization method for the OPC calculation convergence.
[0015] As described above, the OPC calculation convergence optimization method, device, medium, program product and terminal of the present application have the following beneficial effects: This solution avoids repeated optimization calculations of similar structures by sharing preliminary optimization parameters within dense areas, thereby shortening the optimization convergence time and reducing the overall computational complexity, which is conducive to improving the computational efficiency of dense areas and is particularly suitable for the rapid processing of large-scale OPC graphic data. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 A flow chart of an embodiment of the OPC convergence speed calculation method of the present application is shown.
[0017] Figure 2 A schematic diagram of the layout of a dense graphics area in an embodiment of the OPC convergence speed calculation method of the present application is shown.
[0018] Figure 3 A schematic diagram of the calculation process of OPC optimization according to an embodiment of the prior art is shown.
[0019] Figure 4 A schematic diagram of the calculation process of OPC optimization in an embodiment of the OPC calculation convergence speed method of the present application is shown.
[0020] Figure 5 A schematic diagram of the calculation process of OPC optimization according to another embodiment of the prior art is shown.
[0021] Figure 6 A schematic diagram of the calculation process of OPC optimization in another embodiment of the OPC calculation convergence rate method of the present application is shown.
[0022] Figure 7 A structural diagram of an embodiment of an OPC convergence speed calculation device of the present application is shown.
[0023] Figure 8 A structural diagram of an embodiment of an OPC calculation convergence speed terminal of the present application is shown. DETAILED DESCRIPTION
[0024] The following describes the embodiments of the present application through specific examples. Those skilled in the art can easily understand the other advantages and effects of the present application from the content disclosed in this specification. The present application can also be implemented or applied through other different specific embodiments. The details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present application. It should be noted that the following embodiments and features in the embodiments can be combined with each other unless they conflict.
[0025] Before further explaining the present invention in detail, the nouns and terms involved in the embodiments of the present invention are explained. The nouns and terms involved in the embodiments of the present invention are subject to the following interpretations:
[0026] <1> Optical Proximity Correction (OPC) is a computational technique that pre-compensates for image distortion caused by physical effects such as diffraction and interference during the lithography process. It is widely used in layout optimization in integrated circuit manufacturing. By adjusting the mask pattern shape, OPC ensures a high degree of consistency between the actual image and the design intent.
[0027] <2> Mask pattern: The mask pattern refers to the two-dimensional geometric structure used to make photolithography masks. Its geometric information expresses the layout content of the circuit layer and is accurately transferred to the silicon wafer surface through the photolithography process.
[0028] <3> Dense pattern area: In a two-dimensional layout, a dense pattern area is an area where the distance between adjacent structures is extremely small and the geometric units are repeated and densely arranged.
[0029] <4> Sparse pattern area: A sparse pattern area refers to an area with larger structural spacing and more dispersed arrangement, where optical interference is weaker than in dense areas.
[0030] <5> Basic unit: As the smallest identifiable computing unit in the layout, the basic unit is divided into the smallest geometric unit with independent boundaries to facilitate iterative calculation and parameter adjustment.
[0031] <6> Basic unit arrangement direction: The basic unit arrangement direction refers to the characteristic that multiple basic units are arranged regularly along a specific direction within a region.
[0032] <7> Basic unit shape: The basic unit shape describes its two-dimensional boundary contour and morphological characteristics, which directly affects the accuracy of the optical model.
[0033] <8> Basic unit size: The basic unit size includes specific physical parameters such as length and width on its plane.
[0034] In the existing optical proximity correction (OPC) of mask graphics, the iterative calculation method has significant computational efficiency challenges. It uniformly processes all graphics in the layout, including regions with periodic structures and non-periodic graphics. These periodic structures mainly include static random access memory (SRAM) cells and logic circuits, which are composed of repeatedly arranged standard cells or logic gates. And in each round of iteration, the same calculation mode is used to correct the mask graphics for these different types of graphics. However, due to the need to process a large number of repetitive and complex structures, the runtime of each iteration will be significantly extended, and a large amount of computational overhead will be generated, which will affect the overall efficiency of integrated circuit design.
[0035] In response to the defects in the prior art, the present application creatively divides the mask pattern to be subjected to OPC into dense graphic areas, and further divides the dense graphic areas into feature areas and non-feature areas. Subsequently, one iterative optimization calculation is first performed on the feature area, and the optimization result is generalized to the feature area where the entire feature has a repetitive arrangement. Finally, the optimization calculation of the non-feature area is performed based on the optimization result of the feature area. In this way, full use is made of the units with periodic and repetitive features in the mask pattern, so that only one iterative optimization calculation is performed on this type of feature area, and the non-feature area around it is further optimized on the basis of the original optimization, which greatly reduces the computational overhead and improves the overall design efficiency.
[0036] To facilitate understanding of the embodiments of this application, first Figure 1 Detailed description. Figure 1 The following is a flow chart showing a method for optimizing the convergence speed of OPC calculations according to an embodiment of the present invention. The method for optimizing the convergence speed of OPC calculations according to this embodiment mainly includes the following steps:
[0037] Step S11: obtaining an initial mask pattern, wherein the initial mask pattern includes a plurality of basic units.
[0038] In one embodiment of the present application, the initial mask pattern is the original circuit layout generated during the design phase and serves as the starting point for OPC iterative optimization. The initial mask pattern is composed of multiple basic units, which are the smallest functional units in circuit design and include, but are not limited to, discrete functional modules such as triggers, logic gates, and storage cells. During the OPC iterative optimization process, these basic units undergo precise graphic corrections to bridge the gap between design intent and actual photolithography manufacturing, ultimately achieving high-precision transfer of the mask pattern to the wafer.
[0039] Furthermore, these basic units form dense and isolated regions in the initial mask pattern. Dense regions refer to areas where the basic units are highly densely arranged, with very small spacing between them, closely connected to each other, or with only minimal spacing. Isolated regions refer to areas where the basic units are sparsely distributed, with relatively large spacing between them. For dense regions with periodic arrangement characteristics, since their basic units have highly repetitive and similar structural features, the mask pattern generated after OPC will exhibit highly consistent distribution trends and morphology. This periodic structure allows for targeted optimization of OPC calculations.
[0040] Step S12: identifying one or more dense pattern regions in the initial mask pattern, and dividing each of the dense pattern regions into a feature region and a non-feature region.
[0041] In one embodiment of the present application, an initial mask pattern is obtained, and a process of identifying one or more dense graphic areas in the initial mask pattern includes: traversing the initial mask pattern with candidate areas of a preset size; in each traversal process, identifying one or more dense graphic areas in the candidate area, wherein each dense graphic area contains multiple basic units and has a periodic arrangement feature.
[0042] In this embodiment, a rasterized traversal is performed on the entire mask pattern using candidate regions of a preset size, such as square or rectangular regions. During the traversal, a sliding window algorithm is used to gradually move the candidate regions with a preset step size. During each move, the current candidate region is identified as a densely packed region.
[0043] In one embodiment of the present application, the periodic arrangement feature includes any one of the following features: the arrangement direction of the basic units is the same; the spacing between adjacent basic units varies less than a preset difference; the distribution density of the same basic units is higher than a preset density.
[0044] In this embodiment, the process of calculating the arrangement direction of the basic units includes extracting the arrangement direction angle of each basic unit and calculating the standard deviation of these angles. The standard deviation reflects the degree of dispersion of the angles, with smaller values indicating more consistent directions. When the standard deviation is below a preset threshold, the arrangement directions of the basic units are determined to be consistent.
[0045] In this embodiment, the calculation process of the spacing between adjacent basic units includes measuring the distances between the center points of adjacent basic units and calculating the coefficient of variation of these distances. The coefficient of variation is the ratio of the standard deviation to the mean and is used to measure the uniformity of the spacing. A smaller coefficient of variation indicates more uniform spacing.
[0046] In this embodiment, the process of determining the distribution density of identical basic units includes counting the pixel areas of the basic units within a candidate region and calculating a ratio with the total area of the candidate region. The distribution density of the region is evaluated by the ratio of the basic unit pixel area to the total area. When the density exceeds a preset threshold, the region is determined to be a densely packed region.
[0047] In one embodiment of the present application, the process of dividing each of the dense graphic areas into feature areas and non-feature areas includes: in each dense graphic area, extracting a rectangular area located in the middle position as a feature area; wherein the shape, size, arrangement direction, spacing and distribution density of all basic units in the feature area are completely consistent; and dividing the remaining area in the dense graphic into a non-feature area.
[0048] like Figure 2 The figure shows a schematic diagram of the layout of the dense graphic area in one embodiment of the present application. Among them, in the square and rectangular layouts, the green area in the center represents the feature area, and the orange area around it represents the non-feature area. The area formed by the red dotted line is the feature calculation area. The shape, size, arrangement direction, spacing and distribution density of all the basic units in the above-mentioned feature area are exactly the same, while the shape, size, arrangement direction, spacing and distribution density of the basic units in the non-feature area are not exactly the same. Therefore, it can be understood that Figure 2 Except for the outermost row of basic units, the basic units in the internal feature area strictly present a repetitive layout.
[0049] Furthermore, a central area of 3x3 (square layout) or 1x3 (rectangular layout) is selected from the feature area for iterative calculation. When the mask pattern of the central feature area reaches a convergence state, the calculation result of the central area in the feature area is extended to the entire feature area to complete the optimization calculation process of the entire feature area. Subsequently, the optimization results of each basic unit in the non-feature area are calculated separately using the calculation result as the initial parameter. By optimizing the same area in the middle and applying its convergence results to the surrounding areas, the efficiency and quality of the overall optimization can be significantly improved, while reducing the computing cost and ensuring the consistency and coordination of the global design. This allows the iterative calculation of the entire layout to be within the running time limit, achieving better optimization results.
[0050] Step S13: In each of the dense graphic areas, a first optimization operation is performed on the feature area, and preliminary optimization parameters are obtained after the calculation converges; based on the preliminary optimization parameters, a second optimization operation is performed on the non-feature area until convergence to generate an optimized dense graphic area.
[0051] In one embodiment of the present application, in each of the dense graphic areas, a first optimization operation is performed on the feature area, and a process of obtaining preliminary optimization parameters after the calculation converges includes: extracting a basic unit in the feature area, and iteratively calculating the extracted basic unit to generate the preliminary optimization parameters; based on the preliminary optimization parameters, performing graphic optimization on all basic units in the feature area.
[0052] In this embodiment, a feature region is selected for each densely packed region. The optimization process specifically includes the following steps: selecting a basic unit within the feature region, setting initial parameters for the basic unit, and then performing multiple iterations. Each round, an objective function value (such as error, energy, or geometric alignment) is calculated based on the current parameters, and the parameters are adjusted based on the optimization direction of the objective function (such as minimizing error).
[0053] Furthermore, the objective function is recalculated after each parameter adjustment. By comparing the numerical changes in the objective function in the current round with the previous round, if the parameter change or the change in the objective function value is less than a preset convergence threshold (for example, the difference between the objective function values in two consecutive rounds is less than a set decimal), the convergence condition is considered to have been met and the iteration is stopped. The parameters generated at this time are the preliminary optimization parameters. Subsequently, the obtained preliminary optimization parameters are directly used to perform the optimization operation on all basic units within the feature area, avoiding the repeated iteration process.
[0054] In one embodiment of the present application, based on the preliminary optimization parameters, a second optimization operation is performed on the non-feature area until convergence to generate an optimized dense graphic area. The process includes: performing iterative calculations on each basic unit in the non-feature area, and each iterative calculation uses the preliminary optimization parameters as the initial optimization parameters until the result of each iterative calculation meets the preset convergence conditions to generate the optimized dense graphic area.
[0055] In this embodiment, the preliminary optimization parameters are used as starting conditions and applied to the non-feature area. Specifically, for each basic unit in the non-feature area, after initializing the parameters, the same multiple rounds of iterative optimization are performed, and the parameters are adjusted according to the changes in the objective function in each round. When the parameter update amplitude or the change in the objective function value is lower than the preset threshold, it is determined that the unit has converged, that is, the optimization of the basic unit is completed. After completing this process for all basic units in the non-feature area, a dense graphics area after overall optimization can be obtained.
[0056] Furthermore, for non-dense areas in the mask graphics, traditional calculation methods are used to process each basic unit. Since such areas do not have significant periodic arrangement features, the preliminary optimization parameters cannot be directly used for efficient iteration. The innovation of this application is that a sharing mechanism for preliminary optimization parameters is introduced for dense areas, which can save a large number of repeated calculation steps in areas with obvious periodic characteristics. By first obtaining the preliminary optimization parameters in the feature area and optimizing the entire dense area based on this, the calculation cycle of the periodic area is greatly shortened, the calculation overhead is significantly reduced, and repeated iterations of similar structures are avoided. This method effectively improves the overall computing efficiency, makes the optimization process of dense graphic areas faster and more efficient, and the advantages are more obvious when processing large-scale data.
[0057] Figure 3 The figure shows the calculation process diagram of the OPC optimization in the prior art. Since each basic unit is calculated independently, a total of 49 calculations are required to complete the optimization of the entire layout. Figure 4 The following is a schematic diagram showing the calculation process of OPC optimization in one embodiment of the present application. Figure 4 As shown, the blue represents the calculation results of the feature area, and the orange area is the calculation result of the non-feature area. The blue area can be completed with only one calculation, while the orange area is further optimized based on the optimization results of the central blue area, requiring 24 calculations in total, for a total of 25 calculations. For the same mask pattern, the existing technology requires 49 operations to complete the calculation of the entire pattern. However, through the method proposed by the present invention, only 25 calculations are required to complete the optimization process of the entire layout, and the efficiency is improved by (1 / 25-1 / 49)÷1 / 49=96%.
[0058] Figure 5 FIG. 2 shows a schematic diagram of a calculation process of OPC optimization according to another embodiment of the prior art. Figure 6 FIG. 1 shows a schematic diagram of the calculation process of OPC optimization in another embodiment of the present application. Figure 5 Figure 6 As shown in the figure, the blue area represents the calculation result of the feature area, and the orange area represents the calculation result of the non-feature area. For the same mask pattern, the prior art requires 7 operations to complete the calculation of the entire pattern. However, through the method proposed by the present invention, only 3 operations are required to complete the optimization process of the entire layout, and the efficiency is improved by (1 / 3-1 / 7) ÷ 1 / 7 = 133%. It can be seen that this application can significantly reduce the computational overhead of OPC iterative optimization calculations and significantly improve computing efficiency.
[0059] In the embodiments of this application, terms such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. For example, the first optimization operation and the second optimization operation are merely used to distinguish between different optimization operations and do not define their order. Those skilled in the art will understand that terms such as "first" and "second" do not limit the number or execution order of the operations, and do not necessarily imply that the terms are different.
[0060] It should be noted that in the embodiments of this application, words such as "exemplary" or "for example" represent examples, illustrations, or descriptions. Any embodiment or design described in this application as "exemplary" or "for example" should not be interpreted as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0061] In the embodiments of the present application, "at least one" refers to one or more, and "more" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can represent: a, b, c, ab, ac, bc or abc, where a, b, c can be single or multiple.
[0062] Figure 7 Schematic block diagram of the device 700 for optimizing OPC calculation convergence speed provided by the embodiment of the present application. Figure 7As shown, the device includes a data acquisition module 701 , a region division module 702 and an optimization calculation module 703 .
[0063] The data acquisition module 701 is used to acquire an initial mask pattern, where the initial mask pattern includes a plurality of basic units.
[0064] The region division module 702 is configured to identify one or more dense pattern regions in the initial mask pattern, and divide each of the dense pattern regions into a feature region and a non-feature region.
[0065] Optimization calculation module 703: used to perform a first optimization operation on the feature area in each of the dense graphics areas, and obtain preliminary optimization parameters after the calculation converges; based on the preliminary optimization parameters, perform a second optimization operation on the non-feature area until convergence to generate an optimized dense graphics area.
[0066] It should be understood that the specific process of each module executing the above corresponding steps has been described in detail in the above method embodiment, and for the sake of brevity, it will not be repeated here.
[0067] It should also be understood that the division of modules in the embodiments of the present application is illustrative and is merely a logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional modules in the various embodiments of the present application may be integrated into a single processor, or may exist physically separately, or two or more modules may be integrated into a single module. The aforementioned integrated modules may be implemented in the form of hardware or software functional modules.
[0068] Figure 8 : is a schematic block diagram of an electronic terminal provided in an embodiment of the present application. Figure 8 As shown, the electronic terminal includes: at least one processor 801, a memory 802, at least one network interface 803 and a user interface 805. The various components in the device are coupled together via a bus system 804. It is understood that the bus system 804 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 804 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Figure 8 In the text, various buses are labeled as bus systems.
[0069] The user interface 805 may include a display, a keyboard, a mouse, a trackball, a click gun, keys, buttons, a touch pad or a touch screen.
[0070] It will be appreciated that the memory 802 may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. The non-volatile memory may be a read-only memory (ROM) or a programmable read-only memory (PROM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM) and synchronous static random access memory (SSRAM). The memories described in the embodiments of the present invention are intended to include, but are not limited to, these and any other suitable types of memories.
[0071] The memory 802 in the embodiment of the present invention is used to store various types of data to support the operation of the electronic terminal 800. Examples of such data include: any executable program for operating on the electronic terminal 800, such as an operating system 8021 and an application 8022; the operating system 8021 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks. The application 8022 can include various applications, such as a media player (Media Player), a browser (Browser), etc., for implementing various application services. The method for optimizing the OPC calculation convergence speed provided by the embodiment of the present invention can be included in the application 8022.
[0072] The methods disclosed in the above embodiments of the present invention can be applied to or implemented by processor 801. Processor 801 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by hardware integrated logic circuits in processor 801 or by software instructions. The above processor 801 may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Processor 801 can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. The general-purpose processor 801 can be a microprocessor or any conventional processor. The steps of the accessory optimization method provided in the embodiments of the present invention can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium, which is located in a memory. The processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above method.
[0073] In an exemplary embodiment, the electronic terminal 800 may be configured to execute the aforementioned method using one or more application specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), or complex programmable logic devices (CPLDs).
[0074] According to the method provided in the embodiments of the present application, the present application also provides a computer program product, which includes: computer program code, which, when running on a computer, enables the computer to execute the method for optimizing the OPC calculation convergence speed in any of the embodiments shown above.
[0075] According to the method provided in the embodiments of the present application, the present application also provides a computer-readable storage medium, which stores program code. When the program code is run on a computer, the computer executes the method for optimizing the OPC calculation convergence speed in any of the embodiments shown above.
[0076] As used in this specification, the terms "component," "module," "system," and the like are used to represent computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. By way of illustration, both an application running on a computing device and a computing device can be a component. One or more components can reside in a process and / or an execution thread, and a component can be located on a computer and / or distributed between two or more computers. In addition, these components can be executed from various computer-readable media having various data structures stored thereon. Components can communicate, for example, via local and / or remote processes based on signals having one or more data packets (e.g., data from two components interacting with another component on a local system, a distributed system, and / or a network, such as the Internet interacting with other systems via signals).
[0077] Those skilled in the art will appreciate that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0078] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0079] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0080] Units described as separate components may or may not be physically separate, and components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0081] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0082] In the above embodiments, the functions of each functional unit can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions (programs). When the computer program instructions (program) are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, computer, server or data center to another website, computer, server or data center by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. Available media can be magnetic media (e.g., floppy disks, hard disks, tapes), optical media (e.g., high-density digital video discs (DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).
[0083] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0084] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
[0085] In summary, the present application provides a method, device, medium, program product and terminal for optimizing the convergence speed of OPC calculations. By identifying a dense graphic area, a feature area is selected within the area, and the basic units within the feature area are first iteratively calculated until convergence to obtain preliminary optimization parameters, and the parameters are generalized and applied to the entire feature area. Subsequently, starting from the preliminary optimization parameters, each basic unit in the non-feature area is iteratively optimized until convergence. Non-dense areas are processed using traditional calculation methods. The present application performs unified OPC calculations on the periodic structure of dense areas, reduces repeated calculations, effectively reduces the number of iterations and computing overhead, and improves optimization efficiency. Therefore, the present application effectively overcomes the various shortcomings in the prior art and has a high industrial utilization value.
[0086] The above embodiments are merely illustrative of the principles and effects of this application and are not intended to limit this application. Anyone skilled in the art may modify or alter the above embodiments without departing from the spirit and scope of this application. Therefore, all equivalent modifications or alterations made by one of ordinary skill in the art without departing from the spirit and technical concepts disclosed in this application shall be covered by the claims of this application.
Claims
1. An optimization method for OPC calculation convergence, characterized in that: include: Acquire an initial mask pattern, wherein the initial mask pattern includes a plurality of basic units; Identifying one or more dense pattern areas in the initial mask pattern, and dividing each of the dense pattern areas into feature areas and non-feature areas; In each of the dense graphic regions, performing a first optimization operation on the feature region, and obtaining preliminary optimization parameters after the calculation converges; Based on the preliminary optimization parameters, a second optimization operation is performed on the non-feature region until convergence to generate an optimized dense graphics region.
2. The OPC calculation convergence optimization method according to claim 1, characterized in that: Acquiring an initial mask pattern, and identifying one or more dense pattern areas in the initial mask pattern includes: Traversing the initial mask pattern with a candidate area of a preset size; During each traversal process, one or more dense graphic regions are identified in the candidate region, wherein each dense graphic region contains a plurality of basic units and has a periodic arrangement feature.
3. The OPC calculation convergence optimization method according to claim 2, characterized in that: The periodic arrangement feature includes any one of the following features: The basic units are arranged in the same direction; The variation in the spacing between adjacent basic units is less than a preset difference; The distribution density of the same basic units is higher than the preset density.
4. The OPC calculation convergence optimization method according to claim 1, characterized in that: The process of dividing each of the dense graphic regions into feature regions and non-feature regions comprises: In each dense graphic area, a rectangular area in the middle is extracted as a feature area; wherein the shape, size, arrangement direction, spacing and distribution density of all basic units in the feature area are completely consistent; The remaining areas in the dense graph are divided into non-feature areas.
5. The OPC calculation convergence optimization method according to claim 1, characterized in that: In each of the dense graphics regions, the process of performing a first optimization operation on the feature region and obtaining preliminary optimization parameters after the calculation converges includes: Extracting a basic unit from the feature region, and performing iterative calculation on the extracted basic unit to generate the preliminary optimization parameters; Based on the preliminary optimization parameters, graphics optimization is performed on all basic units in the feature area.
6. The OPC calculation convergence optimization method according to claim 1, characterized in that: The process of performing a second optimization operation on the non-feature area based on the preliminary optimization parameters until convergence to generate an optimized dense graphics area includes: An iterative calculation is performed on each basic unit in the non-feature area, and each iterative calculation uses the preliminary optimization parameters as the initial optimization parameters until the result of each iterative calculation meets the preset convergence condition to generate the optimized dense graphics area.
7. An optimization device for OPC calculation convergence, characterized in that: include: Data acquisition module: used for acquiring an initial mask pattern, wherein the initial mask pattern includes a plurality of basic units; A region division module: used for identifying one or more dense pattern regions in the initial mask pattern, and dividing each of the dense pattern regions into a feature region and a non-feature region; Optimization calculation module: used for performing a first optimization operation on the feature area in each of the dense graphics areas, and obtaining preliminary optimization parameters after the calculation converges; Based on the preliminary optimization parameters, a second optimization operation is performed on the non-feature region until convergence to generate an optimized dense graphics region.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the OPC calculation convergence optimization method according to any one of claims 1 to 6 is implemented.
9. A computer program product, characterized in that The computer program product includes computer program codes, and when the computer program codes are run on a computer, the computer is enabled to implement the method for optimizing OPC calculation convergence according to any one of claims 1 to 6.
10. An electronic terminal comprising a memory, a processor, and a computer program stored in the memory, characterized in that: The processor executes the computer program to implement the OPC calculation convergence optimization method according to any one of claims 1 to 6.
Citation Information
Cited By
Processing method of optical proximity correction data, and medium, product and equipment thereof
CN121091593A
Method of processing optical proximity correction data, medium, product and apparatus
CN121091593B