Processing method, device, equipment, medium and program for pushing wiring of circuit

By introducing a reverse push mechanism and priority management, the deadlock and conflict problems in the traditional circuit push routing method are solved, improving the routing success rate and efficiency in high-density routing environments, and achieving higher robustness and fault tolerance.

CN121328449APending Publication Date: 2026-01-13PRIMARIUS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511583907.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-31
Publication Date
2026-01-13

AI Technical Summary

Technical Problem

Traditional circuit push-and-squeeze routing methods are prone to deadlock, conflicts, and low routing success rates in high-density routing environments. They also lack state management and reversibility control, leading to routing failures and low design efficiency.

Method used

A reverse push mechanism is introduced. By comparing the push priorities, a forward push operation is performed, and a reverse push is triggered when an obstacle that cannot be pushed is encountered. The detour path is replanned, and a breadth-first search algorithm is used to generate a feasible path that avoids all obstacles and the line shape is optimized.

Benefits of technology

It effectively solves the chain conflict and deadlock problem caused by multi-level pushing, improves the routing rate and wiring feasibility, enhances the robustness and fault tolerance of the automatic wiring system, and improves wiring efficiency and success rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121328449A_ABST
    Figure CN121328449A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of electronic design automation, and provides a circuit pushing wiring processing method, device, equipment, medium and program, and the method comprises the steps: obtaining a starting point and an end point of a signal line, generating an initial path, and carrying out the forward pushing operation on a pushing obstacle on the path; when a certain pushing object collides with the non-pushing obstacle in the forward pushing process and cannot avoid the non-pushing obstacle, reverse pushing is triggered; before reverse pushing is executed, the generated pushing object is removed; for each pushing object to be reversely pushed, re-planning a bypassing path to generate a feasible path for avoiding all obstacles; and after the bypassing path planning is completed, rearranging the path of each pushing object, and judging whether pushing succeeds or not according to a collision detection result. The method is used for solving the problems of deadlock, conflict and low wiring rate easily caused by a traditional pushing method by introducing a reverse pushing mechanism in PCB wiring, and the efficiency and success rate of automatic wiring are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of electronic design automation technology, and in particular to a method, apparatus, device, medium, and program for processing circuit push-out wiring. Background Technology

[0002] In the field of Electronic Design Automation (EDA), with the increasing integration of printed circuit boards (PCBs) and integrated circuit packaging substrates, wiring density continues to rise, and signal lines often face challenges such as limited space and dense obstacles during routing. To address these issues, automated routing tools commonly employ "push-and-route" technology, which involves locally pushing or shifting movable obstacles along the routing path to create space for the trace. However, traditional push-and-route methods often use a single-direction forward push strategy, advancing sequentially from the signal line's starting point to its endpoint, attempting to partially detour around obstacles or push adjacent traces to make way when encountering them.

[0003] This one-way pushing mechanism has drawbacks in high-density cabling environments: when a pushing operation triggers a chain reaction, causing subsequent paths to collide with fixed, non-pullable obstacles, the system often cannot effectively backtrack or adjust, easily falling into local deadlock or path breakpoint states. More seriously, if the generated intermediate pushing objects are not cleared, their residual structures can interfere with subsequent pathfinding decisions, causing path planning failures or routing results that violate design rules. Furthermore, existing methods lack state management and reversibility control over the pushing process; once pushing fails, the entire path usually has to be abandoned or manual intervention is required, severely impacting routing success rate and design efficiency.

[0004] Therefore, there is an urgent need for a method, apparatus, equipment, medium, and procedure for handling circuit push-out wiring to improve the above-mentioned problems. Summary of the Invention

[0005] This invention provides a method, apparatus, device, medium, and program for processing circuit push routing. This invention is used to solve the problems of deadlock, conflict, and low routing success rate that are easily caused by traditional push methods in PCB routing by introducing a reverse push mechanism, thereby improving the efficiency and success rate of automatic routing.

[0006] According to a first aspect of the present invention, a method for processing circuit push-and-squeeze routing is provided, comprising: acquiring the start point and end point of a signal line and generating an initial path; when the initial path collides with a pushable obstacle, comparing the push priorities of both parties, and performing a forward push operation on the pushable obstacle on the path; the push priority is used to determine the movement sequence of the push objects; the push objects include the initial path and the pushable obstacles; when a push object collides with a non-pushable obstacle during the forward push process and cannot be avoided, a reverse push is triggered; before performing the reverse push, the generated push objects are removed; for each push object to be reverse-pushed, a new detour path is planned to generate a feasible path that avoids all obstacles; after completing the planning of the detour path, the paths of each push object are re-laid out, and the success of the push is determined based on the collision detection result.

[0007] In one implementation, forward pushing includes: taking the signal line corresponding to the initial path as the zeroth level pushing object, and sequentially performing pushing operations on the pushable obstacles that the current pushing object collides with in the direction from the starting point to the end point.

[0008] In one implementation, during the forward pushing process, any shovel that collides with the obstacle is treated as a new shovel target, and the new shovel target is assigned a lower shovel priority than the previous shovel target.

[0009] In one implementation, while assigning priority to a new object to be pushed, the original path information before the object is recorded; the original path information includes the shape of the new object before the forward push, the shape after the forward push, and the direction of the forward push, which is used to provide a data basis for subsequent reverse pushes.

[0010] In one implementation, replanning the detour route includes: generating a feasible path that avoids all obstacles using a breadth-first search algorithm based on the recorded original path information.

[0011] In one implementation, after the paths of each pushing object are redone, if the original signal line still collides with the obstacle, a detour path is planned for the original signal line; if it is successfully connected to the endpoint, the pushing is considered successful; if it is not successfully connected to the endpoint, the line segment that collides with the obstacle is cut off, and the remaining connected part is retained as the wiring result.

