Design layout processing method, device, equipment, medium and program product

By expanding the search box and selecting target lines that do not intersect with the edge set, the accuracy loss and line segment intersection problems caused by non-integer intersection point coordinates in the design layout are resolved, thus improving the quality of the design layout.

CN119443031BActive Publication Date: 2025-12-09SHENZHEN JINGYUAN INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411556605.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-04
Publication Date
2025-12-09
Estimated Expiration
2044-11-04

AI Technical Summary

Technical Problem

Existing methods often result in non-integer coordinates at the intersection points of line segments with adjacent cavities or shells in the design layout, leading to loss of computer storage precision and line segment intersections, which affects the quality of the design layout.

Method used

If the first cutting point of the cavity is a non-integer coordinate, the first search box is expanded into a second search box, a vertex set and an edge set are constructed, and the target line with the shortest length that does not intersect with the edge set is selected to connect the cavities to form a whole.

Benefits of technology

This avoids problems such as outline distortion and inaccurate segmentation at line intersections in the design layout, thus improving the quality of the design layout.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119443031B_ABST
    Figure CN119443031B_ABST
Patent Text Reader

Abstract

The application discloses a design layout processing method, device, equipment, medium and program product, and relates to the field of lithography technology. The design layout processing method comprises the following steps: determining first cutting points of each cavity in a design layout according to first search boxes of the cavities; in the case that the coordinates of the first cutting points in a layout coordinate system are non-integer coordinates, performing expansion on the first search boxes according to the endpoint coordinates of the cutting edges to obtain second search boxes; determining a vertex set and an edge set corresponding to the cavities according to the second search boxes; selecting a target connecting line with the shortest length and not intersecting with each edge in the edge set from the connecting lines of each vertex in the vertex set and cavity feature points; and connecting each cavity in the design layout according to the target connecting lines of each cavity in the design layout to obtain a processed design layout.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the field of photolithography, and particularly relates to a processing method and device for design layout, equipment, medium and program product. BACKGROUND

[0002] In the integrated circuit manufacturing process, the patterns on the mask are transferred to the silicon wafer through photolithography and etching. The geometric patterns on the mask used in the manufacture of integrated circuits are defined as the design layout of the integrated circuit. There are usually multiple holes and hulls on the design layout, wherein the hulls constitute the outer contour of the design layout, and the holes are the hollowed-out parts on the design layout. When processing the design layout, it is often necessary to connect the holes and the hulls into a whole.

[0003] In the existing method, a coordinate axis is usually established on the design layout, and then a line segment is extended from a certain vertex on the contour of the hole in a direction, and the line segment intersects with the contour edge of the adjacent hole or hull, thereby completing the connection of all holes and hulls.

[0004] However, in the existing method, the intersection point coordinates of the line segment and the adjacent hole or hull are often non-integer coordinates. At this time, due to the limitation of computer storage precision, the storage of the intersection point coordinates will lose precision, so that the subsequent reading of the intersection point coordinates will deviate from the original position, thereby causing the contour of the design layout to deform. At the same time, in the existing method, the line segments often intersect, thereby causing the subsequent accurate segmentation of the intersection of the line segments on the design layout. Therefore, the existing method will result in a poor quality of the final design layout. SUMMARY

[0005] The embodiments of the present application provide a processing method, device, equipment, storage medium and program product for design layout, which can improve the quality of the design layout.

[0006] In an aspect of the embodiments of the present application, a processing method for design layout is provided, comprising:

[0007] According to the first search frame of each hole in the design layout, a first cutting point of each hole is determined, the first search frame is a rectangular frame obtained by extending the hole feature point as a starting point in a preset direction, the first cutting point is the intersection point of the straight line extending from the hole feature point as a starting point in a preset direction and the cutting edge, and the cutting edge is the edge with the smallest distance from the hole feature point among the contour edges of the hole and the contour edges of the hull intersecting with the first search frame;

[0008] In a case that the coordinates of the first cutting point in the layout coordinate system are non-integer coordinates, the first search frame is expanded according to the endpoint coordinates of the cutting edge to obtain a second search frame, and the layout coordinate system is a plane rectangular coordinate system constructed with a preset point in the design layout as an origin;

[0009] According to the second search frame, a vertex set corresponding to the cavities and an edge set are determined, the vertex set includes vertices of each cavity within the range of the second search frame, and the edge set includes each contour edge of each cavity intersecting the second search frame;

[0010] In the connecting lines of the vertices in the vertex set and the cavity feature points, a target connecting line with the shortest length and not intersecting each edge in the edge set is selected;

[0011] According to the target connecting lines of the cavities in the design layout, the cavities in the design layout are connected to obtain a processed design layout.

[0012] In an aspect of the embodiment of the application, a processing device for a design layout is provided, which includes:

[0013] A cutting point determination module is configured to determine first cutting points of each cavity according to first search frames of the cavities in the design layout, the first search frame is a rectangular frame obtained by extending from a cavity feature point to a preset direction, the first cutting point is an intersection of a straight line extending from the cavity feature point to the preset direction and a cutting edge, and the cutting edge is an edge with the smallest distance to the cavity feature point among contour edges of the cavity and contour edges of the shell intersecting the first search frame;

[0014] A search frame expansion module is configured to, in a case that the coordinates of the first cutting point in a layout coordinate system are non-integer coordinates, expand the first search frame according to the endpoint coordinates of the cutting edge to obtain a second search frame, and the layout coordinate system is a plane rectangular coordinate system constructed with a preset point in the design layout as an origin;

[0015] A set determination module is configured to determine a vertex set corresponding to the cavities and an edge set according to the second search frame, the vertex set includes vertices of each cavity within the range of the second search frame, and the edge set includes each contour edge of each cavity intersecting the second search frame;

[0016] A connecting line selection module is configured to select, in the connecting lines of the vertices in the vertex set and the cavity feature points, a target connecting line with the shortest length and not intersecting each edge in the edge set;

[0017] A layout processing module is configured to connect the cavities in the design layout according to the target connecting lines of the cavities in the design layout to obtain a processed design layout.

[0018] In an aspect of the embodiments of the present application, an electronic device is provided. The device includes a memory and a program or instructions stored in the memory and executable on a processor, and the program or instructions are executed by the processor to implement the method for processing a design layout according to any one of the above aspects of the embodiments of the present application.

[0019] In an aspect of the embodiments of the present application, a readable storage medium is provided. The readable storage medium stores a program or instructions, and the program or instructions are executed by a processor to implement the method for processing a design layout according to any one of the above aspects of the embodiments of the present application.

[0020] In an aspect of the embodiments of the present application, a computer program product is provided. The instructions in the computer program product are executed by a processor of an electronic device to cause the electronic device to perform the method for processing a design layout according to any one of the above aspects of the embodiments of the present application.

[0021] In the method for processing a design layout provided by the embodiments of the present application, in the case that the coordinates of the first cutting point of the cavity are non-integer coordinates, the first search box is expanded into a second search box. Thus, a vertex set composed of the vertices within the range of the second search box and an edge set composed of the profile edges intersecting the second search box are constructed. Finally, a target connecting line with the shortest length and not intersecting any edge in the edge set is selected from the connecting lines between the vertices in the vertex set and the cavity feature points. In this way, the target connecting line finally determined belongs to the connecting lines between the vertices in the vertex set and the cavity feature points. Since the coordinates of the vertices of each cavity in the design layout are integers, the coordinates of the end points of the target connecting line finally obtained must be integers, so that the precision loss of the intersection point coordinates stored by the computer can be avoided, and the problem of profile deformation of the design layout can be avoided. At the same time, the target connecting line finally determined does not intersect any profile edge in the edge set, which can reduce the problem that the intersection of the target connecting line leads to the inability to accurately segment the line segments at the intersection of the design layout. In this way, the target connecting line selected by the embodiments of the present application can improve the quality of the design layout. BRIEF DESCRIPTION OF DRAWINGS

