Method, device, medium and equipment for adjusting multi-segment layout of circuit layout trace

By automatically adjusting the normal movement and merging of target line segments and parallel line segments in circuit layout design, the low efficiency problem of manually adjusting parallel line segments in the prior art is solved, and the routing efficiency and automation level are improved.

CN122287526APending Publication Date: 2026-06-26ORIGIN QUANTUM INSTR CO
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ORIGIN QUANTUM INSTR CO
Filing Date
2024-12-17
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Existing technologies require manual adjustment of conflicting parallel segments when routing traces in a moving circuit layout, resulting in low routing efficiency, especially when multiple segments conflict, which is time-consuming and labor-intensive.

Method used

By determining the target line segment and its displacement point, and automatically adjusting multiple parallel pushing line segments as it moves in the normal direction, including sorting and finding unconnected pushing line segments as comparison segments, and merging them with merging line segments during the movement, until the target line segment and the displacement point are collinear, the slope and connection relationship of the line segments remain unchanged.

Benefits of technology

It enables automatic adjustment of other conflicting parallel segments when moving a line segment, improving layout routing efficiency and reducing manual operation time and labor intensity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122287526A_ABST
    Figure CN122287526A_ABST
Patent Text Reader

Abstract

This invention discloses a method, apparatus, medium, and device for adjusting the multi-segment layout of circuit diagram traces. The method includes: determining a target line segment and its displacement point, and multiple pushing lines parallel to the target line segment located on the target line segment's movement path, wherein the slope and connection relationship of the preceding and following line segments remain unchanged during the target line segment's movement; selecting the pushing line segment closest to the target line segment as a comparison line segment, and sorting the pushing line segments according to a preset order; sequentially finding pushing line segments whose inflection points with the comparison line segments are not all located on opposite sides of each other as new comparison line segments, and selecting the other pushing line segments as merged line segments; sequentially moving each comparison line segment in the normal direction to a preset distance beyond the displacement point, and merging the two when it connects with the merged line segment during the movement; and moving the target line segment in the normal direction until it is collinear with the displacement point. This invention can automatically move other conflicting parallel line segments during the movement of the target line segment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of circuit layout design, and in particular to a method, apparatus, medium, and device for adjusting the multi-segment layout of circuit layout traces. Background Technology

[0002] In circuit layout design, after drawing the layout graphics of components, pads, and other circuit entities, it is necessary to arrange polygonal traces between the connection points of each layout graphic to represent the circuit connection relationship. Existing routing methods include manual routing and automatic routing. Manual routing is done by designers manually, while automatic routing is performed automatically by software according to pre-set routing rules.

[0003] However, regardless of the routing method used, the final traces are rarely able to fully meet requirements for signal integrity, power distribution, timing, and area constraints, necessitating local adjustments by designers. In some scenarios, it's necessary to move the position of a trace segment, but this movement may conflict with other parallel segments. Therefore, the positions of the conflicting parallel segments must be moved first. Currently, existing layout design software does not support automatically moving other conflicting parallel segments when moving a trace segment, so this must be done manually by the designer. If there are many such parallel segments, the moving operation will be very time-consuming and laborious, resulting in low layout routing efficiency. Summary of the Invention

[0004] The purpose of this invention is to provide a method, apparatus, storage medium, and electronic device for adjusting the multi-segment layout of circuit layout traces, so as to solve the problem that in the prior art, other conflicting parallel segments need to be manually moved when moving trace segments, and can automatically move other conflicting parallel segments when moving trace segments, thereby improving the efficiency of circuit layout routing.

[0005] To solve the above technical problems, the present invention provides a method for adjusting the multi-segment layout of circuit layout traces, comprising:

[0006] Determine the target line segment and its displacement point on the circuit layout trace, as well as multiple pushing line segments that are parallel to the target line segment and belong to the same trace on the moving path of the target line segment moving in the normal direction to the collinearity with the displacement point. When the target line segment moves, the slope and connection relationship of the line segments before and after remain unchanged.

[0007] The pushing line segment closest to the target line segment is used as the comparison line segment, and the pushing line segments are sorted according to a preset order;

[0008] Sequentially identify the pushing line segments whose inflection points with the comparison line segments are not all located on opposite sides of each other, and use the other pushing line segments as merged line segments.

[0009] Each of the comparison line segments is moved sequentially in the normal direction, and when it connects with the merged line segment during the movement, the two are merged until the comparison line segment crosses the preset distance of the displacement point;