[0012] In one implementation, the priority is determined by the object number and the collision length; the collision length is the path length of the object from the starting point to the collision point; when comparing priorities, the object number is compared first, and the smaller number has higher priority; when the numbers are the same, the path length from the starting point to the collision point is compared, and the shorter path length has higher priority.

[0013] In one implementation, the reverse pushing process further includes: adjusting the paths of the pushing objects step by step according to the pushing priority from low to high, and when adjusting any pushing object, the other generated pushing objects do not participate in collision detection.

[0014] In one implementation, when replanning the detour path, a breadth-first search algorithm is used. Starting from the original path starting point of the object being pushed, the feasible area is expanded layer by layer. Each time a node is expanded, its collision relationship with all obstacles is detected. If there is no collision relationship, it is added to the search queue until a collision-free path to the target area is found.

[0015] In one embodiment, after generating the detour path, the method further includes a step of optimizing the path alignment. The alignment optimization includes at least one of removing redundant connections, eliminating right-angle or acute-angle inflection points, and straightening the path. Collision detection is performed during the optimization process, and if a collision is triggered, the alignment optimization is canceled.

[0016] In one implementation, removing redundant connections includes: detecting whether there are two parallel line segments in the path; if so, mapping the endpoint of one line segment to the other line segment, deleting the intermediate connecting line segment and connecting it through the mapping point; if a collision occurs with other components after connection, the optimization operation is canceled.

[0017] In one embodiment, eliminating right-angle inflection points includes: shifting the right-angle vertex along both sides by a line width distance and then reconnecting it; eliminating acute-angle inflection points includes: shifting the acute-angle vertex and then connecting it with a broken line segment with an included angle of 135°.

[0018] In one implementation, path straightening includes: identifying detour segments in the path; if the line connecting the start and end points of the detour segment is in the same direction as the wiring and the line does not collide in the circuit board layout, then the detour segment is replaced by the line.

[0019] In one embodiment, the non-pushable obstacle includes at least one of a fixed element, a restricted area, or a power ground plane.

[0020] According to a second aspect of the present invention, a circuit pushing wiring processing apparatus is provided, for the method of any one of the first aspects, the apparatus comprising: a forward pushing unit, configured to acquire the start point and end point of a signal line and generate an initial path; when the initial path collides with a pushable obstacle, comparing the pushing priorities of both parties, and performing a forward pushing operation on the pushable obstacle on the path; the pushing priority is used to determine the movement sequence of the pushing objects; the pushing objects include the initial path and the pushable obstacles; when a pushing object collides with a non-pushable obstacle during the forward pushing process and cannot be avoided, a reverse pushing is triggered; and when the reverse pushing is performed... Before pushing, the generated pushing objects are removed; when a pushing object collides with an unpullable obstacle during the forward pushing process and cannot be avoided, a reverse pushing is triggered; before executing the reverse pushing, the generated pushing objects are removed; the reverse pushing unit is used to replan the detour path for each pushing object to be reverse pushed in order to generate a feasible path to avoid all obstacles; the result determination unit, after completing the detour path planning, re-lays the path of each pushing object and determines whether the pushing is successful based on the collision detection result; the storage unit is used to store the start and end points of the signal line, the path and obstacle information of each pushing object.

[0021] According to a third aspect of the present invention, an electronic device is provided, including a memory and a processor, wherein the memory is used to store a computer program executable by the processor; and the processor is used to execute the computer program in the memory to implement the method described above.

[0022] According to a fourth aspect of the present invention, a computer-readable storage medium is provided having a computer program stored thereon, characterized in that the above-described method can be implemented when the executable computer program in the storage medium is executed by a processor.

[0023] According to a fifth aspect of the present invention, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the method described above.

[0024] Compared with the prior art, the beneficial effects of the present invention are as follows: When a collision occurs with a shoveable obstacle on the initial path, the shoving priorities of both parties are compared, and a forward shoving operation is performed on the shoveable obstacle on the path. The movement sequence of the shoveling objects is determined according to the shoving priority, thereby realizing automatic adjustment of cabling resources. When a shoveling object collides with a non-shoveable obstacle during the forward shoving process and cannot avoid it, a reverse shoving is triggered. For each shoveling object to be reversed, a new detour path is planned to generate a feasible path to avoid all obstacles. By introducing reverse shoving, the shoving chain of failed cabling is actively dismantled, the occupied cabling resources are released, thereby cutting off the dependency relationship between each shoveling object. This effectively solves the chain conflict and deadlock problem that may be caused by multi-level shoving, avoids the situation where global cabling fails due to local obstruction, improves the cabling success rate and cabling feasibility in high-density cabling environments, and enhances the robustness, fault tolerance and intelligence level of the automatic cabling system. Attached Figure Description

[0025] Figure 1 This is a flowchart illustrating a circuit push-wiring process according to an exemplary embodiment.

[0026] Figure 2 This is a schematic diagram illustrating a path with redundant connections according to an exemplary embodiment.

[0027] Figure 3 This is a schematic diagram illustrating a path for removing redundant connections according to another exemplary embodiment.

[0028] Figure 4 This is a schematic diagram illustrating a path having right angles and acute angles according to an exemplary embodiment.

[0029] Figure 5 This is a schematic diagram illustrating a path for removing right angles and acute angles according to another exemplary embodiment.

[0030] Figure 6 This is a schematic diagram illustrating the path before straightening according to an exemplary embodiment.

[0031] Figure 7 This is a schematic diagram illustrating a straightened path according to another exemplary embodiment.

