A method and electronic device for repairing non-45° bevel edges in an integrated circuit physical layout to 45° bevel edges based on integer constraints

By constructing integer constraint relationships and effective range of activity, the non-45° oblique edges in the physical layout of integrated circuits are quickly repaired, solving the problem of low repair efficiency in the prior art and improving the accuracy and efficiency of chip manufacturing.

CN118313333BActive Publication Date: 2025-08-26EMPYREAN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410417823.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-04-09
Publication Date
2025-08-26
Estimated Expiration
2044-04-09

AI Technical Summary

Technical Problem

The non-45° beveled edge repair method in the existing integrated circuit physical layout cannot quickly locate and correct the unexpected non-45° beveled edges, which affects the chip manufacturing process.

Method used

By constructing an integer constraint relationship, determine the effective range of activity of each vertex, calculate the candidate adjustment coordinates in turn, and finally repair the non-45° oblique edge to 45° oblique edge to achieve the repair of the minimum coordinate adjustment amount.

Benefits of technology

It realizes rapid positioning and corrects unanticipated non-45° bevels in the physical layout of the integrated circuit, improving the accuracy and efficiency of the chip manufacturing process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118313333B_ABST
    Figure CN118313333B_ABST
Patent Text Reader

Abstract

The present application discloses a method and electronic device for repairing non-45° bevels in an integrated circuit physical layout into 45° bevels based on integer constraints, comprising: segmenting each closed figure to determine the longest continuous bevel chain of each closed figure; determining the effective activity range of each vertex for all vertices on each longest continuous bevel chain; determining the potential adjustment coordinates of each vertex according to the effective activity range of each vertex based on a constructed integer constraint relationship; determining the candidate adjustment coordinates of each vertex according to the potential adjustment coordinates of each vertex; performing sequential back-calculation calculations on the candidate adjustment coordinates of all vertices in a second direction to obtain the effective adjustment coordinates of each vertex; and performing inverse transformation on the effective adjustment coordinates of all vertices to obtain the repaired vertex coordinates of each vertex, so as to repair the non-45° bevels on each longest continuous bevel chain into 45° bevels.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This patent application belongs to the field of circuit design technology, and in particular relates to a method and electronic device for repairing non-45° bevels in an integrated circuit physical layout to 45° bevels based on integer constraints. Background Art

[0002] In physical layout design in the semiconductor industry, to avoid the additional parasitic inductance and capacitance caused by wiring methods during high-speed signal transmission, trace corners are often designed to be 45° rather than right angles or sharp angles. During the layout etching process, sharp corners can cause excessive corrosion of PCB lines, resulting in problems such as PCB line disconnection. However, 45° wiring conditions can maintain the fluidity of the etching solution to the greatest extent, reduce the side etching of the solution on the traces, and ensure the control of line width and line gap. However, due to inevitable design oversights, some bevels close to 45° but not 45° may exist in the physical layout. If these non-45° bevels are not detected and repaired, the subsequent chip manufacturing process will be affected. The existing mainstream repair method is based on the repair of a single edge and several adjacent edges. The coordinate adjustment amount is large and it is impossible to quickly locate and correct the unexpected non-45° bevels introduced in the published drawing. Summary of the Invention

[0003] This patent application provides a method and electronic device for repairing non-45° bevels in an integrated circuit physical layout to 45° bevels based on integer constraints, so as to overcome or alleviate the defects of the prior art.

[0004] The technical solutions provided in the embodiments of this application are as follows:

[0005] A method for repairing non-45° bevel edges in an integrated circuit physical layout to 45° bevel edges based on integer constraints, comprising:

[0006] Determine a graphics layer that needs to bevel repaired as an input image layer;

[0007] For each vertex on the input image layer, determine all closed graphs connected to each vertex, segment each closed graph to determine the longest continuous diagonal edge chain connecting each vertex;

[0008] For all vertices on each longest continuous diagonal edge chain, determine the effective range of each vertex:

[0009] For each vertex's effective range of motion, perform the following steps to fix the non-45° bevel edges on each longest continuous bevel chain to 45° bevel edges:

[0010] Based on the constructed integer constraint relationship, the potential adjustment coordinates of each vertex are determined according to the effective range of movement of each vertex;

[0011] Determining candidate adjusted coordinates of each vertex according to the potential adjusted coordinates of each vertex;

[0012] Backtracking the candidate adjusted coordinates of all vertices in the second direction to obtain the valid adjusted coordinates of each vertex;

[0013] The effective adjusted coordinates of all vertices are inversely transformed to obtain the repaired vertex coordinates of each vertex, so as to repair the non-45° bevel edges on each longest continuous bevel edge chain to 45° bevel edges.

[0014] In the above solution provided by the present invention, the longest number of non-45° bevel repairs can be achieved with the least coordinate adjustment by constructing integer constraints, which can help designers quickly locate and correct unexpected non-45° bevels introduced into published drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1A Schematic diagram of the process of restoring a non-45° bevel to a 45° bevel according to an embodiment of the present application.

[0016] Figure 1B This is a schematic diagram of the process of determining effective adjustment coordinates in an embodiment of the present application.

[0017] Figure 2 This is an exemplary schematic diagram of the longest continuous oblique edge chain according to an embodiment of the present application.

[0018] Figure 3 This is a schematic diagram of the affine transformation according to an embodiment of the present application.

[0019] Figure 4 (a)-(d) are schematic diagrams for determining the effective activity range.

[0020] Figure 5 (a)-(e) are schematic diagrams of determining candidate adjustment coordinates to determine valid adjustment coordinates.

[0021] Figure 6 This is a schematic diagram of the backtracking path of an embodiment of the present application.

[0022] Figure 7 Schematic diagram of the transformation from effective adjustment coordinates to repaired vertex coordinates. DETAILED DESCRIPTION

[0023] The following will be combined with the drawings in the embodiments of this patent application to clearly describe the technical solutions in the embodiments of this patent application. Obviously, the embodiments described are part of the embodiments of this patent application, not all of the embodiments. Based on the embodiments in this patent application, all other embodiments obtained by ordinary technicians in this field are within the scope of protection of this patent application.

[0024] The terms "first," "second," and the like in the specification and claims of this patent application are used to distinguish similar objects, and are not used to describe a specific order or precedence. It should be understood that the terms used in this manner are interchangeable where appropriate, so that the embodiments of this patent application can be implemented in an order other than that illustrated or described herein, and that the objects distinguished by "first," "second," and the like are generally of the same type, and do not limit the number of objects. For example, the first object can be one or more. In addition, the term "and / or" in the specification and claims indicates at least one of the connected objects, and the character " / " generally indicates that the objects connected are in an "or" relationship.

[0025] FIG1 is a flow chart of a method for repairing a non-45° bevel edge to a 45° bevel edge in an integrated circuit physical layout according to an embodiment of the present application. As shown in FIG1 , the method includes:

[0026] Determine a graphics layer that needs to bevel repaired as an input image layer;

[0027] For each vertex on the input image layer, determine all closed graphs connected to each vertex, and segment each closed graph to determine the longest continuous diagonal edge chain of each closed graph;

[0028] For all vertices on each longest continuous diagonal edge chain, determine the effective range of each vertex:

[0029] For each vertex's effective range of motion, perform the following steps to fix the non-45° bevel edges on each longest continuous bevel chain to 45° bevel edges:

[0030] Based on the constructed integer constraint relationship, the potential adjustment coordinates of each vertex are determined according to the effective range of movement of each vertex;

[0031] Determining candidate adjusted coordinates of each vertex according to the potential adjusted coordinates of each vertex;

[0032] Backtracking the candidate adjusted coordinates of all vertices in the second direction to obtain the valid adjusted coordinates of each vertex;

[0033] The effective adjusted coordinates of all vertices are inversely transformed to obtain the repaired vertex coordinates of each vertex, so as to repair the non-45° bevel edges on each longest continuous bevel edge chain to 45° bevel edges.