[0010] Move the target line segment along the normal direction until it is collinear with the displacement point.

[0011] Preferably, the step of sequentially searching for pushing segments whose inflection points with the comparison segments are not all located on opposite sides of each other as new comparison segments includes:

[0012] Select the current pushing line segment from the plurality of pushing line segments in sequence;

[0013] Obtain the inflection point between the current pushing line segment and each of the comparison line segments;

[0014] Project the current pushing line segment and each of the comparison line segments onto a reference line perpendicular to the target line segment to obtain the projection point interval;

[0015] Detect whether the projections of the inflection points onto the reference line are all located within each projection point interval;

[0016] If not all of them are located within each of the projection point intervals, it is determined that not all of the inflection points are located on the opposite side of the current pushing line segment and the corresponding comparison line segment;

[0017] The current pushing line segment is used as the new comparison line segment. The next pushing line segment is selected according to the preset order to replace the current pushing line segment, and the step of obtaining the inflection point between the current pushing line segment and each comparison line segment is repeated.

[0018] Preferably, the step of sequentially searching for pushing segments whose inflection points with the comparison segments are not all located on opposite sides of each other as new comparison segments further includes:

[0019] If all points are located within each of the projection point intervals, then all the inflection points are located on the opposite side of the current pushing line segment and the corresponding comparison line segment.

[0020] Select the next pushing line segment in the preset order to replace the current pushing line segment, and repeat the step of obtaining the inflection point between the current pushing line segment and each comparison line segment.

[0021] Preferably, the preset sequence is the connection sequence starting from the start point or end point of the wiring.

[0022] Preferably, when there are multiple pushing segments closest to the target segment, the comparison segment is either a random one or the pushing segment that is ranked first according to the preset order.

[0023] Preferably, the step of sequentially moving each of the comparison line segments in the normal direction, and merging the two when they connect with the merging line segment during the movement, until the comparison line segment crosses the preset distance of the displacement point, further includes:

[0024] After all the comparison segments have been moved, the connected comparison segments are merged.

[0025] Preferably, the distance between the pushing line segment and the target line segment is the difference between the intercept of the straight line containing the pushing line segment and the intercept of the straight line containing the target line segment.

[0026] To solve the above-mentioned technical problems, the present invention also provides a multi-segment layout adjustment device for circuit layout traces, comprising:

[0027] The determination module is used to determine the target line segment and its displacement point on the circuit layout trace, as well as multiple pushing line segments that are parallel to the target line segment and belong to the same trace on the moving path of the target line segment moving in the normal direction to the collinearity with the displacement point. When the target line segment moves, the slope and connection relationship of the line segments before and after remain unchanged.

[0028] The sorting module is used to take the pushing line segment closest to the target line segment as the comparison line segment and sort the pushing line segments according to a preset order;

[0029] The search module is used to sequentially search for push segments that are not connected to the comparison segments as new comparison segments, and after the search is completed, to use the push segments that are not used as comparison segments as merged segments.

[0030] The first moving module is used to move each of the comparison line segments in sequence in the normal direction, and merge the two when they are connected with the merging line segment during the movement, until the comparison line segment crosses the preset distance of the displacement point;

[0031] The second moving module is used to move the target line segment in the normal direction until it is collinear with the displacement point.

[0032] To address the aforementioned technical problems, the present invention also provides a storage medium storing a computer program configured to execute the multi-segment layout adjustment method for circuit layout traces as described in any of the preceding claims during runtime.

[0033] To address the aforementioned technical problems, the present invention also provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the multi-segment layout adjustment method for circuit layout traces as described in any of the preceding claims.

[0034] Unlike existing technologies, the multi-segment layout adjustment method for circuit layout provided by this invention, after determining the target segment and its displacement point, and multiple push segments parallel to the target segment and belonging to the same trace on the movement path of the target segment, first uses the push segment closest to the target segment as the comparison segment and sorts the push segments. Then, it sequentially searches for push segments that are not connected to the comparison segment as new comparison segments. After the search is completed, push segments that are not used as comparison segments are used as merged segments. Then, each comparison segment is moved sequentially in the normal direction. When it connects with a merged segment during the movement, the two are merged until the comparison segment crosses the preset distance of the displacement point. Finally, the target segment is moved in the normal direction until it is collinear with the displacement point. Thus, this invention can automatically draw and delete the corresponding segments when moving the trace inflection point, and can keep the corresponding segments at a specified slope, thereby improving the efficiency of layout routing. This invention can automatically move other conflicting parallel line segments when moving line segments, thereby improving layout routing efficiency.

