Layout splitting method and device, computer equipment and storage medium

By determining the target distance between Manhattan polygons in chip manufacturing and establishing a Manhattan support path, the problem of low layout splitting efficiency is solved, and faster and more efficient layout splitting is achieved.

CN120257927APending Publication Date: 2025-07-04EMPYREAN TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510318757.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-18
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

In the chip manufacturing process, it is difficult for the prior art to effectively split the physical layout to meet the design rules and the special needs of designers, resulting in inefficient layout splitting.

Method used

By determining the target distance between Manhattan polygons, establishing a Manhattan support path to meet the principle of the shortest sum of the lengths of the support paths and the smallest number, and reasonably splitting the initial physical layout.

Benefits of technology

It improves the speed and efficiency of layout splitting to meet the design rules and the special splitting needs of designers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120257927A_ABST
    Figure CN120257927A_ABST
Patent Text Reader

Abstract

The invention relates to a layout splitting method and device, computer equipment and a storage medium. The method comprises the following steps: acquiring an initial physical layout comprising a plurality of Manhattan polygons; determining a target distance between every two Manhattan polygons in the plurality of Manhattan polygons; establishing a Manhattan support path based on the target distance between every two Manhattan polygons; and based on the Manhattan support path, splitting the initial physical layout to obtain a plurality of target physical layouts. According to the method, the initial physical layout can be reasonably split based on the Manhattan support path, and the layout splitting speed and the layout splitting efficiency are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of integrated circuit design technology, and particularly to a layout splitting method, apparatus, computer device, and storage medium. Background Art

[0002] The Multiple Patterning Technique (MPT) is a technique that realizes the reasonable splitting of a layer of chip layout into two or more layers of layouts through Electronic Design Automation (EDA). The split chip layout will be exposed through multiple lithography processes to realize the manufacturing of the chip on the wafer. For MPT used in the field of advanced semiconductor manufacturing, a reasonable layout splitting solution is required to be more friendly to subsequent optical proximity correction and lithography processes, and ultimately improve the chip manufacturing yield. Summary of the Invention

[0003] To overcome the problems existing in the related art, the present disclosure provides a layout splitting method, apparatus, computer device, and storage medium.

[0004] According to the first aspect of the embodiments of the present disclosure, a layout splitting method is provided. The method includes:

[0005] Obtain an initial physical layout, where the initial physical layout includes a plurality of Manhattan polygons, and each Manhattan polygon is used to represent a component;

[0006] Determine the target distance between every two Manhattan polygons among the plurality of Manhattan polygons; the target distance is the shortest distance between two Manhattan polygons;

[0007] Based on the target distance between every two Manhattan polygons, establish a Manhattan support path; the Manhattan support path is used to connect the plurality of Manhattan polygons, each Manhattan polygon is connected by at least one support path, there is at most one Manhattan support path between every two Manhattan polygons, and the Manhattan support path satisfies the principle of the shortest total length of the support path and the least number of support paths;

[0008] Based on the Manhattan support path, split the initial physical layout to obtain a plurality of target physical layouts; any two Manhattan polygons in the target physical layout are not connected in the Manhattan support path.

[0009] According to the second aspect of the embodiments of the present disclosure, a layout splitting apparatus is provided. The apparatus includes:

[0010] A layout acquisition module, configured to acquire an initial physical layout, where the initial physical layout includes a plurality of Manhattan polygons, and each Manhattan polygon is used to represent a component;

[0011] A distance determination module, configured to determine a target distance between every two of the plurality of Manhattan polygons; wherein, the target distance is the shortest distance between two Manhattan polygons, and the target path corresponding to the target distance includes a path in the horizontal direction and / or a path in the vertical direction;

[0012] A support path establishment module, configured to establish Manhattan support paths based on the target distances between every two of the Manhattan polygons; the Manhattan support paths are used to connect the plurality of Manhattan polygons, each Manhattan polygon is connected by at least one support path, there is at most one support path between every two Manhattan polygons, and the Manhattan support paths satisfy the principle of the shortest total length of the support paths and the least number of support paths;

[0013] A layout splitting module, configured to split the initial physical layout based on the Manhattan support paths to obtain a plurality of target physical layouts; any two Manhattan polygons in the target physical layouts are not connected in the Manhattan support paths.

[0014] According to a third aspect of the embodiments of the present disclosure, there is provided a computer device, including a memory and a processor, the memory stores a computer program, and when the processor executes the computer program, the steps of the layout splitting method as described in the first aspect are implemented.

[0015] According to a fourth aspect of the embodiments of the present disclosure, there is provided a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the layout splitting method as described in the first aspect are implemented.

[0016] The technical solutions provided by the embodiments of the present disclosure may include the following beneficial effects: The method provided by the embodiments of the present disclosure first determines the target distances between every two of the plurality of Manhattan polygons in the initial physical layout, and then based on the determined plurality of target distances, establishes Manhattan support paths that satisfy the principle of the shortest total length of the support paths and the least number of support paths, so that the initial physical layout can be reasonably split based on the Manhattan support paths, improving the layout splitting speed and layout splitting efficiency.

[0017] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure. Description of the Drawings