[0022] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required to be used in the embodiments of the present application will be briefly introduced. Those skilled in the art can obtain other drawings according to these drawings without creating any creative labor.

[0023] Figure 1 FIG. 1 is a flowchart of a method for processing a design layout according to an embodiment of the present application;

[0024] Figure 2 FIG. 2 is a schematic diagram of determining a first cutting point of a cavity according to an embodiment of the present application;

[0025] Figure 3 is a schematic diagram of a line segment intersection phenomenon provided by one embodiment of the present application;

[0026] Figure 4 is a schematic diagram of a storage sequence of a shell and a hole provided by one embodiment of the present application;

[0027] Figure 5 is a schematic diagram of intersection of a first search box and a hole provided by one embodiment of the present application;

[0028] Figure 6 is a schematic diagram of expansion of a first search box when a preset direction is horizontal right provided by one embodiment of the present application;

[0029] Figure 7 is a schematic diagram of reduction of a second search box when a preset direction is horizontal right provided by one embodiment of the present application;

[0030] Figure 8 is a schematic diagram of a processing device of a design layout provided by one embodiment of the present application;

[0031] Figure 9 is a schematic diagram of a processing device of a design layout provided by one embodiment of the present application. DETAILED DESCRIPTION

[0032] The features and exemplary embodiments of the various aspects of the present application will be described in detail below with reference to the drawings. To make the purpose, technical solutions and advantages of the present application more clear, the present application will be further described in detail below with reference to the drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, but not to limit the present application. The present application can be implemented without some of the specific details by those skilled in the art. The following description of the embodiments is only to provide a better understanding of the present application by showing examples of the present application.

[0033] It should be noted that, in this document, the relationship 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 that there is any such actual relationship or order between the entities or operations. Moreover, the terms "include", "contain" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. Without more limitations, the elements defined by the statement "include" do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0034] It should be noted that the acquisition, storage, use, processing, etc. of data in the technical solutions of the present application comply with relevant provisions of national laws and regulations.

[0035] It should be noted that in the embodiments of the present application, some industry existing solutions of software, components, models, etc. may be mentioned, which should be considered as exemplary, and the purpose is only to illustrate the feasibility in the implementation of the technical solutions of the present application, but it does not mean that the applicant has or will necessarily use the solutions.

[0036] In the existing method, a coordinate axis is usually established on the design layout, and a line segment is extended from a certain vertex on the contour of the cavity in a direction, and the line segment will intersect with the contour edge of the adjacent cavity or shell, thereby completing the connection work of all cavities and shells. However, in the existing method, the intersection coordinates of the line segment and its adjacent cavity or shell are often non-integer coordinates, and the line segments often intersect, which will result in poor quality of the final design layout.

[0037] The purpose of the present application is to provide a design layout processing method, device, equipment, medium and program product. In the design layout processing method provided by the embodiments of the present application, in the case that the coordinates of the first cutting point of the cavity are non-integer coordinates, the first search box is expanded into a second search box. The vertex set composed of the vertices within the range of the second search box is constructed, and the edge set composed of each contour edge intersecting with the second search box is constructed. Finally, in the connecting lines of each vertex of the vertex set and the cavity feature points, a target connecting line with the shortest length and not intersecting with each edge in the edge set is selected. In this way, the target connecting line finally determined belongs to the connecting line of the vertex in the vertex set and the cavity feature point. Since the coordinates of the vertices of each cavity designed in the design layout are integers, the coordinates of the end points of the target connecting line finally obtained must be integers, so that the precision loss of the intersection coordinates stored by the computer can be avoided, and the problem of contour deformation of the design layout can be avoided. At the same time, the target connecting line finally determined does not intersect with each contour edge in the edge set, which can reduce the problem of inaccurate segmentation of the line segment intersection of the design layout caused by the intersection of the target connecting line. In this way, the target connecting line selected by the embodiments of the present application can improve the quality of the design layout.

[0038] The specific embodiments of the design layout processing method, device, equipment, storage medium and program product provided by the embodiments of the present application will be introduced below. First, the design layout processing method will be introduced.

[0039] Figure 1 A flowchart of a design layout processing method is provided, which can be applied to a server. The design layout processing method can include the following S101-S105.

[0040] S101, determining a first cutting point of each cavity according to a first search frame of each cavity in the design layout, the first search frame being a rectangular frame obtained by extending a cavity feature point as a starting point in a preset direction, and the first cutting point being an intersection point of a straight line extending from the cavity feature point as the starting point in the preset direction and a cutting edge, the cutting edge being an edge with the smallest distance to the cavity feature point among each contour edge of the cavity and each contour edge of the shell intersecting the first search frame.

[0041] In this embodiment, the design layout exists a corresponding layout coordinate system. The layout coordinate system is a preset plane rectangular coordinate system, and the origin position of the layout coordinate system is an arbitrary point in the design layout.

[0042] The cavity feature point is a point with a significant feature in the cavity. For example, the cavity feature point can be a point with the largest horizontal coordinate in the contour edge of the cavity in the layout coordinate system.

[0043] The rectangular frame obtained by extending the cavity feature point as the starting point in a preset direction according to a preset size is the first search frame. The preset size includes a preset rectangular length and a preset rectangular width.

[0044] The cutting edge is the edge with the smallest distance to the cavity feature point among each contour edge of the cavity and each contour edge of the shell intersecting the first search frame. The first cutting point is the intersection point of the straight line extending from the cavity feature point as the starting point in the preset direction and the cutting edge.

[0045] As an example, as shown in Figure 2 , a schematic diagram for determining the first cutting point of the cavity is provided. The point with the largest horizontal coordinate in the contour edge of the cavity 220 in the layout coordinate system is taken as the cavity feature point 250. Then, the first search frame 230 is obtained by extending the cavity feature point 250 as the starting point in the direction parallel to the positive direction of the horizontal axis of the layout coordinate system according to the preset size.

[0046] The first search frame 230 only intersects one contour edge of the shell 210, that is, the contour edge is determined as the cutting edge 270. Then, a straight line 240 is extended from the cavity feature point 250 as the starting point in the direction parallel to the positive direction of the horizontal axis of the layout coordinate system, and the intersection point of the straight line 240 and the cutting edge 270 is the first cutting point 260.

[0047] In this embodiment, each cavity in the design layout is obtained by extending the corresponding first search frame in the same direction, so that the frequency of the occurrence of the line segment intersection phenomenon in the design layout can be reduced.

[0048] As shown in Figure 3As shown, a schematic diagram of a line segment intersection phenomenon is provided. Among them, there are three cavities in the design layout, and two connected cavities have determined target connection lines. Among them, the first connected cavity 2201 is connected along the direction parallel to the coordinate axis horizontal axis positive direction of the layout coordinate system, and the second connected cavity 2202 is connected along the direction parallel to the coordinate axis vertical axis positive direction of the layout coordinate system. At this time, the line segment intersection phenomenon occurs. As can be seen, in the case where each cavity does not extend in the same direction to obtain the corresponding first search box, the final corresponding connection line will also not be in the same direction, thereby greatly increasing the frequency of the occurrence of the line segment intersection phenomenon.

[0049] S102, for each first cutting point, in the case that the coordinates of the first cutting point in the layout coordinate system are non-integer coordinates, the first search box is expanded according to the end point coordinates of the cutting edge to obtain a second search box, and the layout coordinate system is a plane rectangular coordinate system constructed with a preset point in the design layout as the origin.

[0050] In this embodiment, the second search box is a larger rectangular box obtained after the first search box is expanded.

[0051] As an example, after the server determines the first cutting point corresponding to the cavity, it will further check whether the coordinates of the first cutting point corresponding to the cavity in the layout coordinate system are non-integer coordinates.

