A design layout modification method and system
Through the automated design layout modification method, the edges of the illegal design graphics are moved by preset distances and movement amounts, and iteratively processed, solving the problem of time-consuming repair of violation graphics in the prior art, realizing fully automated design layout modification, and improving efficiency.
Patent Information
- Application Number
- CN202310595743.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-23
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2043-05-23
AI Technical Summary
In the prior art, repairing illegal graphics takes a lot of time and depends on manual experience, which is complicated and difficult to automate.
By obtaining the development profile of the initial design graphic in the design layout, determining and obtaining the type and position of the violation, calculating the movement amount based on the preset disconnection distance and connection distance, determining whether the edges of the design graphic corresponding to the violation are moved based on the movement amount, and the moved design graphic is iterated as the initial iterative design graphic to obtain the final design graphic.
It realizes repeated manual modification without relying on manual experience, and the modification of the design layout is fully automatic, which significantly saves time, improves modification efficiency, and solves the problem of time-consuming repair of existing violation graphics in the prior art.
Smart Images

Figure CN116611389B_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to the field of photolithography technology, and in particular to a design layout modification method and system. [Background technology]
[0002] The quality of the photolithography process directly affects the actual yield, reliability, device performance, and service life of chip devices. Usually, chip manufacturers will provide a series of design rules for the chip design process, requiring that the chip design results do not violate these design rules. Design rules are a simple set of rules. There will be some graphics in the chip design layout. When optimizing the mask, the contours obtained by the development are prone to disconnection or connection, and the ideal contour cannot be obtained. Therefore, this design graphic is also called a violation graphic.
[0003] When there are illegal graphics in chip design, these graphics need to be modified so that the modified design graphics can obtain results that meet manufacturing requirements through mask optimization. The usual practice is that engineers rely on experience to manually adjust the illegal graphics, and then optimize and verify them. This process usually repeats several rounds of iterations until the final modification results meet the requirements. It is complicated and highly dependent on human experience. In addition, chip design has multiple layers of connection relationships. When modifying a certain layer of layout, the connection relationship between it and other layout layers should not be destroyed, which undoubtedly increases the difficulty of the work. In addition, when there are a large number of lithography violation graphics in the chip design, manually modifying them separately is a very time-consuming task. [Summary of the invention]
[0004] In order to solve the problem in the prior art that it takes a lot of time to repair illegal graphics, the present invention provides a design layout modification method and system.
[0005] In order to solve the above technical problems, the present invention provides the following technical solutions: a design layout modification method, comprising the following steps:
[0006] Obtaining a development contour corresponding to an initial design pattern in a design layout, and determining whether there is a violation within or between development contours;
[0007] If so, get the type of violation and the location of the violation;
[0008] Obtaining a preset disconnection distance and a preset connection distance, and obtaining a movement amount based on a location of the violation, a type of the violation, the preset disconnection distance, and the preset connection distance;
[0009] Determine whether to move the edge of the initial design figure corresponding to the violation based on the movement amount based on the preset distance, and if so, obtain the moved design figure;
[0010] The moved design graphic is used as the initial iterative design graphic for iterative processing to obtain the final design graphic to complete the modification of the design layout.
[0011] Preferably, the types of violations include disconnection violations and connection violations, and determining whether the development profile has a violation specifically includes:
[0012] Get the profile information of all developed profiles
[0013] If the distance between two points on the same development contour is less than the preset disconnection distance, it is determined that there is a disconnection violation between the two points;
[0014] If the distance between a point on the contour of one of the developed contours and a point on the contour of its adjacent developed contour is less than a preset connection distance, it is determined that there is a connection violation between the two points.
[0015] Preferably, the coordinates of two points on the development profile where disconnection violations exist are obtained, and the coordinates of the two points are respectively used as violation positions;
[0016] Or, obtain the coordinates of a point on the development contour where the connection violation exists and the coordinates of a point on the adjacent development contour, and use the coordinates of the two points as the violation positions respectively;
[0017] The positions of two edges of the initial design figure corresponding to the two points are obtained, so as to use the two edges as the edges of the initial design figure corresponding to the violation.
[0018] Preferably, obtaining the movement amount comprises:
[0019] Obtaining a preset disconnection distance and a preset connection distance based on a preset algorithm;
[0020] The movement amount is obtained based on the location of the violation, the type of violation, the preset disconnection distance, and the preset connection distance. The cost function formula used is:
[0021]
[0022] In Formula 1, costcv is the cost function, cv is the movement amount, pinch_correction(p) is the cost term corresponding to the p-th disconnection violation, and bridge_correction(b) is the cost term corresponding to the b-th connection violation;
[0023] In Formula 2, pinch_violation(p) is the deviation between the length of the disconnection violation and the preset disconnection distance, and p1 and p2 are the edges of the initial design graph corresponding to the violation positions of the disconnection violation;
[0024] In Formula 3, bridge_violation(b) is the deviation between the length of the connection violation and the preset connection distance, and b1 and b2 are the edges of the initial design graph corresponding to the violation positions of the connection violation.
[0025] Preferably, judging whether to move the edge of the initial design graphic corresponding to the violation based on the movement amount based on the preset distance specifically includes:
[0026] The movement amount includes a movement direction and a movement distance, and the preset distance includes a preset limit distance;
[0027] Get the outline information of the auxiliary graphics on the design layout;
[0028] Obtaining position information of the edge of the initial design graph corresponding to the violation;
[0029] Predict the predicted position information of the edge after it moves based on the position information, moving direction and moving distance of the edge;
[0030] Determine whether the distance between the moved edge and the adjacent auxiliary graphic is not less than a preset limit distance based on the predicted position information;
[0031] If so, the edge of the initial design pattern corresponding to the violation is moved based on the movement amount.
[0032] Preferably, the moving direction includes the edge of the initial design pattern corresponding to the violation moving toward a direction close to the auxiliary pattern, or moving toward a direction away from the auxiliary pattern.
[0033] Preferably, judging whether to move the edge of the initial design graphic corresponding to the violation based on the movement amount based on the preset limit distance specifically includes:
[0034] The movement amount includes a movement direction and a movement distance, and the preset distance includes a preset width distance;
[0035] Obtaining position information of the edge of the initial design graph corresponding to the violation;
[0036] Predicting the contour information of the predicted design figure formed after the edge moves based on the position information, moving direction and moving distance of the edge;
[0037] Determine whether the distance between the two closest edges in the predicted design figure is not less than the preset width distance;
[0038] If so, the edge of the initial design pattern corresponding to the violation is moved based on the movement amount.
[0039] Preferably, judging whether to move the edge of the initial design graphic corresponding to the violation based on the movement amount based on the preset limit distance specifically includes:
[0040] The movement amount includes a movement direction and a movement distance, and the preset distance includes a preset space distance;
[0041] Obtaining position information of the edge of the initial design graph corresponding to the violation;
[0042] Predicting the contour information of the predicted design figure formed after the edge moves based on the position information, moving direction and moving distance of the edge;
[0043] Determine whether the distance between adjacent predicted design figures is not less than the preset spatial distance;
[0044] If so, the edge of the initial design pattern corresponding to the violation is moved based on the movement amount.
[0045] Preferably, taking the moved design graphic as the initial iterative design graphic for iterative processing specifically includes:
[0046] The moved design graphic is used as the initial iterative design graphic to perform iterative processing for a preset number of times;
[0047] If there is no violation in the development contour corresponding to the design graphic in the iteration process, the final design graphic is directly output;
[0048] If the development profile corresponding to the initial iteration design pattern still has violations during the preset number of iterations, the final design pattern is output after the preset number of iterations, and the design pattern still having violations is deleted or redesigned.
[0049] In order to solve the above technical problems, the present invention provides another technical solution as follows: a design layout modification system, applying the above design layout modification method, the system comprises:
[0050] Identification module: used to identify the initial design graphics in the design layout;
[0051] Analysis module: used to determine whether there are violations within or between development contours;
[0052] Processing module: used for determining whether to move the edge of the initial design figure corresponding to the violation based on the movement amount;
[0053] Loop module: used for iteratively processing the moved design graphics as the initial iterative design graphics to obtain the final design graphics.
[0054] Compared with the prior art, the design layout modification method and system provided by the present invention have the following beneficial effects:
[0055] A method for modifying a design layout provided by an embodiment of the present invention includes the following steps: obtaining a development contour corresponding to an initial design graphic in a design layout, and determining whether there is a violation within or between the development contours; if so, obtaining the type of violation and the position of the violation; obtaining a movement amount through a preset algorithm based on the position of the violation and the type of violation; determining whether to move the edge of the initial design graphic corresponding to the violation based on the movement amount based on a preset distance, and if so, obtaining the moved design graphic; and iteratively processing the moved design graphic as an initial iterative design graphic to obtain a final design graphic to complete the modification of the design layout. In this embodiment, there is no need to rely on manual experience for repeated manual modification, and the modification of the design layout can be completed fully automatically. The problem of consuming a lot of time in repairing graphics with violations in the prior art is solved.
Brief Description of the Drawings
[0056] Figure 1 It is a schematic diagram showing an irregularity in the development contour formed by the design graphic.
[0057] Figure 2 It is a schematic flow chart of a design layout modification method provided by the first embodiment of the present invention.
[0058] Figure 3a It is a schematic diagram showing a disconnection violation in a development contour formed by an initial design pattern in a design layout provided by the first embodiment of the present invention.
[0059] Figure 3b It is a schematic diagram showing that a connection violation exists in a development outline formed by an initial design pattern and its adjacent design patterns in a design layout provided by the first embodiment of the present invention.
[0060] Figure 4 It is a flowchart diagram of an implementation method of determining whether to move the edge of the initial design graphic corresponding to the violation based on the movement amount provided by the first embodiment of the present invention.
[0061] Figure 5a It is a schematic diagram of the effect of the enclosing figure on the movement amount.
[0062] Figure 5b It is a schematic diagram of the limiting effect of the compensation pattern on the movement amount in the present invention.
[0063] Figure 6 It is a flowchart diagram of another implementation method of determining whether to move the edge of the initial design graphic corresponding to the violation based on the movement amount provided by the first embodiment of the present invention.
[0064] Figure 7a It is a schematic diagram of the limiting effect of the size of the design pattern itself on the movement amount in the present invention.
[0065] Figure 7b It is a schematic diagram of the limiting effect of the size between adjacent design patterns on the movement amount in the present invention.
[0066] Figure 8 It is a flowchart diagram of another implementation method of determining whether to move the edge of the initial design graphic corresponding to the violation based on the movement amount provided by the first embodiment of the present invention.
[0067] Fig. 9 It is a schematic diagram of the structure of a design layout modification system provided by the second embodiment of the present invention.
[0068] Description of the accompanying drawings:
[0069] 1. Design layout modification system;
[0070] 11. Identification module; 12. Analysis module; 13. Processing module; 14. Circulation module. [Specific implementation method]
[0071] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and implementation examples. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0072] In the embodiments provided by the present invention, it should be understood that "B corresponding to A" means that B is associated with A, and B can be determined according to A. However, it should also be understood that determining B according to A does not mean determining B only according to A, and B can also be determined according to A and / or other information.
[0073] It should be understood that the "one embodiment" or "an embodiment" mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present invention. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. Those skilled in the art should also be aware that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required for the present invention.
[0074] In various embodiments of the present invention, it should be understood that the sequence numbers of the above-mentioned processes do not necessarily mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0075] The flow chart and block diagram in the accompanying drawings of the present invention illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which is determined based on the functions involved. It should be particularly noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs a specified function or operation, or can be implemented by a combination of dedicated hardware and computer instructions.
[0076] Integrated circuit manufacturing is a series of complex processes to transfer chip design layouts to silicon wafers, of which the most critical step is photolithography, which uses a photolithography machine to expose and image the mask to form a pattern in the photoresist that is consistent with the chip design. As the process nodes of integrated circuit manufacturing are reduced, the circuit size is much smaller than the exposure wavelength, and the diffraction effect of light cannot be ignored. If the chip design layout is directly used for exposure, the resulting pattern will have a large deviation from the design layout. The design layout needs to be corrected for optical proximity effects (also commonly known as mask optimization), and then the corrected mask result is used to manufacture the mask and use it for photolithography exposure imaging.
[0077] On the one hand, mask optimization compensates for the imaging deviation caused by the optical diffraction effect by correcting the mask, and at the same time improves the manufacturing process window, that is, the imaging result is consistent with the design layout under a sufficiently large process condition offset. However, mask optimization is essentially a process of finding a local optimal solution in a limited solution space, and this solution space is fundamentally determined by the chip design results. Therefore, chip manufacturers will provide a series of design rules to the chip design process, requiring that the chip design results do not violate these design rules. However, with the continuous improvement of chip integration, it is very difficult to meet all design rules, and there are usually graphics that violate the design rules in the chip design results. In addition, the design rules are a simple set of rules. There will be some design graphics in the chip design layout. When it is optimized for photolithography masks, the development contours formed after imaging will have problems of disconnection or connection with the development contours formed by adjacent design graphics. Such problems are collectively referred to as violations, and the phenomenon that such design graphics that cannot obtain mask optimization results that meet manufacturing requirements have violations is called violation phenomenon, and such design graphics are called photolithography violation graphics.
[0078] For example, see Figure 1 , Figure 1 The diagram shows a violation of the development contour formed by the design pattern. In which, because the design pattern 1P1 and the design pattern 1P2 are too close, the development contour 1I1 formed by the design pattern 1P1 and the development contour 1I2 formed by the design pattern 1P2 are connected (please refer to the dotted box part), resulting in a violation.
[0079] When there are lithography violation patterns in chip design, these patterns need to be modified so that the modified design layout can obtain results that meet manufacturing requirements through mask optimization. The usual practice is that engineers rely on experience to manually adjust the lithography violation patterns, and then optimize and verify them. This process usually repeats several rounds of iterations until the final modification results meet the requirements. It is complicated and highly dependent on human experience. In addition, chip design has multiple layers of connection relationships. When modifying a certain layer of layout, the connection relationship between it and other layout layers should not be destroyed, which undoubtedly increases the difficulty of the work. In addition, when there are a large number of lithography violation patterns in the chip design, manually modifying them separately is a very time-consuming task.
[0080] See also Figure 2 The first embodiment of the present invention provides a design layout modification method, which specifically includes the following steps:
[0081] S1, obtaining a development contour corresponding to an initial design pattern in a design layout, and determining whether there is a violation within the development contour or between development contours;
[0082] S2, if yes, get the type of violation and the location of the violation;
[0083] S3, if not, outputting the initial design graphic as the final design graphic to complete the modification of the design layout.
[0084] S4, obtaining a movement amount by a preset algorithm based on the position of the violation and the type of the violation;
[0085] S5, judging whether to move the edge of the initial design graphic corresponding to the violation based on the movement amount based on the preset distance;
[0086] S6, if yes, obtain the design graphic after moving;
[0087] S7, if not, it is determined that the violation cannot be modified and a loop instruction is output, and based on the instruction loop, it is continued to determine whether other development profiles have violations;
[0088] S8, using the moved design graphic as the initial iterative design graphic for iterative processing to obtain a final design graphic to complete the modification of the design layout.
[0089] It can be understood that in this embodiment, the design layout is first identified, and the initial design graphics existing in the design layout and the mask image corresponding to the design graphics are obtained. If there is no violation in the mask image, it means that the initial design graphics will not have violations after the photolithography optimization is a development profile, that is, the initial design graphics can be directly output as the final initial design graphics to complete the modification of the design layout. If there is a violation in the mask image, the violation type and the position of the violation are obtained. Specifically, the position of the violation on the development profile corresponds to the edge of its initial design graphics. Therefore, if you want to eliminate the violation, you must move the edge of the initial design graphics corresponding to the violation, where the edge of the initial design graphics refers to the outer contour of the initial design graphics, and the position of the violation on the development profile corresponds to the position of the edge of the design graphics corresponding to it. Therefore, when obtaining the position of the violation, you can also obtain the position of the edge of the initial design graphics corresponding to the violation, and then you can move the edge on the design graphics in a targeted manner. In addition, the edge of the mobile design graphics can be a certain edge in the mobile design graphics, or it can be all the edges of the mobile design graphics. After the edge of the design pattern is moved, the contour of the development contour formed by the design pattern after the movement is optimized by the mask is also changed accordingly to solve the violation phenomenon. Specifically, the movement amount is obtained by a preset algorithm based on the position and type of the violation. It should be noted that the movement amount represents how to move the edge of the initial design pattern corresponding to the violation, which includes the moving direction and the moving distance.
[0090] Further, based on the preset distance, it is determined whether to move the edge of the initial design graphic corresponding to the violation based on the movement amount. It should be understood that there are a large number of initial design graphics in the design layout. If the edge of the initial design graphic corresponding to a violation is directly moved based on the movement amount after the movement amount is obtained, although the violation phenomenon of the initial design graphic corresponding to the violation can be solved, the movement amount lacks a restriction condition, and the edge may move too much or too little. The result of the movement is that when the initial design graphic is modified, other initial design graphics will cause violations again.
[0091] Preferably, based on the preset distance, it is determined whether the edge of the initial design graphic corresponding to the violation is moved based on the movement amount. If not, it is determined that the violation cannot be modified and a loop instruction is output. Based on the loop instruction, it is continued to be determined whether there are violations in other development contours to restart the process of step S1 above. It should be understood that it is an ideal situation to solve all violations in the design layout. The problem that may arise in the actual process is that the violations generated by some initial design graphics cannot be solved by moving the edge of the initial design graphic. At this time, the initial design graphic corresponding to the violation that cannot be modified can be deleted or the initial design graphic can be redesigned so that there is no violation in the initial design graphic, and a loop instruction is generated. Based on the loop instruction, other initial design graphics in the design layout can be quickly modified to complete the modification of the design layout. On the contrary, if yes, then the design graphic can be moved based on the movement amount to obtain the moved design graphic.
[0092] Furthermore, the above process from judging whether there is a violation of the development contour based on preset rules to moving the edge of the initial design graphic corresponding to the violation based on the movement amount can be regarded as an iterative process. In a single iterative process, multiple initial design graphics in the design layout can be processed and modified at the same time, but it may happen that after an iterative process, the initial design graphic violation will still appear in the design layout. Therefore, the design graphic after the move is used as the initial iterative design graphic for iterative processing so that the violation phenomenon in the design layout is eliminated and the final design graphic is obtained to complete the modification of the design layout. It should be understood that in this embodiment, there is no need to rely on manual experience for repeated manual modification, and the modification of the design layout can be completed fully automatically. The problem of consuming a lot of time in repairing graphics with violations in the prior art is solved.
[0093] Furthermore, please combine Figure 2 , Figure 3a and Figure 3b The types of violations include disconnection violations and connection violations. In the above step S1, judging whether the development profile has a violation based on the preset rule specifically includes:
[0094] S11, obtaining contour information of all developed contours;
[0095] S12, if the distance between two points on the same development contour is less than a preset disconnection distance, it is determined that there is a disconnection violation between the two points;
[0096] S13, if the distance between a point on the contour of one of the developed contours and a point on the contour of its adjacent developed contour is less than a preset connection distance, it is determined that there is a connection violation between the two points.
[0097] It should be understood that Figure 3aThe schematic diagram shows a disconnection violation in the development profile formed by the initial design pattern. In particular, due to the problem that the distance between the edges in the initial design pattern 3P1 is too close, the result is that the development profile 3I1 formed by the design pattern 3P1 after mask optimization is similar to being disconnected into two development profiles. This violation is a disconnection violation. Further, Figure 3b The schematic diagram shows a connection violation in the development profile formed by the initial design pattern and its adjacent design pattern. In particular, due to the problem that the edge of the initial design pattern 3P2 and the edge of the initial design pattern 3P3 are too close, the result is that the development profile 3I2 and the development profile 3I3 formed by the design pattern 3P2 and the design pattern 3P3 after mask optimization are approximately connected to form a development profile, and this violation is a connection violation.
[0098] For further information, see Figure 2 ,and Figure 3b In the above step S2, obtaining the type of violation and the location of the violation specifically includes:
[0099] Obtaining the coordinates of two points on the development contour where disconnection violations exist, and using the coordinates of the two points as violation positions respectively;
[0100] Or, obtain the coordinates of a point on the development contour where the connection violation exists and the coordinates of a point on the adjacent development contour, and use the coordinates of the two points as the violation positions respectively;
[0101] The positions of two edges of the initial design figure corresponding to the two points are obtained, so as to use the two edges as the edges of the initial design figure corresponding to the violation.
[0102] For example, please refer to Figure 3a , there are two points 3A and 3B in the development profile 3I1 formed by the initial design pattern 3P1, and the distance from 3A to 3B is less than the preset disconnection distance, which indicates that there are disconnection defects at 3A and 3B on the development profile 3I1. At this time, the two points 3A and 3B are regarded as violation positions. Please refer to Figure 3b, there are two points 3C and 3D in the development contour 3I2 and the development contour 3I3 formed by the initial design graphics 3P2 and the initial design graphics 3P3, and the distance from 3C to 3D is less than the preset connection distance, which indicates that there are connection defects on 3C and 3D on the development contour 3I2 and the development contour 3I3. At this time, the two points 3C and 3D are taken as violation positions. It should be noted that the type of violation can be obtained at the same time as the position of the violation is obtained. In addition, the position of the violation corresponds to the edge of the initial design graphics corresponding to it. For example, point 3A corresponds to the edge 3A' of the initial design graphics 3P1. By obtaining the coordinates of point 3A, the position information of edge 3A' can be obtained. Point 3B corresponds to the edge 3B' of the initial design graphics 3P1. By obtaining the coordinates of point 3B, the position information of edge 3B' can be obtained, so that the edge of the initial design graphics can be moved in a targeted manner based on the position of the violation to eliminate the violation phenomenon.
[0103] Furthermore, in the above step S4, the movement amount is obtained by a preset algorithm based on the position of the violation and the type of the violation. Specifically, the preset algorithm is a cost function formula:
[0104]
[0105]
[0106] In Formula 1, costcv is the cost function, cv is the movement amount, pinch_correction(p) is the cost term corresponding to the p-th disconnection violation, and bridge_correction(b) is the cost term corresponding to the b-th connection violation;
[0107] In Formula 2, pinch_violation(p) is the deviation between the length of the disconnection violation and the preset disconnection distance, and p1 and p2 are the edges of the initial design graph corresponding to the violation positions of the disconnection violation;
[0108] In Formula 3, bridge_violation(b) is the deviation between the length of the connection violation and the preset connection distance, and b1 and b2 are the edges of the initial design graph corresponding to the violation positions of the connection violation.
[0109] Among them, Formula 1 and Formula 2 are applied to the case where there is a disconnection violation within the development contour or between the development contours, and Formula 1 and Formula 3 are applied to the case where there is a connection violation within the development contour or between the development contours.
[0110] It can be understood that the movement amount is obtained by a preset algorithm based on the position of the violation and the type of the violation. Specifically, after the movement amount is obtained, the edge of the initial design figure can be moved in a targeted manner to eliminate the violation phenomenon. The movement amount includes a moving direction and a moving distance. The moving direction refers to the specific direction in which the edge of the initial design figure corresponding to the violation position moves. The moving distance refers to the specific length of the edge of the initial design figure corresponding to the violation position moving in the moving direction.
[0111] As a possible implementation, please combine Figure 4 , Figure 5a and Figure 5b In the step of judging whether to move the edge of the initial design graphic corresponding to the violation based on the movement amount based on the preset distance specifically includes:
[0112] The movement amount includes a movement direction and a movement distance, and the preset distance includes a preset limit distance;
[0113] S511, obtaining outline information of the auxiliary graphics on the design layout;
[0114] S512, obtaining position information of the edge of the initial design graph corresponding to the violation;
[0115] S513, predicting predicted position information of the edge after it moves based on the position information, moving direction, and moving distance of the edge;
[0116] S514, judging whether the distance between the moved edge and the adjacent auxiliary graphic is not less than a preset limit distance based on the predicted position information;
[0117] S6, if yes, then move the edge of the initial design figure corresponding to the violation based on the movement amount;
[0118] S8, if not, it is determined that the violation cannot be modified.
[0119] It should be understood that in addition to a large number of design graphics, there are also auxiliary graphics on the design layout, which are used as auxiliary tools to help manufacture the design graphics. In this embodiment, the auxiliary graphics on the design layout can be used to set a preset limit distance to set rules for the movement amount in a targeted manner, so that the edge of the initial design graphic corresponding to the violation is moved based on the movement amount, in addition to eliminating its own violation, it will not affect other initial design graphics.
[0120] Exemplarily, the auxiliary graphics include surrounding graphics and compensation graphics. Figure 5a The effect of the enclosing figure on the movement is shown. The enclosing figure 5P2 is set inside the initial design figure 5P1, where the distance from the edge of the initial design figure 5P1 to the edge of the enclosing figure 5P2 is dist n, where n represents the nth edge of the initial design figure 5P1. The moving direction includes the edge of the initial design figure corresponding to the violation moving in the direction close to the auxiliary figure, or moving in the direction away from the auxiliary figure. The direction of movement close to the auxiliary figure is defined as the negative direction, and the direction of movement away from the auxiliary figure is defined as the positive direction, that is, if the moving distance of the edge of the initial design figure moves close to the surrounding figure, it is a negative number, otherwise it is a positive number. If the edge where the violation is obtained is the i-th edge, the position information and movement amount of the i-th edge are obtained. If the moving direction of the i-th edge is the direction close to the surrounding figure (negative direction), the moving distance is -cv i , then the predicted position information of the i' edge after the edge moves can be predicted based on the edge's position information, moving direction and moving distance, and the distance dist between the i' edge and the surrounding figure can be obtained based on the predicted position information i -cv i Is it greater than the preset limit distance d? If dist i -cv i If the distance is greater than or equal to the preset limit distance d, the i-th edge can be moved towards the enclosed shape based on the movement amount cv i On the contrary, if dist i -cv i If it is less than the preset limit distance d, it is determined that the violation cannot be modified, and the design graphic corresponding to the violation can only be deleted or the design graphic is redesigned.
[0121] Further, Figure 5b This shows the limiting effect of the compensation pattern on the movement amount. Similarly, the distance from the edge of the initial design pattern 5P3 to the edge of the compensation pattern 5P4 is dist t If the edge where the violation is found is edge t, the position information and movement amount of edge t are obtained. If the movement direction of edge t is the direction close to the compensation figure (negative direction), the movement distance is -cv t , then the predicted position information of the t' edge obtained after the edge moves can be predicted based on the position information, moving direction and moving distance of the edge, and the distance dist between the t' edge and the surrounding figure can be obtained based on the predicted position information t -cv t Is it greater than the preset limit distance d? If dist t -cv t If the distance is greater than or equal to the preset limit distance d, the t side can be moved towards the direction of the compensation figure based on the movement amount. t On the contrary, if dist t -cv t If it is less than the preset limit distance d, it is determined that the violation cannot be modified, and the design graphic corresponding to the violation can only be deleted or the design graphic is redesigned.
[0122] It should be noted that the specific value of the preset limit distance can be determined according to the actual needs of the user.
[0123] As another possible implementation, please combine Figure 6 and Figure 7a , judging whether to move the edge of the initial design figure corresponding to the violation based on the movement amount based on the preset limit distance specifically includes:
[0124] The movement amount includes a movement direction and a movement distance, and the preset distance includes a preset width distance;
[0125] S521, obtaining position information of the edge of the initial design graph corresponding to the violation;
[0126] S522, predicting contour information of a predicted design figure formed after the edge moves based on the position information, moving direction and moving distance of the edge;
[0127] S523, determining whether the distance between the two closest edges in the predicted design figure is not less than a preset width distance;
[0128] S6, if yes, then move the edge of the initial design figure corresponding to the violation based on the movement amount;
[0129] S8, if not, it is determined that the violation cannot be modified.
[0130] It is understandable that, in addition to setting the movement amount rules by auxiliary graphics, the movement amount rules can also be set according to the size limit of the design graphics themselves. Figure 7a A schematic diagram showing the effect of the size of a design graphic on the amount of movement. The direction of movement toward the inside of the initial design graphic is defined as the negative direction, and the direction of movement toward the outside of the initial design graphic is defined as the positive direction. The distance between the i edge and the j edge in the initial design graphic 7P0 is CD. Based on the position information, movement direction, and movement distance of the edge, the i edge and the j edge in the initial design graphic 7P0 are predicted to move toward the outside of the graphic (positive direction) by a distance cv i and cv j Move to obtain the predicted design figure 7P0'. Obtain the contour information of the predicted design figure 7P0'. If the distance CD+cv of the shortest side of the predicted design figure 7P0' i +cv j If it is greater than or equal to the preset width distance min_width, it indicates that the i side and the j side in the initial design pattern 7P0 can be moved out of the pattern. Otherwise, it is determined that the violation cannot be modified, and the design pattern corresponding to the violation can only be deleted or redesigned.
[0131] As another possible implementation, please combine Figure 8 and Figure 7b , judging whether to move the edge of the initial design figure corresponding to the violation based on the movement amount based on the preset limit distance specifically includes:
[0132] The movement amount includes a movement direction and a movement distance, and the preset distance includes a preset space distance;
[0133] S531, obtaining position information of the edge of the initial design graph corresponding to the violation;
[0134] S532, predicting contour information of a predicted design figure formed after the edge moves based on the position information, moving direction and moving distance of the edge;
[0135] S533, determining whether the distance between adjacent predicted design figures is not less than a preset spatial distance;
[0136] S6, if yes, then move the edge of the initial design figure corresponding to the violation based on the movement amount;
[0137] S8, if not, it is determined that the violation cannot be modified.
[0138] It is understandable that in this embodiment, the movement amount can also be set according to the size limit between adjacent design patterns. Figure 7b A schematic diagram showing the effect of the size between adjacent design figures on the limit of movement. The direction of movement outside the initial design figure is defined as the negative direction, and the direction of movement inside the initial design figure is defined as the positive direction. The distance from the j edge of the initial design figure 7P1 to the s edge in the initial design figure 7P2 is space. Based on the position information of the edge, the moving direction and the moving distance, the j edge in the initial design figure 7P1 is predicted to move outside the figure cv j Get the predicted design graph 7P1', and move the s edge in the initial design graph 7P2 outward cv s Obtain the predicted design graphic 7P2'. Obtain the contour information of the predicted design graphic 7P1' and the predicted design graphic 7P2'. If the distance between the predicted design graphic 7P1' and the predicted design graphic 7P2' is greater than or equal to the preset space distance min_space, it indicates that the j edge in the initial design graphic 7P1 and the s edge in the initial design graphic 7P2 can be moved. Otherwise, it is determined that the violation cannot be modified, and the design graphic corresponding to the violation can only be deleted or the design graphic can be redesigned.
[0139] It should be noted that in the above different embodiments, the movement amount can be set rules specifically through the auxiliary graphics, the size of the design graphics itself and the size between adjacent design graphics, so that the movement amount can be based on the preset distance to determine whether to move the edge of the initial design graphics corresponding to the violation based on the movement amount. Under the guarantee of the accuracy of the modification of the design layout, the design layout can be automatically corrected, which greatly saves time and improves the modification efficiency. In addition, there is a situation in the design layout that the violation cannot be eliminated by moving the initial design graphics. In response to this situation, engineers in the prior art often cannot find the specific location of the violation that causes the above situation, resulting in a structure in which engineers fall into a repair cycle when manually repairing the violation, and often spend a lot of time and still cannot repair the violation phenomenon in the design layout. In this embodiment, if the movement amount is determined based on the preset distance to determine that the violation cannot be modified, the violation that cannot be modified can also be classified, and the initial design graphics corresponding to the above-mentioned violation that cannot be modified can be deleted or redesigned in a targeted manner. Avoid the problem of repeated repairs by engineers in the prior art.
[0140] Furthermore, in the above step S7, taking the moved design graphic as the initial design graphic for iterative processing specifically includes:
[0141] S71, taking the moved design graphic as the initial iterative design graphic and performing iterative processing for a preset number of times;
[0142] S72, if the development profile corresponding to the initial iterative design graphic in the iterative process does not have any violation, directly outputting the final design graphic;
[0143] S73, if the development profile corresponding to the initial iterative design pattern still has violations during the preset number of iterations, the final design pattern is output after the preset number of iterations, and the design pattern that still has violations is deleted or redesigned.
[0144] Specifically, the user can set the number of iterations by himself, and the violation ensures the modification efficiency. For example, the number of iterations is set to 5 times. If there is no violation in the development contour corresponding to the design graphics in the 5 iterations during the iteration process, the final design graphics can be directly output. If there is still a violation in the development contour corresponding to the design graphics after 5 iterations, the design graphics after the fifth iteration will be output as the final design graphics. It should be understood that there will be some violations in the design layout, which cannot be eliminated by moving the edges of the design graphics. In order to ensure efficiency, if there is still a violation in the development contour corresponding to the design graphics beyond the preset number of times, the design graphics will be directly output. For the design graphics corresponding to the violations that cannot be eliminated, they can be deleted or redesigned in a targeted manner.
[0145] Please combine Figure 2and Fig. 9 The second embodiment of the present invention further provides a design layout modification system 1, which is applied to the above-mentioned design layout modification method, and the system includes:
[0146] Identification module 11: used to identify the initial design graphic in the design layout;
[0147] Analysis module 12: used to determine whether there is a violation within or between development contours;
[0148] Processing module 13: used to determine whether to move the edge of the initial design graphic corresponding to the violation based on the movement amount;
[0149] The loop module 14 is used for iteratively processing the moved design pattern as the initial iterative design pattern to obtain the final design pattern.
[0150] The design layout modification system 1 provided in the embodiment of the present invention has the same beneficial effects as the above-mentioned design layout modification method, which will not be described in detail here.
[0151] The above is a detailed introduction to a design layout modification method and system disclosed in an embodiment of the present invention. Specific examples are used in this article 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 of the present invention and its core idea; at the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention, and any modifications, equivalent substitutions and improvements made within the principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for modifying a design layout, characterized in that: The following steps are involved: Obtaining a development contour corresponding to an initial design pattern in a design layout, and determining whether there is a violation within or between development contours; If so, get the type of violation and the location of the violation; Obtaining a preset disconnection distance and a preset connection distance, and obtaining a movement amount based on a location of the violation, a type of the violation, the preset disconnection distance, and the preset connection distance; Determine whether to move the edge of the initial design figure corresponding to the violation based on the movement amount based on the preset distance, and if so, obtain the moved design figure; The moved design graphic is used as the initial iterative design graphic for iterative processing to obtain the final design graphic to complete the modification of the design layout.
2. The design layout modification method according to claim 1, characterized in that: The types of violations include disconnection violations and connection violations. The specific steps for determining whether a development profile has a violation include: Get the contour information of all developed contours; If the distance between two points on the same development contour is less than the preset disconnection distance, it is determined that there is a disconnection violation between the two points; If the distance between a point on the contour of one of the developed contours and a point on the contour of its adjacent developed contour is less than a preset connection distance, it is determined that there is a connection violation between the two points.
3. The design layout modification method according to claim 2, characterized in that: Get the type of violation and the location of the violation including: Obtaining the coordinates of two points on the development contour where disconnection violations exist, and using the coordinates of the two points as violation positions respectively; Or, obtain the coordinates of a point on the development contour where the connection violation exists and the coordinates of a point on the adjacent development contour, and use the coordinates of the two points as the violation positions respectively; The positions of two edges of the initial design figure corresponding to the two points are obtained, so as to use the two edges as the edges of the initial design figure corresponding to the violation.
4. The design layout modification method according to claim 2, characterized in that: Gaining movement volume includes: Obtaining a preset disconnection distance and a preset connection distance based on a preset algorithm; The movement amount is obtained based on the location of the violation, the type of violation, the preset disconnection distance, and the preset connection distance. The cost function formula used is: Formula 1: Formula 2: Formula 3: Wherein, in Formula 1, costcv is the cost function, cv is the movement amount, pinch_c or rec tio n(p) is the cost item corresponding to the p-th disconnection violation, and bridge_c or rec tio n(b) is the cost item corresponding to the b-th connection violation; In Formula 2, pinch_violation(p) is the deviation between the length of the disconnection violation and the preset disconnection distance, and p1 and p2 are the edges of the initial design graph corresponding to the violation positions of the disconnection violation; In Formula 3, bridge_violation(b) is the deviation between the length of the connection violation and the preset connection distance, and b1 and b2 are the edges of the initial design graph corresponding to the violation positions of the connection violation.
5. The design layout modification method according to claim 1, characterized in that: Determining whether to move the edge of the initial design graphic corresponding to the violation based on the movement amount based on the preset distance specifically includes: The movement amount includes a movement direction and a movement distance, and the preset distance includes a preset limit distance; Get the outline information of the auxiliary graphics on the design layout; Obtaining position information of the edge of the initial design graph corresponding to the violation; Predict the predicted position information of the edge after it moves based on the position information, moving direction and moving distance of the edge; Determine whether the distance between the moved edge and the adjacent auxiliary graphic is not less than a preset limit distance based on the predicted position information; If so, the edge of the initial design pattern corresponding to the violation is moved based on the movement amount.
6. The design layout modification method according to claim 5, characterized in that: The moving direction includes the side of the initial design pattern corresponding to the violation moving toward a direction close to the auxiliary pattern, or moving toward a direction away from the auxiliary pattern.
7. The design layout modification method according to claim 5, characterized in that: Determining whether to move the edge of the initial design figure corresponding to the violation based on the movement amount based on the preset limit distance specifically includes: The movement amount includes a movement direction and a movement distance, and the preset distance includes a preset width distance; Obtaining position information of the edge of the initial design graph corresponding to the violation; Predicting the contour information of the predicted design figure formed after the edge moves based on the position information, moving direction and moving distance of the edge; Determine whether the distance between the two closest edges in the predicted design figure is not less than the preset width distance; If so, the edge of the initial design pattern corresponding to the violation is moved based on the movement amount.
8. The design layout modification method according to claim 5, characterized in that: Determining whether to move the edge of the initial design figure corresponding to the violation based on the movement amount based on the preset limit distance specifically includes: The movement amount includes a movement direction and a movement distance, and the preset distance includes a preset space distance; Obtaining position information of the edge of the initial design graph corresponding to the violation; Predicting the contour information of the predicted design figure formed after the edge moves based on the position information, moving direction and moving distance of the edge; Determine whether the distance between adjacent predicted design figures is not less than the preset spatial distance; If so, the edge of the initial design pattern corresponding to the violation is moved based on the movement amount.
9. The design layout modification method according to claim 1, characterized in that: The iterative processing of the moved design graphic as the initial iterative design graphic specifically includes: The moved design graphic is used as the initial iterative design graphic to perform iterative processing for a preset number of times; If there is no violation in the development contour corresponding to the design graphic in the iteration process, the final design graphic is directly output; If the development profile corresponding to the initial iteration design pattern still has violations during the preset number of iterations, the final design pattern is output after the preset number of iterations, and the design pattern still having violations is deleted or redesigned.
10. A design layout modification system, using the design layout modification method according to any one of claims 1 to 9, characterized in that: The system comprises: Identification module: used to identify the initial design graphics in the design layout; Analysis module: used to determine whether there are violations within or between development contours; Processing module: used for determining whether to move the edge of the initial design figure corresponding to the violation based on the movement amount; Loop module: used for iteratively processing the moved design graphics as the initial iterative design graphics to obtain the final design graphics.
Citation Information
Patent Citations
Method and system for correcting photoetching hot spots in rear winding arrangement
CN102054074A
Digital mask projection photoetching optimization method and system
CN113495435A