[0018] The accompanying drawings here are incorporated into the specification and form a part of this specification, showing embodiments consistent with the present invention, and are used together with the specification to explain the principles of the present invention.

[0019] Figure 1 It is a flowchart of a layout splitting method shown according to an exemplary embodiment.

[0020] Figure 2 It is a flowchart of a layout splitting method shown according to an exemplary embodiment.

[0021] Figure 3 It is a schematic diagram of an initial physical layout shown according to an exemplary embodiment.

[0022] Figure 4 It is a schematic diagram of a first region in an initial processed layout shown according to an exemplary embodiment.

[0023] Figure 5A and Figure 5B It is a schematic diagram of rectangularizing the first region shown according to an exemplary embodiment.

[0024] Figure 6 It is a schematic diagram of the contact between Manhattan polygons shown according to an exemplary embodiment.

[0025] Figure 7A and Figure 7B It is a schematic diagram of a path searched by using breadth - first search shown according to an exemplary embodiment.

[0026] Figure 8 It is a schematic diagram of a fully - connected graph shown according to an exemplary embodiment.

[0027] Figure 9 It is a schematic diagram of a Manhattan support path shown according to an exemplary embodiment.

[0028] Figure 10 It is a schematic diagram of a layout splitting result shown according to an exemplary embodiment.

[0029] Figure 11 It is a block diagram of a layout splitting device shown according to an exemplary embodiment.

[0030] Figure 12 It is a block diagram of a computer device shown according to an exemplary embodiment.

[0031] In the figure:

[0032] 1200 - Computer device; 1201 - Computing unit; 1202 - ROM; 1203 - RAM; 1204 - Bus; 1205 - Input / output interface; 1206 - Input unit; 1207 - Output unit; 1208 - Storage unit; 1209 - Communication unit. Detailed implementation

[0033] Here, the exemplary embodiments will be described in detail, and the examples are shown in the drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present invention as detailed in the appended claims.

[0034] In the related art, the strict splitting rule is the Design Rule Check (DRC) defined by chip manufacturers. Generally, components that do not meet the spacing requirements must be split into two layout diagrams. Sometimes, designers have special layout splitting requirements: specifying that the components within a certain area should be split into different layout diagrams as much as possible, even though these components meet the DRC. In the actual layout splitting process, in order to meet the design rules and the special splitting requirements of designers, it is necessary to establish support paths for the specified components to provide support for the layout division process.

[0035] In the chip design at the 14nm (nanometer) node, a layout diagram contains more than one billion polygons. For larger-sized chips at more advanced nodes, the number is even in the tens of billions. The number and distribution of the support paths existing between components in the layout diagram greatly affect the efficiency of layout splitting. How to establish an optimal support path for the components in the physical layout is an urgent problem to be solved.

[0036] In view of the above problems, embodiments of the present disclosure provide a layout splitting method. An initial physical layout is obtained, which includes a plurality of Manhattan polygons, and each Manhattan polygon is used to represent a component. The target distance between every two of the plurality of Manhattan polygons is determined. The target distance is the shortest distance between two Manhattan polygons, and the target path corresponding to the target distance includes a path in the horizontal direction and / or a path in the vertical direction. Based on the target distance between every two Manhattan polygons, a Manhattan support path is established. The Manhattan support path is used to connect the plurality of Manhattan polygons. Each Manhattan polygon is connected by at least one support path, and there is at most one support path between every two Manhattan polygons. Moreover, the Manhattan support path satisfies the principles of the shortest total length of the support paths and the least number of support paths. Based on the Manhattan support path, the initial physical layout is split to obtain a plurality of target physical layouts. Any two Manhattan polygons in the target physical layout are not connected in the Manhattan support path. This method can reasonably split the initial physical layout based on the Manhattan support path, improving the layout splitting speed and efficiency.

[0037] The method provided by the embodiments of the present disclosure is executed by a computer device, which can be a mobile phone, a tablet computer, a laptop computer, a desktop computer, or other devices.

[0038] Figure 1 A layout splitting method shown according to an exemplary embodiment is executed by a computer device. Refer to Figure 1 , and the method includes the following steps:

[0039] Step S101: Obtain an initial physical layout, which includes a plurality of Manhattan polygons, and each Manhattan polygon is used to represent a component.

[0040] Among them, the initial physical layout is any physical layout, and the plurality of components included in this physical layout are all Manhattan polygons.

[0041] Step S102: Determine the target distance between every two of the plurality of Manhattan polygons. The target distance is the shortest distance between two Manhattan polygons, and the target path corresponding to the target distance includes a path in the horizontal direction and / or a path in the vertical direction.

[0042] To facilitate the subsequent establishment of the Manhattan support path, it is necessary to first determine the target distance between every two Manhattan polygons. The target distance is the shortest distance between two Manhattan polygons. Moreover, since wiring in the physical layout needs to be along the horizontal direction and / or the vertical direction, therefore, the target path corresponding to the target distance should also include a path in the horizontal direction and / or a path in the vertical direction.