[0052] If the coordinates of the first cutting point in the layout coordinate system are non-integer coordinates (i.e. at least one of the horizontal coordinate and the vertical coordinate is a non-integer), the first search box of the cavity is expanded according to the end point coordinates of the cutting edge to obtain a larger rectangular box as the second search box of the cavity.

[0053] As Figure 2 shown, assuming that the first cutting point 260 is a non-integer coordinate, the distance between the vertical coordinates of the two end point coordinates of the cutting edge 270 can be used as the width of the expanded second search box. Accordingly, the first search box 230 is expanded so that the expanded second search box can cover the entire cutting edge 270.

[0054] S103, according to the second search box, determine the vertex set and the edge set corresponding to the cavity, the vertex set includes the vertices of each cavity within the range of the second search box, and the edge set includes each contour edge intersected by each cavity and the second search box.

[0055] In this embodiment, the vertex set includes all cavity vertices within the range of the second search box corresponding to the cavity, and the edge set includes each contour edge intersected by each cavity and the second search box within the range of the second search box corresponding to the cavity.

[0056] As an example, after the server extends the first search box to obtain the second search box, all the cavities in the design layout are traversed. All the cavity vertexes within the range of the second search box are combined to obtain a vertex set corresponding to the cavity, and the contour edges of each cavity intersecting the second search box are combined to obtain an edge set corresponding to the cavity.

[0057] In S104, one target line is selected from the lines connecting each vertex in the vertex set to the cavity feature point, the target line being the shortest and not intersecting any edge in the edge set.

[0058] In this embodiment, after the server obtains the vertex set and the edge set corresponding to the cavity, each vertex in the vertex set is connected to the cavity feature point to obtain a plurality of lines corresponding to the cavity.

[0059] Then, each line corresponding to the cavity is traversed, and the line intersecting the contour edge in the edge set is filtered out. The lengths of the remaining lines are calculated, and the shortest line is selected as the target line of the cavity.

[0060] In S105, each cavity in the design layout is connected according to the target line of each cavity in the design layout, to obtain a processed design layout.

[0061] In this embodiment, the server connects each cavity using a connection tool according to the target line of each cavity in the design layout, so that the cavities and the shell in the design layout are connected as a whole.

[0062] In the method for processing the design layout provided in this embodiment, when the coordinates of the first cutting point of the cavity are non-integer coordinates, the first search box is extended to the second search box. A vertex set composed of vertexes within the range of the second search box is constructed, and an edge set composed of contour edges of each cavity intersecting the second search box is constructed. Finally, one target line is selected from the lines connecting each vertex in the vertex set to the cavity feature point, the target line being the shortest and not intersecting any edge in the edge set. In this way, the target line finally determined belongs to the line connecting the vertex in the vertex set to the cavity feature point. Since the coordinates of the vertexes of each cavity in the design layout are integers, the coordinates of the end points of the target line finally obtained must be integers, so that the precision loss of the intersection point coordinates stored by the computer can be avoided, and the problem of contour deformation of the design layout can be avoided. Meanwhile, the target line finally determined does not intersect any contour edge in the edge set, which can reduce the problem that the intersection of the target line leads to the inability to accurately divide the line segment intersection of the design layout. In this way, the target line selected in this embodiment can improve the quality of the design layout.

[0063] As an optional embodiment, S101 can specifically include:

[0064] For each cavity, perform the following steps:

[0065] From each contour edge of the cavity, obtain the coordinate extreme value position corresponding to the preset direction as the cavity feature point;

[0066] Starting from the hole feature point, with a first preset size as the width and a second preset size as the length, a first search box is obtained by extending in a preset direction. The second preset size is the length between the hole feature point and the outline edge of the shell along the preset direction.

[0067] Based on the first search box, determine the cutting edge of the cavity;

[0068] Calculate the coordinates of the first cutting point of the cavity based on the coordinates of the cavity feature points and the coordinates of the endpoints of the cutting edges.

[0069] In this embodiment, when the preset direction is along the positive direction of the horizontal axis of the coordinate system parallel to the layout coordinate system, the extreme value position is the position of the maximum horizontal coordinate; when the preset direction is along the negative direction of the horizontal axis of the coordinate system parallel to the layout coordinate system, the extreme value position is the position of the minimum horizontal coordinate; when the preset direction is along the positive direction of the vertical axis of the coordinate system parallel to the layout coordinate system, the extreme value position is the position of the maximum vertical coordinate; when the preset direction is along the negative direction of the vertical axis of the coordinate system parallel to the layout coordinate system, the extreme value position is the position of the minimum vertical coordinate.

[0070] As an example, such as Figure 2 As shown, the preset direction is along the positive direction of the horizontal axis of the coordinate system parallel to the layout coordinate system. At this point, the hole feature point 250 of the hole 220 is the position of the maximum horizontal coordinate on the contour line of the hole 220. Then, using the hole feature point 250 as the starting point, with a first preset size D1 as the width and a second preset size D2 as the length, a first search box 230 is constructed. The first preset size D1 is a pre-set width, for example, it can be 1 unit length. The second preset size D2 is the length between the hole feature point 250 and the contour edge of the outer shell 210 along the preset direction.

[0071] Then, the contour edges that intersect with the first search box 230 are obtained, and the contour edge that is closest to the hole feature point 250 is selected as the cutting edge 270. As shown in the figure, the first search box 230 intersects with only one contour edge of the shell 210, that is, the contour edge is determined to be the cutting edge 270.

[0072] Finally, according to the two end point coordinates of the cutting edge 270, a first function analytical expression corresponding to the cutting edge 270 is calculated. Since the first cutting point 260 is the intersection point of the straight line 240 extending in the horizontal right direction from the cavity feature point 250 as the starting point and the cutting edge 270, the vertical coordinate of the first cutting point 260 is the same as that of the cavity feature point 250. That is, the vertical coordinate of the cavity feature point 250 is substituted into the first function analytical expression corresponding to the cutting edge 270, and the coordinates of the first cutting point 260 of the cavity 220 are obtained.

[0073] As another example, in the case where there are multiple coordinate maximum value positions corresponding to the preset direction in each profile edge of the cavity. At this time, the coordinate maximum value position in the vertical direction of the preset direction can be further screened to determine a unique cavity feature point.

[0074] In this embodiment, the coordinate maximum value position corresponding to the preset direction is taken as the cavity feature point, and the length between the cavity feature point and the profile edge of the shell in the preset direction is taken as the second preset size to construct the first search frame. In this way, the area of the first search frame can be reduced as much as possible, thereby helping to reduce the calculation amount in subsequent calculation according to the first search frame, and further improving the processing speed of the design layout.

[0075] As an optional embodiment, the preset direction is a direction along the positive direction of the horizontal axis parallel to the coordinate axis of the layout coordinate system.

[0076] According to the first search frame, the cutting edge of the cavity is determined, which can specifically include:

[0077] Each profile edge of the cavity and each profile edge of the shell in the design layout are traversed to obtain each first profile edge with a straight line slope less than zero in the layout coordinate system.

[0078] According to the first search frame, at least one second profile edge intersecting the first search frame is screened from each first profile edge;

[0079] The interval distance between the cavity feature point and each second profile edge is calculated.

[0080] The second profile edge with the shortest interval distance is determined as the cutting edge of the cavity.

[0081] In this embodiment, the first profile edge is a profile edge with a straight line slope less than zero, that is, an edge with a vertical coordinate of a starting point greater than that of a terminal point. The second profile edge is a profile edge with a straight line slope less than zero and intersecting the first search frame.

[0082] For example, as Figure 4As shown in FIG. 6, a storage sequence diagram of the shell and the cavity is provided. In the shell 210, the storage sequence of each point on the contour edge is clockwise, i.e., the vertical coordinate of the starting point of the left edge in the shell 210 is less than that of the ending point, and the slope of the straight line is greater than zero; the vertical coordinate of the starting point of the right edge is greater than that of the ending point, and the slope of the straight line is less than zero. In the cavity 220, the storage sequence of each point on the contour edge is counterclockwise, i.e., the vertical coordinate of the starting point of the left edge in the cavity 220 is greater than that of the ending point, and the slope of the straight line is less than zero; the vertical coordinate of the starting point of the right edge is less than that of the ending point, and the slope of the straight line is greater than zero.