[0034] In this embodiment, the longest continuous oblique edge chain of the closed figure refers to, for example, the longest continuous oblique edge along the second direction starting from any point of the closed figure.

[0035] Optionally, segmenting each closed figure to determine the longest continuous diagonal edge chain of each closed figure includes:

[0036] Along a first direction, traverse each edge in the closed graph that can start from a specified vertex as a starting point and form a connection with other vertices; if the edge is a hypotenuse and its subtended angle is less than or equal to the tolerance, then add the edge to the constructed longest continuous hypotenuse chain, and so on, until traversing to a vertex in the closed graph with an subtended angle greater than the tolerance as the end point, and the first direction is opposite to the second direction.

[0037] In this embodiment, the first direction is, for example, a clockwise direction, and the second direction is, for example, a counterclockwise direction.

[0038] For example, in a specific application scenario, each edge of a graph is traversed counterclockwise. If the edge is a hypotenuse and the angle is less than or equal to the tolerance, the edge is added to the current longest hypotenuse chain. If an edge does not meet the conditions, the construction of the current longest hypotenuse chain is terminated and the construction of the next longest hypotenuse chain begins. This process is repeated until all edges of the graph are traversed. If the end point of the last longest hypotenuse chain is the same vertex as the starting point of the first longest hypotenuse chain, the two longest hypotenuse chains are merged end to end.

[0039] In this embodiment, the above-mentioned angle refers to, for example, the absolute value of the difference between the distance unit of the corresponding edge in the y direction and the distance unit of the corresponding edge in the x direction. For example, for a 45° hypotenuse, the angle is 0; for a non-45° hypotenuse, the angle is greater than 0.

[0040] In this embodiment, tolerance refers to the longest angle of the oblique edges to be repaired in each closed figure. Through the definition of tolerance, the solution of the embodiment of the present application mainly repairs the oblique edges whose angles are less than or equal to the tolerance.

[0041] Optionally, the segmenting of each closed figure to determine the longest continuous diagonal edge chain of each closed figure further includes:

[0042] Determine the distance that each edge changes along the Y direction and use it as the longitudinal change distance;

[0043] Determine the distance that each edge changes along the x-direction and use it as the horizontal change distance;

[0044] Calculating the absolute value of the difference between the longitudinal change distance and the lateral change distance corresponding to each edge;

[0045] The absolute value is taken as the subtended angle of each side.

[0046] Optionally, segmenting each closed figure to determine the longest continuous diagonal edge chain of each closed figure further includes: determining corresponding opposite angles on all sides of the closed figure, and using the longest opposite angle as the tolerance.

[0047] Optionally, the segmenting of each closed figure to determine the longest continuous diagonal edge chain of each closed figure further includes:

[0048] Splitting the closed figure into an outer boundary point chain and / or an inner boundary point chain, and selecting a starting vertex from each of the outer boundary point chain and the inner boundary point chain;

[0049] Traversing each edge in the closed graph that can start from the starting point and connect to other vertices, including:

[0050] Traversing each edge on the outer boundary point chain that starts from the corresponding starting point and forms a connection between other vertices to add it to the longest continuous oblique edge chain constructed for the outer boundary point chain;

[0051] and / or,

[0052] Each edge on the inner boundary point chain that starts from the corresponding starting point and forms a connection with other vertices is traversed to add it to the longest continuous oblique edge chain constructed for the inner boundary point chain.

[0053] Optionally, determining the candidate adjustment coordinates of each vertex according to the effective movable range of each vertex includes:

[0054] Determine the potential adjustment coordinates of each vertex from the boundary of the effective activity range of each vertex along the point connection direction corresponding to each vertex;

[0055] If the number of the potential adjustment coordinates is one, the potential adjustment coordinate is used as a candidate adjustment coordinate, and the distance between the potential adjustment coordinate corresponding to each vertex and the original coordinate is calculated;

[0056] If there are multiple potential adjustment coordinates, the distance between each potential adjustment coordinate and the affine transformation coordinate is calculated, and the potential adjustment coordinate corresponding to the minimum distance is selected as the candidate adjustment coordinate.