[0043] Step S103: Based on the target distances between every two Manhattan polygons, establish Manhattan support paths. The Manhattan support paths are used to connect multiple Manhattan polygons. Each Manhattan polygon is connected by at least one support path. There is at most one support path between every two Manhattan polygons, and the Manhattan support paths satisfy the principle of the shortest total length of the support paths and the least number of support paths.

[0044] Among them, the Manhattan support paths include multiple support paths. Each Manhattan polygon is connected by at least one support path, and there is at most one support path between every two Manhattan polygons, that is, there can be one support path between two Manhattan polygons, or there can be no support path. For example, the Manhattan support paths include Manhattan polygon 1, Manhattan polygon 2, Manhattan polygon 3, support path 1 between Manhattan polygon 1 and Manhattan polygon 2, and support path 2 between Manhattan polygon 1 and Manhattan polygon 3. There is no support path between Manhattan polygon 2 and Manhattan polygon 3. That is, Manhattan polygon 1 is connected by two support paths, namely support path 1 and support path 2, Manhattan polygon 2 is connected by one support path, namely support path 1, and Manhattan polygon 3 is connected by one support path, namely support path 2. The principle of the shortest total length of the support paths and the least number of support paths means that each path in the Manhattan support paths needs to make the sum of the lengths of multiple support paths the shortest and the number of support paths the least under the condition that there is at most one support path between every two Manhattan polygons and each Manhattan polygon can be connected by a support path.

[0045] Step S104: Based on the Manhattan support paths, split the initial physical layout to obtain multiple target physical layouts. Any two Manhattan polygons in the target physical layouts are not connected in the Manhattan support paths.

[0046] Split the two Manhattan polygons that are connected to each other in the Manhattan support paths into different target physical layouts respectively, that is, any two Manhattan polygons in the same target physical layout are not connected in the Manhattan support paths.

[0047] The technical solutions provided by the embodiments of the present disclosure may include the following beneficial effects: The method provided by the embodiments of the present disclosure first determines the target distances between every two of the multiple Manhattan polygons in the initial physical layout, and then based on the determined multiple target distances, establishes Manhattan support paths that satisfy the principle of the shortest support path length and the least number of support paths. Thus, the initial physical layout can be reasonably split based on the Manhattan support paths, improving the layout splitting speed and layout splitting efficiency.

[0048] Figure 2It is a flowchart of a layout splitting method shown according to an exemplary embodiment, executed by a computer device. Refer to Figure 2 , the method includes the following steps:

[0049] Step S201, obtain an initial physical layout, where the initial physical layout includes a plurality of Manhattan polygons.

[0050] In one example, refer to Figure 3 the schematic diagram of the initial physical layout shown, the initial physical layout includes 5 Manhattan polygons, and the shape and position of each Manhattan polygon are as Figure 3 shown.

[0051] Step S202, rectangularize the first region in the initial physical layout to obtain a plurality of rectangles in the first region.

[0052] Among them, the first region is the other region in the initial physical layout except the second region, and the second region is the region where the plurality of Manhattan polygons are located in the initial physical layout. In one example, refer to Figure 4 the schematic diagram of the first region in the initial processed layout shown, Figure 4 the slanted region in is the first region. The horizontal side of each rectangle is parallel to the horizontal side of the Manhattan polygon, and the vertical side of each rectangle is parallel to the vertical side of the Manhattan polygon.

[0053] In some embodiments, fill the first region with a composite polygon, that is, regard the first region as a composite polygon; for each vertex of each Manhattan polygon, start from the vertex and extend along the horizontal direction away from the Manhattan polygon. If the extended line contacts the vertical side of other Manhattan or the boundary of the initial physical layout, stop the extension; for each vertex of each Manhattan polygon, start from the vertex and extend along the vertical direction away from the Manhattan polygon. If the extended line contacts the horizontal side of other Manhattan or the boundary of the initial physical layout, stop the extension; based on the plurality of extended lines, divide the composite polygon into a plurality of rectangles.

[0054] It should be noted that when rectangularizing, the above implementation manner takes the example of first rectangularizing in the horizontal direction and then in the vertical direction. In another embodiment, it can also be rectangularized first in the vertical direction and then in the horizontal direction, or rectangularized simultaneously in the horizontal and vertical directions.

[0055] In one example, taking the example of first rectangularizing in the horizontal direction and then in the vertical direction, refer to Figure 5A and Figure 5BSchematic diagram of rectangularization of the first region shown. The process of rectangularization in the horizontal direction includes: finding Figure 5A each vertex of the Manhattan polygons in Figure 5B , making extension lines outward along the horizontal direction from the vertices of the Manhattan polygons. If the extension lines contact the vertical sides of other Manhattan polygons, stop extending and take the contact points as the end points of the delay lines; if the extension lines do not contact the vertical sides of other Manhattan polygons, the end points of the extension lines are the boundaries of the initial physical layout. After rectangularization in the horizontal direction, the process of rectangularization in the vertical direction includes: finding

[0056] each vertex of the Manhattan polygons in