[0083] As an example, as shown in FIG. 7, a first search box intersecting with the cavity is provided. In the design layout, a first search box 230 is made from the cavity feature point of a cavity, and intersects with two cavities, which are a first intersecting cavity 510 and a second intersecting cavity 520. The first search box 230 intersects with two contour edges of the first intersecting cavity 510, and also intersects with two contour edges of the second intersecting cavity 520. Figure 5

[0084] Finally, the first search box 230 only needs to determine one contour edge closest to the cavity feature point as the cutting edge. In the case where the preset direction is along the positive direction of the horizontal axis parallel to the coordinate axis of the layout coordinate system, the right edge of each cavity contour edge will be farther away from the cavity feature point than the left edge. Therefore, the right edge of the cavity can be directly omitted in the calculation.

[0085] Specifically, the server traverses each contour edge of the cavity and each contour edge of the shell in the design layout, and then screens each first contour edge with a slope less than zero in the layout coordinate system, i.e., retains the left contour edge of the cavity and the right contour edge of the shell.

[0086] Then, the first search box is used to further screen each first contour edge to obtain at least one second contour edge intersecting with the first search box in the first contour edge. Finally, the interval distance between the cavity feature point and each second contour edge is calculated, and the second contour edge with the shortest interval distance is selected as the cutting edge of the cavity.

[0087] ​By the embodiment, in the case that the preset direction is along a direction parallel to a positive direction of a horizontal axis of a coordinate axis of a layout coordinate system, each profile edge of the hole is preliminarily screened, and only each first profile edge with a slope less than zero is reserved. Then, each first profile edge is screened to obtain at least one second profile edge intersecting the first search frame. In this way, subsequent calculation of interval distances between the hole feature point and each profile edge of each hole is not needed, and only interval distances between the hole feature point and each second profile edge are calculated, so that the calculation amount is reduced and the processing speed of the design layout is improved.

[0088] As an optional embodiment, the end point coordinates include first end point coordinates and second end point coordinates, and the coordinates include first axis coordinates and second axis coordinates;

[0089] The first axis coordinates are coordinates on a coordinate axis parallel to the preset direction, and the second axis coordinates are coordinates on a coordinate axis perpendicular to the preset direction; according to the coordinates of the hole feature point and the end point coordinates of the cutting edge, the coordinates of the first cutting point of the hole are calculated, which can specifically include:

[0090] The difference between the first axis coordinates of the first end point coordinates and the second end point coordinates is divided by the difference between the second axis coordinates of the first end point coordinates and the second end point coordinates to obtain the slope of the cutting edge;

[0091] The difference between the second axis coordinates of the hole feature point and the first end point coordinates is multiplied by the slope of the cutting edge to obtain an intermediate calculation value;

[0092] The intermediate calculation value is added to the first axis coordinates of the first end point coordinates to obtain the first axis coordinates of the first cutting point;

[0093] The second axis coordinates of the hole feature point are determined as the second axis coordinates of the first cutting point.

[0094] In the embodiment, as an example, the preset direction is along a direction parallel to a positive direction of a horizontal axis of a coordinate axis of a layout coordinate system, the first end point coordinates are (x1, y1), the second end point coordinates are (x2, y2), and the vertical coordinate of the first end point coordinates is less than the vertical coordinate of the second end point coordinates.

[0095] The horizontal coordinates of the first cutting point can be determined by the following formula 1:

[0096]

[0097] In the formula, x3 represents the horizontal coordinates of the first cutting point, x1 represents the horizontal coordinates of the first end point coordinates, x2 represents the horizontal coordinates of the second end point coordinates, y1 represents the vertical coordinates of the first end point coordinates, y2 represents the vertical coordinates of the second end point coordinates, and y represents the vertical coordinates of the hole feature point.

[0098] wherein, A straight line slope for characterizing the cutting edge, (y-y1) for characterizing the vertical coordinate difference between the hole feature point and the first endpoint coordinate.

[0099] Then, since the first cutting point is the intersection of a straight line extending from the hole feature point in a direction parallel to the positive direction of the horizontal axis of the layout coordinate system and the cutting edge, the vertical coordinate of the first cutting point is the same as the vertical coordinate of the hole feature point, that is, the vertical coordinate of the hole feature point is determined as the vertical coordinate of the first cutting point.

[0100] Through the embodiment, the first cutting point of the hole can be accurately calculated according to the first endpoint coordinate and the second endpoint coordinate of the cutting edge, and the coordinate of the hole feature point. Thereby, it is helpful to accurately judge whether the first cutting point of the hole is an integer coordinate in the subsequent process, and then timely process the first cutting point of the non-integer coordinate, which can improve the quality of the design layout.

[0101] As an optional embodiment, the endpoint coordinate includes a first endpoint coordinate and a second endpoint coordinate, and the second axis coordinate of the first endpoint coordinate is smaller than the second axis coordinate of the second endpoint coordinate, the second axis coordinate being a coordinate on a coordinate axis perpendicular to the preset direction;

[0102] S102 can specifically include:

[0103] The second axis coordinate distance between the first endpoint coordinate and the second endpoint coordinate is determined as the expanded width;

[0104] The first axis coordinate difference between the target first axis coordinate and the hole feature point is determined as the expanded length, the target first axis coordinate being the maximum value of the first axis coordinates in the first endpoint coordinate and the second endpoint coordinate, and the first axis coordinate being a coordinate on a coordinate axis parallel to the preset direction;

[0105] According to the expanded width and the expanded length, the first search box is expanded to obtain a second search box.

[0106] In the embodiment, as shown in Figure 6 , a first search box expansion schematic diagram is provided in the case where the preset direction is along the positive direction of the horizontal axis of the layout coordinate system. Wherein, in the case where the coordinate of the first cutting point in the layout coordinate system is a non-integer coordinate, the server obtains the first endpoint coordinate A and the second endpoint coordinate B of the cutting edge 270.

[0107] Then the distance between the longitudinal coordinate of the first end point coordinate A and the longitudinal coordinate of the second end point coordinate B is determined as the expanded width. The horizontal coordinate of the first end point coordinate A and the horizontal coordinate of the second end point coordinate B are compared, and it is determined that the horizontal coordinate of the second end point coordinate B is greater than the horizontal coordinate of the first end point coordinate A. Then the distance between the horizontal coordinate of the second end point coordinate B and the horizontal coordinate of the hole feature point is determined as the expanded length.

[0108] Finally, the server expands the first search box 230 according to the expanded width and the expanded length, and obtains the second search box 610.

[0109] Through the embodiment, in a case where the coordinate of the first cutting point corresponding to the first search box in the layout coordinate system is a non-integer coordinate, the first search box is expanded to obtain the second search box according to the first end point coordinate and the second end point coordinate. Thereby, it is helpful to connect the points meeting the connection condition searched according to the second search box subsequently, and the quality of the design layout can be improved.

[0110] As an optional embodiment, in a case where the coordinate of the first cutting point in the layout coordinate system is a non-integer coordinate, after the first search box is expanded to obtain the second search box according to the end point coordinate of the cutting edge, the design layout processing method specifically can further include:

[0111] determining whether there is a second cutting point with an integer coordinate in the cutting edge, to obtain a cutting point determination result;

[0112] if there is, reducing the second search box according to the second cutting point to obtain a third search box;

[0113] determining the vertex set and the edge set corresponding to the hole according to the second search box, specifically can include:

[0114] determining the vertex set and the edge set corresponding to the hole according to the third search box.

[0115] In the embodiment, the second cutting point is a point on the cutting edge other than the end point, with an integer coordinate in the layout coordinate system.