[0035] The circuit layout adjustment device, storage medium, and electronic device provided by this invention are of the same inventive concept as the circuit layout adjustment method, and therefore have the same beneficial effects, which will not be elaborated here. Attached Figure Description

[0036] Figure 1 This is a flowchart illustrating the method for adjusting the multi-segment layout of circuit layout traces provided in an embodiment of the present invention.

[0037] Figure 2 This is a schematic diagram of the target line segment, its displacement point, and the pushing line segment.

[0038] Figure 3 This is a diagram illustrating the distance between the pushing line segment and the target line segment.

[0039] Figure 4 This is a diagram comparing line segments before and after merging.

[0040] Figure 5 This is a diagram showing the end of the movement of all the comparison line segments.

[0041] Figure 6 This is a schematic diagram showing the target line segment before and after its movement.

[0042] Figure 7This is a schematic diagram illustrating the process of finding line segments for comparison.

[0043] Figure 8 for Figure 2 A schematic diagram of the projections of the pushing line segment T4 and the comparison line segment T2 onto the reference line K.

[0044] Figure 9 for Figure 2 A schematic diagram of the projections of the pushing line segment T1 and the comparison line segment T2 onto the reference line K.

[0045] Figure 10 This is a schematic diagram showing the difference between two line segments before and after merging, in another application.

[0046] Figure 11 A schematic diagram of a multi-segment layout adjustment device for circuit layout traces provided in another embodiment of the present invention. Detailed Implementation

[0047] The specific embodiments of the present invention will now be described in more detail with reference to the accompanying drawings. The advantages and features of the present invention will become clearer from the following description and claims. It should be noted that the drawings are all in a very simplified form and use non-precise proportions, and are only used to facilitate and clarify the illustration of the embodiments of the present invention.

[0048] In the description of this invention, it should be understood that the terms "center", "upper", "lower", "left", "right", etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention.

[0049] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this invention, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0050] Please refer to Figure 1 This invention provides a method for adjusting the multi-segment layout of circuit diagram traces, the method comprising the following steps:

[0051] S1: Determine the target line segment and its displacement point on the circuit layout trace, as well as multiple pushing line segments that are parallel to the target line segment and belong to the same trace on the moving path of the target line segment moving in the normal direction to the collinearity with the displacement point. When the target line segment moves, the slope and connection relationship of the line segments before and after remain unchanged.

[0052] In circuit routing design, traces are often designed as zigzag lines. This design has many advantages, such as reducing signal interference during transmission, improving circuit reliability, and saving routing space. A target segment is a segment within the trace. The target segment can be determined based on external input, such as when a user selects a segment of the trace using a mouse, thus designating it as the target segment.

[0053] A displacement point is a coordinate point in a circuit layout used to indicate the direction and distance of movement of a target line segment along its normal direction. In other words, after the target line segment moves along its normal direction by the specified distance, it becomes collinear with the displacement point, meaning it lies on the same line as the displacement point. Displacement points can be determined in various ways, such as by using the mouse cursor position in response to a mouse click, or by having the user input coordinates to determine the displacement point.

[0054] Multiple pushing segments are segments that intersect with the target segment during its movement. These segments are located on the target segment's path of movement. In other words, each pushing segment is at least partially located within a closed area bounded by the straight lines of the segments before and after the target segment, the straight line of the target segment, and the straight line that passes through the displacement point and is parallel to the target segment.

[0055] As the target line segment moves, since the slope and connection relationship of the line segments before and after the target line segment remain unchanged, the length of the line segments before and after the target line segment will become shorter or longer as the target line segment moves. At the same time, the length of the target line segment will also become shorter or longer accordingly.

[0056] like Figure 2 The diagram shows the target line segment, its displacement point, and the pushing line segments. The target line segment H is a line segment that travels along a path. The displacement point P is located on one side of the target line segment H. The four pushing line segments T are located on the movement path of the target line segment H. This movement path is a closed area (the area enclosed by the dashed line in the diagram) formed by the straight line containing the target line segment H, the straight line containing the preceding line segment H1, the straight line containing the following line segment H2, and the straight line passing through the displacement point P and parallel to the target line segment H. The target line segment H moves according to the movement path, ensuring that the slope and connection relationship of the preceding line segment H1 and the following line segment H2 remain unchanged.