[0057] , making extension lines outward along the vertical direction from the vertices of the Manhattan polygons. If the extension lines contact the horizontal sides of other Manhattan polygons, stop extending and the contact points are the end points of the delay lines; if the extension lines do not contact the vertical sides of other Manhattan polygons, the end points of the extension lines are the boundaries of the initial physical layout. Among them, the extension lines are represented by dashed lines, and the marked parts are the widths and heights of some rectangles. The width of a rectangle refers to the length of the side of the rectangle in the horizontal direction, and the height of a rectangle refers to the length of the side of the rectangle in the vertical direction.

[0056] Step S203: Based on multiple rectangles, determine the target distance between every two Manhattan polygons.

[0057] In some embodiments, for the distribution of multiple Manhattan polygons in the initial physical layout, the following method can be used to determine the target distance between two Manhattan polygons:

[0058] Method 1: If two Manhattan polygons contact the same rectangle, and the two Manhattan polygons have a common side with the same rectangle in the horizontal direction, determine the length of the side of the same rectangle in the vertical direction as the target distance between the two Manhattan polygons. For example, referring to Figure 6 the schematic diagram of the contact between Manhattan polygons shown, Manhattan polygon 1 and Manhattan polygon 3 have a common side with rectangle d in the horizontal direction, then the target distance between Manhattan polygon 1 and Manhattan polygon 3 is the height of rectangle d, and this target distance is 30. Manhattan polygon 2 and Manhattan polygon 3 have a common side with rectangle c in the horizontal direction, then the target distance between Manhattan polygon 2 and Manhattan polygon 3 is the height of rectangle c, and this target distance is 20.

[0059] Method 2: If two Manhattan polygons contact the same rectangle, and the two Manhattan polygons have a common side with the same rectangle in the vertical direction, determine the length of the side of the same rectangle in the horizontal direction as the target distance between the two Manhattan polygons.

[0060] Method 3: If two Manhattan polygons are in contact with at least two of multiple rectangles simultaneously, respectively determine at least two reference distances between the two Manhattan polygons based on each of the at least two rectangles, and determine the shortest reference distance among the at least two reference distances as the target distance between the two Manhattan polygons. For example, see Figure 6 the schematic diagram of the contact between the shown Manhattan polygons. The Manhattan polygon 1 and the Manhattan polygon 2 have a common side with the rectangle a in the horizontal direction. Then, one reference distance between the Manhattan polygon 1 and the Manhattan polygon 2 is the height of the rectangle a. The Manhattan polygon 1 and the Manhattan polygon 2 have a common side with the rectangle b in the vertical direction. Then, one reference distance between the Manhattan polygon 1 and the Manhattan polygon 2 is the width of the rectangle b. Since the width of the rectangle b is less than the height of the rectangle a, the width of the rectangle b is determined as the target distance between the Manhattan polygon 1 and the Manhattan polygon 2, and the target distance is 15.

[0061] Method 4: If two Manhattan polygons are not in contact with the same rectangle, adopt the breadth-first search method. Starting from one of the two Manhattan polygons, search for the other Manhattan polygon among the two Manhattan polygons based on the multiple rectangles to obtain multiple reference paths between the two Manhattan polygons, and determine the shortest path among the multiple reference paths as the target path between the two Manhattan polygons, and determine the length of the target path as the target distance. For example, see Figure 7A the schematic diagram of the path searched by the breadth-first search method as shown. The rectangles passed by the breadth-first search from the Manhattan polygon 1 to the Manhattan polygon 4. The Manhattan polygon 1 and the Manhattan polygon 4 cannot be directly in contact through a certain rectangle and need to adopt the breadth-first search method to find the distance between the Manhattan polygon 1 and the Manhattan polygon 4. The rectangles passed by the breadth-first search are horizontally or vertically adjacent rectangles. The Manhattan polygon 1 can be connected to the Manhattan polygon 4 through the rectangles in the shadow. The path direction is: a → b → c → d → e → f. The process from a to c is along the vertical direction, and the process from c to f is along the horizontal direction. Add the sum of the heights of the rectangles a, b, and c, which is 85, to the sum of the widths of the rectangles c, d, e, and f, which is 160, as the target distance between the Manhattan polygon 1 and the Manhattan polygon 4. This target distance is 245. By using the Figure 7A search process shown, the target distances between other non-contact pairs of Manhattan polygons can be searched, and finally, as shown in Figure 7BThe target distance between every two of the non-contact Manhattan polygons shown, that is, the target distances between Manhattan polygon 1 and Manhattan polygon 4, between Manhattan polygon 1 and Manhattan polygon 5, between Manhattan polygon 2 and Manhattan polygon 4, between Manhattan polygon 2 and Manhattan polygon 5, between Manhattan polygon 3 and Manhattan polygon 4, and between Manhattan polygon 3 and Manhattan polygon 5.

[0062] Method 5: If one of the two Manhattan polygons is located in the inner hole of the other Manhattan polygon, determine that the target distance between the two Manhattan polygons is infinite.

[0063] In one example, for the initial physical layout shown above Figure 1 the target distances between the 5 Manhattan polygons in the initial physical layout can be determined as shown in Table 1 below:

[0064] Table 1

[0065] Manhattan polygon 1 2 3 4 5 1 - 15 30 245 310 2 15 - 20 180 220 3 30 20 - 185 210 4 245 180 185 - 35 5 310 220 210 35 -

