Wiring merging method and device, computer equipment and storage medium
By determining and combining wiring segments that meet preset conditions in the integrated circuit design, the problem that the prior art cannot achieve continuous regular wiring is solved, and a more stable layout design is achieved.
Patent Information
- Application Number
- CN202510039047.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-10
- Publication Date
- 2025-05-13
AI Technical Summary
The existing merging technology can only integrate geometric patterns on the metal wiring layer, and cannot provide a solution for continuous regular wiring, which has limitations.
By determining the first wiring segment and the second wiring segment to be merged, it is determined whether they meet the preset merge conditions, and merge them into the target wiring segment based on the intersection point of the wiring segment in the intersection state.
It realizes the merger of multiple wiring segments of different positions and directions into a continuous regular target wiring segment, enriching the wiring merging method and improving the stability of the layout.
Smart Images

Figure CN119990055A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of integrated circuit design, and in particular to a wiring merging method, device, computer equipment and storage medium. Background Art
[0002] In integrated circuit (IC) design, the layout merge function is mainly used in the design layout stage, where multiple different design levels or modules are merged together to form an integrated layout that meets manufacturing requirements. On the metal wiring layer, the merge function can merge overlapping graphics into one to reduce resistance and parasitic effects. However, the existing merge technology is only the integration of geometric graphics on the metal wiring layer, and cannot provide a solution for continuous regular wiring, which has limitations. Summary of the invention
[0003] In order to overcome the problems existing in the related art, the present disclosure provides a wiring merging method, apparatus, computer equipment and storage medium.
[0004] According to a first aspect of an embodiment of the present disclosure, a wiring merging method is provided, the method comprising:
[0005] Determine a first wiring segment and a second wiring segment to be merged;
[0006] When the first wiring segment and the second wiring segment meet a preset merging condition, determining an intersection state of the first wiring segment and the second wiring segment, the preset merging condition is used to characterize a condition that must be met when two wiring segments can be merged into one wiring segment, and the intersection state is used to characterize that a first target point and a second target point intersect, the first target point being a starting point or an end point of a first center line included in the first wiring segment, and the second target point being a starting point or an end point of a second center line included in the second wiring segment;
[0007] Based on an intersection point of the first routing segment and the second routing segment in the intersection state, the first routing segment and the second routing segment are merged into a target routing segment.
[0008] In some embodiments, merging the first wiring segment and the second wiring segment into a target wiring segment based on the intersection point of the first wiring segment and the second wiring segment in the intersection state includes:
[0009] Replacing the first target point and the second target point with the intersection point to obtain a replaced first target point and a replaced second target point;
[0010] Based on the replaced first target point, the replaced second target point, the third target point and the fourth target point, the first routing segment and the second routing segment are merged into the target routing segment, the third target point is another point between the starting point and the end point of the first center line except the first target point, and the fourth target point is another point between the starting point and the end point of the second center line except the second target point.
[0011] In some embodiments, the preset merging condition includes:
[0012] The first wiring segment and the second wiring segment intersect and meet a preset intersection condition, wherein the preset intersection condition includes that the first wiring segment and the second wiring segment cross each other, or the first center line and the second center line are aligned;
[0013] The first wiring segment and the second wiring segment are located in the same metal wiring layer;
[0014] The line width of the first wiring segment is the same as the line width of the second wiring segment;
[0015] The type of the first wiring segment is the same as the type of the second wiring segment.
[0016] In some embodiments, the method further comprises:
[0017] When the first wiring segment and the second wiring segment do not intersect, and / or the first wiring segment and the second wiring segment are not located in the same metal wiring layer, it is determined that the first wiring segment and the second wiring segment cannot be merged.
[0018] In some embodiments, the method further comprises:
[0019] When the first wiring segment and the second wiring segment intersect, and the first wiring segment and the second wiring segment are located in the same metal wiring layer, if the first wiring segment and the second wiring segment do not meet the preset intersection condition, the line width of the first wiring segment is different from the line width of the second wiring segment, or the type of the first wiring segment is different from the type of the second wiring segment, the first wiring segment and the second wiring segment are merged into a polygon.
[0020] In some embodiments, the method further comprises:
[0021] Obtain a first coordinate, a second coordinate, a third coordinate, and a fourth coordinate, wherein the first coordinate is the coordinate of the starting point of the first center line, the second coordinate is the coordinate of the end point of the first center line, the third coordinate is the coordinate of the starting point of the second center line, and the fourth coordinate is the coordinate of the end point of the second center line;
[0022] The determining of the intersection state of the first wiring segment and the second wiring segment includes any one of the following:
[0023] When the distance between the first coordinate and the third coordinate is less than a preset threshold, determining that the starting point of the first center line intersects with the starting point of the second center line;
[0024] When the distance between the first coordinate and the fourth coordinate is less than a preset threshold, determining that the starting point of the first center line intersects with the end point of the second center line;
[0025] When the distance between the second coordinate and the third coordinate is less than a preset threshold, determining that the end point of the first center line intersects the starting point of the second center line;
[0026] When the distance between the second coordinate and the fourth coordinate is less than a preset threshold, the end point of the first center line intersects with the end point of the second center line;
[0027] The preset threshold is half of a preset line width, and the line widths of the first center line and the second center line are both the preset line widths.
[0028] In some embodiments, determining the first wiring segment and the second wiring segment includes:
[0029] The first wiring segment and the second wiring segment are selected from a preset wiring segment set, where the preset wiring segment set includes a plurality of wiring segments to be merged.
[0030] After merging the first wiring segment and the second wiring segment into a target wiring segment, the method further includes:
[0031] The first routing segment and the second routing segment in the preset routing segment set are deleted, and the target routing segment is added to the preset routing segment set.
[0032] According to a second aspect of an embodiment of the present disclosure, a wiring merging device is provided, the device comprising:
[0033] A wiring segment determination module, configured to determine a first wiring segment and a second wiring segment to be merged;
[0034] an intersection state determination module, configured to determine the intersection state of the first wiring segment and the second wiring segment when the first wiring segment and the second wiring segment meet a preset merging condition, the preset merging condition is used to characterize the conditions that must be met when two wiring segments can be merged into one wiring segment, the intersection state is used to characterize the intersection of a first target point and a second target point, the first target point is a starting point or an end point of a first center line included in the first wiring segment, and the second target point is a starting point or an end point of a second center line included in the second wiring segment;
[0035] The wiring merging module is configured to merge the first wiring segment and the second wiring segment into a target wiring segment based on an intersection point of the first wiring segment and the second wiring segment in the intersection state.
[0036] According to a third aspect of an embodiment of the present disclosure, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the wiring merging method described in the first aspect are implemented.
[0037] According to a fourth aspect of an embodiment of the present disclosure, 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 the wiring merging method described in the first aspect are implemented.
[0038] The technical solution provided by the embodiments of the present disclosure may have the following beneficial effects:
[0039] The method provided by the embodiment of the present disclosure, for the first wiring segment and the second wiring segment to be merged, when the preset merging conditions are met, merges the first wiring segment and the second wiring segment into a target wiring segment, that is, merges multiple wiring segments at different positions and directions into a continuous and regular target wiring segment, enriches the wiring merging methods, and is beneficial to improving the stability of the layout.
[0040] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0042] Figure 1 The figure is a flow chart showing a wiring merging method according to an exemplary embodiment.
[0043] Figure 2 The figure is a flow chart showing a wiring merging method according to an exemplary embodiment.
[0044] Figure 3 The figure is a schematic diagram showing wiring segments before and after merging according to an exemplary embodiment.
[0045] Figure 4 The figure is a flow chart showing a wiring merging method according to an exemplary embodiment.
[0046] Figure 5 The figure is a block diagram of a wiring merging device according to an exemplary embodiment.
[0047] Figure 6 It is a block diagram of a computer device according to an exemplary embodiment.
[0048] In the figure:
[0049] 600 - computer device; 601 - computing unit; 602 - ROM; 603 - RAM; 604 - bus; 605 - input / output interface; 606 - input unit; 607 - output unit; 608 - storage unit; 609 - communication unit. DETAILED DESCRIPTION
[0050] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Instead, they are merely examples of devices and methods consistent with some aspects of the present invention as detailed in the appended claims.
[0051] In integrated circuit design, the layout merging function is mainly used in the design layout stage, where multiple different design levels or modules are merged together to form an integrated layout that meets manufacturing requirements. On the metal wiring layer, the merging function can merge overlapping graphics into one to reduce resistance and parasitic effects. However, the existing merging technology is only the integration of geometric graphics on the metal wiring layer, and cannot provide a solution for continuous regular wiring, which has limitations.
[0052] In order to solve the above problems, the embodiment of the present disclosure provides a wiring merging method, which determines the first wiring segment and the second wiring segment to be merged; when the first wiring segment and the second wiring segment meet the preset merging condition, the intersection state of the first wiring segment and the second wiring segment is determined, the preset merging condition is used to characterize the conditions that must be met when the two wiring segments can be merged into one wiring segment, and the intersection state is used to characterize the intersection of the first target point and the second target point, the first target point is the starting point or end point of the first center line included in the first wiring segment, and the second target point is the starting point or end point of the second center line included in the second wiring segment; based on the intersection of the first wiring segment and the second wiring segment in the intersection state, the first wiring segment and the second wiring segment are merged into a target wiring segment. This method realizes the merging of multiple wiring segments at different positions and different directions into a continuous and regular target wiring segment, enriches the wiring merging method, and is conducive to improving the stability of the layout. In addition, for transistor routing, the wiring merging method provided by the embodiment of the present disclosure can also improve transistor performance and signal stability.
[0053] The method provided in the embodiment of the present disclosure is executed by a computer device, which may be a mobile phone, a tablet computer, a laptop computer, a desktop computer, a smart terminal, or the like that can be used for integrated circuit layout design.
[0054] Figure 1 is a flowchart of a wiring merging method according to an exemplary embodiment, which is executed by a computer device, see Figure 1 , the method comprises the following steps:
[0055] Step S101: determining a first wiring segment and a second wiring segment to be merged.
[0056] The first wiring segment and the second wiring segment are any two wiring segments in the layout. In actual wiring, the first wiring segment and the second wiring segment can be transistors or wiring segments in other forms.
[0057] Step S102, when the first wiring segment and the second wiring segment meet the preset merging condition, determine the intersection state of the first wiring segment and the second wiring segment, the preset merging condition is used to characterize the conditions that must be met when the two wiring segments can be merged into one wiring segment, and the intersection state is used to characterize the intersection of the first target point and the second target point, the first target point is the starting point or end point of the first center line included in the first wiring segment, and the second target point is the starting point or end point of the second center line included in the second wiring segment.
[0058] After determining the first wiring segment and the second wiring segment, it is necessary to first determine whether the first wiring segment and the second wiring segment meet a preset merging condition. When the first wiring segment and the second wiring segment meet the preset merging condition, a subsequent merging operation is performed on the first wiring segment and the second wiring segment.
[0059] Among them, the preset merging condition is used to characterize the conditions that must be met when two wiring segments can be merged into one wiring segment. The preset merging condition includes: the first wiring segment and the second wiring segment intersect and meet the preset intersection condition. The preset intersection condition includes that the first wiring segment and the second wiring segment cross, or the first center line and the second center line are aligned; the first wiring segment and the second wiring segment are located in the same metal wiring layer; the line width of the first wiring segment is the same as the line width of the second wiring segment; the type of the first wiring segment is the same as the type of the second wiring segment. Among them, the cross means that the angle formed by the intersection of the two wiring segments is 90 degrees, and the alignment of the two center lines means that the two center lines intersect. Of course, in other embodiments, the preset merging condition may also include other conditions.
[0060] In order to merge the first wiring segment and the second wiring segment into one wiring segment, it is necessary to first determine the intersection state of the first wiring segment and the second wiring segment. The intersection state is used to characterize the intersection of the first target point and the second target point. The first target point is the starting point or end point of the first center line included in the first wiring segment, and the second target point is the starting point or end point of the second center line included in the second wiring segment. That is, the intersection state includes any of the following: the starting point of the first center line intersects with the starting point of the second center line, the starting point of the first center line intersects with the end point of the second center line, the end point of the first center line intersects with the starting point of the second center line, and the end point of the first center line intersects with the end point of the second center line. Among them, the center line of the wiring segment is a line segment used to identify the center of the wiring segment. In integrated circuit design, the center line helps to accurately represent the position of the wiring segment.
[0061] In some embodiments, a first coordinate, a second coordinate, a third coordinate, and a fourth coordinate are obtained, wherein the first coordinate is the coordinate of the starting point of the first center line, the second coordinate is the coordinate of the end point of the first center line, the third coordinate is the coordinate of the starting point of the second center line, and the fourth coordinate is the coordinate of the end point of the second center line. Then, determining the intersection state of the first wiring segment and the second wiring segment includes any of the following:
[0062] When the distance between the first coordinate and the third coordinate is less than a preset threshold, determining that the starting point of the first center line intersects with the starting point of the second center line;
[0063] When the distance between the first coordinate and the fourth coordinate is less than a preset threshold, determining that the starting point of the first center line intersects with the end point of the second center line;
[0064] When the distance between the second coordinate and the third coordinate is less than a preset threshold, determining that the end point of the first center line intersects the starting point of the second center line;
[0065] When the distance between the second coordinate and the fourth coordinate is less than a preset threshold, the end point of the first center line intersects with the end point of the second center line.
[0066] The preset threshold is half of the preset line width, and the line widths of the first center line and the second center line are both the preset line widths.
[0067] Step S103: merging the first wiring segment and the second wiring segment into a target wiring segment based on the intersection point of the first wiring segment and the second wiring segment in the intersecting state.
[0068] In some embodiments, the first target point and the second target point are replaced with the intersection point to obtain the replaced first target point and the replaced second target point; based on the replaced first target point, the replaced second target point, the third target point and the fourth target point, the first wiring segment and the second wiring segment are merged into the target wiring segment. The third target point is another point between the starting point and the end point of the first center line except the first target point, and the fourth target point is another point between the starting point and the end point of the second center line except the second target point.
[0069] Optionally, the starting point and the end point of the target centerline included in the target routing segment may be the third target point and the fourth target point, for example, the starting point of the target centerline is the third target point and the end point of the target centerline is the fourth target point, or the starting point of the target centerline is the fourth target point and the end point of the target centerline is the third target point. For example, when the starting point of the first centerline and the starting point of the second centerline intersect, the starting point of the target centerline of the merged target routing segment may be the end point of the first centerline, and the end point of the target centerline may be the end point of the second centerline.
[0070] Optionally, the coordinates of the first target point and the coordinates of the second target point are replaced by the coordinates of the intersection point.
[0071] The method provided by the embodiment of the present disclosure, for the first wiring segment and the second wiring segment to be merged, when the preset merging conditions are met, merges the first wiring segment and the second wiring segment into a target wiring segment, that is, merges multiple wiring segments at different positions and directions into a continuous and regular target wiring segment, enriches the wiring merging methods, and is beneficial to improving the stability of the layout.
[0072] In some embodiments, when the first wiring segment and the second wiring segment meet the preset merging condition, the first wiring segment and the second wiring segment can be merged into a target wiring segment. When the first wiring segment and the second wiring segment do not meet the preset merging condition, the first wiring segment and the second wiring segment can be merged in other ways, or the first wiring segment and the second wiring segment cannot be merged. Figure 2 The illustrated embodiment explains this in detail.
[0073] Figure 2is a flowchart of a wiring merging method according to an exemplary embodiment, which is executed by a computer device, see Figure 2 , the method comprises the following steps:
[0074] Step S201: determining a first wiring segment and a second wiring segment to be merged.
[0075] After determining the first wiring segment and the second wiring segment to be merged, it is necessary to first determine whether the first wiring segment and the second wiring segment meet a preset merging condition, and execute step S202, step S203 or step S204 according to the determination result.
[0076] Step S202: when the first wiring segment and the second wiring segment meet a preset merging condition, determine the intersection state of the first wiring segment and the second wiring segment, and merge the first wiring segment and the second wiring segment into a target wiring segment based on the intersection point of the first wiring segment and the second wiring segment in the intersection state.
[0077] The implementation of step S202 refers to the above-mentioned steps S102 and S103, which will not be described in detail here.
[0078] Step S203, when the first wiring segment and the second wiring segment intersect, and the first wiring segment and the second wiring segment are located in the same metal wiring layer, if the first wiring segment and the second wiring segment do not meet the preset intersection condition, the line width of the first wiring segment is different from the line width of the second wiring segment, or the type of the first wiring segment is different from the type of the second wiring segment, the first wiring segment and the second wiring segment are merged into a polygon.
[0079] When the first wiring segment and the second wiring segment intersect, and the first wiring segment and the second wiring segment are located in the same metal wiring layer, it means that the first wiring segment and the second wiring segment can be merged, but if the first wiring segment and the second wiring segment do not meet the preset intersection condition, the line width of the first wiring segment is different from the line width of the second wiring segment, or the type of the first wiring segment is different from the type of the second wiring segment, it means that the first wiring segment and the second wiring segment cannot be merged into a continuous regular wiring segment. Therefore, in this case, the first wiring segment and the second wiring segment can only be merged into a polygon. The polygon can be of any shape, and the embodiments of the present disclosure do not limit this.
[0080] Step S204: when the first wiring segment and the second wiring segment do not intersect and / or the first wiring segment and the second wiring segment are not located in the same metal wiring layer, determining that the first wiring segment and the second wiring segment cannot be merged.
[0081] When the first wiring segment and the second wiring segment do not intersect, and / or the first wiring segment and the second wiring segment are not located in the same metal wiring layer, it means that the first wiring segment and the second wiring segment cannot be merged. Therefore, in this case, it is determined that the first wiring segment and the second wiring segment cannot be merged, and the first wiring segment and the second wiring segment are no longer merged.
[0082] It should be noted that the above-mentioned preset merging condition includes multiple conditions. For the multiple conditions, in the actual execution process, it can be judged in turn whether each condition is satisfied. For example, first judge whether the first wiring segment and the second wiring segment are located in the same metal wiring layer. If they are not located in the same metal wiring layer, step S204 is executed. If they are located in the same metal wiring layer, it is judged whether the first wiring segment and the second wiring segment intersect. If it is determined that they do not intersect, step S204 is executed. If it is determined that they intersect, it is further judged whether the preset intersection condition is satisfied. If the preset intersection condition is not satisfied, step S203 is executed. If the preset intersection condition is satisfied, it is further judged whether the line width of the first wiring segment and the line width of the second wiring segment are the same. If they are not the same, step S203 is executed. If they are the same, it is further judged whether the type of the first wiring segment and the type of the second wiring segment are the same. If they are not the same, step S203 is executed. If they are the same, step S202 is executed. Of course, multiple conditions can also be judged in other orders in sequence, and the embodiments of the present disclosure are not limited to this.
[0083] The method provided by the embodiment of the present disclosure adopts a suitable method to merge the first wiring segment and the second wiring segment according to the conditions satisfied by the first wiring segment and the second wiring segment. The method is not limited to a single method. If the two wiring segments can be merged into a continuous regular wiring segment, the two wiring segments are preferentially merged into a continuous regular wiring segment. If the two wiring segments cannot be merged into a continuous regular wiring segment and can be merged, the two wiring segments are merged into a polygon.
[0084] In some embodiments, a preset wiring segment set is provided, and the preset wiring segment set includes a plurality of wiring segments to be merged. A first wiring segment and a second wiring segment can be selected from the preset wiring segment set, and the first wiring segment and the second wiring segment are any two wiring segments in the preset wiring segment set.
[0085] In some embodiments, after the target wiring segment is obtained by merging, the first wiring segment and the second wiring segment in the preset wiring segment set are deleted, and the target wiring segment is added to the preset wiring segment set. After the target wiring segment is added to the preset wiring segment set, if there are still multiple wiring segments in the preset wiring segment set, the above implementation will continue to be used for merging until there is only one wiring segment in the preset wiring segment set, or the multiple wiring segments in the preset wiring segment set cannot be merged with each other, to obtain the final merging result.
[0086] In one example, see Figure 3 The schematic diagram of the wiring segments before and after merging is shown. Figure 3 In the example, the wiring segments 1, 2 and 3 to be merged are taken as examples. Figure 3 It can be seen that the center line 1 included in wiring segment 1 is aligned with the center line 2 included in wiring segment 2, the end point of center line 1 intersects with the starting point of center line 2, wiring segment 2 and wiring segment 3 cross, and the end point of center line 2 intersects with the starting point of center line 3 included in wiring segment 3. Therefore, the above implementation method can be adopted in the merging process, and wiring segment 1 can be merged with wiring segment 2 first, and then the wiring segment obtained by merging wiring segment 1 and wiring segment 2 can be merged with wiring segment 3 to obtain the final merged wiring segment 4. Alternatively, wiring segment 2 can be merged with wiring segment 3 first, and then the wiring segment obtained by merging wiring segment 2 and wiring segment 3 can be merged with wiring segment 1 to obtain the final merged wiring segment 4.
[0087] In addition, in some embodiments, during the merging process, if it is determined that the first wiring segment and the second wiring segment cannot be merged into a continuous regular wiring segment, and there are other wiring segments in the preset wiring segment set, the third wiring segment can be further selected from the preset wiring segment set, and the third wiring segment is used as a new first wiring segment or a new second wiring segment, and the above implementation method is continued to be used for merging. If the first wiring segment and other wiring segments in the preset wiring segment set cannot be merged into a continuous regular wiring segment, the first wiring segment and the other wiring segments are merged into a polygon or not merged, and the second wiring segment is the same. That is to say, for each wiring segment in the preset wiring segment set, it is necessary to traverse the other wiring segments in the preset wiring segment set. If the two wiring segments can be merged into a continuous regular wiring segment, the two wiring segments are preferentially merged into a continuous regular wiring segment. If the two wiring segments cannot be merged into a continuous regular wiring segment, they are merged into a polygon or not merged.
[0088] Figure 4 is a flowchart of a wiring merging method according to an exemplary embodiment, which is executed by a computer device, see Figure 4 , the method comprises the following steps:
[0089] Step S401, creating a preset wiring segment set.
[0090] The preset wiring segment set may be a figVec container.
[0091] Step S402 , traverse the preset wiring segment set, and select the first wiring segment path1 from the preset wiring segment set.
[0092] Step S403, based on path1, determine whether there is a second wiring segment path2 in the preset wiring segment set, if path2 is in the preset wiring segment set, execute step S404, if path2 is not in the preset wiring segment set, execute step S418.
[0093] Step S404, determine whether path1 and path2 are located in the same metal wiring layer. If path1 and path2 are located in the same metal wiring layer, execute step S405; if path1 and path2 are not located in the same metal wiring layer, execute step S417.
[0094] Step S405, determine whether path1 and path2 intersect, if path1 and path2 intersect, execute step S406, if path1 and path2 do not intersect, execute step S417.
[0095] Step S406, determine whether path1 and path2 intersect vertically or parallelly. If path1 and path2 intersect vertically, execute step S407; if path1 and path2 intersect parallelly, execute step S408.
[0096] Among them, perpendicular intersection means that the angle formed by the intersection of two wiring segments is greater than 0 degree, and parallel intersection means that the two wiring segments are located on the same parallel line, that is, the angle formed by the intersection of the two lines is 0 degree.
[0097] Step S407, determine whether path1 and path2 are cross-intersecting, if path1 and path2 are cross-intersecting, execute step S409, if path1 and path2 are not cross-intersecting, execute step S416.
[0098] Step S408, determine whether the first center line included in path1 and the second center line included in path2 are aligned. If the first center line and the second center line are aligned, execute step S409; if the first center line and the second center line are not aligned, execute step S416.
[0099] Step S409, determine whether the line width of path1 is the same as the line width of path2. If the line width of path1 is the same as the line width of path2, execute step S410; if the line width of path1 is different from the line width of path2, execute step S416.
[0100] Step S410, determine whether the type of path1 is the same as the type of path2. If the type of path1 is the same as the type of path2, execute step S411; if the type of path1 is different from the type of path2, execute step S416.
[0101] Step S411, determine the intersection state of path1 and path2, the intersection state includes any one of the intersection of the starting point of the first centerline and the starting point of the second centerline, the intersection of the starting point of the first centerline and the end point of the second centerline, the intersection of the end point of the first centerline and the starting point of the second centerline, and the intersection of the end point of the first centerline and the end point of the second centerline.
[0102] Step S412, obtaining the intersection point of path1 and path2 in the intersection state.
[0103] Step S413, replacing the two points where the first center line and the second center line intersect with the intersection points.
[0104] Step S414, merging path1 and path2 into a target routing segment.
[0105] Step S415, deleting path1 and path2 in the preset routing segment set, and adding the target routing segment to the preset routing segment set, and then executing step S418.
[0106] Step S416, merge path1 and path2 into a polygon, and then execute step S418.
[0107] Step S417, determine that path1 and path2 cannot be merged, and then execute step S418.
[0108] Step S418, obtaining the merging result of multiple wiring segments in the preset wiring segment set, and then executing step S402, until there is no wiring segment that can be synthesized in the preset wiring segment set, and then the process ends.
[0109] Figure 5 is a block diagram of a wiring merging device according to an exemplary embodiment, which is configured in a computer device, see Figure 5 , the device comprises:
[0110] A wiring segment determination module 501 is configured to determine a first wiring segment and a second wiring segment to be merged;
[0111] The intersection state determination module 502 is configured to determine the intersection state of the first wiring segment and the second wiring segment when the first wiring segment and the second wiring segment meet a preset merging condition, the preset merging condition is used to characterize the conditions that must be met when the two wiring segments can be merged into one wiring segment, and the intersection state is used to characterize that the first target point and the second target point intersect, the first target point is the starting point or the end point of the first center line included in the first wiring segment, and the second target point is the starting point or the end point of the second center line included in the second wiring segment;
[0112] The wiring merging module 503 is configured to merge the first wiring segment and the second wiring segment into a target wiring segment based on an intersection point of the first wiring segment and the second wiring segment in an intersecting state.
[0113] In some embodiments, the routing merging module 503 is configured to:
[0114] Replacing the first target point and the second target point with the intersection point to obtain a replaced first target point and a replaced second target point;
[0115] Based on the replaced first target point, the replaced second target point, the third target point and the fourth target point, the first routing segment and the second routing segment are merged into a target routing segment, the third target point is another point between the starting point and the end point of the first center line except the first target point, and the fourth target point is another point between the starting point and the end point of the second center line except the second target point.
[0116] In some embodiments, the preset merging conditions include:
[0117] The first wiring segment and the second wiring segment intersect and meet a preset intersection condition, wherein the preset intersection condition includes that the first wiring segment and the second wiring segment cross each other, or the first center line and the second center line are aligned;
[0118] The first wiring segment and the second wiring segment are located in the same metal wiring layer;
[0119] The line width of the first wiring segment is the same as the line width of the second wiring segment;
[0120] The type of the first wiring segment is the same as the type of the second wiring segment.
[0121] In some embodiments, the routing merging module 503 is further configured to:
[0122] When the first wiring segment and the second wiring segment do not intersect, and / or the first wiring segment and the second wiring segment are not located in the same metal wiring layer, it is determined that the first wiring segment and the second wiring segment cannot be merged.
[0123] In some embodiments, the routing merging module 503 is further configured to:
[0124] When a first wiring segment and a second wiring segment intersect, and the first wiring segment and the second wiring segment are located in the same metal wiring layer, if the first wiring segment and the second wiring segment do not meet a preset intersection condition, a line width of the first wiring segment and a line width of the second wiring segment are different, or a type of the first wiring segment and a type of the second wiring segment are different, the first wiring segment and the second wiring segment are merged into a polygon.
[0125] In some embodiments, the apparatus further comprises:
[0126] A coordinate acquisition module is configured to acquire a first coordinate, a second coordinate, a third coordinate, and a fourth coordinate, wherein the first coordinate is the coordinate of the starting point of the first center line, the second coordinate is the coordinate of the end point of the first center line, the third coordinate is the coordinate of the starting point of the second center line, and the fourth coordinate is the coordinate of the end point of the second center line;
[0127] The intersection state determination module 502 is configured to perform any of the following:
[0128] When the distance between the first coordinate and the third coordinate is less than a preset threshold, determining that the starting point of the first center line intersects with the starting point of the second center line;
[0129] When the distance between the first coordinate and the fourth coordinate is less than a preset threshold, determining that the starting point of the first center line intersects with the end point of the second center line;
[0130] When the distance between the second coordinate and the third coordinate is less than a preset threshold, determining that the end point of the first center line intersects the starting point of the second center line;
[0131] When the distance between the second coordinate and the fourth coordinate is less than a preset threshold, the end point of the first center line intersects with the end point of the second center line;
[0132] The preset threshold is half of the preset line width, and the line widths of the first center line and the second center line are both the preset line widths.
[0133] In some embodiments, the wiring segment determination module 501 is configured to:
[0134] A first wiring segment and a second wiring segment are selected from a preset wiring segment set, where the preset wiring segment set includes a plurality of wiring segments to be merged.
[0135] The wiring segment management module is configured to delete the first wiring segment and the second wiring segment in the preset wiring segment set, and add the target wiring segment to the preset wiring segment set.
[0136] Each module in the wiring merging device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.
[0137] In an exemplary embodiment, a computer device is provided, including a processor and a memory, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of any of the above wiring merging methods are implemented.
[0138] In an exemplary embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the steps of any of the above wiring merging methods are implemented. The computer readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
[0139] In an exemplary embodiment, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps of any of the above wiring merging methods are implemented.
[0140] refer to Figure 6 , a block diagram of a computer device that can be used as the present disclosure will now be described, the computer device includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 to a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the computer device 600 can also be stored. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0141] A plurality of components in the computer device 600 are connected to the I / O interface 605, including: an input unit 606, an output unit 607, a storage unit 608, and a communication unit 609. The input unit 606 may be any type of device capable of inputting information to the computer device 600, the input unit 606 may receive input digital or character information, and generate key signal inputs related to user settings and / or function control of the computer device 600, and may include but is not limited to a mouse, a keyboard, a touch screen, a track pad, a track ball, a joystick, a microphone, and / or a remote controller. The output unit 607 may be any type of device capable of presenting information, and may include but is not limited to a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 608 may include but is not limited to a disk, an optical disk. The communication unit 609 allows the computer device 600 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks, and may 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 Bluetooth™ device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.
[0142] The computing unit 601 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 601 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, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 601 performs the various methods and processes described above, such as the wiring merging method. For example, in some embodiments, the wiring merging method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on the computer device 600 via ROM 602 and / or a communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the wiring merging method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the wiring merging method in any other appropriate manner (e.g., by means of firmware).
[0143] The computer device 600 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 to execute the above-mentioned wiring merging method.
[0144] Those skilled in the art will readily appreciate other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses or adaptations of the present invention that follow the general principles of the present invention and include common knowledge or customary techniques in the art that are not disclosed in this disclosure. The specification and examples are to be considered as exemplary only, and the true scope and spirit of the present invention are indicated by the following claims.
[0145] It should be understood that the present invention is not limited to the exact construction that has been described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.
Claims
1. A wiring merging method, characterized in that: The method comprises: Determine a first wiring segment and a second wiring segment to be merged; When the first wiring segment and the second wiring segment meet a preset merging condition, determining an intersection state of the first wiring segment and the second wiring segment, the preset merging condition is used to characterize a condition that must be met when two wiring segments can be merged into one wiring segment, and the intersection state is used to characterize that a first target point and a second target point intersect, the first target point being a starting point or an end point of a first center line included in the first wiring segment, and the second target point being a starting point or an end point of a second center line included in the second wiring segment; Based on an intersection point of the first routing segment and the second routing segment in the intersection state, the first routing segment and the second routing segment are merged into a target routing segment.
2. The wiring merging method according to claim 1, characterized in that: The merging the first wiring segment and the second wiring segment into a target wiring segment based on the intersection point of the first wiring segment and the second wiring segment in the intersection state includes: Replacing the first target point and the second target point with the intersection point to obtain a replaced first target point and a replaced second target point; Based on the replaced first target point, the replaced second target point, the third target point and the fourth target point, the first routing segment and the second routing segment are merged into the target routing segment, the third target point is another point between the starting point and the end point of the first center line except the first target point, and the fourth target point is another point between the starting point and the end point of the second center line except the second target point.
3. The wiring merging method according to claim 1, characterized in that: The preset merging conditions include: The first wiring segment and the second wiring segment intersect and meet a preset intersection condition, wherein the preset intersection condition includes that the first wiring segment and the second wiring segment cross each other, or the first center line and the second center line are aligned; The first wiring segment and the second wiring segment are located in the same metal wiring layer; The line width of the first wiring segment is the same as the line width of the second wiring segment; The type of the first wiring segment is the same as the type of the second wiring segment.
4. The wiring merging method according to claim 3, characterized in that: The method further comprises: When the first wiring segment and the second wiring segment do not intersect, and / or the first wiring segment and the second wiring segment are not located in the same metal wiring layer, it is determined that the first wiring segment and the second wiring segment cannot be merged.
5. The wiring merging method according to claim 3, characterized in that: The method further comprises: When the first wiring segment and the second wiring segment intersect, and the first wiring segment and the second wiring segment are located in the same metal wiring layer, if the first wiring segment and the second wiring segment do not meet the preset intersection condition, the line width of the first wiring segment is different from the line width of the second wiring segment, or the type of the first wiring segment is different from the type of the second wiring segment, the first wiring segment and the second wiring segment are merged into a polygon.
6. The wiring merging method according to claim 1, characterized in that: The method further comprises: Obtain a first coordinate, a second coordinate, a third coordinate, and a fourth coordinate, wherein the first coordinate is the coordinate of the starting point of the first center line, the second coordinate is the coordinate of the end point of the first center line, the third coordinate is the coordinate of the starting point of the second center line, and the fourth coordinate is the coordinate of the end point of the second center line; The determining of the intersection state of the first wiring segment and the second wiring segment includes any one of the following: When the distance between the first coordinate and the third coordinate is less than a preset threshold, determining that the starting point of the first center line intersects with the starting point of the second center line; When the distance between the first coordinate and the fourth coordinate is less than a preset threshold, determining that the starting point of the first center line intersects with the end point of the second center line; When the distance between the second coordinate and the third coordinate is less than a preset threshold, determining that the end point of the first center line intersects the starting point of the second center line; When the distance between the second coordinate and the fourth coordinate is less than a preset threshold, the end point of the first center line intersects with the end point of the second center line; The preset threshold is half of a preset line width, and the line widths of the first center line and the second center line are both the preset line widths.
7. The wiring merging method according to claim 1, characterized in that: The determining of the first wiring segment and the second wiring segment comprises: The first wiring segment and the second wiring segment are selected from a preset wiring segment set, where the preset wiring segment set includes a plurality of wiring segments to be merged. After merging the first wiring segment and the second wiring segment into a target wiring segment, the method further includes: The first routing segment and the second routing segment in the preset routing segment set are deleted, and the target routing segment is added to the preset routing segment set.
8. A wiring merging device, characterized in that: The photographing device comprises: A wiring segment determination module, configured to determine a first wiring segment and a second wiring segment to be merged; an intersection state determination module, configured to determine the intersection state of the first wiring segment and the second wiring segment when the first wiring segment and the second wiring segment meet a preset merging condition, the preset merging condition is used to characterize the conditions that must be met when two wiring segments can be merged into one wiring segment, the intersection state is used to characterize the intersection of a first target point and a second target point, the first target point is a starting point or an end point of a first center line included in the first wiring segment, and the second target point is a starting point or an end point of a second center line included in the second wiring segment; The wiring merging module is configured to merge the first wiring segment and the second wiring segment into a target wiring segment based on an intersection point of the first wiring segment and the second wiring segment in the intersection state.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the wiring merging 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 wiring merging method according to any one of claims 1 to 7 are implemented.