[0057] S2: Select the pushing line segment closest to the target line segment as the comparison line segment, and sort the pushing line segments according to the preset order.

[0058] Since multiple pushing segments are parallel to the target segment, the distance between the pushing segments and the target segment can be determined. By comparing these distances, the pushing segment closest to the target segment can be identified and used as the comparison segment. Figure 2As shown, the pushing line segment T that is closest to the target line segment H is the second pushing line segment.

[0059] When sorting the pushed line segments, a preset order can be set according to actual needs. For example, the preset order can be the connection order starting from the beginning or end of the route. Figure 2 As shown, the preset order is the connection order starting from the left end of the routing line. Therefore, the order of the four pushing line segments T is T1, T2, T3, and T4. However, there are other line segments belonging to the routing line between pushing line segments T3 and T4.

[0060] If there are multiple pushing segments that are closest to the target segment, the comparison segment can be a random one or the pushing segment that is ranked first in a preset order.

[0061] In this embodiment, the distance between the pushing line segment and the target line segment is the difference between the intercept of the line containing the pushing line segment and the intercept of the line containing the target line segment.

[0062] like Figure 3 The diagram illustrates the distance between the pushing line segment and the target line segment. The intercept of the line containing the pushing line segment T1 is the distance from the intersection of the line containing T1 and the Y-axis to the zero point of the coordinate system. Similarly, the intercept of the line containing the target line segment H is the distance from the intersection of the line containing H and the Y-axis to the zero point of the coordinate system. The difference between the two intercepts is the distance between the pushing line segment T1 and the target line segment H. Of course, if the pushing line segment T1 and the target line segment H are parallel to the Y-axis, then the intercept needs to be calculated on the X-axis.

[0063] S3: Sequentially find the pushing segments whose inflection points with the comparison segments are not all located on opposite sides of each other, and use them as new comparison segments. Then, use the other pushing segments as merged segments.

[0064] Since the pushing segments are sorted, each pushing segment is checked sequentially against a comparison segment. The inflection point between them is checked to see if it lies on opposite sides. If not, it is treated as a new comparison segment, and the process continues with the next pushing segment. This process is repeated until the last pushing segment is checked. The remaining pushing segments that were not considered comparison segments are merged. It should be noted that the inflection point between a pushing segment and a comparison segment is the endpoint of the other segment they connect.

[0065] It should be noted that as the detection proceeds, the number of comparison segments increases. The pushing segments that are ranked lower may need to be detected with multiple comparison segments. In other words, in the end, some of the multiple pushing segments are used as comparison segments, and others are used as merged segments.

[0066] like Figure 2 As shown, the inflection point between the pushing segment T1 and the comparison segment T2 is located on opposite sides of each other, so it will not be considered a comparison segment. Similarly, the pushing segment T2 will not be considered a comparison segment either. The inflection points between the pushing segment T4 and the comparison segment T2 are not connected, and not all the inflection points between the pushing segment T4 and the comparison segment T2 are located on opposite sides of each other. Therefore, the pushing segment T4 is considered a comparison segment. After the detection is completed, the pushing segments T1 and T3 are considered as merged segments.

[0067] S4: Move each comparison line segment in sequence along the normal direction, and merge the two when they are connected to the merging line segment during the movement, until the comparison line segment crosses the preset distance of the displacement point.

[0068] During the process of the comparison line segment moving towards the displacement point in the normal direction, the slope and connection relationship of the line segments before and after the comparison line segment remain unchanged. Then the comparison line segment may be connected with the merged line segment. At this time, the comparison line segment merges with the merged line segment, which is equivalent to the length of the comparison line segment becoming longer. The comparison line segment continues to move until the comparison line segment crosses the displacement point and is separated from the displacement point by a preset distance.

[0069] The preset distance can be set according to actual needs, representing the minimum spacing between different wiring routes.

[0070] like Figure 4 The diagram shows the comparison line segment T2 before and after merging with the merging line segment. The upper part of the diagram shows the comparison line segment T2 before it moves, and the lower part shows the comparison line segment T2 after it moves a certain distance and merges with the merging line segment T3. During the movement of the comparison line segment T2, the slope and connection relationship of the preceding and following line segments remain unchanged. Therefore, the length of the comparison line segment T2 increases, while the lengths of the preceding and following line segments decrease. After a certain distance, the length of the following line segment becomes zero, which is equivalent to the comparison line segment T2 connecting with the merging line segment T3. Therefore, the comparison line segment T2 merges with the merging line segment T3, and the length of the comparison line segment T2 becomes the sum of the two.