[0066] Step S204, based on the target distances between every two Manhattan polygons, establish a fully connected graph of multiple Manhattan polygons.

[0067] Wherein, a node in the fully connected graph represents a Manhattan polygon, and the weight of the edge between two nodes is the target distance between the two Manhattan polygons represented by the two nodes.

[0068] In one example, referring to the schematic diagram of the fully connected graph shown in Figure 8 the nodes ①, ②, ③, ④, and ⑤ in Figure 8 correspond to Manhattan polygons 1, 2, 3, 4, and 5 in the initial physical layout respectively, and the weight of the edge between two nodes is the target distance between the corresponding two Manhattan polygons. For example, the weight of the edge between nodes ① and ② is 15.

[0069] Step S205, based on the fully connected graph, determine the Manhattan support path.

[0070] In some embodiments, select a node from the fully connected graph, and add the selected node to the spanning tree; repeatedly execute the step of selecting a second node connected to the first node from the fully connected graph, and adding the second node and the edge between the first node and the second node to the spanning tree until the spanning tree includes all the nodes in the fully connected graph, obtaining the Manhattan support path; wherein, the first node is any node already added to the spanning tree, and the weight of the edge between the second node and the first node is greater than the weights of the edges between the other nodes not added to the spanning tree and the first node in the fully connected graph, and less than the weights of the edges between the second node and the nodes already added to the spanning tree except the first node.

[0071] For example, starting from any vertex in the fully connected graph, add it to the spanning tree.

[0072] 1. Start with node ③ and add it to the spanning tree.

[0073] 2. Then, each time select the edge with the smallest weight that is connected to a vertex in the current spanning tree, and add the other vertex of this edge to the spanning tree:

[0074] Select the edge ③→② with the smallest weight that is connected to node ③, and add the other vertex ② of this edge to the spanning tree; at this time, the spanning tree contains nodes ② and ③. Select the edge ②→① with the smallest weight that is connected to nodes ② and ③, and add the other vertex ① of this edge to the spanning tree; select the edge ②→④ with the smallest weight that is connected to nodes ①, ②, and ③, and add the other vertex ④ of this edge to the spanning tree; select the edge ④→⑤ with the smallest weight that is connected to nodes ①, ②, ③, and ④, and add the other vertex ⑤ of this edge to the spanning tree. At this time, the spanning tree contains all the vertices in the graph, and each edge of the spanning tree forms a support path between Manhattan polygons, and finally the Manhattan support path as shown in Figure 9 is obtained.

[0075] In some embodiments, arrange the weights corresponding to all the edges in the fully connected graph in ascending order; successively add the first edge, the node connected to the first edge, the second edge, and the node connected to the second edge to the spanning tree. Starting from the third edge, if the edge to be selected does not form a closed loop after being connected to at least two edges already added to the spanning tree, add the edge to be selected and the node connected to the edge to be selected to the spanning tree until all the nodes in the fully connected graph are included in the spanning tree, and a Manhattan support path is obtained.

[0076] For example, sort all the edges in the fully connected graph in ascending order of weight. The sorted edges are: ①→②, ②→③, ①→③, ④→⑤, ②→④, ③→④, ③→⑤, ②→⑤, ①→④, ①→⑤.

[0077] Starting from the edge with the smallest weight, add them to the spanning tree one by one, but ensure that the added edges do not form a loop. Successively add ①→② and ②→③ to the spanning tree. At this time, if ①→③ is added continuously, a closed loop will be generated, so ①→③ is discarded. Continue to add ④→⑤, and at this time no closed loop is generated. Continue to add ②→④, and no closed loop is generated. At this time, the spanning tree contains all the vertices in the fully connected graph, and each edge of the spanning tree forms a support path between Manhattan polygons, and finally the Manhattan support path as shown in Figure 9 is obtained.

[0078] Step S206, based on the Manhattan support path, split the initial physical layout to obtain multiple target physical layouts.

[0079] For example, according to Figure 9 the Manhattan support path shown, after splitting, Manhattan polygon 1 and Manhattan polygon 2 are not in the same layout, Manhattan polygon 2 and Manhattan polygon 3 are not in the same layout, Manhattan polygon 2 and Manhattan polygon 4 are not in the same layout, and Manhattan polygon 4 and Manhattan polygon 5 are not in the same layout. Therefore, the layout splitting result shown in Figure 10 can be obtained by splitting. Manhattan polygons 1, 3, and 4 are located in the same target physical layout, and Manhattan polygons 2 and 5 are located in the same target physical layout.

[0080] In some embodiments, a two-color mask assignment algorithm can be used to color the Manhattan polygons on the same physical layer of the layout with two different colors, and it is ensured as much as possible that adjacent Manhattan polygons are not of the same color. For example, for the Figure 10 layout splitting result above, a two-color mask assignment algorithm can be used to color the two target physical layouts after splitting. The embodiments of the present disclosure do not make special restrictions on this.

[0081] The method provided by the embodiments of the present disclosure first determines the target distance between each two of the multiple Manhattan polygons in the initial physical layout, and then based on the determined multiple target distances, establishes a Manhattan support path that satisfies the principles of the shortest support path length and the least number of support paths, so that the initial physical layout can be reasonably split based on the Manhattan support path, improving the layout splitting speed and layout splitting efficiency.