[0057] Optionally, determining the effective range of each vertex on each longest continuous hypotenuse chain includes:

[0058] For all vertices on each longest continuous hypotenuse chain, the own activity range and adjacent activity range of each vertex are determined; based on the own activity range and adjacent activity range, the effective activity range of each vertex is determined.

[0059] Furthermore, for all vertices on each longest continuous hypotenuse chain, the own activity range and adjacent activity range of each vertex are determined, including: performing an affine transformation on the original coordinates of each vertex on each longest continuous hypotenuse chain to obtain the affine transformation coordinates corresponding to each vertex; based on the affine transformation coordinates corresponding to each vertex, the own activity range and adjacent activity range of each vertex are determined.

[0060] For example, the original coordinates of each vertex on each longest continuous diagonal chain can be affine transformed based on the following formula:

[0061] in is the affine transformation coordinate of the vertex, are the original coordinates of the vertex.

[0062] Optionally, based on the affine transformation coordinates corresponding to each vertex, determining the own activity range and adjacent activity range of each vertex includes:

[0063] Taking the affine transformation coordinates corresponding to each vertex as the center, determine a square with the tolerance as the side length, and use the square area as the activity range of each vertex;

[0064] Determine the intersection of the projection directions of the affine transformation coordinates of the two adjacent vertices to each vertex, determine a square with tolerance as the side length with the intersection as the center, and use the square area as the adjacent activity range of each vertex.

[0065] Optionally, determining the effective activity range of each vertex based on the own activity range and the adjacent activity range includes: obtaining the intersection of the own activity range and the adjacent activity range corresponding to each vertex to obtain the effective activity range of each vertex.

[0066] In this embodiment, after the above processing, the obtained effective activity range is a rectangular area, and the length and width of the rectangular area are orthogonal (or perpendicular) along the X direction and the Y direction respectively.

[0067] Optionally, based on the following integer constraint relationship, along the point connection direction corresponding to each vertex, the potential adjustment coordinates of each vertex are determined from the boundary of the effective activity range of each vertex:

[0068] |Q x -P x |+|Q y -P y | is an even number, where (P x , P y ) represents the original coordinates of each vertex, (Q x , Qy ) represents the potential adjusted coordinates of each vertex.

[0069] In the above, the potential adjustment coordinates of each vertex are determined, and the cost function of the potential adjustment coordinates of each vertex is recorded to form a recording function. The size of the cost function is used to determine the distance between the different potential adjustment coordinates of the vertex and its affine transformation coordinates. The recording function is used to characterize the relative position of the potential adjustment coordinates of each vertex relative to the lower left corner of the effective activity range, so that the lower left corner of the effective activity range can be selected as the reference point. After selecting the candidate adjustment coordinates from the potential adjustment coordinates, a calibration pair can be defined as the relative coordinates of the candidate adjustment coordinates corresponding to each vertex relative to a reference point.

[0070] To this end, in the above situation, if the number of potential adjustment coordinates is multiple, the distance between each potential adjustment coordinate and the affine transformation coordinate is calculated, and when selecting the potential adjustment coordinate corresponding to the situation with the minimum distance as the candidate adjustment coordinate, the potential adjustment coordinate corresponding to the situation with the minimum cost function is directly selected as the candidate adjustment coordinate.

[0071] Optionally, the candidate adjusted coordinates of all vertices are back-calculated in sequence along the second direction to obtain the valid adjusted coordinates of each vertex, including:

[0072] Determine the relative coordinates of the candidate adjustment coordinates corresponding to each vertex relative to a reference point, where the reference point is a point on the effective activity range corresponding to each vertex;

[0073] Based on the relative coordinates and distances corresponding to each vertex, a corresponding relationship between the relative coordinates and the distances is obtained as a calibration pair;

[0074] Based on the calibration pair corresponding to each vertex, the candidate adjusted coordinates of the vertex are back-calculated in sequence along the second direction to obtain the valid adjusted coordinates of each vertex.

[0075] Optionally, obtaining a correspondence between the relative coordinates and the distances corresponding to each vertex as a calibration pair includes:

[0076] Based on the relative coordinates corresponding to each vertex, a positional relationship between the candidate adjusted coordinates of each vertex and its effective range of movement is established;

[0077] Based on the distance between the candidate adjusted coordinates and the original coordinates of each vertex, the positional relationship is calibrated to obtain a corresponding relationship between the relative coordinates and the distance as a calibration pair.

[0078] Optionally, the step of performing sequential backtracking calculations on the candidate adjusted coordinates of each vertex in the second direction based on the calibration pair corresponding to each vertex to obtain the valid adjusted coordinates of each vertex includes:

[0079] Based on the calibration pair of the last vertex on the longest continuous hypotenuse chain, selecting the candidate adjustment coordinate with the smallest distance from the candidate adjustment coordinates corresponding to the last vertex as the valid adjustment coordinate of the last vertex;

[0080] Starting from the last vertex, along the second direction, based on the valid adjusted coordinates of the last vertex, candidate adjusted coordinates of other vertices are back-calculated in sequence along the second direction to obtain valid adjusted coordinates of other vertices.

[0081] Optionally, starting from the last vertex and following the second direction, based on the valid adjusted coordinates of the last vertex, sequentially back-calculating the candidate adjusted coordinates of other vertices along the second direction to obtain the valid adjusted coordinates of other vertices includes:

[0082] Starting from the last vertex, along the second direction, based on the calibration pair of the last vertex and the valid adjusted coordinates of the last vertex, determine, from the candidate adjusted coordinates of the next vertex, the candidate adjusted coordinates that are equal to the valid adjusted coordinates of the last vertex as the valid adjusted coordinates of the next vertex;

[0083] Based on the calibration pair of the next vertex, according to the effective adjustment coordinates of the next vertex, determine the candidate adjustment coordinates of the next next vertex that are equal to the effective adjustment coordinates of the next vertex as the effective adjustment coordinates of the next next vertex; and so on, until the effective adjustment coordinates of the first vertex are determined.

[0084] Optionally, the step of performing sequential backtracking calculations on the candidate adjusted coordinates of each vertex in the second direction based on the calibration pair corresponding to each vertex to obtain the valid adjusted coordinates of each vertex includes:

[0085] Determine the i-1th valid adjustment coordinate along the second direction, and take the candidate adjustment coordinate of the i-th vertex that is equal to the valid adjustment coordinate as the valid adjustment coordinate of the i-th vertex, 2≤i≤n, where n is the total number of vertices.

[0086] Optionally, the step of performing sequential backtracking calculations on the candidate adjusted coordinates of each vertex in the second direction based on the calibration pair corresponding to each vertex to obtain the valid adjusted coordinates of each vertex includes:

[0087] Based on the calibration pair corresponding to each vertex and the point connection direction of the vertices adjacent to each vertex in the second direction, the candidate adjusted coordinates of the vertex are back-calculated in sequence along the second direction to obtain the valid adjusted coordinates of each vertex.

[0088] Optionally, performing an inverse transformation on the effective adjusted coordinates of all vertices to obtain the repaired vertex coordinates of each vertex includes:

[0089] Perform a stretching transformation and a 45-degree rotation transformation on the effective adjusted coordinates of each vertex to obtain the effective adjusted coordinates of the vertex relative to its original coordinates.

[0090] In the above embodiment, based on the obtained effective activity range, in order to improve calculation efficiency, the effective activity range corresponding to each vertex may be reduced, so as to determine the candidate adjustment coordinates of each vertex according to the reduced effective activity range of each vertex.

[0091] Specifically, when performing reduction, boundary intersections can be obtained based on adjacent valid activity ranges along the horizontal direction or the vertical direction, so that points in adjacent valid activity ranges can be translated along the horizontal direction or the vertical direction or moved vertically between adjacent valid activity ranges.

[0092] The following uses a specific application scenario as an example to illustrate the above embodiment of the present application. In layout design, since positioning is performed in a single grid unit, the tolerance for repairing the bevel in the following application scenario is 4 grid units.