[0071] See also Figure 4 and Figure 5 , Figure 5 This is a schematic diagram showing the state after all the comparison line segments have moved. The upper part of the diagram shows comparison line segment T2 after moving a certain distance, and the lower part shows comparison line segments T2 and T4 after moving beyond the preset distance d from the displacement point. During its movement, comparison line segment T2 merges with merging line segments T1 and T3, while comparison line segment T4 does not merge with any merging line segments. Ultimately, both comparison line segments T2 and T4 cross the displacement point and are separated from it by the preset distance d.

[0072] S5: Move the target line segment along the normal direction until it is collinear with the displacement point.

[0073] Since all the pushing segments are no longer on the target segment's path, the target segment will not encounter any conflict or obstruction in its normal direction, and thus will move to be collinear with the displacement point. During the movement towards the associated segment, because the slopes and connections of the preceding and following segments of the target segment remain unchanged, the lengths of the preceding and following segments of the target segment will decrease or increase as the target segment moves. Furthermore, because the endpoints of the target segment will change position with the preceding and following segments, the length of the target segment will also decrease or increase.

[0074] Please refer to the following: Figure 5 and Figure 6 , Figure 6 This is a schematic diagram of the target line segment before and after its movement. The upper part of the diagram shows the target line segment H before its movement, and the lower part shows the target line segment H after its movement. During the movement of the target line segment H, the slope and connection relationship of the line segments before and after the movement remain unchanged, and the length of the target line segment H gradually shortens until it is collinear with the displacement point P.

[0075] Through the above-described method, the multi-segment layout adjustment method for circuit layout provided in this embodiment of the invention, after determining the target segment and its displacement point, and multiple pushing segments parallel to the target segment and belonging to the same trace on the movement path of the target segment, first uses the pushing segment closest to the target segment as the comparison segment, and sorts the pushing segments. Then, it sequentially searches for pushing segments not connected to the comparison segment as new comparison segments. After the search is completed, the pushing segments not used as comparison segments are used as merged segments. Then, each comparison segment is moved sequentially in the normal direction, and when it connects with a merged segment during the movement, the two are merged until the comparison segment crosses a preset distance from the displacement point. Finally, the target segment is moved in the normal direction until it is collinear with the displacement point. Therefore, this invention can automatically draw and delete corresponding segments when moving trace inflection points, and can maintain the specified slope of the corresponding segments, thus improving layout routing efficiency. This invention can also automatically move other conflicting parallel segments when moving segments, improving layout routing efficiency.

[0076] In the embodiments of this application, please refer to Figure 7 This is a flowchart illustrating the process of finding the comparison segment. The steps of sequentially searching for the pushing segment whose inflection points with the comparison segment are not all located on opposite sides of each other, and then selecting this as the new comparison segment, include:

[0077] S31: Select the current pushing segment from multiple pushing segments in sequence.

[0078] S32: Get the inflection point between the current pushing line segment and each comparison line segment.

[0079] S33: Project the current pushing line segment and each comparison line segment onto the reference line perpendicular to the target line segment to obtain the projection point interval.

[0080] In this system, the projections of both the current pushing line segment and the comparison line segment onto the reference line are both points, and the two projection points together form a projection point interval. If there are multiple comparison line segments, then multiple projection point intervals will be obtained.

[0081] S34: Check whether the projection of the inflection point onto the reference line is entirely within the interval of each projection point.

[0082] There may be multiple inflection points between the current pushing line segment and the comparison line segment. Therefore, it is necessary to check whether the projections of these inflection points are all located within the interval of each projection point.

[0083] S35: If not all points are within the interval of each projection point, it is determined that the inflection point is not located on the opposite side of the current pushing line segment and the corresponding comparison line segment.

[0084] For any given projection point interval, if the projections of the aforementioned inflection points are not all located within that projection point interval, it can be determined that the inflection points are not all located on the opposite side of the current pushing line segment and the corresponding comparison line segment.

[0085] See also Figure 2 and Figure 8 , Figure 8 yes Figure 2 The diagram illustrates the projections of the pushing line segment T4 and the comparison line segment T2 onto the reference line K. Assume the current pushing line segment is T4, and the inflection points between T4 and the comparison line segment T2 are D4, D5, D6, D7, D8, and D9. The pushing line segment T1 and the comparison line segment T2 are projected onto the reference line K perpendicular to the target line segment H, resulting in a projection point interval S3. The projections of inflection points D5, D6, D7, and D8 onto the reference line K are not located within the projection point interval S3. Therefore, not all inflection points between the pushing line segment T4 and the comparison line segment T2 are located on the opposite side of T4 and T2.