[0032] Figure 8 This is a block diagram illustrating a circuit push wiring processing apparatus according to an exemplary embodiment.

[0033] Figure 9 This is a block diagram illustrating an electronic device according to an exemplary embodiment.

[0034] Explanation of the reference numerals in the figure: 1. First endpoint; 2. Second endpoint; 3. Third endpoint; 4. Fourth endpoint; 5. Fifth endpoint; 6. Sixth endpoint; 7. Seventh endpoint; 8. Eighth endpoint; 9. Ninth endpoint; 10. Tenth endpoint; 11. Forward pushing unit; 12. Reverse pushing unit; 13. Result determination unit; 14. Storage unit; 15. Circuit pushing wiring processing device; 900. Electronic device; 922. Processing component; 926. Power supply component; 932. Memory; 950. Network interface; 958. Input / output interface. Detailed Implementation

[0035] Unless otherwise defined, the technical or scientific terms used in this specification should have the ordinary meaning understood by one of ordinary skill in the art to which this invention pertains. Specific embodiments of the invention will be described below with reference to the accompanying drawings. It should be noted that, in order to provide a concise description, this specification cannot provide a detailed description of all features of the actual embodiments. Without departing from the spirit and scope of the invention, those skilled in the art can make modifications and substitutions to the embodiments of the invention, and the resulting embodiments are also within the protection scope of the invention.

[0036] like Figure 1 As shown, the first embodiment of the present invention provides a method for processing circuit push-and-squeeze wiring, including: S1, obtaining the start and end points of signal lines and generating an initial path; when the initial path collides with a pushable obstacle, comparing the push priorities of both parties, and performing a forward push operation on the pushable obstacle on the path; the push priority is used to determine the movement order of the push objects; the push objects include the initial path and the pushable obstacles; S2, when a push object collides with a non-pushable obstacle during the forward push process and cannot avoid it, a reverse push is triggered; S3, before performing the reverse push, removing the generated push objects; S4, for each push object to be reverse-pushed, replanning the detour path to generate a feasible path to avoid all obstacles; S5, after completing the detour path planning, re-laying the paths of each push object, and determining whether the push is successful based on the collision detection results.

[0037] The signal lines are conductive traces to be routed on a printed circuit board to achieve electrical connections between chips and devices. Their start and end points are typically determined by the netlist and component placement information. The initial path can be generated using a grid-based shortest path algorithm or a topology-based guided routing method, prioritizing extension along a preset routing direction to meet design rules and signal integrity requirements. This initial path serves as the starting point for the push-out process; other movable traces within its traversal area are considered "pushable obstacles," while fixed component pads, keep-away areas, and power / ground planes are considered "non-pushable obstacles."

[0038] It is worth noting that this embodiment, by introducing a "reverse push" mechanism, breaks the limitation of the traditional routing algorithm that is "only forward and never backward," and realizes the state rollback and path reconstruction of the push process, which significantly improves the routing pass rate and routing robustness in high-density PCB environments.

[0039] In some embodiments, the forward pushing includes: taking the signal line corresponding to the initial path as the zeroth level pushing object, and sequentially performing pushing operations on the pushable obstacles that the current pushing object collides with in the direction from the starting point to the end point.

[0040] In some specific embodiments, the forward pushing operation specifically includes: designating the signal line corresponding to the initial path as the zeroth-level pushing object and assigning it the highest pushing priority, serving as the starting level of the entire pushing process. Subsequently, according to the transmission direction of the signal line from the starting point to the ending point, pushing operations are sequentially performed on any shovable obstacles collided with by the current pushing object during its advancement. Whenever a spatial conflict is detected between the current pushing object and a shovable obstacle, that obstacle is identified as a new pushing object and included in the pushing level. In this way, the pushing process is passed level by level, forming a multi-level pushing chain, ensuring that the wiring path avoids existing obstacles while dynamically adjusting the position of surrounding movable wiring, making way for critical signal lines, thereby achieving adaptive optimization of the local layout.

[0041] In some embodiments, during the forward pushing process, any shovel that collides with a shovel is treated as a new shovel target, and the new shovel target is assigned a lower shovel priority than the previous shovel target.

[0042] In some specific embodiments, during the forward pushing process, when a pushing object collides with an adjacent pushable signal line or routing obstacle while advancing along the path, the system identifies and marks the collided obstacle as a new pushing object and includes it in the pushing processing queue. To ensure the orderliness and reversibility of the pushing operation, the system assigns a pushing priority lower than its predecessor to the newly generated pushing object. For example, the zeroth-level pushing object has the highest priority, followed by the first-level object it pushes, and so on down the priority of subsequent levels. This priority descending mechanism effectively establishes the dependency relationship between pushing levels, enabling path replanning to be performed sequentially from low priority to high priority when a reverse pushing is triggered later. This avoids resource contention and deadlock caused by multi-level pushing, ensuring the stability and controllability of the cabling adjustment process.

[0043] In some embodiments, while assigning priority to a new push object, its original path information before the push is recorded; the original path information includes the shape of the new push object before the forward push, the shape after the forward push, and the direction of the forward push, which is used to provide a data basis for subsequent reverse pushes.

[0044] In some specific embodiments, while assigning a lower priority to newly generated push objects than to their predecessors, the system immediately captures and records the original path information of the push object before it was moved. This original path information includes key data such as the signal line's start and end points, coordinates of each inflection point, wiring layer information, and its adjacent topological connections. This recording operation aims to provide a basis for recovery and path replanning for any subsequent possible reverse push processes. When the pushing behavior of a high-priority signal line causes a low-priority object to be forcibly displaced, if the forward push ultimately fails due to the presence of an unpushable obstacle, the system can accurately restore the initial state of each push object before the push by reading the saved original path information. This allows for orderly replanning of detour paths for objects at all levels based on the original layout after removing the temporary push results, ensuring the wiring adjustment process is reversible and fault-tolerant, and improving the overall reliability and success rate of the wiring.