[0116] The third search box is a search box obtained by reducing the second search box.

[0117] As an example, after obtaining the second search box, the server can further obtain the horizontal coordinate range corresponding to the cutting edge according to the horizontal coordinate of the first end point coordinate and the horizontal coordinate of the second end point coordinate. Assuming that the horizontal coordinate of the first end point coordinate is 3 and the horizontal coordinate of the second end point coordinate is 7, the horizontal coordinate range corresponding to the cutting edge is 3-7.

[0118] Then, the abscissa of the two end points in the abscissa range is removed, and there are three integers 4, 5 and 6 left. The three integers 4, 5 and 6 are substituted into the first function analytical expression corresponding to the cutting edge respectively, the corresponding ordinate values are obtained, and it is judged whether the corresponding ordinate values are integers. In the case that the corresponding ordinate values are integers, it is determined that there is a second cutting point.

[0119] At this time, it is explained that there is a point with integer coordinates in the layout coordinate system on the cutting edge except the end points, that is, the second search box range is too large at this time. At this time, the second search box can be appropriately reduced to obtain a third search box, which can include the second cutting point with integer coordinates.

[0120] Through the embodiment, it is judged whether there is a second cutting point with integer coordinates in the cutting edge, and in the case that there is a second cutting point with integer coordinates, the second search box is reduced to obtain a third search box. Thus, the problem of large calculation amount caused by too large search box range can be avoided, and the processing speed of the design layout can be improved.

[0121] As an optional embodiment, if there is a second cutting point, the second search box is reduced to obtain a third search box according to the second cutting point, which can specifically include:

[0122] The second axis coordinate distance between the second cutting point and the first end point coordinate and the second axis coordinate distance between the second cutting point and the second end point coordinate are obtained.

[0123] In the case that the second axis coordinate distance between the second cutting point and the first end point coordinate is less than the second axis coordinate distance between the second cutting point and the second end point coordinate, the target edge of the second search box is moved to the second axis coordinate position of the second cutting point to obtain a third search box, and the target edge is the edge closest to the second cutting point among the edges parallel to the preset direction.

[0124] In the case that the second axis coordinate distance between the second cutting point and the first end point coordinate is greater than the second axis coordinate distance between the second cutting point and the second end point coordinate, the target edge of the second search box is moved to the second axis coordinate position of the second cutting point to obtain a third search box.

[0125] In the embodiment, the target edge is the edge closest to the second cutting point among the edges along the direction parallel to the horizontal axis of the layout coordinate system.

[0126] As an example, as Figure 7As shown, a reduced schematic of the second search frame in the case where the preset direction is along the positive direction of the horizontal axis of the coordinate system of the layout is provided. In the case where the cutting point judgment result indicates that there is an integer coordinate second cutting point C, the server determines the vertical coordinate distance between the second cutting point C and the first end point coordinate A and the vertical coordinate distance between the second cutting point C and the second end point coordinate B.

[0127] At this time, the vertical coordinate distance between the second cutting point C and the first end point coordinate A is smaller, and therefore the bottom edge of the second search frame 610 is moved upward to the position of the second cutting point C to obtain a third search frame 710.

[0128] As another example, in the case where the vertical coordinate distance between the second cutting point C and the second end point coordinate B is smaller, the top edge of the second search frame 610 is moved downward to the position of the second cutting point C to obtain the third search frame 710.

[0129] According to the second cutting point with an integer coordinate in the cutting edge, the second search frame is reduced to obtain the third search frame, thereby avoiding the problem of large calculation amount caused by a search frame range that is too large, and further improving the processing speed of the design layout.

[0130] As an optional embodiment, S103 can specifically include:

[0131] Obtaining each search hole in the design layout that is in contact with the second search frame to form a search hole set;

[0132] Iterating each search hole in the search hole set to obtain the vertex and contour edge of each search hole in the search hole set;

[0133] Judging whether each vertex is within the range of the second search frame and whether each contour edge intersects the second search frame;

[0134] Constructing each vertex within the range of the second search frame into a vertex set corresponding to the hole;

[0135] Constructing each contour edge intersecting the second search frame into an edge set corresponding to the hole.

[0136] In this embodiment, the search hole set includes multiple search holes, and the search hole is a hole in the design layout that is in contact with the second search frame.

[0137] The vertex set includes multiple vertices within the range of the second search frame, and the edge set includes multiple contour edges intersecting the second search frame.

[0138] As an example, the server traverses each cavity in the design layout, collects all search cavities in contact with the second search box into a set, and forms a search cavity set. Then, each search cavity in the search cavity set is traversed in turn, and for each search cavity, its vertices and contour edges are extracted respectively.

[0139] Then, for each vertex of the search cavity, it is determined whether it is located within the range of the second search box. Specifically, this can be achieved by comparing the coordinates of the vertex with the coordinate range of the search box. For each contour edge of the search cavity, it is determined whether it intersects the second search box. Specifically, intersection detection can be achieved using a line segment intersection algorithm.

[0140] Finally, all vertices located within the range of the second search box are collected into a vertex set; all contour edges intersecting the second search box are collected into an edge set.

[0141] Through this embodiment, according to the second search box of the cavity, the corresponding vertex set and edge set are constructed, which helps to remove the line segment of the contour edge that will pass through the cavity according to the vertex set and edge set in the subsequent process. Thus, the problem of being unable to accurately segment the line segment intersection of the design layout due to the occurrence of intersection phenomenon can be reduced, and the quality of the design layout can be improved.

[0142] As an optional embodiment, after the contour edges intersecting the second search box are collected into the edge set corresponding to the cavity, the design layout processing method specifically can further include:

[0143] determining whether there is a third cutting point in each contour edge in the edge set to obtain a contour edge determination result, the third cutting point being an integer coordinate first cutting point;

[0144] in the case where the contour edge determination result indicates that there is a third cutting point, determining whether the third cutting point is within the range of the second search box to obtain a cutting point determination result;

[0145] in the case where the cutting point determination result indicates that the third cutting point is within the range of the second search box, storing the line connecting the cavity feature point and the third cutting point to the edge set to form an expanded edge set corresponding to the cavity;

[0146] selecting a target line from the lines connecting each vertex of the vertex set and the cavity feature point, the target line being the shortest and not intersecting each edge in the edge set, including:

[0147] selecting a target line from the lines connecting each vertex of the vertex set and the cavity feature point, the target line being the shortest and not intersecting each edge in the expanded edge set.

[0148] In this embodiment, the extended edge set includes all line segments in the edge set, and the line connecting the third cutting point and the cavity feature point within the coordinate range of the second search box.

[0149] As an example, the server first identifies each contour edge in the edge set to determine whether the third cutting point exists. In the case where the contour edge has a third cutting point, all detected third cutting points are traversed. Then, for each third cutting point, it is determined whether it is within the coordinate range of the second search box.

[0150] For the third cutting point within the coordinate range of the second search box, the line connecting it and the cavity feature point is obtained. The line is stored in the edge set to form an extended edge set corresponding to the cavity.

[0151] Through this embodiment, after obtaining the edge set corresponding to the cavity, the edge set is further expanded according to the third cutting points of each contour edge in the edge set to obtain an extended edge set. In this way, according to the extended edge set, not only the line segments of the contour edge that will pass through the cavity can be removed, but also the line segments of the target line that will pass through other cavities can be removed. Thus, the problem that the line segment intersection of the design layout cannot be accurately segmented due to the intersection phenomenon can be reduced, and the quality of the design layout can be improved.

[0152] As an optional embodiment, S104 can specifically include:

[0153] Connecting each vertex of the vertex set with the cavity feature point to form a plurality of lines;

[0154] For each line, it is determined whether it intersects with any edge in the edge set to obtain a line determination result;

[0155] According to each line determination result, at least one candidate line is selected from the plurality of lines, which does not intersect with any edge in the edge set;