[0086] S36: Take the current pushing line segment as the new comparison line segment, select the next pushing line segment in a preset order to replace the current pushing line segment, and repeat the step of obtaining the inflection point between the current pushing line segment and each comparison line segment.

[0087] Each pushing line segment is treated as the current pushing line segment, and the above steps are repeated until all pushing line segments are projected onto the reference line. Ultimately, some pushing line segments are used as comparison segments.

[0088] For further information, please refer to [link / reference]. Figure 7The step of sequentially searching for pushing segments whose inflection points with the comparison segments are not all located on opposite sides of each other as new comparison segments also includes:

[0089] S37: If all points are within the interval of each projection point, determine that all inflection points are located on the opposite side of the current pushing line segment and the corresponding comparison line segment.

[0090] For each projection point interval, as long as the projections of all the above-mentioned inflection points are located within any projection point interval, it can be determined that all the inflection points are located on the opposite side of the current pushing line segment and the comparison line segment.

[0091] See also Figure 2 and Figure 9 , Figure 9 yes Figure 2 The diagram illustrates the projections of the pushing line segment T1 and the comparison line segment T2 onto the reference line K. Assume the current pushing line segment is T1, and the inflection points between T1 and the comparison line segment T2 are D2 and D3. The pushing line segment T1 and the comparison line segment T2 are projected onto the reference line K perpendicular to the target line segment H, resulting in a projection point interval S1. The projections of the inflection points D2 and D3 onto the reference line K are all within the projection point interval S1. Therefore, it is determined that all the inflection points between the pushing line segment T1 and the comparison line segment T2 are located on opposite sides of each other.

[0092] S38: Select the next pushing line segment to replace the current pushing line segment according to the preset order, and repeat the step of obtaining the inflection point between the current pushing line segment and each comparison line segment.

[0093] In this process, each pushing segment is treated as the current pushing segment, and the above steps are repeated until all pushing segments are projected onto the reference line. Eventually, some pushing segments will be used as comparison segments. After the step of merging other pushing segments, the pushing segments that were not used as comparison segments become merged segments, such as... Figure 2 As shown, the pushing segments T1 and T2 become merged segments.

[0094] In this embodiment of the application, each comparison line segment is moved sequentially in the normal direction, and when it connects with a merging line segment during the movement, the two are merged until the comparison line segment crosses a preset distance from the displacement point, and the process further includes:

[0095] After all the comparison segments have been moved, the connected comparison segments are merged.

[0096] In this case, the comparison segment that moves later may connect with the comparison segment that moves earlier during the movement. In this case, the connected comparison segments can be merged.

[0097] like Figure 10The diagram shows a different application, illustrating the process of merging two comparison segments. The upper part of the diagram shows the comparison segment T2 after it has moved, and the lower part shows the comparison segment T4 after it has moved. After moving a preset distance d beyond the displacement point P, comparison segment T4 connects with comparison segment T2, thus merging the two. The length of the new comparison segment T4 becomes the sum of the lengths of the initial comparison segment T2 and the initial comparison segment T4.

[0098] Please refer to Figure 11 Another embodiment of the present invention also provides a multi-segment layout adjustment device for circuit layout traces, the device comprising:

[0099] The determination module 11 is used to determine the target line segment and its displacement point on the circuit layout trace, as well as multiple pushing line segments that are parallel to the target line segment and belong to the same trace, located on the movement path of the target line segment moving in the normal direction to be collinear with the displacement point. When the target line segment moves, the slope and connection relationship of the preceding and following line segments remain unchanged. In circuit routing design, traces are often designed as broken lines, which has many advantages, such as reducing signal interference during transmission, improving circuit reliability, and saving routing space. The target line segment is a line segment on the trace. The target line segment can be determined based on external input, such as when a user selects a line segment on a trace using the mouse, thus selecting it as the target line segment.

[0100] A displacement point is a coordinate point in a circuit layout used to indicate the direction and distance of movement of a target line segment along its normal direction. In other words, after the target line segment moves along its normal direction by the specified distance, it becomes collinear with the displacement point, meaning it lies on the same line as the displacement point. Displacement points can be determined in various ways, such as by using the mouse cursor position in response to a mouse click, or by having the user input coordinates to determine the displacement point.