[0045] In some embodiments, the replanning of the detour route includes: generating a feasible path that avoids all obstacles using a breadth-first search algorithm based on the recorded original path information.

[0046] In some specific embodiments, the process of replanning the detour path includes: constructing a local wiring area search space from the starting point to the ending point based on the original path information recorded before the object to be reverse-pushed. On this basis, a breadth-first search (BFS) algorithm is used to systematically traverse this space, exploring all possible routing directions layer by layer from the starting point, and detecting collision relationships between candidate paths and surrounding obstacles in real time. By modeling the circuit board layout as a mesh or graph structure node, the BFS algorithm can prioritize finding feasible paths with the shortest distance and fewest inflection points, ensuring that the newly generated detour path meets electrical connection requirements while minimizing routing length and signal delay. Throughout the planning process, the system continuously determines whether the path avoids all static obstacles and locked, non-pushable routing lines, ultimately outputting a collision-free, fully connected optimized path. This method not only improves the completeness and reliability of path search but also provides an executable repair scheme for reverse pushing, effectively supporting an intelligent recovery mechanism after pushing failure.

[0047] In other specific embodiments, when a signal line pushes an object in the opposite direction, it will perform a bypass of all obstacles, including both pushable and non-pushable obstacles. This bypass is also based on BFS (Browse-First Search). The bypass strategy is as follows: Add the current signal line to the BFS queue. Take an element from the BFS queue, perform collision detection between this element and other components on the board, and bypass the nearest obstacle in a clockwise or counterclockwise direction. In some examples, if the deformed portion of the bypass in both clockwise and counterclockwise directions does not collide with other non-pushable components, the direction with the worse bypass result will be discarded based on the line length and the number of bends. In other examples, the results of bypassing in both directions will be added to the BFS search queue. The highest priority path candidate is continuously retrieved from the BFS queue and a full collision detection is performed on it. If the path not only avoids all obstacles but also successfully connects to the target location, a feasible detour path is considered to have been found, the search is terminated, and the path is returned as the optimal solution. Otherwise, new detour branches are generated and added to the queue until a feasible solution is found or the queue is empty.

[0048] In some specific embodiments, optimization is performed based on line length and the number of bends, discarding paths with worse detour results. This includes: first, comparing the total length of two paths and selecting the shorter path as the preferred result; if the lengths are the same, further comparing the number of bends and selecting the path with fewer bends; in some examples, bend type can also be considered, prioritizing paths containing obtuse or oblique transitions to avoid introducing new right or acute bends. After comprehensive evaluation based on the above criteria, paths with lower scores, i.e., "worse detour results," will be discarded by the system and will no longer participate in subsequent searches; while better paths are retained and added to the BFS search queue to continue expansion until a complete feasible path is found.

[0049] In some embodiments, after the paths of each pushing object are redecorated, if the original signal line still collides with the obstacle, a detour path is planned for the original signal line; if it is successfully connected to the endpoint, the pushing is considered successful; if it is not successfully connected to the endpoint, the line segment that collides with the obstacle is cut off, and the remaining connected part is retained as the wiring result.

[0050] In some specific embodiments, after all pushed objects have completed reverse path replanning and their new paths have been re-laid back onto the circuit board layout, the system immediately performs a global collision detection on the original signal lines to verify whether the overall routing has met the collision-free requirement. If the detection result shows that the original signal line still has spatial overlap or insufficient spacing with a certain obstacle, it indicates that the layout after reverse pushing has not yet fully converged. At this time, the system will start an independent detour path planning process for the original signal line, attempting to find an alternative path from the starting point to the ending point under the existing layout constraints. If the detour planning successfully generates a complete, connected, and collision-free path, the pushing operation is considered to have been successfully completed, and the path is retained as a valid routing result. However, if the path cannot be connected to the ending point due to extremely limited space, the system will adopt a fault-tolerant processing strategy: cut off the local segments that conflict with obstacles, while retaining the remaining connected segments as a stage routing result in the layout, avoiding the abandonment of the entire line due to local failure. It enhances the robustness and usability of cabling tools in high-density and complex environments, ensuring that effective cabling is preserved to the maximum extent even in extremely congested areas, providing support for subsequent manual repairs or design adjustments.

[0051] In some embodiments, the priority is determined by the object number and the collision length; the collision length is the path length of the object from the starting point to the collision point; when comparing the priorities, the object number is compared first, and the smaller number has a higher priority; when the numbers are the same, the path length from the starting point to the collision point is compared, and the shorter path length has a higher priority.

[0052] In some specific embodiments, the push priority is not determined by a single factor, but rather by a tuple containing the push object's sequence number and collision length information. The push object's sequence number identifies its generation order in the push hierarchy, with level zero representing the original signal line, and each subsequent level increasing sequentially. A smaller sequence number indicates that the object is closer to the source in the push chain and has higher importance. When comparing priorities, the system first compares the sequence numbers of each push object; objects with smaller sequence numbers have higher push priority, ensuring that the routing requirements of critical signal lines are met first. When multiple push objects belong to the same level (i.e., have the same sequence number), the system further compares the path length from the signal line's starting point to the collision length: shorter path lengths indicate that the object is closer to the signal source or critical functional module, typically requiring higher timing and signal integrity, and therefore are assigned higher priority. Through this hierarchical judgment logic of "comparing levels first, then distances," the system can more precisely manage the execution order of multi-object pushes, avoiding resource contention or deadlocks caused by priority conflicts. Especially in high-density cabling scenarios, when multiple traces of the same level collide at the same time, this mechanism can guide the cabling engine to prioritize the critical path closer to the starting point, thereby improving the overall stability and electrical performance of the cabling.