[0156] According to the line lengths of the candidate lines, the candidate line with the shortest line length is determined as the target line.

[0157] In this embodiment, the server connects each vertex in the vertex set with the cavity feature point to form a plurality of lines. Then, for each line, it is determined whether it intersects with any edge in the edge set.

[0158] Then, the lines that intersect with any edge in the edge set are removed to obtain at least one candidate line that does not intersect with any edge in the edge set.

[0159] Finally, the length of each candidate connection is calculated, and the lengths of the candidate connections are compared to determine the candidate connection with the shortest length as the target connection of the hole.

[0160] By the embodiment, the line segment crossing the contour edge of the hole is removed according to the edge set. Thus, the problem that the line segment intersection of the design layout cannot be accurately segmented due to the intersection phenomenon can be reduced, and the quality of the design layout can be improved. As an optional embodiment, before S102, the design layout processing method can further include:

[0161] For each first cutting point, in a case where the coordinates of the first cutting point in the layout coordinate system are integer coordinates, a connection line between the first cutting point and the hole feature point is determined as the target connection line.

[0162] In the embodiment, in a case where the coordinates of the first cutting point in the layout coordinate system are integer coordinates (i.e., both the horizontal coordinate and the vertical coordinate are integers), it is proved that the connection line between the first cutting point and the hole feature point meets the processing requirements of the design layout. At this time, the connection line between the first cutting point and the hole feature point is directly determined as the target connection line, and is stored.

[0163] By the embodiment, in a case where the coordinates of the first cutting point in the layout coordinate system are integer coordinates, the connection line between the first cutting point and the hole feature point is directly determined as the target connection line. Without the need to search for other connection lines by expanding the search box, the processing flow of the design layout can be simplified, and the processing efficiency can be improved.

[0164] The application further provides a design layout processing method and a design layout processing device.

[0165] As shown in Figure 8 The design layout processing device 800 provided by the embodiment of the application includes a cutting point determination module 810, a search box expansion module 820, a set determination module 830, a connection line selection module 840, and a layout processing module 850.

[0166] The cutting point determination module 810 is configured to determine a first cutting point of each hole according to a first search box of each hole in the design layout. The first search box is a rectangular box obtained by extending a hole feature point in a preset direction. The first cutting point is an intersection point of a straight line extending from the hole feature point in the preset direction and a cutting edge. The cutting edge is an edge with the smallest distance to the hole feature point among the profile edges of the hole and the profile edges of the shell that intersect the first search box.

[0167] The search box expansion module 820 is configured to, for each first cutting point, in a case where a coordinate of the first cutting point in a layout coordinate system is a non-integer coordinate, expand a first search box according to an endpoint coordinate of a cutting edge to obtain a second search box, the layout coordinate system being a plane rectangular coordinate system constructed with a preset point in the design layout as an origin;

[0168] The set determination module 830 is configured to determine a vertex set corresponding to the cavity and an edge set according to the second search box, the vertex set including vertices of each cavity within the range of the second search box, and the edge set including each contour edge intersecting with the second search box;

[0169] The line selection module 840 is configured to select, from lines connecting each vertex in the vertex set and a feature point of the cavity, a target line with the shortest length and not intersecting with each edge in the edge set;

[0170] The layout processing module 850 is configured to connect each cavity in the design layout according to the target line of each cavity in the design layout, to obtain a processed design layout.

[0171] As an optional embodiment, the cutting point determination module 810 specifically includes the following units:

[0172] The feature point acquisition unit is configured to acquire, from each contour edge of the cavity, a coordinate extreme position corresponding to a preset direction as a feature point of the cavity;

[0173] The search box construction unit is configured to extend, with the feature point of the cavity as a starting point, a first search box with a first preset size as a width and a second preset size as a length in the preset direction, the second preset size being a length from the feature point of the cavity to a contour edge of the shell along the preset direction;

[0174] The cutting edge determination unit is configured to determine the cutting edge of the cavity according to the first search box;

[0175] The cutting point calculation unit is configured to calculate a coordinate of the first cutting point of the cavity according to a coordinate of the feature point of the cavity and an endpoint coordinate of the cutting edge.

[0176] As an optional embodiment, the preset direction is a direction along a positive direction of a horizontal axis of a coordinate axis of the layout coordinate system;

[0177] The cutting edge determination unit specifically includes the following sub-units:

[0178] The contour edge acquisition sub-unit is configured to traverse each contour edge of the cavity and each contour edge of the shell in the design layout, and acquire each first contour edge with a slope less than zero in the layout coordinate system from each contour edge;

[0179] The contour edge screening subunit is configured to screen at least one second contour edge intersecting with the first search box from each first contour edge according to the first search box.

[0180] The distance calculation subunit is configured to calculate interval distances between the cavity feature point and each second contour edge.

[0181] The cutting edge determination subunit is configured to determine the second contour edge with the shortest interval distance as the cutting edge of the cavity.

[0182] As an optional embodiment, the end point coordinates include first end point coordinates and second end point coordinates, and the coordinates include first axis coordinates and second axis coordinates.

[0183] The first axis coordinates are coordinates on a coordinate axis parallel to the preset direction, and the second axis coordinates are coordinates on a coordinate axis perpendicular to the preset direction.

[0184] The cutting point calculation unit is specifically configured to:

[0185] divide the difference in the first axis coordinates between the first end point coordinates and the second end point coordinates by the difference in the second axis coordinates between the first end point coordinates and the second end point coordinates to obtain a straight line slope of the cutting edge;

[0186] multiply the difference in the second axis coordinates between the cavity feature point and the first end point coordinates by the straight line slope of the cutting edge to obtain an intermediate calculation value;

[0187] add the first axis coordinates of the first end point coordinates to the intermediate calculation value to obtain the first axis coordinates of the first cutting point;

[0188] determine the second axis coordinates of the cavity feature point as the second axis coordinates of the first cutting point.

[0189] As an optional embodiment, the end point coordinates include first end point coordinates and second end point coordinates, and the second axis coordinates of the first end point coordinates are smaller than the second axis coordinates of the second end point coordinates, and the second axis coordinates are coordinates on a coordinate axis perpendicular to the preset direction.

[0190] The search box expansion module 820 specifically includes the following units:

[0191] The width determination unit is configured to determine the distance in the second axis coordinates between the first end point coordinates and the second end point coordinates as the expanded width.

[0192] The length determination unit is configured to determine the difference in the first axis coordinates between the target first axis coordinates and the cavity feature point as the expanded length, the target first axis coordinates being the maximum value of the first axis coordinates in the first end point coordinates and the second end point coordinates, and the first axis coordinates being coordinates on a coordinate axis parallel to the preset direction.

[0193] The search box expansion unit is configured to expand the first search box according to the expanded width and the expanded length to obtain a second search box.

[0194] As an optional embodiment, in a case where the coordinate of the first cutting point in the layout coordinate system is a non-integer coordinate, after the first search box is expanded according to the end point coordinates of the cutting edge to obtain the second search box, the design layout processing apparatus 800 specifically further includes the following modules:

[0195] The cutting point judgment module is configured to judge whether there is a second cutting point with an integer coordinate in the cutting edge to obtain a cutting point judgment result.

[0196] The search box reduction module is configured to, if there is, reduce the second search box according to the second cutting point to obtain a third search box.

[0197] The set determination module 830 is specifically configured to:

[0198] Determine a vertex set and an edge set corresponding to the cavity according to the third search box.

[0199] As an optional embodiment, the search box reduction module specifically includes the following units:

[0200] The distance determination unit is configured to obtain a second axis coordinate distance between the second cutting point and the first end point coordinate and a second axis coordinate distance between the second cutting point and the second end point coordinate.