[0082] Figure 11 is a block diagram of a layout splitting device shown according to an exemplary embodiment, configured in a computer device. Refer to Figure 11 . The device includes:

[0083] A layout acquisition module 1101, configured to acquire an initial physical layout, where the initial physical layout includes multiple Manhattan polygons, and each Manhattan polygon is used to represent a component;

[0084] A distance determination module 1102, configured to determine the target distance between each two of the multiple Manhattan polygons; the target distance is the shortest distance between two Manhattan polygons, and the target path corresponding to the target distance includes a path in the horizontal direction and / or a path in the vertical direction;

[0085] A support path establishment module 1103, configured to establish Manhattan support paths based on the target distance between every two Manhattan polygons; the Manhattan support paths are used to connect multiple Manhattan polygons, each Manhattan polygon is connected by at least one support path, there is at most one support path between every two Manhattan polygons, and the Manhattan support paths satisfy the principles of the shortest total length of the support paths and the least number of support paths;

[0086] A layout splitting module 1104, configured to split an initial physical layout based on the Manhattan support paths to obtain multiple target physical layouts; any two Manhattan polygons in the target physical layouts are not connected in the Manhattan support paths.

[0087] In some embodiments, a distance determination module 1102 is configured to:

[0088] Rectangularize a first region in the initial physical layout to obtain multiple rectangles in the first region; the first region is the other region in the initial physical layout except for a second region, the second region is the region where multiple Manhattan polygons are located in the initial physical layout, the horizontal sides of each rectangle are parallel to the horizontal sides of the Manhattan polygons, and the vertical sides of each rectangle are parallel to the vertical sides of the Manhattan polygons;

[0089] Based on the multiple rectangles, determine the target distance between every two Manhattan polygons.

[0090] In some embodiments, a distance determination module 1102 is configured to:

[0091] Fill the first region with composite polygons;

[0092] For each vertex of each Manhattan polygon, starting from the vertex, extend in the horizontal direction away from the Manhattan polygon. If the extended line contacts the vertical side of other Manhattan polygons or the boundary of the initial physical layout, stop extending;

[0093] For each vertex of each Manhattan polygon, starting from the vertex, extend in the vertical direction away from the Manhattan polygon. If the extended line contacts the horizontal side of other Manhattan polygons or the boundary of the initial physical layout, stop extending;

[0094] Based on the multiple extended lines, divide the composite polygon into multiple rectangles.

[0095] In some embodiments, a distance determination module 1102 is configured to perform at least one of the following:

[0096] If two Manhattan polygons are in contact with the same rectangle, and the two Manhattan polygons have common sides with the same rectangle in the horizontal direction respectively, determine the length of the side of the same rectangle in the vertical direction as the target distance between the two Manhattan polygons;

[0097] If two Manhattan polygons are in contact with the same rectangle, and the two Manhattan polygons have common sides with the same rectangle in the vertical direction respectively, determine the length of the side of the same rectangle in the horizontal direction as the target distance between the two Manhattan polygons;

[0098] If two Manhattan polygons are in contact with at least two rectangles among multiple rectangles simultaneously, respectively determine at least two reference distances between the two Manhattan polygons based on each of the at least two rectangles, and determine the shortest reference distance among the at least two reference distances as the target distance between the two Manhattan polygons.

[0099] If two Manhattan polygons are not in contact with the same rectangle, adopt the breadth - first search method, starting from one of the two Manhattan polygons, search for the other Manhattan polygon among the multiple rectangles, obtain multiple reference paths between the two Manhattan polygons, determine the shortest path among the multiple reference paths as the target path between the two Manhattan polygons, and determine the length of the target path as the target distance;

[0100] If one of the two Manhattan polygons is located in the inner hole of the other Manhattan polygon, determine the target distance between the two Manhattan polygons as infinity.

[0101] In some embodiments, the support path establishment module 1103 is configured to:

[0102] Based on the target distance between each pair of Manhattan polygons, establish a fully - connected graph of multiple Manhattan polygons; a node in the fully - connected graph represents a Manhattan polygon, and the weight of the edge between two nodes is the target distance between the two Manhattan polygons represented by the two nodes;

[0103] Based on the fully - connected graph, determine the Manhattan support path.

[0104] In some embodiments, the support path establishment module 1103 is configured to:

[0105] Select a node from the fully - connected graph and add the selected node to the spanning tree;

[0106] Repeat the step of selecting a second node connected to the first node from the fully - connected graph and adding the second node and the edge between the first node and the second node to the spanning tree until the spanning tree includes all the nodes in the fully - connected graph, and obtain the Manhattan support path;

[0107] Wherein, the first node is any node already added to the spanning tree, and the weight of the edge between the second node and the first node is greater than the weights of the edges between the other nodes not added to the spanning tree in the fully connected graph and the first node, and less than the weights of the edges between the second node and the nodes already added to the spanning tree except the first node.

[0108] In some embodiments, the support path establishment module 1103 is configured to:

[0109] Arrange the weights corresponding to all the edges in the fully connected graph in ascending order;