[0053] In other specific embodiments, vias associated with a push object are not treated as independent push objects in priority sorting. Instead, they inherit the priority of their respective signal line pushers and are set as secondary processing objects based on that priority. More specifically, during path adjustment, the system ensures that the primary signal line within the same push level is pushed before its via to guarantee the integrity and geometric consistency of the electrical connection. For example, this can be achieved by introducing additional flag bits or small offsets into the priority tuple, allowing the via to be processed immediately after its primary trace in the sorting process.

[0054] In some embodiments, the reverse pushing process further includes: adjusting the paths of the pushing objects step by step according to the pushing priority from low to high, and when adjusting any pushing object, the other generated pushing objects do not participate in collision detection.

[0055] In some embodiments, the reverse push process not only includes path replanning but also introduces an orderly, isolated adjustment mechanism: during reverse push, the system adjusts the paths of each push object in ascending order of push priority. Specifically, the lowest priority push object (i.e., the last-level push object furthest from the original signal line) is processed first. After its path optimization is completed, higher priority objects are processed sequentially upwards until the path of the highest priority original signal line is finally confirmed. During the adjustment of any push object, the system temporarily "shiels" or excludes other generated push objects from the layout environment from the collision detection range. That is, the existence of other push objects is not considered in the current path planning process; only static obstacles and other non-pushable fixed lines are considered as avoidable objects. This isolated processing method effectively avoids the "secondary conflict" problem of multiple push objects interfering with and blocking each other during the replanning process, ensuring that each level of object can complete the optimal path search in a relatively independent and relaxed environment. Meanwhile, since the adjustment order proceeds from low priority to high priority, lower-level objects are given priority to avoidance, reserving necessary passage space for high-level critical signal lines, thereby achieving the orderly release and rational allocation of pushing resources. This mechanism significantly improves the convergence and success rate of reverse pushing and is a key technical means to solve the problems of multi-level pushing chain reactions and path deadlock.

[0056] In some embodiments, when replanning the detour path, a breadth-first search algorithm is used. The original path starting point of the pushed object is used as the search starting point, and the feasible area is expanded layer by layer. Each time a node is expanded, its collision relationship with all obstacles is detected. If there is no collision relationship, it is added to the search queue until a collision-free path to the target area is found.

[0057] In some embodiments, a breadth-first search (BFS) algorithm is used when replanning detour paths to ensure the completeness and optimality of the path search. Specifically, the system uses the original path start point recorded before the pushing object is pushed as the starting node of the search and initializes it as the first point to be expanded in the search queue. Subsequently, the algorithm expands the feasible area outward layer by layer, traversing all currently reachable grid or graph nodes in each layer, and performing collision detection on each newly expanded node to determine whether it has spatial overlap or spacing violations with obstacles on the circuit board, including fixed traces, pads, vias, and other non-pullable structures. If the node meets the routing rules and has no collisions, it is marked as valid and added to the search queue of the next layer; otherwise, it is discarded and does not participate in subsequent expansion. Through this layer-by-layer diffusion, BFS can systematically explore all potential paths from the starting point to the target endpoint and prioritize the discovery of the shortest path, i.e., the path with the fewest steps and the shortest length. This process continues until the search reaches a position near the target area or endpoint that meets the connection conditions, successfully generating a complete, connected, and collision-free alternative path. This method not only ensures the reliability of path planning and avoids missing feasible solutions, but also effectively supports the path reconstruction requirements in the reverse push mechanism, improving the adaptive repair capability of the routing engine in complex environments.

[0058] In some embodiments, after generating the detour path, the method further includes a step of optimizing the path alignment; the alignment optimization includes at least one of removing redundant connections, eliminating right-angle or acute-angle inflection points and straightening the path, and collision detection is performed during the optimization process, and if a collision is triggered, the alignment optimization is canceled.

[0059] In one implementation, in some specific embodiments, the removal of redundant connections includes: detecting whether there are two parallel line segments in the path; if so, mapping the endpoint of one line segment to the other line segment, deleting the intermediate connecting line segment and connecting it through the mapping point; if a collision occurs with other components after connection, the optimization operation is canceled.

[0060] More specifically, the process of removing redundant connections includes: performing geometric analysis on the generated bypass path to detect whether there are two parallel line segments located on adjacent routing layers, especially parallel line segments in the same routing path that are oriented in the same direction but connected by short vertical or diagonal line segments, i.e., zigzag or U-shaped redundant structures. When such a redundant structure is detected, the system projects one endpoint of one of the parallel line segments vertically onto the line containing the other parallel line segment to determine its nearest mapping point on that line segment. Subsequently, the system attempts to delete the original intermediate connecting line segment and uses this mapping point as the new connection node to reconnect the preceding and following parts of the original path, forming a simpler, continuous straight path, thereby effectively eliminating unnecessary inflection points and redundant routing, shortening signal transmission distance, and improving routing cleanliness. After the connection is completed, the system immediately performs collision detection on the optimized path to check whether the newly generated line segments spatially overlap or violate spacing rules with adjacent pads, vias, other signal lines, or keep-out areas. If the detection results show a collision with other components after connection, the system automatically cancels the optimization operation, restores the original path structure, and ensures that cabling safety is not affected. This method achieves local path simplification and performance improvement while ensuring electrical connectivity and physical feasibility, and is one of the important means to improve cabling quality in line optimization.