[0201] The boundary moving unit is configured to, in a case where the second axis coordinate distance between the second cutting point and the first end point coordinate is less than the second axis coordinate distance between the second cutting point and the second end point coordinate, move a target edge of the second search box to the second axis coordinate position of the second cutting point to obtain the third search box, the target edge being an edge closest to the second cutting point among edges parallel to the preset direction.

[0202] The boundary moving unit is further configured to, in a case where the second axis coordinate distance between the second cutting point and the first end point coordinate is greater than the second axis coordinate distance between the second cutting point and the second end point coordinate, move the target edge of the second search box to the second axis coordinate position of the second cutting point to obtain the third search box.

[0203] As an optional embodiment, the set determination module 830 specifically includes the following units:

[0204] The set construction unit is configured to obtain each search cavity in the design layout that is in contact with the second search box to form a search cavity set.

[0205] The element acquisition unit is configured to traverse each search cavity in the cavity set and acquire the vertex and the contour edge of each search cavity in the search cavity set.

[0206] The contour edge judging unit is configured to judge whether each vertex is within the second search frame and whether each contour edge intersects the second search frame;

[0207] The set constructing unit is further configured to construct the vertex set corresponding to the cavity from each vertex within the second search frame.

[0208] The set constructing unit is further configured to construct the edge set corresponding to the cavity from each contour edge intersecting the second search frame.

[0209] As an optional embodiment, after constructing the edge set corresponding to the cavity from each contour edge intersecting the second search frame, the set determining module 830 further includes the following unit:

[0210] The cutting point judging unit is configured to judge whether there is a third cutting point in each contour edge in the edge set to obtain a contour edge judging result, the third cutting point being a first cutting point belonging to an integer coordinate.

[0211] The cutting point judging unit is further configured to, in a case where the contour edge judging result indicates that there is the third cutting point, judge whether the third cutting point is within the second search frame to obtain a cutting point judging result.

[0212] The set constructing unit is further configured to, in a case where the cutting point judging result indicates that the third cutting point is within the second search frame, store a line connecting the cavity feature point and the third cutting point into the edge set to construct an expanded edge set corresponding to the cavity.

[0213] The line selecting module 840 is specifically configured to:

[0214] select, from the lines connecting each vertex of the vertex set and the cavity feature point, a target line with the shortest length and not intersecting each edge in the expanded edge set.

[0215] As an optional embodiment, the line selecting module 840 specifically includes the following unit:

[0216] The line constructing unit is configured to connect each vertex of the vertex set with the cavity feature point to construct a plurality of lines.

[0217] The line judging unit is configured to, for each line, judge whether the line intersects an edge in the edge set to obtain a line judging result.

[0218] The line screening unit is configured to screen, according to each line judging result, at least one candidate line from the plurality of lines, the at least one candidate line not intersecting each edge in the edge set.

[0219] The connection determination unit is configured to determine the candidate connection with the shortest connection length as the target connection according to the connection lengths of the candidate connections.

[0220] As an optional embodiment, before the first search box is expanded to obtain the second search box according to the end point coordinates of the cutting edge, the processing apparatus of the design layout further includes:

[0221] The connection selection module 840 is further configured to, for each first cutting point, determine the connection between the first cutting point and the void feature point as the target connection when the coordinates of the first cutting point in the layout coordinate system are integer coordinates.

[0222] Figure 9 A hardware structure schematic diagram of the processing apparatus of the design layout provided in the embodiments of the present application is shown.

[0223] The processing apparatus of the design layout can include a processor 901 and a memory 902 having stored computer program instructions.

[0224] Specifically, the processor 901 can include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.

[0225] The memory 902 can include a mass storage for data or instructions. By way of example and not limitation, the memory 902 can 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. Where appropriate, the memory 902 can include removable or non-removable (or fixed) media. Where appropriate, the memory 902 can be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, the memory 902 is non-volatile solid-state memory.

[0226] The processor 901 reads and executes the computer program instructions stored in the memory 902 to implement any of the design layout processing methods in the above embodiments.

[0227] In one example, the processing apparatus of the design layout can further include a communication interface 903 and a bus 910. Wherein, as Figure 9As shown, the processor 901, the memory 902, and the communication interface 903 are connected and communicate with each other through the bus 910.

[0228] The communication interface 903 is mainly used to realize the communication between various modules, devices, layout units and / or equipment in the embodiments of the present application.

[0229] The bus 910 includes hardware, software or both to couple components of the processing device of the design layout to each other. By way of example, and not limitation, the bus can 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 infiniband 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 another suitable bus or combination of two or more of these. Where suitable, the bus 910 can include one or more buses. Although specific buses are described and shown in the embodiments of the present application, the present application contemplates any suitable bus or interconnect.

[0230] In addition, in combination with the design layout processing method in the above-mentioned embodiments, the embodiments of the present application can provide a computer storage medium to implement. The computer storage medium has computer program instructions stored thereon; the computer program instructions are executed by a processor to implement any one of the design layout processing methods in the above-mentioned embodiments.

[0231] In addition, in combination with the design layout processing method in the above-mentioned embodiments, the embodiments of the present application can provide a computer program product to implement, and the instructions in the computer program product are executed by the processor of the electronic device to make the electronic device execute the design layout processing method provided by any one of the above-mentioned embodiments of the present application.

[0232] It needs to 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-mentioned 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, and 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.

[0233] The functions noted in the description of the structural block diagrams above can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application specific integrated circuits (ASICs), appropriate firmware, plug-ins, functional cards, and the like. When implemented in software, the elements of the present application are program or code segments that are used to perform the required tasks. The program or code segments can be stored in a machine-readable medium or transmitted through a data signal carried in a carrier wave over a transmission medium or communication link. A "machine-readable medium" includes any medium that can store or transport information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, and the like. The code segments can be downloaded via computer networks such as the Internet, intranets, and the like.

[0234] It is also important to note that the examples mentioned in the present application describe some methods or systems based on a series of steps or devices. However, the present application is not limited to the order of the steps mentioned above, that is, the steps can be performed in the order mentioned in the examples, or in an order different from the examples, or several steps can be performed simultaneously.

[0235] The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other processing device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other processing device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer program instructions can also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other processing device to operate in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function / act specified in the flowchart and / or block diagram block or blocks. The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other processing device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other processing device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer program instructions can also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other processing device to operate in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function / act specified in the flowchart and / or block diagram block or blocks.

[0236] The above merely describes a specific implementation of the present application. Those skilled in the art can clearly understand the specific working processes of the system, modules and layout units described above for the convenience and brevity of description, and can refer to the corresponding processes in the foregoing method embodiments, which will not be described herein again. It should be understood that the protection scope of the present application is not limited to this, and any person skilled in the art can easily think of various equivalent modifications or replacements within the technical range disclosed by the present application, and these modifications or replacements should be covered within the protection scope of the present application.

Claims

1. A processing method for designing a layout, characterized by, The method comprises the following steps: According to the first search box of each cavity in the design layout, the first cutting point of each cavity is determined, the first search box is a rectangular box obtained by extending the cavity feature point as a starting point in a predetermined direction, the first cutting point is the intersection of the straight line extending from the cavity feature point as a starting point in a predetermined direction and the cutting edge, and the cutting edge is the edge with the smallest distance from the cavity feature point among the profile edges of the cavity and the profile edges of the shell intersecting the first search box; For each first cutting point, if the coordinates of the first cutting point in the layout coordinate system are non-integer coordinates, the first search box is expanded according to the endpoint coordinates of the cutting edge to obtain a second search box, and the layout coordinate system is a plane rectangular coordinate system constructed with a predetermined point in the design layout as the origin; According to the second search box, a vertex set corresponding to the cavity and an edge set are determined, the vertex set includes the vertices of each cavity within the range of the second search box, and the edge set includes each profile edge of each cavity intersecting the second search box; In the connecting line of each vertex in the vertex set and the cavity feature point, a target connecting line with the shortest length and not intersecting each edge in the edge set is selected; According to the target connecting line of each cavity in the design layout, the design layout is connected and processed to obtain a processed design layout; For each cavity, the following steps are performed respectively: From each profile edge of the cavity, the coordinate maximum value position corresponding to the predetermined direction is obtained as the cavity feature point; The first search box is obtained by extending the cavity feature point as a starting point in the predetermined direction with a first preset size as the width and a second preset size as the length, and the second preset size is the length of the cavity feature point along the predetermined direction to the profile edge of the shell.