[0093] like Figure 2 As shown, there are two closed figures. For closed figure A, since each of its edges is a hypotenuse and the angle subtended is less than 4, the outer boundary of the closed figure forms a longest continuous hypotenuse chain. For closed figure B, there is only one hypotenuse, and the angle subtended by the hypotenuse is greater than 4, so the figure cannot form the longest continuous hypotenuse chain and does not need to be repaired.

[0094] like Figure 3 As shown, as described above, the affine transformation coordinates of each vertex are calculated according to the formula x'=xy, y'=x+y.

[0095] like Figure 4 As shown in (a)-(d), first generate the range of each vertex's own activity, that is, take the affine transformation coordinates of each vertex as the center, make a square with a side length of 4, and the distance from any point in the square to the center is no more than This ensures that the distance does not exceed 4 after the subsequent inverse transformation. Figure 4 (a) is marked with a solid line. Then Figure 4(b) Generate the proximity range of the affine transformed coordinates of each vertex. For the affine transformed coordinate position A of the lower left corner vertex, the connection with the affine transformed coordinate positions E and B of the adjacent vertices is vertical and horizontal, respectively. Therefore, draw lines parallel to the y-axis and x-axis through E and B, intersecting at point A'. Construct a square with a side length of 4 with this point as the center. This is the proximity range of A. For point B, the connection with its adjacent points A and C is horizontal and horizontal, respectively. Therefore, draw a line Bl through B perpendicular to the connection direction. Draw lines horizontally through points A and C, intersecting Bl at points B'1 and B'2, respectively. Construct squares with a side length of 4 with these two points as the center. The union of these two squares is the proximity range of B. Follow the same steps to obtain the proximity ranges of points C, D, and E.

[0096] Obtain the intersection of the own activity range and the adjacent activity range corresponding to the affine transformation coordinates of each vertex, that is, obtain the effective activity range of each vertex, such as Figure 4 The shaded area in (b) is shown.

[0097] Then find the effective activity range formed by connecting all two or more adjacent points with the same direction. Figure 4 In (c), a reduction operation is performed. For example, if the connection direction between points B and C is horizontal, the effective ranges of A, B, and C are further "reduced". The principle of "reduction" is to ensure that any point in the effective ranges of A, B, and C can be moved horizontally to all other effective ranges. Specifically, for example, in the y direction, the minimum value of the upper boundary of all effective ranges is taken as Yup, and the maximum value of the lower boundary of all effective ranges is taken as Ydown. Finally, the y values ​​of the effective ranges of A, B, and C are limited to the range [Ydown, Yup]. Figure 4 (d) shows the effective range of motion after the “cut” operation.

[0098] like Figure 5 (a)-5(e), as shown, all vertices are traversed, and the cost function and record function corresponding to the potential adjusted coordinates of each vertex are determined in turn. Figure 5 (a) is the calculation process at point A. Since the connection direction with point B is horizontal, the candidate adjustment point of A only needs to select the points closest to point A on line 0 and line 1 that meet the integer constraint. For the potential adjustment coordinate on line 0, the distance from point A is 2, its cost function is C(1,0) = 4, and the relative position relative to the lower left corner of the effective activity range is R(1,0) = [1,0]. Similarly, for the candidate adjustment point on line 1, the cost function is C(1,1) = 2, and the record function is R(1,1) = [2,1].