[0061] In some examples, such as Figure 2 As shown, the generated detour path includes sequentially connected endpoints 1, 2, 3, 4, 5, 6, 7, 8, and 9. It was detected that the line segment formed by endpoints 1 and 2 is parallel to the line segment formed by endpoints 8 and 9. A perpendicular line is drawn from endpoint 2 to the line segment formed by endpoints 8 and 9, yielding the intersection point, i.e., the mapping point. Figure 3 As shown, the mapping point is the tenth endpoint 10. Delete the third segment point to the eighth endpoint 8, and connect the second endpoint 2, the tenth endpoint 10, and the ninth endpoint 9 in sequence to obtain the detour path with redundant connections removed.

[0062] In some other specific embodiments, in one implementation, eliminating right-angle inflection points includes: shifting the right-angle vertex along both sides by a line width distance and then reconnecting them; eliminating acute-angle inflection points includes: shifting the acute-angle vertex and then connecting them as a broken line segment with an included angle of 135°.

[0063] More specifically, the elimination of right-angle and acute-angle inflection points employs targeted geometric reconstruction strategies to improve signal integrity and meet the wiring specifications of high-speed circuits. For right-angle inflection points, the system identifies the 90° angle vertex in the path and offsets it inward by a preset distance (usually the signal line width or the minimum offset allowed by design rules) along both sides of the corner, forming two new endpoints. These two offset endpoints are then connected by a straight line, effectively "beveling" the original right-angle interior angle to create a beveled transition. This structure effectively reduces the charge accumulation effect and reflection risk at corners, improving the transmission quality of high-frequency signals. For acute-angle inflection points, i.e., sharp corners with an angle less than 90°, a smoother polygonal reconstruction method is used: the system appropriately offsets the original vertex along the angle bisector to avoid path intersections or short circuits with adjacent traces. Then, using this offset point as the turning point, two continuous line segments with an angle of 135° are connected, transforming the originally sharp turn into a smoother obtuse transition. This 135° zigzag design not only complies with the routing specifications for high-speed differential pairs and RF traces, but also significantly reduces electromagnetic radiation and impedance abrupt changes. After the above optimization operations are completed, the system immediately performs collision detection on the newly generated path segment to ensure that the offset and reconstruction do not cause spatial conflicts with surrounding components; if a collision occurs, it automatically reverts to the original path, ensuring the safety and reliability of the wiring. In this way, both the standardization of the trace shape and the balance between electrical performance and physical constraints are achieved.

[0064] like Figure 4 As shown, in some examples, the detour path includes a first endpoint 1, a second endpoint 2, a third endpoint 3, and a fourth endpoint 4 connected in sequence. Among them, the second endpoint 2 is a right-angle inflection point, and the third endpoint 3 is an acute-angle endpoint.

[0065] like Figure 5 As shown, when eliminating right-angle inflection points, the second endpoint 2 is shifted from its original position to the direction of the first endpoint 1 by 1 line width to obtain the fifth endpoint 5; the second endpoint 2 is shifted from its original position to the direction of the third endpoint 3 by 1 line width to obtain the sixth endpoint 6; the second endpoint 2 is deleted and the fifth endpoint 5 and the sixth endpoint 6 are connected to obtain the path for eliminating right-angle inflection points, which is the sequential connection of the first endpoint 1, the fifth endpoint 5, the sixth endpoint 6 and the third endpoint 3.

[0066] When eliminating acute angle inflection points, offset the third endpoint 3 from its original position towards the direction of the second endpoint 2 by √2 line widths to obtain the seventh endpoint 7; offset the third endpoint 3 from its original position towards the direction of the fourth endpoint 4 by √2 line widths to obtain the ninth endpoint 9; the perpendicular bisector of the line connecting the seventh endpoint 7 and the ninth endpoint 9 passes through the eighth endpoint 8; connect the seventh endpoint 7, the eighth endpoint 8, and the ninth endpoint 9 in sequence, so that the included angle with the eighth endpoint 8 as the vertex is 135°. The included angle with the eighth endpoint 8 as the vertex faces the same direction as the included angle with the third endpoint 3 as the vertex. Deleting the third endpoint 3 yields the path that eliminates acute right angle inflection points, which is the sequential connection of the second endpoint 2, the seventh endpoint 7, the eighth endpoint 8, the ninth endpoint 9, and the fourth endpoint 4.

[0067] In some other specific embodiments, in one implementation, the path straightening includes: identifying detour segments in the path, and if the line connecting the start and end points of the detour segment is consistent with the wiring direction and the line does not collide in the circuit board layout, then the detour segment is replaced with the line.

[0068] More specifically, the path straightening operation aims to optimize the geometry of the wiring path, improving routing simplicity and signal transmission efficiency. In practice, the system first performs segmented analysis on the planned detour path, identifying unnecessary detour structures, i.e., a segment of the path locally exhibits a "convex" or "U" shape, avoiding existing obstacles but potentially offering a shorter direct path. The system extracts the start and end points of this detour segment and determines whether the straight connection between them conforms to the design rules and routing constraints of the current wiring layer (e.g., whether it aligns with the overall signal direction, such as horizontal, vertical, or 45° diagonal). If the direction of the straight segment meets the routing strategy requirements, a full-segment collision detection is performed on the virtual connection to check for spatial overlap or insufficient spacing with fixed components, pads, vias, keep-out areas, or other signal lines on the circuit board. Only when the straight segment is completely collision-free and meets electrical rules is it considered a legal alternative path to replace the original detour segment. This operation simplifies the previously circuitous path into a shorter straight line, effectively reducing signal transmission delay, lowering resistance and inductance, and improving space utilization in the wiring area. If any conflict is detected during the inspection process, the system will retain the original detour path to avoid introducing new wiring risks through optimization. This path straightening mechanism, while ensuring safety, enables refined post-processing of the wiring results, improving the efficiency of automatic wiring.