[0110] Successively add the first edge, the node connected to the first edge, the second edge, and the node connected to the second edge to the spanning tree. Starting from the third edge, if the edge to be selected does not form a closed loop after being connected to at least two edges already added to the spanning tree, add the edge to be selected and the node connected to the edge to be selected to the spanning tree until the spanning tree includes all the nodes in the fully connected graph, obtaining a Manhattan support path.

[0111] Each module in the above layout splitting device can be implemented in whole or in part by software, hardware, and their combination. The above modules can be embedded in the processor of the computer device in hardware form or be independent of it, or can be stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to the above modules.

[0112] In an exemplary embodiment, a computer device is provided, including a processor and a memory. The memory stores a computer program, and when the processor executes the computer program, the steps of any of the above layout splitting methods are implemented.

[0113] In an exemplary embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above layout splitting methods are implemented. The computer-readable storage medium can be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.

[0114] In an exemplary embodiment, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the steps of any of the above layout splitting methods are implemented.

[0115] Reference Figure 12, a block diagram of a computer device that can be used in the present disclosure will now be described. The computer device includes a computing unit 1201, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1202 or a computer program loaded from a storage unit 1208 into a random access memory (RAM) 1203. In the RAM 1203, various programs and data required for the operation of the computer device 1200 can also be stored. The computing unit 1201, the ROM 1202, and the RAM 1203 are connected to each other via a bus 1204. An input / output (I / O) interface 1205 is also connected to the bus 1204.

[0116] A plurality of components in the computer device 1200 are connected to the I / O interface 1205, including: an input unit 1206, an output unit 1207, a storage unit 1208, and a communication unit 1209. The input unit 1206 can be any type of device that can input information into the computer device 1200. The input unit 1206 can receive input digital or character information, and generate key signal inputs related to the user settings and / or function controls of the computer device 1200, and can include, but is not limited to, a mouse, a keyboard, a touch screen, a trackpad, a trackball, a joystick, a microphone, and / or a remote control. The output unit 1207 can be any type of device that can present information, and can include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 1208 can include, but is not limited to, a magnetic disk, an optical disk. The communication unit 1209 allows the computer device 1200 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks, and can include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a BluetoothTM device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.

[0117] The computing unit 1201 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1201 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1201 executes the various methods and processes described above, such as the layout splitting method. For example, in some embodiments, the layout splitting method can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 1208. In some embodiments, part or all of the computer program can be loaded and / or installed onto the computer device 1200 via the ROM 1202 and / or the communication unit 1209. When the computer program is loaded into the RAM 1203 and executed by the computing unit 1201, one or more steps of the layout splitting method described above can be executed. Alternatively, in other embodiments, the computing unit 1201 can be configured to execute the layout splitting method by any other suitable means (e.g., by means of firmware).

[0118] The computer device 1200 can be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components for performing the above-described layout splitting method.

[0119] Those of ordinary skill in the art can understand that all or part of the steps in the above methods can be completed by instructing relevant hardware through a program, and the program can be stored in a computer-readable storage medium, such as a read-only memory, a magnetic disk, or an optical disc, etc. Optionally, all or part of the steps in the above embodiments can also be implemented using one or more integrated circuits. Correspondingly, each module / unit in the above embodiments can be implemented in the form of hardware or in the form of a software functional module. The present invention is not limited to any specific form of combination of hardware and software.

[0120] After considering the specification and practicing the invention disclosed herein, those skilled in the art will readily conceive of other embodiments of the present invention. This application is intended to cover any variations, uses, or adaptations of the present invention, which follow the general principles of the present invention and include known common knowledge or conventional technical means in the technical field not disclosed in this disclosure. The specification and embodiments are only to be regarded as exemplary, and the true scope and spirit of the present invention are pointed out by the following claims.

[0121] It should be understood that the present invention is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present invention is limited only by the appended claims.

Claims

1. A layout splitting method, characterized in that, The method includes: Obtain an initial physical layout, where the initial physical layout includes a plurality of Manhattan polygons, and each Manhattan polygon is used to represent a component; Determine the target distance between every two of the plurality of Manhattan polygons; the target distance is the shortest distance between two Manhattan polygons, and the target path corresponding to the target distance includes a path in the horizontal direction and / or a path in the vertical direction; Based on the target distance between every two Manhattan polygons, establish a Manhattan support path; the Manhattan support path is used to connect the plurality of Manhattan polygons, each Manhattan polygon is connected by at least one support path, there is at most one support path between every two Manhattan polygons, and the Manhattan support path satisfies the principles of the shortest total length of the support paths and the least number of support paths; Based on the Manhattan support path, split the initial physical layout to obtain a plurality of target physical layouts; any two Manhattan polygons in the target physical layout are not connected in the Manhattan support path.

2. The layout splitting method according to claim 1, wherein The determining the target distance between every two of the plurality of Manhattan polygons includes: Rectangularize a first region in the initial physical layout to obtain a plurality of rectangles in the first region; the first region is the other region in the initial physical layout except for a second region, the second region is the region where the plurality of Manhattan polygons are located in the initial physical layout, the horizontal side of each rectangle is parallel to the horizontal side of the Manhattan polygon, and the vertical side of each rectangle is parallel to the vertical side of the Manhattan polygon; Based on the plurality of rectangles, determine the target distance between every two Manhattan polygons.