[0099] Figure 5(b) is the calculation process at point B. Since the connection direction of point C is horizontal, the candidate adjustment points of B only need to be selected from line 0 and line 1 respectively. Since the connection direction of point B is consistent with that of point C, it is only necessary to select the points closest to point B that meet the integer constraint conditions from line 0 and line 1 respectively. For the candidate adjustment points on line 0, the distance from vertex B is Its cost function is C(2,1)=C(1,0)+2=6, and the recording function is R(2,0)=[1,0]. For the candidate adjustment point on line 1, the distance from B is 2, and its cost function is C(2,1)=C(1,1)+4=6, and the recording function is R(2,1)=[2,1]. Figure 5 (c) The calculation process at point C. Since the points in D are connected in a vertical direction, the potential adjustment coordinates for C only need to be selected from lines 0, 1, 2, and 3. Since the points in C and D are connected in different directions, finding the potential adjustment coordinates on each line requires traversing all points on the line that meet the integer constraint and selecting the candidate adjustment coordinate with the minimum cost function. For line 0 of point C, only the points with relative positions [0,1] satisfy the integer constraint, and [0,1] is on line 1 of point B, so the cost function is C(3,0)=C(2,1)+4=10; for line 1, only the points with relative positions [1,0] satisfy the integer constraint, and [1,0] is on line 0 of point B, so the cost function is C(3,1)=C(2,0)+2=8; for line 2, only the points with relative positions [2,1] satisfy the integer constraint, and [2,1] is on line 1 of point B, so the cost function is C(3,2)=C(2,1)+0=6; for line 3, only the points with relative positions [3,0] satisfy the integer constraint, and [3,0] is on line 0 of point B, so the cost function is C(3,3)=C(2,0)+2=8.

[0100] Figure 5(d) shows the calculation process at vertex D. Since the points in E are connected horizontally, candidate adjustment points for D only need to be selected from lines 0 and 1. Since the points in E and D connect in different directions, finding the potential adjustment coordinates on each line requires traversing all points on that line that satisfy the integer constraint. The point with the smallest cost function is selected as the candidate adjustment coordinate. For line 0, the points at relative positions [0,0] and [2,0] both satisfy the integer constraint. The cost functions of these two points are C(3,0)+2=12 and C(3,2)+2=8, respectively. The minimum value is 8, so the point at relative position [2,0] is selected as the candidate adjustment point for line 0. For line 1, the points at relative positions [1,1] and [3,1] both satisfy the integer constraint. The cost functions of these two points are C(3,1)+4=12 and C(3,3)+8=16, respectively. The minimum value is 12, so the point at relative position [1,1] is selected as the candidate adjustment point for line 1.

[0101] Figure 5 (e) shows the calculation process at E. Since the points in A are connected in a vertical direction, candidate adjustment points for D only need to be selected from lines 0, 1, 2, and 3. Since the points in A and E are connected in different directions, finding candidate adjustment points on each line requires traversing all points on that line that satisfy the integer constraint, and selecting the point with the minimum cost function as the candidate adjustment coordinate. For line 0, only the points at the relative position [0,0] satisfy the integer constraint, and its cost function is C(5,0)=C(4,0)+8=16; for line 1, only the points at the relative position [1,1] satisfy the integer constraint, and its cost function is C(5,1)=C(4,1)+2=14; for line 2, only the points at the relative position [2,2] satisfy the integer constraint, and its cost function is C(5,2)=C(4,0)+4=12; for line 3, only the points at the relative position [3,1] satisfy the integer constraint, and its cost function is C(5,2)=C(4,1)+2=14.

[0102] Then, the candidate adjustment coordinates of all vertices are back-calculated in the second direction to obtain the effective adjustment coordinates of each vertex. Figure 6 As shown, E is the last point in the hypotenuse chain, and the cost function minimum value of all candidate adjustment points of E is C(5,2), so E' is selected as the effective adjustment coordinate of E; since the point connection direction of point D is horizontal, the point with the same y value as E' is selected as D' (as the effective adjustment coordinate) in the candidate adjustment points of point D; since the point connection line direction of point C is vertical, the point with the same x value as D' is selected as C' (as the effective adjustment coordinate) in the candidate adjustment of point C; similarly, B' and A' (as the effective adjustment coordinates) can be obtained. On this basis, according to Figure 7As shown, an inverse transformation is performed to transform from the effective adjusted coordinates to the repaired vertex coordinates.

[0103] The embodiments of the present patent application are described above in conjunction with the accompanying drawings, but the present patent application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of this patent application, ordinary technicians in this field can also make many forms without departing from the purpose of this patent application and the scope of protection of the claims, all of which fall within the scope of protection of this patent application.

Claims