[0069] like Figure 6 As shown, in some examples, the detour path includes a first endpoint 1, a second endpoint 2, a third endpoint 3, a fourth endpoint 4, a fifth endpoint 5, and a sixth endpoint 6 connected in sequence. The line segment formed by the first endpoint 1 and the second endpoint 2 is collinear with the line segment formed by the fifth endpoint 5 and the sixth endpoint 6. For example...Figure 7 As shown, by deleting the second endpoint 2, the third endpoint 3, the fourth endpoint 4, and the fifth endpoint 5, and directly connecting the first endpoint 1 and the sixth endpoint 6, the straightened path can be obtained.

[0070] In some embodiments, the non-pushable barrier includes at least one of a fixing element, a no-closing zone, or a power ground plane.

[0071] In some specific embodiments, the non-pushy obstacle refers to a structure in the circuit board layout that has a fixed physical position or special electrical properties and is not allowed to be moved or deformed. It includes at least one of fixed components, keep-out areas, and power / ground planes. Fixed components mainly refer to electronic devices with locked positions (such as BGA packaged chips, connectors, inductors, and shielding covers). The pads and occupied areas of these components cannot be changed during routing, and no signal line may overlap with them or violate spacing rules. Keep-out areas are pre-defined areas where routing is prohibited, typically used to avoid mechanical structures (such as screw holes, heatsink bases), high-voltage isolation areas, or radio frequency interference sensitive areas. No trace may enter this area. Power / ground planes refer to large areas of copper foil laid on inner or outer layers to provide stable power voltage or ground reference. Due to their wide coverage and critical electrical characteristics, they are usually considered as indivisible, impenetrable continuous obstacles. Signal lines can only bypass their edges or pass through vias, but cannot be pushed or have their shape altered. During the push-and-pull cabling process, when the path extension of the push-object encounters the aforementioned non-pushable obstacles, the system determines that the path direction is blocked and space cannot be created by pushing. It then triggers a reverse push-and-pull process, initiating a path reconfiguration mechanism. By clearly defining the types of non-pushable obstacles, the system can accurately identify rigid constraints in the cabling environment, ensuring that pushing behavior complies with electrical design rules and reducing cabling failures or design violations.

[0072] like Figure 8As shown, according to a second embodiment of the present invention, a circuit pushing wiring processing apparatus 15 is provided for the method described in any one of the above embodiments. The apparatus includes: a forward pushing unit 11, used to acquire the start and end points of a signal line and generate an initial path; when the initial path collides with a pushable obstacle, comparing the pushing priorities of both parties and performing a forward pushing operation on the pushable obstacle on the path; the pushing priority is used to determine the movement sequence of the pushing objects; the pushing objects include the initial path and the pushable obstacles; when a pushing object collides with a non-pushable obstacle during the forward pushing process and cannot be avoided, a reverse pushing is triggered. Before performing a reverse push, the generated push objects are removed; when a push object collides with an unpushable obstacle during the forward push and cannot be avoided, a reverse push is triggered; before performing a reverse push, the generated push objects are removed; the reverse push unit 12 is used to replan the detour path for each push object to be reverse pushed in order to generate a feasible path to avoid all obstacles; the result determination unit 13, after completing the detour path planning, re-lays the path of each push object and determines whether the push is successful based on the collision detection result; the storage unit 14 is used to store the start and end points of the signal line, the path and obstacle information of each push object.

[0073] A third embodiment provides an electronic device, including a memory and a processor, wherein the memory is used to store a computer program executable by the processor; and the processor is used to execute the computer program in the memory to implement the method described in any of the above embodiments.

[0074] like Figure 9 The diagram shown is a block diagram of an electronic device according to an exemplary embodiment. For example, electronic device 900 may be provided as a server. (Refer to...) Figure 3 The electronic device 900 includes a processing component 922, which further includes one or more processors, and memory resources represented by memory 932 for storing instructions, such as application programs, that can be executed by the processing component 922. The application programs stored in memory 932 may include one or more modules, each corresponding to a set of instructions. Furthermore, the processing component 922 is configured to execute instructions to perform the methods described above.

[0075] Electronic device 900 may also include a power supply component 926 configured to perform power management of electronic device 900, a wired or wireless network interface 950 configured to connect electronic device 900 to a network, and an input / output (I / O) interface 958. Electronic device 900 may operate on an operating system stored in memory 932, such as Windows Server™, MacOS X™, Unix™, Linux™, FreeBSD™, or similar.

[0076] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 932 including instructions, which can be executed by a processing component 922 of an electronic device 900 to perform the above-described method. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device.

[0077] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 932 including instructions, which can be executed by a processing component 922 of the device 900 to perform the above-described method. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device.

[0078] The fourth embodiment provides a readable storage medium storing a program, which, when executed, implements the method described in any one of the above embodiments.

[0079] The fifth embodiment provides a computer program product, including a computer program, which, when executed, implements the method described in any one of the above embodiments.

[0080] In this invention, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance. The term "multiple" refers to two or more unless otherwise expressly defined.

[0081] The above description of the embodiments is intended to enable those skilled in the art to understand and apply the present invention. It will be apparent to those skilled in the art that various modifications can be made to these embodiments, and the general principles described herein can be applied to other embodiments without creative effort. Therefore, the present invention is not limited to the embodiments described herein, and any improvements and modifications made by those skilled in the art based on the disclosure of the present invention without departing from the scope and spirit of the invention are within the scope of the present invention.