2. The method of claim 1, wherein, The first search box of each cavity in the design layout is used to determine the first cutting point of each cavity, which comprises: For each cavity, the following steps are performed respectively: According to the first search box, the cutting edge of the cavity is determined; According to the coordinates of the cavity feature point and the endpoint coordinates of the cutting edge, the coordinates of the first cutting point of the cavity are calculated.

3. The method of claim 2, wherein, The predetermined direction is along the positive direction of the horizontal axis of the coordinate axis of the layout coordinate system; According to the first search box, the cutting edge of the cavity is determined, which comprises: Each profile edge of the cavity and each profile edge of the shell in the design layout are traversed to obtain each first profile edge with a straight line slope less than zero in the layout coordinate system; According to the first search box, at least one second profile edge intersecting the first search box is selected from each first profile edge; The interval distance between the cavity feature point and each second profile edge is calculated; The second profile edge with the shortest interval distance is determined as the cutting edge of the cavity.

4. The method of claim 2, wherein, The endpoint coordinates include first endpoint coordinates and second endpoint coordinates, and the coordinates include first axis coordinates and second axis coordinates; The first axis coordinate is a coordinate on a coordinate axis parallel to the preset direction, and the second axis coordinate is a coordinate on a coordinate axis perpendicular to the preset direction; The method further comprises: The difference between the first axis coordinate of the first endpoint coordinate and the second axis coordinate of the second endpoint coordinate is divided by the difference between the second axis coordinate of the first endpoint coordinate and the second axis coordinate of the second endpoint coordinate to obtain a straight line slope of the cutting edge; The difference between the second axis coordinate of the hole feature point and the second axis coordinate of the first endpoint coordinate is multiplied by the straight line slope of the cutting edge to obtain an intermediate calculation value; The first axis coordinate of the first cutting point is obtained by adding the first axis coordinate of the first endpoint coordinate to the intermediate calculation value; The second axis coordinate of the hole feature point is determined as the second axis coordinate of the first cutting point.

5. The method of claim 1, wherein, The endpoint coordinates comprise a first endpoint coordinate and a second endpoint coordinate, the second axis coordinate of the first endpoint coordinate is smaller than the second axis coordinate of the second endpoint coordinate, and the second axis coordinate is a coordinate on a coordinate axis perpendicular to the preset direction; In the case that the coordinate of the first cutting point in the layout coordinate system is a non-integer coordinate, the first search box is expanded according to the endpoint coordinates of the cutting edge to obtain a second search box, which comprises: The second axis coordinate distance between the first endpoint coordinate and the second endpoint coordinate is determined as the expanded width; The first axis coordinate difference between the target first axis coordinate and the hole feature point is determined as the expanded length, the target first axis coordinate is the maximum value of the first axis coordinates of the first endpoint coordinate and the second endpoint coordinate, and the first axis coordinate is a coordinate on a coordinate axis parallel to the preset direction; The first search box is expanded according to the expanded width and the expanded length to obtain a second search box.

6. The method of claim 5, wherein, After the first search box is expanded according to the endpoint coordinates of the cutting edge to obtain a second search box in the case that the coordinate of the first cutting point in the layout coordinate system is a non-integer coordinate, the method further comprises: It is judged whether there is a second cutting point with an integer coordinate in the cutting edge to obtain a cutting point judgment result; If there is, the second search box is reduced according to the second cutting point to obtain a third search box; The method further comprises: According to the third search box, a vertex set and an edge set corresponding to the hole are determined.

7. The method of claim 6, wherein, According to the third search box, a vertex set and an edge set corresponding to the hole are determined. If there is, the second search box is reduced according to the second cutting point to obtain a third search box, which comprises: The second axis coordinate distance between the second cutting point and the first endpoint coordinate and the second axis coordinate distance between the second cutting point and the second endpoint coordinate are obtained. In a case where a second-axis coordinate distance between the second cutting point and the first end point coordinate is less than a second-axis coordinate distance between the second cutting point and the second end point coordinate, a target edge of the second search frame is moved to a second-axis coordinate position of the second cutting point to obtain the third search frame, the target edge being an edge closest to the second cutting point among edges parallel to the preset direction; In a case where the second-axis coordinate distance between the second cutting point and the first end point coordinate is greater than the second-axis coordinate distance between the second cutting point and the second end point coordinate, the target edge of the second search frame is moved to the second-axis coordinate position of the second cutting point to obtain the third search frame.

8. The method of claim 1, wherein, The determining, according to the second search frame, of a vertex set and an edge set corresponding to the hole comprises: obtaining each search hole in the design layout that is in contact with the second search frame to form a search hole set; iterating through each search hole in the search hole set to obtain vertices and contour edges of each search hole in the search hole set; determining whether each vertex is within the range of the second search frame and whether each contour edge intersects the second search frame; forming each vertex within the range of the second search frame into the vertex set corresponding to the hole; forming each contour edge intersecting the second search frame into the edge set corresponding to the hole.

9. The method of claim 8, wherein, After the forming of each contour edge intersecting the second search frame into the edge set corresponding to the hole, the method further comprises: determining whether there is a third cutting point in each contour edge in the edge set to obtain a contour edge determination result, the third cutting point being the first cutting point that belongs to an integer coordinate; in a case where the contour edge determination result indicates that there is the third cutting point, determining whether the third cutting point is within the range of the second search frame to obtain a cutting point determination result; in a case where the cutting point determination result indicates that the third cutting point is within the range of the second search frame, storing a line connecting the hole feature point and the third cutting point into the edge set to form an expanded edge set corresponding to the hole; the selecting, from lines connecting each vertex in the vertex set and the hole feature point, of a target line that is shortest in length and does not intersect each edge in the edge set comprises: the selecting, from lines connecting each vertex in the vertex set and the hole feature point, of a target line that is shortest in length and does not intersect each edge in the expanded edge set.

10. The method according to any one of claims 1-9, characterized in that, the selecting, from lines connecting each vertex in the vertex set and the hole feature point, of a target line that is shortest in length and does not intersect each edge in the edge set comprises: connecting each vertex in the vertex set to the hole feature point to form a plurality of lines; respectively determining whether each line intersects an edge in the edge set to obtain a line determination result; screening, according to each line determination result, at least one candidate line from the plurality of lines that does not intersect each edge in the edge set; According to the length of the candidate connection line of each item, the candidate connection line with the shortest length is determined as the target connection line.

11. The method according to any one of claims 1-9, characterized in that, Before the first search box is expanded to obtain the second search box according to the end point coordinates of the cutting edge in the case that the coordinates of the first cutting point in the layout coordinate system are non-integer coordinates, the method further comprises: In the case that the coordinates of the first cutting point in the layout coordinate system are integer coordinates, the connection line between the first cutting point and the hole feature point is determined as the target connection line.

12. An electronic device, comprising: The device comprises a processor and a memory storing computer program instructions; The processor executes the computer program instructions to implement the processing method for designing a layout as claimed in any one of claims 1-11.

13. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer program instructions, and the computer program instructions are executed by the processor to implement the processing method for designing a layout as claimed in any one of claims 1-11.

14. A computer program product, characterised in that, The instructions in the computer program product are executed by the processor of the electronic device to enable the electronic device to perform the processing method for designing a layout as claimed in any one of claims 1-11.

Citation Information

Patent Citations

  • Cutting method of PCB layout

    CN112580294A

  • Integrated circuit layout graph drawing method and device, equipment and medium

    CN116628787A