1. A method for repairing non-45° bevel edges to 45° bevel edges in an integrated circuit physical layout, characterized in that: include: Determine a graphics layer that needs to bevel repaired as an input image layer; For each vertex on the input image layer, all closed graphs connected to each vertex are determined, and each edge in the closed graph that can start from the specified vertex and form a connection with other vertices is traversed along a first direction; if the edge is a hypotenuse and its subtended angle is less than or equal to the tolerance, the edge is added to the constructed longest continuous hypotenuse chain, and so on, until a vertex in the closed graph with a subtended angle greater than the tolerance is traversed and used as the end point; For all vertices on each longest continuous diagonal edge chain, determine the effective range of each vertex: For each vertex's effective range of motion, perform the following steps to fix the non-45° bevel edges on each longest continuous bevel chain to 45° bevel edges: Based on the following integer constraint relationship, along the point connection direction corresponding to each vertex, the potential adjustment coordinates of each vertex are determined from the boundary of the effective range of each vertex: is an even number, where Represents the original coordinates of each vertex, represents the potential adjusted coordinates of each vertex; Determining candidate adjusted coordinates of each vertex according to the potential adjusted coordinates of each vertex; Backtracking the candidate adjusted coordinates of all vertices in the second direction to obtain the valid adjusted coordinates of each vertex; Perform inverse transformation on the effective adjusted coordinates of all vertices to obtain the repaired vertex coordinates of each vertex, so as to repair the non-45° bevel on each longest continuous bevel chain to a 45° bevel. The first direction is opposite to the second direction.

2. The method according to claim 1, characterized in that Also includes: Determine the distance that each edge changes along the Y direction and use it as the longitudinal change distance; Determine the distance that each edge changes along the x-direction and use it as the horizontal change distance; Calculating the absolute value of the difference between the longitudinal change distance and the lateral change distance corresponding to each edge; The absolute value is taken as the subtended angle of each side.

3. The method according to claim 1, characterized in that Also includes: The corresponding subtended angles on all sides of the closed figure are determined, and the longest subtended angle among them is used as the tolerance.

4. The method according to claim 1, wherein Also includes: Splitting the closed figure into an outer boundary point chain and / or an inner boundary point chain, and selecting a starting vertex from each of the outer boundary point chain and the inner boundary point chain; Traversing each edge in the closed graph that can start from the starting point and connect to other vertices, including: Traversing each edge on the outer boundary point chain that starts from the corresponding starting point and forms a connection between other vertices to add it to the longest continuous oblique edge chain constructed for the outer boundary point chain; and / or, Each edge on the inner boundary point chain that starts from the corresponding starting point and forms a connection with other vertices is traversed to add it to the longest continuous oblique edge chain constructed for the inner boundary point chain.

5. The method according to claim 1, characterized in that Determining candidate adjusted coordinates of each vertex according to the potential adjusted coordinates of each vertex includes: If the number of the potential adjustment coordinates is one, the potential adjustment coordinate is used as a candidate adjustment coordinate, and the distance between the potential adjustment coordinate corresponding to each vertex and the original coordinate is calculated; If there are multiple potential adjustment coordinates, the distance between each potential adjustment coordinate and the affine transformation coordinate is calculated, and the potential adjustment coordinate corresponding to the minimum distance is selected as the candidate adjustment coordinate.

6. The method according to claim 1, characterized in that The method further includes: reducing the effective activity range corresponding to each vertex, so as to determine the candidate adjustment coordinates of each vertex according to the reduced effective activity range of each vertex.

7. The method according to claim 1, characterized in that The inverse transformation of the effective adjusted coordinates of all vertices to obtain the repaired vertex coordinates of each vertex includes: Perform a stretching transformation and a 45-degree rotation transformation on the effective adjusted coordinates of each vertex to obtain the effective adjusted coordinates of the vertex relative to its original coordinates.

8. An electronic device, characterized in that: The method comprises a memory and a processor, wherein a computer executable program is stored in the memory, and the processor is configured to run the computer executable program to implement the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Validation method of rectangular containing rule in layout verification of integrated circuit

    CN102890730A

  • Graph alignment method and device and storage medium

    CN113553823A