Efficient path planning method based on improved JPS

By improving the JPS algorithm and multi-threaded parallel processing technology, the problem of low computational efficiency of existing global routing algorithms in high-dimensional meshes is solved, realizing an efficient and low-memory 3D routing scheme, which improves the routing quality and speed of integrated circuits.

CN121279237APending Publication Date: 2026-01-06GUANGDONG UNIV OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511253954.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-04
Publication Date
2026-01-06

AI Technical Summary

Technical Problem

Existing global routing algorithms are computationally inefficient in high-dimensional meshes, have insufficient congestion handling capabilities, and require high storage, making it difficult to meet the industrial needs of 3D routing.

Method used

An improved Jump Point Search (JPS) algorithm is adopted, combined with the Floyd algorithm for 3D mesh preprocessing, dynamically selects jump points for parallel processing, uses multi-threading to optimize path planning, and constructs a periodic directed edge storage structure to reduce storage requirements.

Benefits of technology

It significantly improves the computational efficiency and storage space utilization of path planning, enhances the running speed and quality of 3D cabling, and adapts to path planning capabilities in complex and congested areas.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121279237A_ABST
    Figure CN121279237A_ABST
Patent Text Reader

Abstract

The invention discloses an efficient path planning method based on improved JPS, which dynamically adjusts the priority and search range of jump points according to the global and local characteristics of a current node through a dynamic jump point selection strategy, reduces redundant search and improves the path planning efficiency. And in combination with a periodic directed edge storage structure, the storage space requirement is greatly reduced, and meanwhile, quick query of path information is supported. A multi-thread parallel processing technology is utilized, path planning tasks are dynamically distributed to multiple threads to be executed, and efficient utilization of computing resources is achieved through a load balancing strategy. Path extension nodes are reduced through hop point search optimization, memory occupation is reduced through storage structure optimization, the operation speed is increased through parallel processing, and all links form a synergistic effect, so that the overall algorithm performance is remarkably improved, local optimal traps are avoided, and a globally optimal solution is found more efficiently.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of path planning, and in particular to an efficient path planning method based on an improved JPS. Background Technology

[0002] With the rapid development of Very Large Scale Integration (VLSI) technology, feature sizes are constantly shrinking. Compared to the delay of a single gate circuit, the proportion of interconnect delay in the total signal transmission time has increased significantly. This makes global routing increasingly important in determining the overall performance of integrated circuits. The quality of routing directly affects the chip's core performance, power consumption, and area; therefore, global routing has become a crucial part of the integrated circuit physical design process.

[0003] The global routing problem is extremely complex. Even simplified versions (such as two-pin net routing under congestion constraints) have been proven to be NP-complete, meaning their theoretical computational complexity is very high. In practical applications, global routing tools need to handle dense routing obstacles, multi-layered routing structures, and strict manufacturing process rules, all of which place higher demands on the performance and quality of routing algorithms.