3. The layout splitting method according to claim 2, wherein The rectangularizing the first region in the initial physical layout to obtain a plurality of rectangles in the first region includes: Fill the first region with composite polygons; For each vertex of each Manhattan polygon, starting from the vertex, extend in the horizontal direction away from the Manhattan polygon. If the extended line contacts the vertical side of other Manhattan polygons or the boundary of the initial physical layout, stop the extension; For each vertex of each Manhattan polygon, starting from the vertex, extend in the vertical direction away from the Manhattan polygon. If the extended line contacts the horizontal side of other Manhattan polygons or the boundary of the initial physical layout, stop the extension; Based on the plurality of extended lines, divide the composite polygon into the plurality of rectangles.

4. The layout splitting method according to claim 2, wherein The determining the target distance between every two Manhattan polygons based on the plurality of rectangles includes at least one of the following: If two Manhattan polygons contact the same rectangle, and the two Manhattan polygons respectively have a common side with the same rectangle in the horizontal direction, determine the length of the side of the same rectangle in the vertical direction as the target distance between the two Manhattan polygons; If two Manhattan polygons are in contact with the same rectangle, and the two Manhattan polygons respectively have a common side with the same rectangle in the vertical direction, determine the length of the side of the same rectangle in the horizontal direction as the target distance between the two Manhattan polygons; If two Manhattan polygons are simultaneously in contact with at least two rectangles among the multiple rectangles, respectively determine at least two reference distances between the two Manhattan polygons based on each of the at least two rectangles, and determine the shortest reference distance among the at least two reference distances as the target distance between the two Manhattan polygons. If two Manhattan polygons are not in contact with the same rectangle, adopt a breadth-first search method, starting from one of the two Manhattan polygons, search for the other Manhattan polygon among the two Manhattan polygons based on the multiple rectangles, obtain multiple reference paths between the two Manhattan polygons, determine the shortest path among the multiple reference paths as the target path between the two Manhattan polygons, and determine the length of the target path as the target distance; If one of the two Manhattan polygons is located in the inner hole of the other Manhattan polygon, determine the target distance between the two Manhattan polygons as infinity.

5. The layout splitting method according to claim 1, wherein The establishing of the Manhattan support path based on the target distance between each two Manhattan polygons includes: Based on the target distance between each two Manhattan polygons, establish a fully connected graph of the multiple Manhattan polygons; a node in the fully connected graph represents a Manhattan polygon, and the weight of the edge between two nodes is the target distance between the two Manhattan polygons represented by the two nodes; Based on the fully connected graph, determine the Manhattan support path.

6. The layout splitting method according to claim 5, wherein The determining of the Manhattan support path based on the fully connected graph includes: Select a node from the fully connected graph and add the selected node to the spanning tree; Repeat the step of selecting a second node connected to the first node from the fully connected graph and adding the second node and the edge between the first node and the second node to the spanning tree until the spanning tree includes all the nodes in the fully connected graph, and obtain the Manhattan support path; wherein, the first node is any node already added to the spanning tree, the weight of the edge between the second node and the first node is greater than the weights of the edges between the first node and the other nodes not added to the spanning tree in the fully connected graph, and less than the weights of the edges between the second node and the nodes already added to the spanning tree except the first node.

7. The layout splitting method according to claim 5, wherein The determining of the Manhattan support path based on the fully connected graph includes: Arrange the weights of all the edges in the fully connected graph in ascending order; Add the first edge, the node connected to the first edge, the second edge, and the node connected to the second edge to the spanning tree in sequence. Starting from the third edge, if the edge to be selected does not form a closed loop after being connected to at least two edges already added to the spanning tree, add the edge to be selected and the node connected to the edge to be selected to the spanning tree until all nodes in the fully connected graph are included in the spanning tree, thus obtaining the Manhattan support path.

8. A layout splitting device, characterized in that The device includes: A layout acquisition module configured to acquire an initial physical layout, where the initial physical layout includes a plurality of Manhattan polygons, and each Manhattan polygon is used to represent a component; A distance determination module configured to determine the target distance between every two of the plurality of Manhattan polygons; the target distance is the shortest distance between two Manhattan polygons, and the target path corresponding to the target distance includes a path in the horizontal direction and / or a path in the vertical direction; A support path establishment module configured to establish a Manhattan support path based on the target distance between every two Manhattan polygons; the Manhattan support path is used to connect the plurality of Manhattan polygons, each Manhattan polygon is connected by at least one support path, there is at most one support path between every two Manhattan polygons, and the Manhattan support path satisfies the principles of the shortest total length of the support paths and the least number of support paths; A layout splitting module configured to split the initial physical layout based on the Manhattan support path to obtain a plurality of target physical layouts; any two Manhattan polygons in the target physical layout are not connected in the Manhattan support path.

9. A computer device, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, the steps of the layout splitting method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, the steps of the layout splitting method according to any one of claims 1 to 7 are implemented.