[0101] Multiple pushing segments are segments that intersect with the target segment during its movement. These segments are located on the target segment's path of movement. In other words, each pushing segment is at least partially located within a closed area bounded by the straight lines of the segments before and after the target segment, the straight line of the target segment, and the straight line that passes through the displacement point and is parallel to the target segment.

[0102] As the target line segment moves, since the slope and connection relationship of the line segments before and after the target line segment remain unchanged, the length of the line segments before and after the target line segment will become shorter or longer as the target line segment moves. At the same time, the length of the target line segment will also become shorter or longer accordingly.

[0103] The sorting module 12 is used to select the pushing line segment closest to the target line segment as the comparison line segment and sort the pushing line segments according to a preset order. Since multiple pushing line segments are parallel to the target line segment, the distance between the pushing line segments and the target line segment can be determined. By comparing distances, the pushing line segment closest to the target line segment can be identified and used as the comparison line segment. If there are multiple pushing line segments closest to the target line segment, the comparison line segment can be a random one or the pushing line segment that appears first in the preset order.

[0104] The search module 13 sequentially searches for push segments that are not connected to the comparison segments and uses them as new comparison segments. After the search is complete, the push segments that were not used as comparison segments are treated as merged segments. Since the push segments are sorted, each push segment is checked against the comparison segment in sequence. The module checks if the inflection point between them is on opposite sides. If not, it is treated as a new comparison segment, and the process continues with the next push segment. This process is repeated until the last push segment is checked, and the remaining push segments that were not used as comparison segments are treated as merged segments. It is important to note that the inflection point between the push segment and the comparison segment is the inflection point on their respective routing lines.

[0105] It should be noted that as the detection proceeds, the number of comparison segments increases. The pushing segments that are ranked lower may need to be detected with multiple comparison segments. In other words, in the end, some of the multiple pushing segments are used as comparison segments, and others are used as merged segments.

[0106] The first moving module 14 is used to move each comparison line segment sequentially along the normal direction, and merge the two when they connect during the movement, until the comparison line segment crosses the preset distance from the displacement point. During the movement of the comparison line segment toward the displacement point along the normal direction, the slope and connection relationship of the preceding and following line segments remain unchanged. Therefore, the comparison line segment may connect with the merged line segment. In this case, the comparison line segment merges with the merged line segment, which is equivalent to the comparison line segment becoming longer. The comparison line segment continues to move until it crosses the displacement point and is separated from the displacement point by a preset distance. The preset distance can be set according to actual needs, representing the minimum spacing between different traces.

[0107] The second moving module 15 is used to move the target line segment in the normal direction until it is collinear with the displacement point. Since all pushing line segments are no longer on the target line segment's movement path, the target line segment's movement in the normal direction will not be hindered or obstructed, thus moving until it is collinear with the displacement point. During the movement towards the associated line segment, because the slope and connection relationship of the preceding and following line segments of the target line segment remain unchanged, the length of the preceding and following line segments of the target line segment will decrease or increase as the target line segment moves. Furthermore, because the endpoints of the target line segment will change position with the preceding and following line segments, the length of the target line segment will also decrease or increase.

[0108] The multi-segment layout adjustment device for circuit layout traces in this embodiment may also include other technical features of the multi-segment layout adjustment method for circuit layout traces in the foregoing embodiment, implement all the steps of the multi-segment layout adjustment method in the foregoing embodiment, and have the same technical effects as the multi-segment layout adjustment method in the foregoing embodiment, which will not be repeated here.

[0109] The present invention also provides a storage medium storing a computer program configured to execute the multi-segment layout adjustment method for circuit layout traces of the foregoing embodiments during runtime.

[0110] Specifically, in this embodiment, the storage medium may include, but is not limited to, USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks, and other media capable of storing computer programs.

[0111] The present invention also provides an electronic device, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to execute the multi-segment layout adjustment method for circuit layout traces of the foregoing embodiments.

[0112] Specifically, the memory and processor can be connected via a data bus. Furthermore, the aforementioned electronic device may also include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0113] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," or "specific example," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments. In addition, those skilled in the art can combine and integrate the different embodiments or examples described in this specification.

[0114] The above are merely preferred embodiments of the present invention and do not constitute any limitation on the present invention. Any equivalent substitutions or modifications made by those skilled in the art to the technical solutions and content disclosed in the present invention without departing from the scope of the present invention shall be deemed to have remained within the protection scope of the present invention.