[0004] Existing global routing methods are mainly divided into the following two categories: 1. Sequential routing method, which usually adopts the "rip-up and reroute" strategy. This strategy first generates an initial routing plan, and then iteratively optimizes the network in high-density areas to reduce congestion. For example, NTHU-Router improves the congestion area identification method and gradually expands the dismantling area in each iteration, ultimately reducing routing overflow (Jhih-Rong Gao, Pei-Ci Wu, Ting-Chi Wang. A new global router for modern designs[C] / / 2008Asia and South Pacific Design Automation Conference.Seoul,South Korea:IEEE,2008:232-237.). BoxRouter optimizes routing results by generating initial solutions using integer linear programming during the pattern routing phase and combining this with a maze algorithm for teardown and rerouting (Minsik Cho, PAN D. BoxRouter: A New Global Router Based on BoxExpansion and Progressive ILP[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2007, 26(12): 2130-2143.). Sequential routing has the advantage of efficiently handling large-scale nets, but its efficiency and quality may be limited in complex 3D scenes. 2. Concurrent routing method: The concurrent routing method attempts to process multiple nets simultaneously to improve routing efficiency. For example, GRIP utilizes linear programming relaxation techniques and randomized rounding strategies to optimize global routing, and its operational efficiency is outstanding in small-scale problems (WU TH, DAVOODI A, LINDEROTH JT. GRIP: scalable 3D global routing using in-teger programming[C] / / Proceedings of the 46th Annual Design Automation Conference. San Francisco California: ACM, 2009:320-325.).BoxRouter further employs hybrid integer programming techniques to handle multiple wirelines, achieving higher execution efficiency (Minsik Cho, Katrina Lu, Kun Yuan, et al. BoxRouter 2.0: architecture and implementation of a hybrid and robust global router [C] / / 2007 IEEE / ACM International Conference on Computer-Aided Design. San Jose, CA, USA: IEEE, 2007: 503-508.). However, in complex multi-layer designs, the computational complexity of this method is high, making it difficult to meet industrial needs.

[0005] Traditional global routing primarily focuses on the two-dimensional level, treating a single metal layer as a plane for horizontal and vertical routing paths. However, with the increasing prevalence of multi-layer designs, routing schemes need to be planned in three-dimensional space. Currently, 3D routing is mainly implemented in two ways: 1) Two-dimensional mapping method: This simplifies the 3D routing problem to 2D routing and then maps the results to 3D space. This method is computationally efficient but may lose some routing quality during layer allocation. 2) Direct 3D routing method: This involves routing directly in 3D space, which allows for better optimization of bus length and the number of vias. For example, FGR utilizes discrete Lagrange multiplier technology to realize three-dimensional routing, providing more efficient solution space optimization capabilities (ROY JA, MARKOV IL. High-Performance Routing at the Nanometer Scale[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2008, 27(6):1066-1077.); MGR proposes a multi-level three-dimensional routing framework, which can quickly generate high-quality routing schemes (XUY, CHU C. MGR: Multi-level global router[C] / / 2011IEEE / ACM International Conference on Computer-Aided Design(ICCAD). San Jose, CA, USA:IEEE, 2011:250-255.).

[0006] Despite advancements in global routing technologies, the following limitations remain: 1. Computational efficiency limitations: Traditional path planning algorithms (such as A* and Dijkstra's) require traversing a large number of nodes in high-dimensional meshes, resulting in excessively long runtimes. 2. Insufficient congestion handling capabilities: In high-density regions, existing algorithms offer limited path optimization, potentially leading to frequent teardowns and rerouting, thus reducing routing efficiency. 3. High storage requirements: Processing large-scale 3D meshes demands substantial storage resources, and traditional methods have limited optimization capabilities in this area. Summary of the Invention

[0007] The purpose of this invention is to overcome the shortcomings of the prior art and provide an efficient path planning method based on an improved JPS.

[0008] To achieve the above objectives, the technical solution provided by this invention is as follows:

[0009] An efficient path planning method based on improved JPS includes the following steps:

[0010] S1. Import the data from the 3D mesh graph and initialize the weights of the edges and nodes;

[0011] S2. Use the Floyd algorithm to calculate the shortest path and its weight between all vertices in the 3D mesh graph, and construct a directed edge storage structure;

[0012] S3. Generate initial paths on the preprocessed graph;

[0013] S4. Dynamically select jump points using the findJumpPoint function and expand the path according to priority;

[0014] S5. Optimize the path using multi-threaded parallel processing methods, and correct the selection of jump points and path planning;

[0015] S6. Repeat steps S4 and S5 until the path meets the requirements;

[0016] S7. After all nodes have been expanded, output the globally optimal routing path for the integrated circuit.

[0017] Furthermore, the constructed directed edge storage structure only stores the starting point index, ending point index, coordinate offset (dx, dy, dz) of the directed edge, and the number of nodes traversed on the path.

[0018] Furthermore, based on the distance relationship between the candidate jump point and the target node, jump points are divided into priority jump points, equivalent jump points, and non-priority jump points;

[0019] Among them, the priority jump point is the jump point that satisfies "the distance from the next node to the destination < the distance from the current node to the destination";

[0020] An equivalent jump point is a jump point that satisfies the condition that "the distance from the next node to the destination is equal to the distance from the current node to the destination";

[0021] Non-priority jump points are those that satisfy the condition that "the distance from the next node to the destination is greater than the distance from the current node to the destination".

[0022] Furthermore, the process of dynamically selecting the jump point using the findJumpPoint function includes:

[0023] From all the edges connected to the current node, obtain the next adjacent candidate node by index i;

[0024] Calculate the distance from this candidate node to the destination;

[0025] Priority jump point determination:

[0026] Determine if the distance from this candidate node to the destination is less than the distance from the current node to the destination. If so, add this candidate node to the end of the priority jump point list; otherwise, proceed to the next level of judgment.

[0027] Equivalent jump point determination:

[0028] Determine if the distance from this candidate node to the destination is equal to the distance from the current node to the destination. If so, add this candidate node to the end of the equivalent jump point list; otherwise, add this candidate node to the end of the non-priority jump point list.

[0029] Furthermore, in the process of using multi-threaded parallel processing to optimize the path,

[0030] The path search task is distributed to multiple threads, with each thread independently handling the jump point search and path expansion for a portion of the nodes;

[0031] Dynamic load balancing technology is used to dynamically adjust the search range of threads based on node density and the number of hops;

[0032] The locally optimal path results of each thread are integrated and the global path data is updated uniformly.

[0033] Furthermore, when revising the selection of jump points and path planning, two different jump point selection methods are adopted:

[0034] The first type:

[0035] All priority jump points are sorted in ascending order. Then, the number of selected jump points, num, is calculated using the following function. Finally, the first num jump points of the sorted priority jump points are selected:

[0036] num = (-0.0622ln(x) + 0.3) * size

[0037]

[0038] Where local_distance is the local distance, which is the distance from the next node to the current node; global_distance is the global distance, which is the distance from the current node to the destination; and size is the number of priority hops.

[0039] The second method involves setting different circle radius filtering conditions based on local and global distances, and then selecting jump points based on these circle radius filtering conditions:

[0040] Local distance > 0 grid cells and global distance > 200 grid cells; local distance > 5 grid cells and global distance > 150 grid cells; local distance > 10 grid cells and global distance > 100 grid cells; local distance > 15 grid cells and global distance > 50 grid cells.

[0041] Compared with existing technologies, the principles and advantages of this technical solution are as follows:

[0042] 1. By using a dynamic jump point selection strategy, the priority and search range of jump points are dynamically adjusted based on the global and local characteristics of the current node, reducing redundant searches and improving path planning efficiency.

[0043] 2. By combining a periodic directed edge storage structure, the storage space requirement is greatly reduced, while supporting fast query of path information.

[0044] 3. Utilize multi-threaded parallel processing technology to dynamically allocate path planning tasks to multiple threads for execution, and achieve efficient utilization of computing resources through load balancing strategies.

[0045] 4. Jump point search optimization reduces path expansion nodes, storage structure optimization reduces memory usage, parallel processing improves running speed, and the various links form a synergistic effect, thereby significantly improving the overall algorithm performance, avoiding local optimum traps and finding the global optimum more efficiently. Attached Figure Description

[0046] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the services required in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0047] Figure 1 This is a flowchart illustrating the principle of an efficient path planning method based on an improved JPS according to an embodiment of the present invention.

[0048] Figure 2 The graph is stored as a directed edge structure.

[0049] Figure 3 This is a flowchart illustrating the principle of dynamically selecting jump points using the findJumpPoint function.

[0050] Figure 4 This is a schematic diagram for selecting jump points based on a circle with a fixed radius. Detailed Implementation

[0051] The present invention will be further described below with reference to specific embodiments:

[0052] like Figure 1 As shown in this embodiment, an efficient path planning method based on improved JPS includes the following steps:

[0053] S1. Import the data from the 3D mesh graph and initialize the weights of the edges and nodes;

[0054] S2. Use the Floyd algorithm to calculate the shortest path and its weight between all vertices in the 3D mesh graph, and construct a directed edge storage structure;

[0055] like Figure 2 As shown, the constructed directed edge storage structure only stores the starting point index, ending point index, coordinate offset (dx, dy, dz) of the directed edge, and the number of nodes traversed on the path.

[0056] S3. Generate initial paths on the preprocessed graph;

[0057] S4. Dynamically select jump points using the findJumpPoint function and expand the path according to priority;

[0058] In this step, based on the distance relationship between the candidate jump point and the target node, the jump points are divided into priority jump points, equivalent jump points, and non-priority jump points;

[0059] Among them, the priority jump point is the jump point that satisfies "the distance from the next node to the destination < the distance from the current node to the destination";

[0060] An equivalent jump point is a jump point that satisfies the condition that "the distance from the next node to the destination is equal to the distance from the current node to the destination";

[0061] Non-priority jump points are those that satisfy the condition that "the distance from the next node to the destination is greater than the distance from the current node to the destination".

[0062] like Figure 3 As shown, the process of dynamically selecting the jump point using the findJumpPoint function includes:

[0063] From all the edges connected to the current node, obtain the next adjacent candidate node by index i;

[0064] Calculate the distance from this candidate node to the destination;

[0065] Priority jump point determination:

[0066] Determine if the distance from this candidate node to the destination is less than the distance from the current node to the destination. If so, add this candidate node to the end of the priority jump point list; otherwise, proceed to the next level of judgment.

[0067] Equivalent jump point determination:

[0068] Determine if the distance from this candidate node to the destination is equal to the distance from the current node to the destination. If so, add this candidate node to the end of the equivalent jump point list; otherwise, add this candidate node to the end of the non-priority jump point list.

[0069] S5. Optimize the path using multi-threaded parallel processing technology, and correct the selection of jump points and path planning;

[0070] In the process of using multi-threaded parallel processing to optimize the path.

[0071] The path search task is distributed to multiple threads, with each thread independently handling the jump point search and path expansion for a portion of the nodes;

[0072] Using dynamic load balancing technology, the search range of threads can be dynamically adjusted according to node density and number of hops, which can avoid unbalanced computation between threads.

[0073] The locally optimal path results of each thread are integrated and the global path data is updated uniformly.

[0074] When revising the selection of jump points and path planning, two different jump point selection methods are used:

[0075] The first type:

[0076] All priority jump points are sorted in ascending order. Then, the number of selected jump points, num, is calculated using the following function. Finally, the first num jump points of the sorted priority jump points are selected:

[0077] num = (-0.0622ln(x) + 0.3) * size

[0078]

[0079] Where local_distance is the local distance, which is the distance from the next node to the current node; global_distance is the global distance, which is the distance from the current node to the destination; and size is the number of priority hops.

[0080] The second method involves setting different circle radius filtering conditions based on local and global distances, and then selecting jump points based on these circle radius filtering conditions:

[0081] Local distance > 0 grid cells and global distance > 200 grid cells; local distance > 5 grid cells and global distance > 150 grid cells; local distance > 10 grid cells and global distance > 100 grid cells; local distance > 15 grid cells and global distance > 50 grid cells.

[0082] S6. Repeat steps S4 and S5 until the path meets the requirements;

[0083] S7. After all nodes have been expanded, output the globally optimal routing path for the integrated circuit.

[0084] To demonstrate the superiority of the improved JPS algorithm used in this invention, the following experiment was conducted:

[0085] The experiment compared Dijkstra's algorithm with the improved JPS algorithm of this invention, and the comparison results are shown in Table 1 below:

[0086] Table 1

[0087]

[0088] The experimental results above show that, in terms of fractional QoR, the two algorithms perform identically in test0 and test1. In test2, the improved JPS algorithm is 1% worse than Dijkstra's algorithm (3 / 300*100%), but the results are almost identical. Regarding runtime, the improved JPS algorithm runs at only 0.797% of Dijkstra's algorithm in test0, 0.0006% in test1, and 0.00888% in test2. In conclusion, the improved JPS algorithm performs comparably to Dijkstra's algorithm, but its runtime is significantly faster.

[0089] In summary, to address the problem of low efficiency of existing algorithms (such as A* and Dijkstra) in high-dimensional grid environments, this invention significantly reduces the number of nodes that need to be processed during path search and greatly improves the computational efficiency of the algorithm through an improved variant Jump Point Search (JPS) algorithm.

[0090] To address the problem of excessive storage requirements in traditional 3D path planning algorithms, this invention designs a periodic directed edge storage structure. By reducing redundant information in storage nodes and edges, the space complexity of the algorithm is effectively reduced, making it suitable for 3D wiring problems in large-scale integrated circuit design.

[0091] Existing technologies have limited effectiveness in path planning in high-density areas. This invention improves the algorithm's path planning capability in complex and congested areas by dynamically adjusting the jump point search range and path optimization radius, combined with multi-threaded parallel processing technology.

[0092] To address the insufficient adaptability of traditional algorithms in 3D wiring problems, this invention supports 3D path planning at the algorithm level. By combining the Floyd algorithm with 3D mesh preprocessing, it achieves rapid initialization and efficient planning of path search, adapting to the needs of multi-layer wiring structures.

[0093] By improving the time and space complexity of the algorithm, this invention achieves significant improvements over existing technologies in key performance indicators such as path search speed, memory usage, congestion handling, and via quantity, providing a better solution for VLSI routing.

[0094] The above-described embodiments are merely preferred embodiments of the present invention and are not intended to limit the scope of the present invention. Therefore, any changes made in accordance with the shape and principle of the present invention should be covered within the protection scope of the present invention.

Claims

1. An efficient path planning method based on improved JPS, characterized in that, The method comprises the following steps: S1, importing data of a three-dimensional grid graph, initializing weights of edges and nodes; S2, using a Floyd algorithm to calculate shortest paths and their weights between all nodes in the three-dimensional grid graph, and constructing a directed edge storage structure; S3, generating an initial path on the pretreated graph; S4, dynamically selecting a jump point through a findJumpPoint function, and expanding the path according to a priority; S5, optimizing the path using a multi-thread parallel processing technology, and correcting the selection of the jump point and the path planning; S6, repeating steps S4 and S5 until the path meets the requirements; S7, outputting a global optimal routing path of the integrated circuit when all nodes are expanded.

2. The improved JPS-based efficient path planning method of claim 1, wherein, The constructed directed edge storage structure only stores a start point serial number, an end point serial number, a coordinate offset (dx, dy, dz), and a number of nodes passed on the path of the directed edge.

3. The improved JPS-based efficient path planning method of claim 1, wherein, According to a distance relationship between the candidate jump point and the target node, the jump point is divided into a priority jump point, an equivalent jump point, and a non-priority jump point; The priority jump point is a jump point satisfying "a distance of the next node to the end point < a distance of the current node to the end point"; The equivalent jump point is a jump point satisfying "a distance of the next node to the end point = a distance of the current node to the end point"; The non-priority jump point is a jump point satisfying "a distance of the next node to the end point > a distance of the current node to the end point".

4. The improved JPS-based efficient path planning method of claim 3, wherein, The process of dynamically selecting the jump point through the findJumpPoint function comprises: obtaining a next adjacent candidate node according to an index i from all edges connected to the current node; calculating a distance of the candidate node to the end point; priority jump point judgment: judging whether the distance of the candidate node to the end point is less than the distance of the current node to the end point, if yes, adding the candidate node to the end of the priority jump point list, otherwise, entering the next layer of judgment; equivalent jump point judgment: judging whether the distance of the candidate node to the end point is equal to the distance of the current node to the end point, if yes, adding the candidate node to the end of the equivalent jump point list, otherwise, adding the candidate node to the end of the non-priority jump point list.

5. The improved JPS-based efficient path planning method of claim 1, wherein, In the process of optimizing the path using the multi-thread parallel processing, the path search task is allocated to multiple threads, and each thread independently processes jump point search and path expansion of part of nodes; a dynamic load balancing technology is used to dynamically adjust a search range of the thread according to node density and the number of jump points; local optimal path results of the threads are integrated, and global path data is uniformly updated.

6. The improved JPS-based efficient path planning method of claim 5, wherein, In the process of correcting the selection of the jump point and the path planning, two different jump point selection methods are adopted: The first method: all priority jump points are sorted in ascending order, the number num is calculated according to the following function, and the first num jump points of the sorted priority jump points are selected: num = (-0.0622ln(x) + 0.3) * size wherein local_distance is a local distance, i.e., a distance of the next node to the current node; global_distance is a global distance, i.e., a distance of the current node to the end point; and size is the number of priority jump points. Second, based on the local distance and global distance, set the following different circle radius screening conditions, and based on the circle radius screening conditions, the jump point selection is carried out: Local distance> 0 network grids and global distance> 200 network grids Local distance> 5 network grids and global distance> 150 network grids Local distance> 10 network grids and global distance> 100 network grids Local distance> 15 network grids and global distance> 50 network grids.