Claims

1. A method for processing circuit push-and-pull wiring, characterized in that, include: Obtain the start and end points of the signal line and generate the initial path; When the initial path collides with a shoveable obstacle, the shove priorities of both are compared, and a positive shove operation is performed on the shoveable obstacle on the path; the shove priority is used to determine the movement order of the shove objects; the shove objects include the initial path and the shoveable obstacle. When a pushing object collides with an unpullable obstacle during the forward pushing process and cannot avoid it, a reverse pushing is triggered. Remove the generated push objects before performing the reverse push; For each object to be pushed in the opposite direction, a new detour path is planned to generate a feasible path that avoids all obstacles; After completing the planned detour route, the paths of each object being pushed are re-arranged, and the success of the pushing is determined based on the collision detection results.

2. The method according to claim 1, characterized in that, The forward pushing includes: taking the signal line corresponding to the initial path as the zeroth level pushing object, and sequentially performing pushing operations on the pushable obstacles that the current pushing object collides with in the direction from the starting point to the end point.

3. The method according to claim 2, characterized in that, During the forward pushing process, any shovel that collides with a shovel is treated as a new shovel target, and the new shovel target is assigned a lower shovel priority than the previous shovel target.

4. The method according to claim 3, characterized in that, While assigning priorities to new push objects, the original path information before the push is recorded; the original path information includes the shape of the new push object before the forward push, the shape after the forward push, and the direction of the forward push, which is used to provide a data basis for subsequent reverse pushes.

5. The method according to claim 4, characterized in that, The replanning of the detour route includes: generating a feasible path that avoids all obstacles based on the recorded original path information using a breadth-first search algorithm.

6. The method according to claim 1, characterized in that, After rerouting the paths of each object being pushed, if the original signal line still collides with the obstacle, then a detour path is planned for the original signal line; if it successfully connects to the endpoint, then the pushing is considered successful; if it fails to connect to the endpoint, then the line segment that collides with the obstacle is cut off, and the remaining connected part is retained as the wiring result.

7. The method according to claim 3, characterized in that, The priority is determined by the object number and the collision length. The collision length is the path length of the object from the starting point to the collision point. When comparing the priorities, the object number is compared first, and the smaller number has a higher priority. If the numbers are the same, the path length from the starting point to the collision point is compared, and the shorter path length has a higher priority.

8. The method according to claim 1, characterized in that, The reverse pushing process also includes: adjusting the paths of the pushing objects step by step according to the pushing priority from low to high, and when adjusting any pushing object, the other generated pushing objects do not participate in collision detection.

9. The method according to claim 1, characterized in that, When replanning the detour route, a breadth-first search algorithm is used. The original path starting point of the object being pushed is used as the search starting point. The feasible area is expanded layer by layer. Each time a node is expanded, its collision relationship with all obstacles is detected. If there is no collision relationship, it is added to the search queue until a collision-free path to the target area is found.

10. The method according to claim 1, characterized in that, After generating the detour path, the process also includes a step of optimizing the path alignment. The alignment optimization includes at least one of removing redundant connections, eliminating right-angle or acute-angle inflection points, and straightening the path. Collision detection is performed during the optimization process, and if a collision is triggered, the alignment optimization is canceled.

11. The method according to claim 10, characterized in that, The process of removing redundant connections includes: detecting whether there are two parallel line segments in the path; if so, mapping the endpoint of one line segment to the other line segment, deleting the intermediate connecting line segment and connecting it through the mapping point; if a collision occurs with other components after connection, the optimization operation is canceled.

12. The method according to claim 10, characterized in that, Eliminating right-angle inflection points includes: shifting the right-angle vertex along both sides by one line width distance and then reconnecting it; eliminating acute-angle inflection points includes: shifting the acute-angle vertex and then connecting it with a broken line segment with an included angle of 135°.

13. The method according to claim 10, characterized in that, The path straightening includes: identifying detour segments in the path; if the line connecting the start and end points of the detour segment is consistent with the wiring direction and the line does not collide in the circuit board layout, then the detour segment is replaced with the line.

14. The method according to claim 1, characterized in that, The non-pushable obstacle includes at least one of a fixed element, a no-closing zone, or a power ground plane.

15. A circuit pushing wiring processing apparatus, used in the method according to any one of claims 1 to 14, characterized in that, The device includes: A forward pushing unit is used to acquire the start and end points of the signal line and generate an initial path. When the initial path collides with a pushable obstacle, the pushing priorities of both parties are compared, and a forward pushing operation is performed on the pushable obstacle on the path. The pushing priority is used to determine the movement order of the pushing objects. The pushing objects include the initial path and the pushable obstacles. When a pushing object collides with a non-pushable obstacle during the forward pushing process and cannot be avoided, a reverse pushing is triggered. Before performing the reverse pushing, the generated pushing objects are removed. The reverse pushing unit is used to replan the detour path for each object to be reverse pushed in order to generate a feasible path that avoids all obstacles. The result determination unit, after completing the planned detour path, will redefine the paths of each pushing object and determine whether the pushing was successful based on the collision detection results. The storage unit is used to store the start and end points of the signal line, the path and obstacle information of each pushing object.

16. An electronic device, characterized in that, The method includes a memory and a processor, the memory being used to store a computer program executable by the processor; the processor being used to execute the computer program in the memory to implement the method as claimed in any one of claims 1 to 14.

17. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the executable computer program in the storage medium is executed by a processor, it can implement the method as described in any one of claims 1 to 14.

18. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 14.