Claims

1. A method for adjusting the multi-segment layout of circuit layout traces, characterized in that, include: Determine the target line segment and its displacement point on the circuit layout trace, as well as multiple pushing line segments that are parallel to the target line segment and belong to the same trace on the moving path of the target line segment moving in the normal direction to the collinearity with the displacement point. When the target line segment moves, the slope and connection relationship of the line segments before and after remain unchanged. The pushing line segment closest to the target line segment is used as the comparison line segment, and the pushing line segments are sorted according to a preset order; Sequentially identify the pushing line segments whose inflection points with the comparison line segments are not all located on opposite sides of each other, and use the other pushing line segments as merged line segments. Each of the comparison line segments is moved sequentially in the normal direction, and when it connects with the merged line segment during the movement, the two are merged until the comparison line segment crosses the preset distance of the displacement point; Move the target line segment along the normal direction until it is collinear with the displacement point.

2. The multi-segment layout adjustment method according to claim 1, characterized in that, The step of sequentially searching for pushing segments whose inflection points with the comparison segments are not all located on opposite sides of each other as new comparison segments includes: Select the current pushing line segment from the plurality of pushing line segments in sequence; Obtain the inflection point between the current pushing line segment and each of the comparison line segments; Project the current pushing line segment and each of the comparison line segments onto a reference line perpendicular to the target line segment to obtain the projection point interval; Detect whether the projections of the inflection points onto the reference line are all located within each projection point interval; If not all of them are located within each of the projection point intervals, it is determined that not all of the inflection points are located on the opposite side of the current pushing line segment and the corresponding comparison line segment; The current pushing line segment is used as the new comparison line segment. The next pushing line segment is selected according to the preset order to replace the current pushing line segment, and the step of obtaining the inflection point between the current pushing line segment and each comparison line segment is repeated.

3. The multi-segment layout adjustment method according to claim 2, characterized in that, The step of sequentially searching for pushing segments whose inflection points with the comparison segments are not all located on opposite sides of each other as new comparison segments also includes: If all points are located within each of the projection point intervals, then all the inflection points are located on the opposite side of the current pushing line segment and the corresponding comparison line segment. Select the next pushing line segment in the preset order to replace the current pushing line segment, and repeat the step of obtaining the inflection point between the current pushing line segment and each comparison line segment.

4. The multi-segment layout adjustment method according to claim 1, characterized in that, The preset sequence is the connection order starting from the start or end point of the routing line.

5. The multi-segment layout adjustment method according to claim 1, characterized in that, When there are multiple pushing segments closest to the target segment, the comparison segment is either a random one or the pushing segment that is ranked first according to the preset order.

6. The multi-segment layout adjustment method according to claim 1, characterized in that, The step of sequentially moving each of the comparison line segments in the normal direction, and merging the two when they connect with the merged line segment during the movement, until the comparison line segment crosses the preset distance of the displacement point, further includes: After all the comparison segments have been moved, the connected comparison segments are merged.

7. The multi-segment layout adjustment method according to claim 1, characterized in that, The distance between the pushing line segment and the target line segment is the difference between the intercept of the line containing the pushing line segment and the intercept of the line containing the target line segment.

8. A multi-segment layout adjustment device for circuit layout traces, characterized in that, include: The determination module is used to determine the target line segment and its displacement point on the circuit layout trace, as well as multiple pushing line segments that are parallel to the target line segment and belong to the same trace on the moving path of the target line segment moving in the normal direction to the collinearity with the displacement point. When the target line segment moves, the slope and connection relationship of the line segments before and after remain unchanged. The sorting module is used to take the pushing line segment closest to the target line segment as the comparison line segment and sort the pushing line segments according to a preset order; The search module is used to sequentially search for push segments that are not connected to the comparison segments as new comparison segments, and after the search is completed, to use the push segments that are not used as comparison segments as merged segments. The first moving module is used to move each of the comparison line segments in sequence in the normal direction, and merge the two when they are connected with the merging line segment during the movement, until the comparison line segment crosses the preset distance of the displacement point; The second moving module is used to move the target line segment in the normal direction until it is collinear with the displacement point.

9. A storage medium, characterized in that, The storage medium stores a computer program, which is configured to execute the multi-segment layout adjustment method for circuit layout traces as described in any one of claims 1 to 7 when it is run.

10. An electronic device, characterized in that, The device includes a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the multi-segment layout adjustment method for circuit layout traces as described in any one of claims 1 to 7.