Design layout contour calculation method and device and medium
By designing the layout profile calculation method, determining and adjusting the tangent angle of the curve segment to be solved, the problem of ideal imaging profile jumping at the connection in the prior art is solved, and a smoother ideal imaging profile is achieved, thereby improving the optimization effect of OPC technology.
Patent Information
- Application Number
- CN202510186206.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-19
- Publication Date
- 2025-06-17
AI Technical Summary
The imaging profile generated by the existing ideal imaging profile algorithm is prone to jump at the connection and cannot match the real physical imaging profile well, resulting in poor optimization results of OPC technology.
Through the design layout contour calculation method, the target design layout is obtained, the target segment edge group is determined, and the relative position of the feature points of the segment edge and the curve calculation algorithm are used to determine the tangent angle adjustment range of the curve segment to be solved, and the curve parameters are calculated based on this to avoid unreasonable mutations of the ideal imaging profile at the connection.
It improves the smoothness of the ideal imaging profile, so that it better matches the real physical imaging profile, thereby improving the optimization effect of OPC technology.
Smart Images

Figure CN120163115A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the technical field of semiconductor integrated circuits, and particularly relates to a method, device, and medium for calculating the contour of a design layout. Background Art
[0002] In the technical field of semiconductor integrated circuits, Optical Proximity Correction (OPC) is one of the key technologies in Resolution Enhancement Technology (RET). The OPC technology simulates the optical proximity effect through a physical model, adjusts the design layout according to the simulation results, and iterates repeatedly until the generated mask can produce an imaging contour that meets the design requirements on the silicon wafer. The OPC technology relies on the ideal imaging contour as the target for adjusting the pattern, so the quality of the ideal contour directly affects the optimization effect.
[0003] However, the imaging contour generated by the current algorithm for the ideal imaging contour is not ideal enough, may have jumps at the joints, and cannot fit well with the real physical imaging contour, thus resulting in poor optimization effect of the OPC technology. Summary of the Invention
[0004] Embodiments of this application provide a method, device, medium, and product for calculating the contour of a design layout, which can improve the smoothness of the ideal imaging contour, better fit the real physical imaging contour, and thus improve the optimization effect of the OPC technology.
[0005] In the first aspect of the embodiments of this application, a method for calculating the contour of a design layout is provided, including: obtaining a target design layout, where the target design layout contains multiple segment edges obtained by breaking the edges of a chip design pattern, and each segment edge has a feature point; determining at least one target segment edge group from the target design layout, where a target segment edge group includes multiple consecutive segment edges, and a target segment edge group corresponds to a curve segment to be solved, and the curve segment to be solved is a contour curve connecting the feature points in the corresponding target segment edge group; for each target segment edge group, using the relative positions and curve calculation algorithms of the feature points of the multiple segment edges in the target segment edge group, determining the adjustment range of the tangent angle of the curve segment to be solved corresponding to the target segment edge group at the feature point, where the tangent angle is the angle between the tangent and a reference direction; for each curve segment to be solved, determining a target tangent angle for calculating the curve parameters of the curve segment to be solved with the constraint that the tangent angle of the curve segment to be solved at the feature point meets the adjustment range; and calculating the curve parameters of each curve segment to be solved based on the target tangent angle and the curve calculation algorithm.
[0006] In a second aspect of the embodiments of the present application, a design layout contour calculation device is provided. The device includes: a memory and a program or instruction stored on the memory and executable on a processor. When the program or instruction is executed by the processor, it implements the design layout contour calculation method provided in any aspect of the embodiments of the present application as described above.
[0007] In a third aspect of the embodiments of the present application, a readable storage medium is provided. A program or instruction is stored on the readable storage medium. When the program or instruction is executed by the processor, it implements the design layout contour calculation method provided in any aspect of the embodiments of the present application as described above.
[0008] In a fourth aspect of the embodiments of the present application, a computer program product is provided. When the instructions in the computer program product are executed by the processor of an electronic device, the electronic device is caused to execute the design layout contour calculation method provided in any aspect of the embodiments of the present application as described above.
[0009] In the design layout contour calculation method provided by the embodiments of the present application, a target design layout is obtained. The target design layout contains multiple segment edges obtained by edge breaking of chip design graphics, and there is a feature point on each segment edge. Then, at least one target segment edge group is determined from the target design layout. A target segment edge group includes multiple consecutive segment edges, and a target segment edge group corresponds to a curve segment to be solved. The curve segment to be solved is a contour curve connecting the feature points in the corresponding target segment edge group. Furthermore, for each target segment edge group, using the relative positions of the feature points of the multiple segment edges in the target segment edge group and a curve calculation algorithm, the allowable adjustment range is determined within the framework of taking the curve segment to be solved as an ideal imaging contour curve. In this way, for each curve segment to be solved, the target tangent angle for calculating the curve parameters of the curve segment to be solved is determined with the constraint that the tangent angle of the curve segment to be solved at the feature point conforms to the adjustment range. Based on the target tangent angle that conforms to the adjustment range and the curve calculation algorithm, the curve parameters of each curve segment to be solved are calculated, which can effectively avoid unreasonable mutations at the joints of the ideal imaging contour curve, improve the smoothness of the curve segment to be solved as the ideal imaging contour curve, can better match the real physical imaging contour, and improve the optimization effect of the OPC technology. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings required to be used in the embodiments of the present application. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings without creative efforts.
[0011] Figure 1 is a schematic diagram of a design layout provided by an embodiment of the present application;
[0012] Figure 2It is a schematic contour diagram provided by an embodiment of the present application;
[0013] Figure 3 It is a schematic flowchart of a method for calculating the contour of a design layout provided by an embodiment of the present application;
[0014] Figure 4 It is a schematic diagram of a curve segment to be solved provided by an embodiment of the present application;
[0015] Figure 5 It is a schematic diagram of a Z - shape type curve segment to be solved provided by an embodiment of the present application;
[0016] Figure 6 It is a schematic diagram of a Corner type curve segment to be solved provided by an embodiment of the present application;
[0017] Figure 7 It is a schematic structural diagram of a device for calculating the contour of a design layout provided by an embodiment of the present application;
[0018] Figure 8 It is a schematic structural diagram of a device for calculating the contour of a design layout provided by an embodiment of the present application. Detailed implementation manners
[0019] The features and exemplary embodiments of various aspects of the present application will be described in detail below. For the purpose of making the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without some of these specific details. The following description of the embodiments is only intended to provide a better understanding of the present application by showing examples of the present application.
[0020] It should be noted that in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variation thereof is intended to cover a non - exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, the elements defined by the statement "including..." do not exclude the existence of additional identical elements in the process, method, article or device including the said elements.
[0021] It should be noted that in the technical solution of this application, the acquisition, storage, use, processing, etc. of data all comply with the relevant provisions of national laws and regulations.
[0022] It should be noted that in the embodiments of this application, some existing solutions in the industry such as certain software, components, models, etc. may be mentioned. They should be regarded as exemplary. The purpose is only to illustrate the feasibility in the implementation of the technical solution of this application, but it does not mean that the applicant has already or necessarily used this solution.
[0023] In the field of semiconductor integrated circuit technology, as the critical dimension of integrated circuits continues to shrink, in order to avoid deformation of the imaging result under complex physical and chemical effects, the resolution enhancement technology (RET) for improving the imaging ability of lithography systems has been a research field that the industry has been focusing on for a long time.
[0024] Among various RET technical means, OPC is a very important technology. The OPC technology simulates the optical proximity effect through a physical model, adjusts the design layout according to the simulation results, and iterates repeatedly until the generated mask can produce an imaging profile that meets the design requirements on the silicon wafer. The OPC technology relies on the ideal imaging profile as the target for adjusting the pattern, so the quality of the ideal profile directly affects the optimization effect.
[0025] Currently, the ideal imaging profile algorithms in some related technologies include the following steps:
[0026] Step 1: Perform a dissection operation on the initial design layout. This operation can increase the number of variables in the OPC optimization algorithm and also improve the fineness of the OPC optimization result;
[0027] Step 2: Classify each segment of the edge after the dissection of the initial design layout according to geometric attributes. For example, it can be divided into four categories: Run / End / Corner / Z-Shape according to the angle attributes of each segment edge and its front and rear segment edges. As Figure 1 shown in the schematic diagram of the design layout, the Run-type segment edge refers to the segment edge with the same direction as the front and rear segment edges. The End-type segment edge refers to the segment edge formed at the end of the design layout. The end refers to all endpoints of the design layout, and the design version Figure 2An endpoint whose coordinates in the two-dimensional rectangular coordinate system satisfy at least one of the following conditions: the abscissa reaches the maximum value of the abscissas of all endpoints; the abscissa reaches the minimum value of the abscissas of all endpoints; the ordinate reaches the maximum value of the ordinates of all endpoints; the ordinate reaches the minimum value of the ordinates of all endpoints. A Corner-type segment edge refers to a segment edge that forms a 90-degree corner with only one of the adjacent segment edges. A Z-shape-type segment edge refers to a segment edge that forms 90-degree corners with both adjacent segment edges, and the adjacent segment edges extend in opposite directions from both ends of the Z-shape-type segment edge.
[0028] Step 3: Traverse each segment edge in a clockwise direction, and calculate the connecting line segment from the midpoint of this segment edge to the midpoints of the adjacent segment edges. The form of the connecting line segment can be a straight line or a curve, usually a quadratic curve.
[0029] Step 4: Connect all the connecting line segments generated in Step 3 end to end, and output the final ideal imaging contour.
[0030] However, the tangent direction of the ideal imaging contour generated by these related technologies changes significantly at some types of segment edges, and cannot well match the real physical imaging contour. As shown in the contour schematic diagram Figure 2 , it is difficult for the ideal imaging contour to match the physical imaging contour at the Z-shape-type segment edge. This causes the subsequent OPC optimization algorithm to obtain an unreasonable or even unmanufacturable corrected design layout during simulation. If a straight line segment is used as the ideal contour at the Z-shape-type segment edge in Figure 2 , there will be a problem that the tangent direction jumps at the connection between the straight line segment and the adjacent quadratic curve segments.
[0031] It can be seen that the imaging contour generated by the current ideal imaging contour algorithm is not ideal enough, may have jumps at the connections, and cannot well match the real physical imaging contour, thus resulting in poor optimization effect of the OPC technology.
[0032] In view of this, the present application provides a method, device and medium for calculating the contour of a design layout. In the method for calculating the contour of a design layout provided by the embodiments of the present application, a target design layout is obtained. The target design layout contains a plurality of segment edges obtained by edge breaking, and there is a feature point on each segment edge. Then, at least one target segment edge group is determined from the target design layout. A target segment edge group includes a plurality of consecutive segment edges, and a target segment edge group corresponds to a curve segment to be solved. The curve segment to be solved is a contour curve connecting the feature points in the corresponding target segment edge group. Furthermore, for each target segment edge group, using the relative positions of the feature points of the plurality of segment edges in the target segment edge group and a curve calculation algorithm, the allowable adjustment range is determined under the framework that the curve segment to be solved is used as an ideal imaging contour curve. In this way, for each curve segment to be solved, the target tangent angle for calculating the curve parameters of the curve segment to be solved is determined with the constraint that the tangent angle of the curve segment to be solved at the feature point conforms to the adjustment range. Based on the target tangent angle that conforms to the adjustment range and the curve calculation algorithm, the curve parameters of each curve segment to be solved are calculated, which can effectively avoid unreasonable mutations at the joints of the ideal imaging contour curve, improve the smoothness of the curve segment to be solved as the ideal imaging contour curve, can better fit the real physical imaging contour, and improve the optimization effect of the OPC technology.
[0033] For example, the method for calculating the contour of a design layout provided by the embodiments of the present application can be applied to the pre-step of the OPC optimization algorithm to improve the calculation algorithm for the ideal imaging contour composed of quadratic curves. According to the method provided by the embodiments of the present application, the tangent direction of the curve segment connecting two feature points of adjacent segment edges can be adjusted at these two feature points to obtain a smoother ideal contour curve, which helps to improve the ability of the ideal imaging contour to fit the real physical imaging contour, thereby improving the correction result of the subsequent OPC optimization algorithm.
[0034] It should be noted that the application scenarios described in the above embodiments of the present application are for more clearly explaining the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those of ordinary skill in the art know that with the emergence of new application scenarios, the technical solutions provided by the embodiments of the present application are equally applicable to similar technical problems. The method for calculating the contour of a design layout provided by the embodiments of the present application can be applied to various application scenarios that require generating the contour of a design layout.
[0035] Next, the method for calculating the contour of a design layout provided by the embodiments of the present application will be introduced. In practical applications, the execution subject of the method for calculating the contour of a design layout in the embodiments of the present application can be an electronic device. The electronic device can be equipped with a display screen, so that the calculated design layout contour curve can be displayed on the display screen.
[0036] The embodiments of the present application provide specific embodiments of a method, apparatus, device, and medium for calculating the contour of a design layout. First, the method for calculating the contour of the design layout is introduced.
[0037] Figure 3 The flowchart of the method for calculating the contour of the design layout provided by an embodiment of the present application is shown. As Figure 3 shown, the method includes steps S302 to S310.
[0038] S302, obtain a target design layout, where the target design layout includes multiple segment edges obtained by edge breaking of the chip design graphics, and each segment edge has a feature point.
[0039] Among them, the chip design graphics include graphics of the circuit layout, and the graphics of the circuit layout are used to represent the positions and connection relationships of various circuit elements (such as transistors, interconnects, etc.).
[0040] Edge breaking of the chip design graphics is a process of breaking complex geometric graphics in the chip design graphics into multiple shorter segment edges. A segment edge can be understood as a line segment. Among them, a feature point can be set on each segment edge. A feature point is a point used to connect the ideal contour curve. The feature point can be a fixed point on the segment edge or a point with adjustable position on the segment edge.
[0041] As an example, in the pre-step of the OPC optimization algorithm of an electronic device, edge breaking is performed on the initial chip design graphics as Figure 1 shown, and a target design layout including multiple segment edges as Figure 2 shown is obtained.
[0042] S304, determine at least one target segment edge group from the target design layout. A target segment edge group includes multiple consecutive segment edges, and a target segment edge group corresponds to a curve segment to be solved. The curve segment to be solved is a contour curve connecting multiple feature points in the corresponding target segment edge group.
[0043] A target segment edge group refers to a combination of multiple consecutive segment edges in the target design layout. A target design layout may include many segment edge groups. The target segment edge group can be one, multiple, or all of all the segment edge groups. The line shape of the curve segment to be solved is not limited. For example, it can be an elliptical curve or a curve of other shapes.
[0044] The type of the target segment edge group is determined by the types of segment edges it contains. For example: if a target segment edge group contains segment edges of the Run type, then this target segment edge group is a segment edge group of the Run type; if a target segment edge group contains segment edges of the End type, then this target segment edge group is a segment edge group of the End type; if a target segment edge group contains segment edges of the Corner type, then this target segment edge group is a segment edge group of the Corner type; if a target segment edge group contains segment edges of the Z-Shape type, then this target segment edge group is a segment edge group of the Z-Shape type.
[0045] Specifically, a target segment edge group of the End type includes two consecutive segment edges that are perpendicular to each other. A target segment edge group of the Z-Shape type includes three consecutive segment edges in a stepped shape. A target segment edge group of the Corner type includes four consecutive segment edges in a stepped shape. The consecutive multiple segment edges in a stepped shape mean that any segment edge among the multiple segment edges is perpendicular to the extension direction of its adjacent segment edge, and the figure formed by the multiple segment edges presents a stepped shape.
[0046] In some embodiments, after classifying all segment edges in the target design layout according to geometric attributes and determining segment edge groups, the segment edge groups can be traversed in a clockwise direction, and each traversed segment edge group is used as a target segment edge group, and the contour curve of each segment edge group is calculated according to the method provided in the embodiments of the present application.
[0047] In other embodiments, in step 204, determining at least one target segment edge group from the target design layout includes:
[0048] Traverse all segment edges in the target design layout, and for each traversed segment edge, determine whether the figure formed by this segment edge and its upstream adjacent segment edge conforms to the target type;
[0049] If it conforms to the target type, determine that this segment edge and its upstream adjacent segment edge form a target segment edge group;
[0050] If it does not conform to the target type, in the target design layout, for this segment edge and its upstream adjacent segment edge, calculate a quadratic curve for connecting the feature points of this segment edge and its upstream adjacent segment edge.
[0051] Among them, the target type can be flexibly set according to actual application scenarios. For example, in some embodiments, the target type includes the End type, the Corner type, and the Z-Shape type. For another example, in some embodiments, it can be detected whether there is a mutation in each contour curve. If there is a mutation, then the corresponding segment edge group is determined as the target type.
[0052] Taking the predefined target types including the End type, the Corner type, and the Z-Shape type as examples, all segment edges can be traversed, and it can be checked one by one whether the segment edge group composed of each segment edge and its upstream adjacent segment edge conforms to the predefined target type. For example, it can be determined whether it is the target type by the included angle and relative position relationship between segment edges. If the segment edge group composed of the traversed segment edge and its upstream adjacent segment edge conforms to the target type, this segment edge group is determined as a target segment edge group, so as to calculate the curve parameters of the contour curve according to the method provided in the embodiment of the present application for this target segment edge group. If the segment edge group composed of the traversed segment edge and its upstream adjacent segment edge does not conform to the target type, a quadratic curve for connecting the feature points of these segment edges can be calculated by using a general contour curve calculation algorithm. The calculation algorithm of the quadratic curve is not limited. For example, a quadratic curve connecting feature points can be fitted based on Bezier curves or spline interpolation.
[0053] In this embodiment, only for the segment edge groups that may mutate and conform to the target type, the adjustment range of the tangent angle is calculated to calculate the curve parameters and smooth the contour curve. For other segment edge groups, a general quadratic curve method is still used to generate the contour curve, which can effectively reduce the calculation amount and improve the calculation efficiency.
[0054] S306. For each target segment edge group, use the relative positions of the feature points of multiple segment edges in this target segment edge group and the curve calculation algorithm to determine the adjustment range of the tangent angle at the feature points of the curve segment to be solved corresponding to this target segment edge group. The tangent angle is the included angle between the tangent and the reference direction.
[0055] Since the relative positions between feature points are one of the geometric information determining the tangent angle at the feature points of the curve segment to be solved, the method provided in the embodiment of the present application uses the relative positions of the feature points of multiple segment edges in the target segment edge group and the curve calculation algorithm to determine the adjustment range of the tangent angle at the feature points of the curve segment to be solved corresponding to this target segment edge group. In this way, the maximum range within which the tangent angle of the curve segment to be solved can be adjusted can be given, avoiding the adjustment force of the tangent angle exceeding the allowed range, avoiding the use of unreasonable tangent angles, and ensuring the smoothness of the curve segment to be solved.
[0056] The specific algorithm content of the curve calculation algorithm can be determined according to the geometric attributes of the curve segment to be solved. In some embodiments, the curve segment to be solved can be an elliptic curve. In this case, the curve calculation algorithm can include relevant algorithms for elliptic curves, such as elliptic curve equations, tangent equations, etc.
[0057] The tangent angle of the curve segment to be solved at the feature points can include: the incoming tangent angle at the incoming tangent feature point of the curve segment to be solved, and / or, the outgoing tangent angle at the outgoing tangent feature point of the curve segment to be solved.
[0058] Among them, the incoming feature point refers to the feature point that is connected first when the curve segment connects two feature points in the order of traversing the segment edges. Specifically, the incoming tangent angle refers to the angle between the tangent of the curve segment at the incoming feature point and the reference direction.
[0059] The reference direction can be set arbitrarily as needed. For example, in some embodiments, the horizontal axis direction in the two-dimensional rectangular coordinate system of the design layout can be used as the reference direction.
[0060] Exemplarily, if a curve segment to be solved connects feature point 1 first and then feature point 2 in sequence. Then, feature point 1 is the incoming feature point, and the incoming tangent angle refers to the angle between the tangent of the curve segment to be solved at feature point 1 and the above-mentioned horizontal axis direction.
[0061] The outgoing feature point refers to the feature point that is connected later when the curve segment connects two feature points in the order of traversing the segment edges. Specifically, the outgoing tangent angle refers to the angle between the tangent of the curve segment at the outgoing feature point and the reference direction.
[0062] Continuing with the previous example, if a curve segment to be solved connects feature point 1 first and then feature point 2 in sequence. Then, feature point 2 is the outgoing feature point, and the outgoing tangent angle refers to the angle between the tangent of the curve segment to be solved at feature point 2 and the above-mentioned horizontal axis direction.
[0063] Exemplarily, as Figure 4 shown in the schematic diagram of the curve segment to be solved, feature point 1 and feature point 2, where feature point 1 is the incoming tangent point and feature point 2 is the outgoing tangent point, and the incoming tangent angle is Figure 4 θ1 shown, and the outgoing tangent angle is Figure 4 θ2 shown.
[0064] Taking the curve segment to be solved as an elliptical curve as an example, in one embodiment, in step S306, using the relative positions of the feature points of multiple segment edges in the target segment edge group and the curve calculation algorithm, to determine the adjustment range of the tangent angle of the curve segment to be solved corresponding to the target segment edge group, including:
[0065] Obtain the relative distance of the feature points of adjacent segment edges in the target segment edge group in the reference direction and the relative distance in the direction perpendicular to the reference direction;
[0066] Based on the relative distance of the feature points of adjacent segment edges in the reference direction and the relative distance in the direction perpendicular to the reference direction, and the curve parameters to be solved, construct the elliptical curve equation corresponding to the curve segment to be solved;
[0067] Construct the tangent equation of the tangent line of the curve segment to be solved at the feature point based on the relative distance of the feature points on the adjacent segment edges in the reference direction and the relative distance in the direction perpendicular to the reference direction, the curve parameters to be determined, and the tangent angle to be determined;
[0068] Based on the elliptic curve equation, the tangent equation, and the preset constraint conditions of the tangent angle, determine the adjustment range of the tangent angle. The preset constraint conditions include: among adjacent feature points, the tangent angle of the tangent line at one feature point is greater than or equal to zero degrees and less than the tangent angle of the tangent line at another feature point, and the tangent angle of the tangent line at the other feature point is less than or equal to ninety degrees.
[0069] As an example, the curve segment to be solved can be shown as Figure 4 the elliptic curve connecting two feature points as shown. Figure 4 In the figure, a and b are the relative distances of the horizontal axis and the vertical axis between feature point 1 and feature point 2. The elliptic curve segment (which can be understood as the curve segment to be solved) is used to connect feature point 1 and feature point 2. θ1 and θ2 are the angles between the tangent lines of the elliptic curve segment at feature point 1 and feature point 2 and the aforementioned horizontal axis direction respectively. In this case, the solution process of the curve parameters of the elliptic curve in this embodiment can be regarded as a process of obtaining the output of the following problem based on the input of the following problem:
[0070] Input of the problem: As Figure 4 shown, a and b are the relative distances of the horizontal axis and the vertical axis between two feature points to be connected on adjacent segment edges, and θ1 and θ2 are the angles between the tangent lines of the required elliptic curve at the two feature points to be connected and the horizontal axis direction;
[0071] Output of the problem: Whether the required elliptic curve is solvable. If it is solvable, output Figure 4 the semi-major axes A and B of the large ellipse as shown in the figure, and the offsets x and y of the horizontal axis and the vertical axis that enable the large elliptic curve to exactly pass through the two feature points to be connected.
[0072] Specifically, in order to determine the adjustment range of the angles between the tangent lines of the curve segment to be solved at feature point 1 and feature point 2 and the aforementioned horizontal axis direction, first obtain the relative distances a and b of the horizontal axis and the vertical axis between feature point 1 and feature point 2. Then, based on a, b, the curve parameters A and B to be solved, and the general elliptic curve equation, construct the following system of equations (1) and (2) for the elliptic curve equation corresponding to the curve segment to be solved:
[0073]
[0074] Among them, the curve parameters A and B are the semi-major axes corresponding to the case where the curve segment to be solved is an ellipse; x and y are the abscissa and ordinate of any point on the curve segment to be solved; a is the relative horizontal distance between feature point 1 and feature point 2; b is the relative vertical distance between feature point 1 and feature point 2.
[0075] To meet the tangent angle requirements at feature point 1 and feature point 2, according to the tangent equation of the ellipse where (x0,y0) is any point on the ellipse, the following system of equations (3) and (4) for the tangent equation to be satisfied can be constructed;
[0076]
[0077] Among them, θ1 is the tangent angle of the tangent line of the curve segment to be solved at feature point 1; θ2 is the tangent angle of the tangent line of the curve segment to be solved at feature point 2.
[0078] To simplify the calculation, according to the characteristics of the system of equations (1)-(4), a can be introduced as an intermediate value to derive a calculation formula that is convenient for calculation. For example, the calculation formulas derived based on K can include the following calculation formulas (5)-(8):
[0079]
[0080] Among them, K is used to represent the value of.
[0081] Through the calculation formulas (5)-(8), the values of A, B, x, y, and K can be calculated when the inputs a, b, θ1, and θ2 are given.
[0082] In this embodiment, the preset constraint conditions include: among adjacent feature points, the tangent angle of the tangent line at one feature point is greater than or equal to zero degrees and less than the tangent angle of the tangent line at the other feature point, and the tangent angle of the tangent line at the other feature point is less than or equal to ninety degrees. Taking Figure 4 the target segment edge group shown as an example, in the actual application scenario, only the situation of 0≤θ1<θ2≤90° will occur. Based on this, according to formulas (5-8), the conditions (9-11) that the inputs a, b, θ1, and θ2 need to satisfy can also be obtained:
[0083]
[0084]
[0085] It can be understood that only when the conditions (9-11) are all satisfied, the output A, B, x, and y are all positive values and can meet the needs of actual applications.
[0086] As can be seen from the above examples, in this embodiment, through formula derivation, the adjustment range of the tangent angle at the feature points is given under the framework of using elliptic curves to generate the ideal imaging profile. If the adjusted tangent angle in the actual situation exceeds this allowed range, it can be checked and adjusted through this adjustment range to avoid unreasonable settings, thereby obtaining a smoother contour curve.
[0087] S308. For each curve segment to be solved, determine the target tangent angle for calculating the curve parameters of the curve segment to be solved with the constraint that the tangent angle of the curve segment to be solved at the feature point conforms to the adjustment range.
[0088] It can be understood that in the target design layout, it is required that the contour curves connecting the feature points are smooth and continuous in segments. At a connection point of two adjacent contour curves, that is, a feature point, the incoming tangent angle and the outgoing tangent angle are usually the same. Based on this, when traversing the feature points in the target design layout to connect the contour curves, the tangent angle at the subsequent feature point can be inferred based on the tangent angle at the previous feature point. In some embodiments, when it is determined that the tangent angle at a certain feature point of a certain contour curve segment needs to be adjusted, it indicates that there is a mutation at this feature point, and it is considered that the incoming tangent angle or the outgoing tangent angle of this contour curve segment is equal to zero degree or ninety degrees. Thus, it also means that for a curve segment to be solved, one of its incoming tangent angle or outgoing tangent angle can be known. In this case, the maximum value of the other incoming tangent angle or outgoing tangent angle can be calculated through the above formula.
[0089] In other embodiments, for each curve segment to be solved, determining the target tangent angle for calculating the curve parameters of the curve segment to be solved with the constraint that the tangent angle of the curve segment to be solved at the feature point conforms to the adjustment range includes:
[0090] Receiving angle adjustment information for the tangent angles at the feature points of at least one curve segment to be solved;
[0091] Based on the angle adjustment information, determining the expected tangent angle at the feature points of at least one curve segment to be solved;
[0092] Judging whether the expected tangent angle conforms to the adjustment range;
[0093] If it conforms, determining the expected tangent angle as the target tangent angle.
[0094] For example, a user interaction interface can be provided to receive, through the user interaction interface, angle adjustment information input by the user for the tangent angle. For example, the user can set, according to the needs, the angle that they hope to change, such as changing by 10 degrees or 20 degrees. In this way, it is determined whether the angle that the user sets to change conforms to the adjustment range of the tangent angle of the curve segment to be solved at the feature point. If it conforms, the adjustment can be made according to the angle set by the user. If it does not conform, an angle as close as possible to the angle set by the user can be selected, and a prompt message can be given.
[0095] In this embodiment, not only is the adjustment range of the tangent angle allowed for the contour curve segment corresponding to the target segment edge group calculated according to the geometric information of the segment edges in the target segment edge group in the target design layout, but also the tangent angle of the adjustment can be determined according to the input of the user, and it can be determined whether a smooth ideal imaging contour curve can be solved based on the input of the user based on the above adjustment range of the tangent angle. Thus, it can not only meet the user's needs but also avoid unreasonable settings, ensuring a smoother contour curve is obtained.
[0096] S310: Calculate the curve parameters of each curve segment to be solved based on the target tangent angle and the curve calculation algorithm.
[0097] The curve parameters are the parameters used to define or describe the curve segment to be solved, and can be used to control the position, shape, direction and other attributes of the curve.
[0098] As can be seen from the above formulas (5)-(8), when the target tangent angle is known, the curve parameters of the curve segment to be solved can be calculated according to formulas (5)-(8), such as Figure 4 the semi-major axes A and B of the large ellipse as shown, and the offsets x and y of the large ellipse curve that can just pass through the feature points 1 and 2 to be connected on the horizontal and vertical axes.
[0099] In the design layout contour calculation method provided by the embodiments of the present application, a target design layout is obtained. The target design layout contains multiple segment edges obtained by edge breaking, and there is a feature point on each segment edge. Then, at least one target segment edge group is determined from the target design layout. A target segment edge group includes multiple consecutive segment edges. A target segment edge group corresponds to a curve segment to be solved, and the curve segment to be solved is a contour curve connecting the feature points in the corresponding target segment edge group. Furthermore, for each target segment edge group, using the relative positions of the feature points of the multiple segment edges in the target segment edge group and the curve calculation algorithm, the allowable adjustment range is determined under the framework that the curve segment to be solved is used as the ideal imaging contour curve. In this way, for each curve segment to be solved, the target tangent angle for calculating the curve parameters of the curve segment to be solved is determined with the constraint that the tangent angle of the curve segment to be solved at the feature point conforms to the adjustment range. Based on the target tangent angle that conforms to the adjustment range and the curve calculation algorithm, the curve parameters of each curve segment to be solved are calculated, which can effectively avoid unreasonable mutations at the joints of the ideal imaging contour curve, improve the smoothness of the curve segment to be solved as the ideal imaging contour curve, can better match the real physical imaging contour, and improve the optimization effect of the OPC technology.
[0100] Next, taking two typical target segment edge groups in the design layout as examples, an exemplary description of the application of the embodiments of the present application is given.
[0101] In some embodiments, at least one target segment edge group includes three consecutive segment edges. The three consecutive segment edges include an intermediate transition segment edge and a head segment edge and a tail segment edge that extend perpendicularly in opposite directions from both ends of the intermediate transition segment edge respectively;
[0102] The curve segment to be solved corresponding to the target segment edge group includes two curve segments. Among them, one curve segment is used to connect the feature points of the head segment edge and the intermediate transition segment edge, and the other curve segment is used to connect the feature points of the intermediate transition segment edge and the tail segment edge;
[0103] Based on the elliptic curve equation, the tangent equation, and the preset constraint conditions of the tangent angle, determining the adjustment range of the tangent angle includes:
[0104] For each curve segment, based on the elliptic curve equation, the tangent equation, and the preset constraint conditions of the tangent angle corresponding to the curve segment, the maximum value of the tangent angle of the curve segment at the feature point of the intermediate transition segment edge is determined;
[0105] Taking the smaller value from the maximum values of the tangent angles corresponding to the two curve segments as the maximum value of the tangent angles of the two curve segments at the feature point of the intermediate transition segment edge.
[0106] In this embodiment, the target segment edge group including three consecutive segment edges, that is, the aforementioned Z-shape type of target segment edge group. AsFigure 5 Schematic diagram of the Z - shape type curve segment to be solved. In this embodiment, the calculation of the curve segment to be solved is divided into the calculation and unification problem of two elliptic curve segments. As Figure 5 shown in the first elliptic curve segment and the second elliptic curve segment, the tangent angle θ needs to be adjusted at the intermediate transition segment edge, while at the other ends of the first and second elliptic curve segments, the tangent angle does not need to be adjusted. In other words, the incoming tangent angle of the first elliptic curve segment does not need to be adjusted, and the outgoing tangent angle needs to be adjusted. The incoming tangent angle of the second elliptic curve segment needs to be adjusted, and the outgoing tangent angle does not need to be adjusted. It should be noted that for the convenience of calculation, the segment edge groups corresponding to different curve segments can be rotated as needed before calculation, and the rotation method and calculation process can be determined according to the requirements of general geometric algorithms, which will not be elaborated here. As Figure 5 shown, for the first elliptic curve segment, θ1 = 0, θ2 = α, and for the second elliptic curve segment, θ1 = 0, θ2 = α. The first elliptic curve segment can be expressed as C(a, b1, θ1 = 0, θ2 = α), and the second elliptic curve segment can be expressed as C(c, b2, θ1 = 0, θ2 = α). Therefore, by setting θ1 = 0 and θ2 = α in the equations (5) - (11), the maximum smoothable angle θ max (a, b1) of the first elliptic curve segment determined by a and b1 can be obtained, and then the maximum smoothable angle θ max (c, b2) of the second elliptic curve segment determined by c and b2 can be obtained in the same way. Then, based on the principle that the tangents of the curve segments must be continuous at the connection points, the maximum smoothable angle θ max = min(θ max (a, b1), θ max (c, b2)), where b1 is the relative horizontal distance between the two characteristic points connected by the first elliptic curve segment, a is the relative horizontal distance between the two characteristic points connected by the first elliptic curve segment, c is the relative horizontal distance between the two characteristic points connected by the second elliptic curve segment, and b2 is the relative vertical distance between the two characteristic points connected by the second elliptic curve segment.
[0107] In this embodiment, for the target segment edge group of the Z - shape type, the tangent angles at at least one feature point connected by each of the two elliptical curve segments are 0. Thus, using the relative positions of the feature points of the three segment edges, the maximum values of the tangent angles corresponding to the two elliptical curve segments can be determined respectively within the framework of the ideal imaging contour curve. On this basis, in order to make the constraints on the tangent angles at the connection of the two elliptical curve segments consistent, the smaller value is taken as the maximum value of the tangent angle at the connection. Then, based on the target tangent angle that meets this maximum value and the curve calculation algorithm, the curve parameters of the two elliptical curve segments are calculated, which can effectively avoid unreasonable mutations at the connection of the ideal imaging contour curve and improve the smoothness of the ideal imaging contour curve.
[0108] In addition, in some embodiments of the present application, the preset constraint conditions for the tangent angle further include:
[0109] When the side lengths of three consecutive segment edges meet the preset short - side condition, the feature point on the middle transition segment edge is the mid - point of the middle transition segment edge;
[0110] When the position of the feature point on the middle transition segment edge is allowed to be adjusted, the ratio of the relative distance in the vertical direction of the two curve segments is equal to the ratio of the relative distance in the reference direction of the two curve segments;
[0111] Among them, the relative distance in the vertical direction of a curve segment is the relative distance in the vertical direction between the two feature points connected by the curve segment, and the relative distance in the reference direction of a curve segment is the relative distance in the reference direction between the two feature points connected by the curve segment.
[0112] Exemplarily, as Figure 5 shown in the schematic diagram of the target segment edge group of the Z - shape type, for the shorter target segment edge group of the Z - shape type, the constraint condition of b1 = b2 can be given. For the Z - shape type target segment edge group that allows b1 and b2 to be freely determined, the constraint condition of b1:b2 = a:c can be given, so that the maximum value θ max of the tangent angle determined under the condition of meeting the constraint condition can ensure the smoothness of the contour curve.
[0113] Among them, the preset short - side condition can be set according to the actual application scenario requirements and is used to represent the constraint on the side - length size. For example, the preset short - side condition can include a preset length threshold. When the side lengths of three consecutive segment edges are all less than or equal to the preset length threshold, the target segment edge group can be considered as a shorter Z - shape segment edge group.
[0114] In order to ensure that when the Z - shape segment edge group has a relatively short segment edge, the segmented elliptical curves connected have a certain symmetry in shape and curvature, and to improve the smooth transition at the connection of the segmented elliptical curves, in this embodiment, a constraint condition is given where the feature point on the intermediate transition segment edge is the mid - point of this intermediate transition segment edge.
[0115] In addition, when the position of the feature point on the intermediate transition segment edge is allowed to be adjusted, in order to improve the smooth transition at the connection of the segmented elliptical curves, in this embodiment, a constraint condition is given where the ratio of the relative distance in the vertical direction of two curve segments is equal to the ratio of the relative distance in the reference direction of the two curve segments, thereby ensuring that the curvature changes of the two curves are relatively consistent and maximizing the smoothness at the connection of the two curve segments.
[0116] In some other embodiments, at least one target segment edge group includes four consecutive segment edges. The four consecutive segment edges include: a first segment edge, two intermediate transition segment edges, and a last segment edge. Among them, the two intermediate transition segment edges include a first intermediate transition segment edge and a second intermediate transition segment edge. At both ends of the first intermediate transition segment edge, the first segment edge and the second intermediate transition segment edge extend perpendicularly in opposite directions. And at the end of the second intermediate transition segment edge far from the first intermediate transition segment edge, the last segment edge extends perpendicularly. The last segment edge and the first intermediate transition segment edge are respectively on both sides of the second intermediate transition segment edge. The feature points of the two intermediate transition segment edges are both the mid - points of their respective segment edges;
[0117] The curve segment to be solved corresponding to the target segment edge group includes: a first curve segment, a transition curve segment, and a last curve segment. Among them, the first curve segment is used to connect the first segment edge and the feature point of the first intermediate transition segment edge, the transition curve segment is used to connect the feature points of the two intermediate transition segment edges, and the last curve segment is used to connect the last segment edge and the feature point of the second intermediate transition segment edge;
[0118] Based on the elliptical curve equation, the tangent equation, and the preset constraint conditions of the tangent angle, determine the adjustment range of the tangent angle, including:
[0119] Based on the elliptical curve equation, the tangent equation, and the preset constraint conditions of the tangent angle corresponding to the first curve segment and the last curve segment respectively, determine the maximum values of the tangent angles of the first curve segment and the last curve segment at the feature points of the intermediate transition segment edges they are connected to;
[0120] Based on the maximum values of the tangent angles of the first curve segment and the last curve segment at the feature points of the intermediate transition segment edges they are connected to, and the scale factor condition, determine the maximum values of the scale factors corresponding to the first curve segment and the last curve segment respectively. Among them, the scale factor condition includes: based on the scale factor, controlling the change trends of the tangent slopes of the incoming tangent and the outgoing tangent of the curve segment to be opposite, and the scale factor is greater than 0 and less than 1;
[0121] Take the smaller value from the maximum values of the scale factors corresponding to the start curve segment and the end curve segment respectively as the maximum value of the scale factor corresponding to the transition curve segment;
[0122] Based on the scale factor condition corresponding to the transition curve segment and the maximum value of the corresponding scale factor, calculate the maximum value of the tangent angle of the incoming tangent line and the maximum value of the tangent angle of the outgoing tangent line corresponding to the transition curve segment.
[0123] In this embodiment, the target edge segment group including four consecutive edge segments, that is, the aforementioned target edge segment group of the Corner type. As Figure 6 Shown in the schematic diagram of the curve segment to be solved of the Corner type, in this embodiment, the calculation of the curve segment to be solved is divided into the calculation and unified problem of three elliptical curve segments. As Figure 6 Shown in the start curve segment, transition curve segment and end curve segment. Through Figure 6 It can be seen that the start edge segment and two intermediate transition edge segments of the Corner type target edge segment group form a Z-Shape type edge segment group, and the two intermediate transition edge segments and the end edge segment form another Z-Shape type edge segment group.
[0124] It should be noted that during the calculation of the adjustment range of the tangent angle of the curve segment to be solved, for the convenience of calculation, the edge segment group can be rotated as needed to make it present a graphic direction convenient for calculation. For example, for the two Z-Shape type edge segment groups included in the Corner type target edge segment group, during the calculation, a certain rotation can be performed. In this way, Figure 6 Shown in the two Z-Shape type edge segment groups included in the Corner type target edge segment group, based on a known tangent angle, such as Figure 5 Shown in the Z-Shape type target edge segment group, another tangent angle can be calculated through the above formulas (1)-(11).
[0125] For example, Figure 6 Shown in the tangent angles of the three elliptical curve segments have the following angle derivation relationships: for the start curve segment, θ1 = 0, θ2 = α, for the end curve segment, θ1 = β, θ2 = 90°, for the transition curve segment, θ1 = 90° - α, θ2 = 90° - β. The start curve segment can be expressed as C(a,b,θ1 = 0, θ2 = α), the end curve segment can be expressed as C(y,x,θ1 = β, θ2 = 90°), and the transition curve segment can be expressed as C(b,y,θ1 = 90° - α, θ2 = 90° - β).
[0126] In this embodiment, in order to avoid allowing a completely free elliptic curve connection method, which would lead to a too high computational complexity and make it difficult to solve, and to reduce the complexity of the problem, a constraint condition is given where the characteristic points of the two intermediate transition segment edges are both the midpoints of the corresponding segment edges. Thus, as Figure 6 shown, both b and y are half the length of the segment edge in the corresponding Corner type target segment edge group.
[0127] In addition, in order to enable the solution of the transition curve segmentation, in some embodiments, a scale factor condition is given. Specifically, the scale factor condition may include:
[0128] The tangent slope of the incoming tangent line of the curve segmentation is determined based on the ratio of the side lengths of the two segment edges connected by this curve segmentation and the scale factor;
[0129] The tangent slope of the outgoing tangent line of the curve segmentation is determined based on the ratio of the side lengths of the two segment edges connected by this curve segmentation and the reciprocal of the scale factor.
[0130] Exemplarily, the scale factor condition can be represented by the following formulas (12)-(13). That is, for the two tangent angles θ1 and θ2 of the transition curve segmentation, the following conditions (12) and (13) are required to hold:
[0131]
[0132] where t represents the scale factor. It can be seen from conditions (12) and (13) that the scale factor can control the change trends of the tangent slopes of the incoming tangent line and the outgoing tangent line of the curve segmentation to be opposite. Thus, it can ensure that the curve segmentation can be solved.
[0133] In this embodiment, in order to make the scale factor t not only ensure that the transition curve segmentation can be solved, but also enable the transition curve segmentation to be smoothly connected to the first curve segmentation and the last curve segmentation. Therefore, the corresponding scale factor t needs to be calculated for the first curve segmentation and the last curve segmentation respectively, and the smaller value is taken as the final value of the scale factor t. Thus, it can ensure that the first curve segmentation, the transition curve segmentation, and the last curve can not only be solved, but also be smoothly connected.
[0134] By using the characteristics that the first segment edge of the target segment edge group of the Corner type and the two intermediate transition segment edges form a segment edge group of the Z-Shape type, and the two intermediate transition segment edges and the last segment edge form another segment edge group of the Z-Shape type, the maximum values of the tangent angles at the characteristic points on the two intermediate transition segment edges are calculated respectively. Thus, based on the maximum values of the tangent angles at the characteristic points on the two intermediate transition segment edges and further combined with the scale factor conditions, that is, conditions (12) and (13), the maximum values of the scale factors corresponding to the first curve segment and the last curve segment can be calculated, and the smaller value is taken to obtain the final value of the scale factor, so as to ensure that the first curve segment, the transition curve segment and the last curve can not only be solved, but also be smoothly connected.
[0135] Based on the design layout contour calculation method. Correspondingly, the present application also provides a specific embodiment of the design layout contour calculation device.
[0136] As Figure 7 shown, the design layout contour calculation device 700 provided by the embodiment of the present application includes a layout acquisition module 710, a segment edge determination module 720, a range determination module 730, an angle determination module 740, and a parameter calculation module 750.
[0137] The layout acquisition module 710 is configured to obtain a target design layout, where the target design layout includes a plurality of segment edges obtained by edge interruption of a chip design pattern, and there is a characteristic point on each segment edge;
[0138] The segment edge determination module 720 is configured to determine at least one target segment edge group from the target design layout. A target segment edge group includes a plurality of consecutive segment edges, and a target segment edge group corresponds to a curve segment to be solved, and the curve segment to be solved is a contour curve connecting a plurality of characteristic points in the corresponding target segment edge group;
[0139] The range determination module 730 is configured to, for each target segment edge group, use the relative positions of the characteristic points of the plurality of segment edges in the target segment edge group and the curve calculation algorithm to determine the adjustment range of the tangent angle at the characteristic point of the curve segment to be solved corresponding to the target segment edge group, where the tangent angle is the included angle between the tangent and the reference direction;
[0140] The angle determination module 740 is configured to, for each curve segment to be solved, determine the target tangent angle for calculating the curve parameters of the curve segment to be solved with the constraint that the tangent angle at the characteristic point of the curve segment to be solved conforms to the adjustment range;
[0141] The parameter calculation module 750 is configured to calculate the curve parameters of each curve segment to be solved based on the target tangent angle and the curve calculation algorithm.
[0142] As an optional embodiment, the range determination module 730 includes:
[0143] A distance determination unit, configured to obtain the relative distance between the feature points of adjacent segment edges in a reference direction and the relative distance in a direction perpendicular to the reference direction in a target segment edge group;
[0144] An ellipse equation construction unit, configured to construct an ellipse curve equation corresponding to a curve segment to be solved based on the relative distance between the feature points of adjacent segment edges in a reference direction, the relative distance in a direction perpendicular to the reference direction, and the curve parameters to be solved;
[0145] A tangent equation construction unit, configured to construct a tangent equation of the tangent at the feature point of the curve segment to be solved based on the relative distance between the feature points of adjacent segment edges in a reference direction, the relative distance in a direction perpendicular to the reference direction, the curve parameters to be determined, and the tangent angle to be determined;
[0146] A range determination unit, configured to determine an adjustment range of the tangent angle based on the ellipse curve equation, the tangent equation, and a preset constraint condition of the tangent angle. The preset constraint condition includes: among adjacent feature points, the tangent angle of the tangent at one feature point is greater than or equal to zero degrees and less than the tangent angle of the tangent at another feature point, and the tangent angle of the tangent at the other feature point is less than or equal to ninety degrees.
[0147] As an optional embodiment, at least one target segment edge group includes three consecutive segment edges. The three consecutive segment edges include an intermediate transition segment edge and a head segment edge and a tail segment edge that extend perpendicularly in opposite directions from both ends of the intermediate transition segment edge. Based on this, the three consecutive segment edges are in a stepped shape.
[0148] The curve segment to be solved corresponding to the target segment edge group includes two curve segments. Among them, one curve segment is used to connect the feature points of the head segment edge and the intermediate transition segment edge, and the other curve segment is used to connect the feature points of the intermediate transition segment edge and the tail segment edge;
[0149] A range determination unit, for each curve segment, based on the ellipse curve equation corresponding to the curve segment, the tangent equation, and a preset constraint condition of the tangent angle, determines the maximum value of the tangent angle of the curve segment at the feature point of the intermediate transition segment edge, and takes the smaller value from the maximum values of the tangent angles corresponding to the two curve segments as the maximum value of the tangent angles of the two curve segments at the feature point of the intermediate transition segment edge.
[0150] As an optional embodiment, the preset constraint condition of the tangent angle further includes:
[0151] When the side lengths of the three consecutive segment edges satisfy a preset short side condition, the feature point on the intermediate transition segment edge is the midpoint of the intermediate transition segment edge;
[0152] When the feature points on the side of the intermediate transition segment allow for position adjustment, the ratio of the relative distance in the vertical direction between the two curve segments is equal to the ratio of the relative distance in the reference direction between the two curve segments;
[0153] Among them, the relative distance in the vertical direction of a curve segment is the relative distance in the vertical direction between the two feature points connected by this curve segment, and the relative distance in the reference direction of a curve segment is the relative distance in the reference direction between the two feature points connected by this curve segment.
[0154] As an optional embodiment, at least one target segment edge group includes four consecutive segment edges. The four consecutive segment edges include: a head segment edge, two intermediate transition segment edges, and a tail segment edge. Among them, the two intermediate transition segment edges include a first intermediate transition segment edge and a second intermediate transition segment edge. The two ends of the first intermediate transition segment edge extend perpendicularly from the head segment edge and the second intermediate transition segment edge in opposite directions, and the end of the second intermediate transition segment edge far from the first intermediate transition segment edge extends perpendicularly to the tail segment edge. The tail segment edge and the first intermediate transition segment edge are respectively located on both sides of the second intermediate transition segment edge. The feature points of the two intermediate transition segment edges are both the midpoints of their respective segment edges;
[0155] The curve segment to be solved corresponding to the target segment edge group includes: a head curve segment, a transition curve segment, and a tail curve segment. Among them, the head curve segment is used to connect the feature points of the head segment edge and the first intermediate transition segment edge, the transition curve segment is used to connect the feature points of the two intermediate transition segment edges, and the tail curve segment is used to connect the feature points of the tail segment edge and the second intermediate transition segment edge;
[0156] The range determination unit is used to determine the maximum values of the tangent angles of the head curve segment and the tail curve segment at the feature points of the intermediate transition segment edges they are connected to respectively, based on the elliptic curve equations, tangent equations, and preset constraint conditions of the tangent angles corresponding to the head curve segment and the tail curve segment respectively; based on the maximum values of the tangent angles of the head curve segment and the tail curve segment at the feature points of the intermediate transition segment edges they are connected to respectively, and the scale factor condition, determine the maximum values of the scale factors corresponding to the head curve segment and the tail curve segment respectively. Among them, the scale factor condition includes: the change trends of the tangent slopes of the incoming tangent and the outgoing tangent of the curve segment controlled by the scale factor are opposite, the scale factor is greater than 0 and less than 1; take the smaller value from the maximum values of the scale factors corresponding to the head curve segment and the tail curve segment as the maximum value of the scale factor corresponding to the transition curve segment; based on the scale factor condition corresponding to the transition curve segment and the maximum value of the corresponding scale factor, calculate the maximum value of the tangent angle of the incoming tangent and the maximum value of the tangent angle of the outgoing tangent of the transition curve segment.
[0157] As an alternative embodiment, the scale factor condition includes: the tangent slope corresponding to the incoming tangent of the curve segment, which is determined based on the ratio of the side lengths of the two segment sides connected by the curve segment and the scale factor; the tangent slope corresponding to the outgoing tangent of the curve segment, which is determined based on the ratio of the side lengths of the two segment sides connected by the curve segment and the reciprocal of the scale factor.
[0158] As an alternative embodiment, the segment side determination module 710 is configured to traverse all the segment sides in the target design layout, and for each traversed segment side, determine whether the figure formed by the segment side and its upstream adjacent segment side conforms to the target type. If it conforms to the target type, determine that the segment side and its upstream adjacent segment side form a target segment side group.
[0159] The apparatus further includes:
[0160] The quadratic curve calculation module is configured to, if it does not conform to the target type, calculate a quadratic curve for connecting the characteristic points of the segment side and its upstream adjacent segment side in the target design layout.
[0161] As an alternative embodiment, the angle determination module 740 includes:
[0162] The angle receiving unit is configured to receive angle adjustment information for the tangent angle at the characteristic point of at least one curve segment to be solved;
[0163] The requirement determination unit is configured to determine the expected tangent angle at the characteristic point of at least one curve segment to be solved based on the angle adjustment information;
[0164] The angle judgment unit is configured to judge whether the expected tangent angle conforms to the adjustment range;
[0165] The angle determination unit is configured to, if it conforms, determine the expected tangent angle as the target tangent angle.
[0166] Based on the design layout contour calculation method. Correspondingly, the present application also provides a specific embodiment of a design layout contour calculation device.
[0167] Figure 8 FIG. shows a schematic hardware structure diagram of a design layout contour calculation device provided by an embodiment of the present application.
[0168] The design layout contour calculation device may include a processor 801 and a memory 802 storing computer program instructions.
[0169] Specifically, the above-mentioned processor 801 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured as one or more integrated circuits for implementing the embodiments of the present application.
[0170] The memory 802 may include a mass storage for data or instructions. By way of example and not limitation, the memory 802 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive, or a combination of two or more of these. In a suitable case, the memory 802 may include a removable or non-removable (or fixed) medium. In a suitable case, the memory 802 may be internal or external to the integrated gateway disaster recovery device. In a specific embodiment, the memory 802 is a non-volatile solid state memory.
[0171] The processor 801 reads and executes computer program instructions stored in the memory 802 to implement any one of the design layout profile calculation methods in the above embodiments.
[0172] In one example, the design layout profile calculation device may further include a communication interface 803 and a bus 810. As shown, Figure 8 the processor 801, the memory 802, and the communication interface 803 are connected through the bus 810 to complete communication with each other.
[0173] The communication interface 803 is mainly used to implement communication between the modules, devices, units, and / or devices in the embodiments of the present application.
[0174] The bus 810 includes hardware, software, or both, and couples the components of the design layout profile calculation device to each other. By way of example and not limitation, the bus may include an accelerated graphics port (AGP) or other graphics bus, an enhanced industry standard architecture (EISA) bus, a front side bus (FSB), a hypertransport (HT) interconnect, an industry standard architecture (ISA) bus, an infinite bandwidth interconnect, a low pin count (LPC) bus, a memory bus, a microchannel architecture (MCA) bus, a peripheral component interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a serial advanced technology attachment (SATA) bus, a video electronics standards association local (VLB) bus, or other suitable buses, or a combination of two or more of these. In a suitable case, the bus 810 may include one or more buses. Although the embodiments of the present application describe and illustrate specific buses, the present application contemplates any suitable bus or interconnect.
[0175] In addition, in combination with the design layout contour calculation method in the above embodiments, an embodiment of the present application can be implemented by providing a computer storage medium. Computer program instructions are stored on the computer storage medium; when the computer program instructions are executed by a processor, any one of the design layout contour calculation methods in the above embodiments is implemented.
[0176] In addition, in combination with the design layout contour calculation method in the above embodiments, an embodiment of the present application can be implemented by providing a computer program product. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device is caused to execute the design layout contour calculation method provided in any aspect of the above embodiments of the present application.
[0177] It should be clear that the present application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order between steps after understanding the spirit of the present application.
[0178] The functional blocks shown in the structural block diagrams described above can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application-specific integrated circuit (ASIC), appropriate firmware, a plug-in, a functional card, and so on. When implemented in software, the elements of the present application are programs or code segments for performing the required tasks. The program or code segment can be stored in a machine-readable medium or transmitted via a data signal carried in a carrier wave on a transmission medium or a communication link. A "machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical discs, hard disks, fiber optic media, radio frequency (RF) links, and so on. The code segment can be downloaded via a computer network such as the Internet, an intranet, and so on.
[0179] It should also be noted that in the exemplary embodiments mentioned in the present application, some methods or systems are described based on a series of steps or devices. However, the present application is not limited to the order of the above steps, that is, the steps can be executed in the order mentioned in the embodiments, or different from the order in the embodiments, or several steps can be executed simultaneously.
[0180] Aspects of the present disclosure have been described above with reference to the flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block in the flowchart and / or block diagram, and the combinations of blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing apparatus enable the implementation of the functions / acts specified in one or more blocks of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general purpose processor, a special purpose processor, a special application processor, or a field programmable logic circuit. It will also be understood that each block of the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by dedicated hardware performing the specified functions or acts, or by a combination of dedicated hardware and computer instructions.
[0181] As described above, the above are only specific embodiments of the present application. Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, modules, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein. It should be understood that the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of various equivalent modifications or substitutions, and these modifications or substitutions should all be covered within the protection scope of the present application.
Claims
1. A design layout contour calculation method, characterized in that: include: Obtaining a target design layout, wherein the target design layout includes a plurality of segment edges obtained by interrupting a chip design pattern, each of the segment edges having a feature point; Determine at least one target segment edge group from the target design layout, wherein one target segment edge group includes a plurality of continuous segment edges, one target segment edge group corresponds to a curve segment to be solved, and the curve segment to be solved is a contour curve connecting a plurality of feature points in the corresponding target segment edge group; For each target segment edge group, the relative positions of the feature points of the segment edges in the target segment edge group and the curve calculation algorithm are used to determine the adjustment range of the tangent angle of the to-be-solved curve segment corresponding to the target segment edge group at the feature point, wherein the tangent angle is the angle between the tangent and the reference direction; For each of the curve segments to be solved, determining a target tangent angle for calculating the curve parameters of the curve segment to be solved with the tangent angle of the curve segment to be solved at the feature point being in compliance with the adjustment range as a constraint; Based on the target tangent angle and the curve calculation algorithm, the curve parameters of each of the curve segments to be solved are calculated.
2. The method according to claim 1, characterized in that: Determining the adjustment range of the tangent angle of the to-be-solved curve segment corresponding to the target segment edge group at the feature point by using the relative positions of the feature points of the segment edges in the target segment edge group and a curve calculation algorithm, comprising: Obtaining a relative distance between feature points of adjacent segment edges in the target segment edge group in the reference direction and a relative distance in a direction perpendicular to the reference direction; Based on the relative distances of the feature points of adjacent segment edges in the reference direction and in the direction perpendicular to the reference direction, and the curve parameters to be solved, construct an elliptic curve equation corresponding to the curve segment to be solved; Based on the relative distances of the feature points of adjacent segment edges in the reference direction and in the direction perpendicular to the reference direction, the curve parameters to be determined, and the tangent angle to be determined, construct a tangent equation of the tangent of the curve segment to be solved at the feature point; Based on the elliptic curve equation, the tangent equation, and preset constraints of the tangent angle, the adjustment range of the tangent angle is determined, and the preset constraints include: among adjacent feature points, the tangent angle of the tangent at one feature point is greater than or equal to zero degrees and less than the tangent angle of the tangent at another feature point, and the tangent angle of the tangent at the other feature point is less than or equal to ninety degrees.
3. The method according to claim 2, characterized in that At least one of the target segment edge groups includes three continuous segment edges, and the three continuous segment edges include a middle transition segment edge and a first segment edge and a tail segment edge respectively extending vertically from two ends of the middle transition segment edge in opposite directions; The to-be-solved curve segment corresponding to the target segment edge group includes two curve segments, wherein one curve segment is used to connect the feature points of the first segment edge and the middle transition segment edge, and the other curve segment is used to connect the feature points of the middle transition segment edge and the last segment edge; Determining an adjustment range of the tangent angle based on the elliptic curve equation, the tangent equation, and a preset constraint condition of the tangent angle includes: For each curve segment, based on the elliptic curve equation, the tangent equation, and the preset constraints of the tangent angle corresponding to the curve segment, determine the maximum value of the tangent angle of the curve segment at the characteristic point of the middle transition segment edge; From the maximum values of the tangent angles corresponding to the two curve segments, a smaller value is taken as the maximum value of the tangent angles of the two curve segments at the characteristic points of the middle transition segment edge.
4. The method according to claim 3, characterized in that The preset constraint conditions of the tangent angle also include: When the lengths of the three consecutive segment edges meet the preset short edge condition, the characteristic point on the middle transition segment edge is the midpoint of the middle transition segment edge; In the case where the characteristic point on the edge of the intermediate transition section is allowed to adjust its position, the ratio of the relative distances in the vertical direction of the two curve segments is equal to the ratio of the relative distances in the reference direction of the two curve segments; Among them, the relative distance in the vertical direction of one of the curve segments is the relative distance in the vertical direction between two feature points connected by the curve segment, and the relative distance in the reference direction of one of the curve segments is the relative distance in the reference direction between two feature points connected by the curve segment.
5. The method according to claim 3, characterized in that: At least one of the target segment edge groups includes four continuous segment edges, the four continuous segment edges include a first segment edge, two intermediate transition segment edges and a tail segment edge, wherein the two intermediate transition segment edges include a first intermediate transition segment edge and a second intermediate transition segment edge, two ends of the first intermediate transition segment edge vertically extend the first segment edge and the second intermediate transition segment edge in opposite directions, and one end of the second intermediate transition segment edge away from the first intermediate transition segment edge vertically extends the tail segment edge, the tail segment edge and the first intermediate transition segment edge are respectively located on both sides of the second intermediate transition segment edge, and the characteristic points of the two intermediate transition segment edges are both midpoints of the segment edges to which they belong; The curve segment to be solved corresponding to the target segment edge group includes: a first curve segment, a transition curve segment and a tail curve segment, wherein the first curve segment is used to connect the feature points of the first segment edge and the first intermediate transition segment edge, the transition curve segment is used to connect the feature points of the two intermediate transition segment edges, and the tail curve segment is used to connect the feature points of the tail segment edge and the second intermediate transition segment edge; Determining an adjustment range of the tangent angle based on the elliptic curve equation, the tangent equation, and a preset constraint condition of the tangent angle includes: Based on the elliptic curve equation, the tangent equation, and the preset constraints of the tangent angle corresponding to the first curve segment and the tail curve segment, respectively, determining the maximum value of the tangent angle of the first curve segment and the tail curve segment at the characteristic points of the connected intermediate transition segment edge; Based on the maximum values of the tangent angles of the first curve segment and the tail curve segment at the feature points of the connected intermediate transition segment edges, and the proportional factor condition, the maximum values of the proportional factors corresponding to the first curve segment and the tail curve segment are determined, wherein the proportional factor condition includes: the change trends of the tangent slopes of the in-tangent and out-tangent of the curve segment controlled by the proportional factor are opposite, and the proportional factor is greater than 0 and less than 1; From the maximum values of the proportional factors corresponding to the first curve segment and the last curve segment, a smaller value is taken as the maximum value of the proportional factor corresponding to the transition curve segment; Based on the proportional factor condition corresponding to the transition curve segment and the maximum value of the corresponding proportional factor, the maximum value of the tangent angle of the in-tangent line and the maximum value of the tangent angle of the out-tangent line corresponding to the transition curve segment are calculated.
6. The method according to claim 5, characterized in that The scaling factor conditions include: The tangent slope corresponding to the in-tangent line of the curve segment is determined based on the ratio of the lengths of the two segment edges connected by the curve segment and the scale factor; The tangent slope corresponding to the outgoing tangent of the curve segment is determined based on the ratio of the side lengths of the two segment sides connected by the curve segment and the inverse of the scale factor.
7. The method according to any one of claims 1 to 6, characterized in that: Determining at least one target segment edge group from the target design layout includes: Traversing all the edge segments in the target design layout, and for each traversed edge segment, determining whether a graph formed by the edge segment and an upstream adjacent edge segment of the edge segment meets the target type; If the target type is met, determine that the segment edge and the upstream adjacent segment edge of the segment edge form a target segment edge group; The method further comprises: If it does not meet the target type, in the target design layout, for the edge segment and the upstream adjacent edge segment of the edge segment, a quadratic curve for connecting the feature points of the edge segment and the upstream adjacent edge segment of the edge segment is calculated.
8. The method according to any one of claims 1 to 6, characterized in that: For each of the curve segments to be solved, determining a target tangent angle for calculating the curve parameters of the curve segment to be solved with the tangent angle of the curve segment to be solved at the feature point being in compliance with the adjustment range as a constraint, including: receiving angle adjustment information for a tangent angle of at least one curve segment to be solved at a feature point; Determining a desired tangent angle of the at least one curve segment to be solved at a feature point based on the angle adjustment information; Determining whether the expected tangent angle meets the adjustment range; If so, the expected tangent angle is determined to be the target tangent angle.
9. A design layout outline calculation device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the design layout outline calculation method as described in any one of claims 1-8 is implemented.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the design layout outline calculation method according to any one of claims 1 to 7 is implemented.