135-degree PCB area routing method based on dynamic mesh
By optimizing PCB area routing through dynamic mesh construction and an improved A* algorithm, the problem of low routing efficiency in existing technologies is solved, achieving efficient and optimized routing results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GUANGZHOU GUILUN ELECTRONIC TECH CO LTD
- Filing Date
- 2022-08-04
- Publication Date
- 2026-05-26
AI Technical Summary
Existing PCB area routing algorithms are difficult to effectively handle situations where there is insufficient routing track information in industrial applications, resulting in low routing efficiency and difficulty in meeting actual needs.
A 135-degree PCB area routing method based on dynamic mesh is adopted. By constructing a serial routing priority queue, dynamically constructing feasible regions, using an improved A* heuristic algorithm and a disconnect and rerouting mechanism, the routing path is optimized and the lines are adjusted.
It improves the efficiency and quality of PCB area routing, reduces routing congestion, optimizes line length and topology, and meets the routing needs of practical applications.
Smart Images

Figure CN115270693B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of electronic design automation technology, particularly to routing automation technology on PCB boards, specifically to a 135-degree PCB area routing method based on dynamic grids. Background Technology
[0002] PCB routing (also known as bus routing) involves connecting escaped traces outside the component to ensure complete routing. A group of wires in a bus should ideally be routed together to maintain a consistent topology. Generally, the bends in the traces should be greater than or equal to 135 degrees to avoid unnecessary interference. While meeting various routing rules, the trace length should be kept as short as possible to reduce latency and other issues caused by trace length.
[0003] With the development of integrated circuit technology, there are more and more multi-chip modules, I / O pins and bus structures on various memories on PCB boards. Manual routing is inefficient and increasingly difficult to meet routing needs. Therefore, efficient, high-pass-through and stable automatic bus routing algorithms have become urgently needed in the industry.
[0004] Most existing routing algorithms use a combination of mesh and pathfinding algorithms for automatic routing. However, most are based on static meshes and are limited by the routing direction at each layer. Considering capacity and topology routing, they are more prone to congestion. Traditional dynamic meshes continuously update routable nodes, leading to inconsistent routing angles and putting significant pressure on subsequent detailed routing.
[0005] In recent years, most research in PCB area routing has been based on the area routing constraints of the 2018 ICCAD competition. This competition's constraints predefine routing tracks for nets, and different routing tracks on the same routing layer may have different linewidth constraints. Furthermore, each layer has only one routing direction (horizontal or vertical) and a set of obstacles. Solutions designed to address these constraints mainly include the following: ① Bus routing algorithms based on Directed Acyclic Graphs (DAGs): This uses the LCS (Longest Common Subsequence) bus clustering algorithm to significantly reduce the number of buses, thereby reducing routing complexity; it uses a DAG-based topology matching on-track bus routing algorithm to find the shortest path for each bit of the bus in the DAG, and the resulting path satisfies the topology matching constraint; it uses the method of tearing and rerouting to reduce routing congestion and spacing conflicts. ② Bus routing algorithms based on multi-level frames: This effectively solves practical problems such as minimum spacing and minimum linewidth on irregular track metal layers. The goal is to complete the routing of all buses, maintain the same topology for different bits of the bus, and optimize indicators such as bus line length, number of segments, and compactness. Its algorithm mainly includes five steps: bus-based mesh graph (BGG) update, topology-aware path planning (TAP), bit tracking and allocation (TAB), track occupancy update, and route relocation (RR) scheme. ③ Boolean satisfiability-based bus routing algorithm: It uses an efficient encoding method to encode the constraints between objects into clauses and express them as topological Boolean expressions to determine the legality of a set of object spatial positions. Its efficient encoding method can significantly reduce the number of clauses. Given a coordinate axis with several discrete positions {1,2,…,} and a set of objects {1,…,}, for the constraints of relative position between objects, non-overlapping constraints between objects, and the constraint that all objects must have a place, the SAT solver can be used to determine whether there is a placement scheme that meets these constraints and give a feasible solution. ④ Bus routing algorithm considering line length matching: It optimizes the routing feasibility, line length, and length matching while simultaneously considering design constraints such as track resources and obstacles. The algorithm mainly includes layout plane partitioning, construction of overall routing diagram, track allocation of pin-access routing segments, using depth-first search (DFS) to search for candidate routing paths for each bus without detours, using breadth-first search (BFS) to detour routing for each failed bus in the previous stage, rerouting buses with spacing conflicts on pin-access routing segments, and minimum-maximum line length difference optimization.
[0006] The above routing algorithms provide an effective solution for area routing. However, in industry, PCB boards generally do not provide routing track information, but only the location information of components (obstacles), net information, etc., which is difficult to meet the general needs in actual situations. Summary of the Invention
[0007] In view of the defects and shortcomings of existing technologies, this invention starts from the general situation of actual area cabling and provides new solutions and algorithmic ideas for solving area cabling problems in order to better fit the general application scenarios of area cabling.
[0008] In view of this, the purpose of this invention is to propose a 135-degree PCB area routing method based on dynamic mesh for general application scenarios, and to design an automatic area routing algorithm to solve the PCB area routing problem, thereby improving the efficiency of PCB area routing.
[0009] The basic idea is as follows: First, a serial routing priority queue is constructed to determine the routing order of each net. Then, onboard components and PCB bounding boxes are stored in an obstacle list as basic obstacles for each layer of routing. Next, a dynamic mesh is constructed based on the starting pin position of the net and the obstacles. The constituent elements of the edges in the constructed dynamic mesh are analyzed to obtain the non-obstacle edges. For non-uniform segmentation of the channel, the center point of each segment is set as a candidate node for routing and added to the candidate list. The node with the minimum estimated cost is obtained through pathfinding using the A* heuristic algorithm. A 135-degree mapping scheme is executed based on the real-time constructed dynamic mesh. Finally, for nets that cannot be extended to the endpoint, a route-re-routing mechanism is used to adjust the existing lines, further improving routing quality.
[0010] The key points of this technical solution are as follows: (1) Unlike traditional mesh routing, this algorithm constructs a dynamic mesh in real time when planning the route for the network, so as to achieve a good balance between routing flexibility and operating efficiency; (2) During the routing process, it is inevitable that the routing curves will turn. If the curve is a right angle, additional parasitic capacitance and inductance will be generated at the curve. A 135-degree mapping scheme is adopted based on the currently constructed dynamic mesh and the positional relationship of the nodes; (3) A new improved heuristic function based on historical cost is combined to optimize the routing feasibility while considering routing congestion; (4) Finally, an effective method of tearing down and rerouting is used to adjust the existing routing in order to further improve the routing quality.
[0011] Experimental results show that the algorithm can obtain good routing results in a relatively short time and has good versatility.
[0012] To achieve the above objectives, the present invention adopts the following technical solution:
[0013] A 135-degree PCB area routing method based on dynamic mesh, characterized by the following steps:
[0014] Step S1: Based on net priority and pin distance, construct a routing priority queue, determine the serial routing order, and initialize obstacles;
[0015] Step S2: Construct feasible region, generate channels, and obtain candidate nodes from channels;
[0016] Step S3: Select the node with the minimum routing cost using the A* heuristic function;
[0017] Step S4: Construct the feasible region at 135 degrees to generate intermediate nodes;
[0018] Step S5: For networks that failed to be wired, the method of disconnecting and rewiring is used to further improve the wiring quality.
[0019] Further, in step S1;
[0020] The routing priority of each pair of pins is calculated using a pre-processing function. The calculation method is as follows:
[0021] P N =ω*D N +γ*p c
[0022] Among them, P N D represents the priority of the net's routing sequence. N P is the Manhattan distance between the start and stop pins. c For custom parameters, P can be adjusted according to actual needs. c A larger parameter value increases the priority; ω and γ are the fixed weights set to balance the importance of the two parameters in determining the final routing priority of the network.
[0023] Further, in step S2;
[0024] Following the preprocessing order, after reading the starting point of the next wire network to be wired, set it as the anchor point, traverse the obstacle list, and use the edges of the obstacles to constrain the size and shape of the current feasible region, so that the area after the constraint is maximized and there are no obstacles under the condition that it does not intersect with any obstacles but can overlap, thus obtaining a feasible region to be found in the maze.
[0025] Define the starting point of each expansion of the feasible region as the anchor point, and the anchor point is always located within the current feasible region or on the boundary.
[0026] After the feasible region is generated, the boundary Ec of the feasible region is traversed to determine the components of the feasible region boundary and to determine the positional relationship between Ec and the obstacle boundary Eo. The channels it contains are determined according to the following rules:
[0027] If there is some intersection between boundary Ec and boundary Eo, then the part of Ec that overlaps with Eo will be reduced in terms of endpoints until the two edges no longer intersect.
[0028] If Ec contains Eo, then one end of Ec is shrunk so that the two edges do not intersect, and the other segment cut off by Eo is stored in the queue.
[0029] If Eo contains Ec, then skip Ec;
[0030] After all channels in the feasible region are generated, the channels are non-uniformly segmented, and the center point of each segment is set as a candidate node. At both ends of the channel, in order to meet the spacing constraints between the wire meshes, a portion of the segments is reserved. These segments do not participate in the generation of candidate nodes. The segmentation of each channel is calculated according to the following formula:
[0031] Seg_num=min(max_num,len / (distance+bit_width))
[0032] In the formula, Seg_num represents the number of segments in the current channel; max_num represents the maximum number of segments allowed to limit the number of candidate nodes participating in the maze search; len represents the length of the current channel; distance represents the spacing constraint between nets; and bit_width represents the linewidth constraint of each layer of nets.
[0033] Further, in step S3:
[0034] After obtaining candidate nodes, the A* algorithm is used to plan network paths. The expression of its evaluation function is f(x) = g(x) + h(x); where f(x) is the comprehensive cost of the current point x; g(x) is the actual movement cost from the starting point to x along the currently generated path; and h(x) is the estimated cost from x to the target point. The cost is the cost and distance that measure the quality of the cabling.
[0035] Generally, for any two points (x1, y1) and (x2, y2), the distance can be measured in different ways, including Euclidean distance, Manhattan distance, and Chebyshev distance, with the corresponding expressions as follows:
[0036]
[0037] D Manhatan =|x2-x1|+|y2-y1|
[0038] D Chebyshev = max(|x2-x1|+|y2-y1|)
[0039] However, to better meet the requirement of a 135-degree wiring angle, this invention measures the distance between the current node X(x,y) and the target point T(x,y) using an improved Chebyshev distance, as shown in the following formula:
[0040]
[0041] In the formula, Dmin and Dmax are the minimum and maximum values of the difference between the current node X and the target point T on the X or Y coordinate axis, respectively; h(x) is the evaluation value of the current node.
[0042] To control routing congestion, an improved A* algorithm's historical cost function is used, and g(x) is defined as follows:
[0043]
[0044] in, ε, η, μ are the weights defined by the algorithm, C w1 To account for the cumulative cost of the already completed route, C bend To account for the cost proportional to the number of cabling corners, len is the length of the current channel. To prevent cabling congestion, channels with larger len values are prioritized. C direction This represents the cost of the current node in different directions. Prioritizing nodes that tend towards the target point improves the real-time performance of the algorithm.
[0045] Furthermore, in step S4; after finding the node with the lowest estimated cost, and comprehensively considering the positional relationship between the two nodes and the various relative positions of their channel lengths in the feasible region, a 135-degree graph is constructed by generating intermediate nodes.
[0046] Furthermore, in step S5;
[0047] The existing wiring is adjusted using a mechanism of dismantling and re-laying.
[0048] When a feasible region is expanded, if it intersects with an existing wire mesh, it is taken as a passage of the current feasible region. At this time, the next node is taken. When the feasible region of the next node is a wire mesh obstacle, if it has not been marked as checked, the cost of removing this wire mesh is calculated. The formula for calculating the removal cost is as follows.
[0049] costfactor = costs * width / 2
[0050] detour=(length+add) / (minlength+add)+itemcost*(wiresegments-1)
[0051] ripupcost=costfactor*viafactor / detour
[0052] ripupcost∈(1,MAX_RIPUP_COSTS)
[0053] In the formula, costs and add are the base values for the wire removal cost setting, which are set to 100; width is the width of each wire mesh; length is the length from the starting point to the target point of the wire mesh to be removed; minlength is the Euclidean distance from the starting point to the target point; detour and costfactor are factors that affect the removal cost; viafactor is the cost of removing vias, which is related to different layers; and wiresegment is the number of wire mesh segments.
[0054] If the cost of tearing a wire is greater than or equal to 0, it means that the wire network can be torn down. For the nodes obtained from the torn part, the cost function is increased by the teardown cost on the basis of the original evaluation function, and then they are put back into the list of candidate nodes to be selected. For the torn wire network, it is added back to the queue of wire networks to be re-routed, and re-routed according to the wiring resources.
[0055] Compared with the prior art, the present invention and its preferred embodiments have the following advantages:
[0056] (1) Unlike traditional mesh routing, this algorithm constructs a dynamic mesh in real time when planning the route for the network, so as to achieve a good trade-off between routing flexibility and operating efficiency; (2) During the routing process, it is inevitable that the routing will turn. If the corner is a right angle, additional parasitic capacitance and inductance will be generated at the corner. This algorithm adopts a 135-degree mapping scheme based on the currently constructed dynamic mesh and the positional relationship of the nodes; (3) Combined with a new improved A* heuristic function based on historical cost, the routing congestion is considered while optimizing the routing feasibility; (4) Finally, an effective method of tearing down and rerouting is used to adjust the existing routing to further improve the routing quality. Attached Figure Description
[0057] Figure 1 This is a wiring flowchart of an embodiment of the present invention;
[0058] Figure 2 This is an example diagram illustrating the extended feasible domain of an embodiment of the present invention;
[0059] Figure 3 Example diagrams illustrating three scenarios for constructing channels according to embodiments of the present invention;
[0060] Figure 4 This is an example diagram of the 35-degree composition method in Embodiment 1 of the present invention;
[0061] Figure 5 This is an example diagram of the disassembly and re-laying of the sutures according to the present invention. Detailed Implementation
[0062] To make the features and advantages of this patent more apparent and understandable, specific embodiments are provided below for detailed explanation:
[0063] It should be noted that the following detailed descriptions are illustrative and intended to provide further explanation of this application. Unless otherwise specified, all technical and scientific terms used in this specification have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains.
[0064] It should be noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments according to this application. As used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise. Furthermore, it should be understood that when the terms "comprising" and / or "including" are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.
[0065] This embodiment provides a 135-degree PCB area routing method based on dynamic mesh, the specific process of which is as follows: Figure 1 As shown, the main steps include:
[0066] (1) Based on the wire net priority and pin distance, construct a routing priority queue, determine the serial routing order, and initialize obstacles.
[0067] (2) Construct feasible regions, generate channels, and obtain candidate nodes from channels.
[0068] (3) Improve the A* pathfinding heuristic by selecting the node with the minimum wiring cost through the A* heuristic function.
[0069] (4) Build a 135-degree graph of the feasible region to generate intermediate nodes.
[0070] (5) For wire networks that have not been successfully wired, the method of dismantling and re-wired should be adopted to further improve the quality of the wiring.
[0071] Please see Figure 1 , Figure 1 This is a flowchart of the 135-degree PCB area routing method based on dynamic mesh according to the present invention. Details are as follows:
[0072] This invention employs a pre-calculation function to calculate the routing priority of each pair of pins, followed by preprocessing. The calculation method is as follows:
[0073] P N =ω*D N +γ*p c
[0074] Among them, P N D represents the priority of the net's routing sequence. N P is the Manhattan distance between the start and stop pins. c For custom parameters, P can be adjusted according to actual needs. cSetting the parameter values to be larger increases the priority. ω and γ are the fixed weights set to balance the importance of the three parameters in determining the final routing priority of the net.
[0075] After obtaining the serial routing sequence based on the prediction function, the onboard components and PCB bounding boxes are stored in the obstacle list as basic obstacles for routing at each layer. In addition, the feasible regions that have been completed in the current net will also be used as obstacles for constructing feasible regions in the subsequent current nets. Routed nets are also stored in the obstacle list as two-dimensional obstacles.
[0076] After reading the starting point of the next network to be routed in the preprocessing order, it is set as the anchor point. For example... Figure 2 As described above, point S is the starting point for constructing the current feasible region. The obstacle list is traversed, and the edges of the obstacles are used to constrain the size and shape of the current feasible region. This ensures that the constrained region has the largest area and no obstacles, without intersecting with any obstacles (edges can overlap). This yields a feasible region for maze pathfinding, namely the region in the lower right corner. In this invention, the starting point for each expansion of the feasible region is defined as an anchor point. It is crucial to emphasize that the anchor point must always be located within or on the boundary of the current feasible region.
[0077] After constructing the region in the lower right corner, traverse the boundary Ec of the lower right corner region to determine the components of the feasible region boundary and determine the positional relationship between Ec and the obstacle boundary Eo to determine the channels it contains. ① If boundary Ec and boundary Eo have some intersection, then the part of Ec that overlaps with Eo is shortened until the two edges no longer intersect; ② If Ec contains Eo, then one end of Ec is shortened so that the two edges no longer intersect, and the other segment truncated by Eo is stored in the queue; ③ If Eo contains Ec, then skip Ec. A schematic diagram of the channel construction is shown below. Figure 3 As shown.
[0078] After generating the channel, the channel is segmented according to the spacing constraints, obstacle spacing and net width, and the center point of each segment is set as a candidate node and added to the candidate node list. A portion of the line segments at both ends of the channel should be reserved, and these line segments do not participate in the generation of candidate nodes. Figure 2 In the example, the feasible region contains channels represented by dashed lines. The segmentation of each channel is calculated using the following formula.
[0079] Seg_num=min(max_num,len / (distance+bit_width))
[0080] In the formula, Seg_num represents the number of segments in the current channel; max_num represents the maximum number of segments allowed to limit the number of candidate nodes participating in the maze search; len represents the length of the current channel; distance represents the spacing constraint between nets; and bit_width represents the linewidth constraint of each layer of nets.
[0081] After obtaining candidate nodes, a pathfinding algorithm needs to be selected. This embodiment uses the A* algorithm to plan the network path. The A* algorithm typically uses an evaluation function during analysis, expressed as f(x) = g(x) + h(x). Here, f(x) is the total cost of the current point x; g(x) is the actual movement cost from the starting point along the currently generated path to x; and h(x) is the estimated cost from x to the target point. Cost measures the cost and distance of the wiring quality. For any two points (x1, y1) and (x2, y2), the distance is measured in different ways, mainly Euclidean distance, Manhattan distance, and Chebyshev distance, with the corresponding expressions as follows:
[0082]
[0083] D Manhatan =|x2-x1|+|y2-y1|
[0084] D Chebyshev = max(|x2-x1|+|y2-y1|)
[0085] To better meet the requirement of a 135-degree wiring angle, this embodiment replaces the Euclidean distance in the original algorithm with an improved Chebyshev distance, as shown in the following formula:
[0086]
[0087] Furthermore, this embodiment makes corresponding improvements to the historical cost function of the A* algorithm to better control wiring congestion, mainly in the selection of child nodes, where g(x) is defined as follows:
[0088]
[0089] Here ε, η, μ are the weights defined by the algorithm, C w1 To account for the cumulative cost of the already completed route, C bend To account for the cost proportional to the number of cabling corners, len is the length of the current channel. To prevent cabling congestion, this algorithm prioritizes channels with larger len values. C direction This represents the cost of the current node in different directions. This algorithm prioritizes nodes that tend towards the target point, thereby improving the real-time performance of the algorithm.
[0090] After finding the node with the lowest estimated cost, and considering the positional relationship between the two nodes and the relative positions of their channel lengths within the feasible region, an intermediate node generation method is adopted. This embodiment uses a 135-degree graphing method, roughly divided into... Figure 4 The eight situations mentioned. For example... Figure 2 Example of a feasible region graph: Figure 4 Case 3(a).
[0091] After the intermediate nodes of the current feasible region are generated, it means that a directed edge from the parent node to the current node C has been found. The parent node and intermediate node are stored in the path of the mesh, and the current node is set as the anchor point. Using the next feasible region key of the channel where the point is located, the next feasible region to be cut is determined. This point will also be updated as the starting point of the next dynamic mesh search. The above steps are continuously iterated until the wiring target point is found, and the wiring nodes of the mesh are all searched, or until the maximum number of iterations is reached.
[0092] For network sections that cannot be extended to the endpoint, adjustments are made using a dismantling and re-layout mechanism. For example... Figure 5 As shown, wire mesh P 1.1 P 1.2 For the already wired network, network P 2.1 P 2.2 This is the network to be wired. In obtaining network P... 2.1 P 2.2 The starting point P 2.1 Next, a feasible region is constructed, and the candidate node list is traversed. After checking, it is found that it cannot be extended to the endpoint P. 2.2 Traverse the constituent elements of the channel and compare them with the already laid out two-dimensional mesh P. 1.1 P 1.2 An intersecting boundary will also serve as a pathway within the current feasible region. If a wired network has not been marked as checked, the cost of dismantling it is calculated. A dismantling cost greater than or equal to 0 indicates that the network can be dismantled. For nodes obtained from dismantling, their cost function is updated by adding the dismantling cost to the original estimation function, and then they are added back to the list of candidate nodes. Dismantled networks are then added back to the queue of networks to be routed, and routing is performed again based on the available routing resources.
[0093] This invention proposes an efficient PCB routing algorithm for area routing. Unlike traditional static mesh construction, this invention is the first to propose a real-time dynamic mesh construction routing algorithm. Based on the real-time generated dynamic mesh, this invention employs a mapping method for generating 135-degree routing nodes. To improve routing efficiency and congestion control, this invention improves the A* heuristic to achieve better routing results. Furthermore, to further improve the quality of the solution, we propose an effective teardown and rerouting mechanism. Experimental results demonstrate the effectiveness and flexibility of this algorithm.
[0094] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention in any other way. Any person skilled in the art may make changes or modifications to the above-disclosed technical content to create equivalent embodiments. However, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the protection scope of the present invention.
[0095] This patent is not limited to the above-described preferred embodiment. Anyone can derive other forms of dynamic grid-based 135-degree PCB area routing methods under the guidance of this patent. All equivalent changes and modifications made within the scope of this patent application shall fall within the scope of this patent.
Claims
1. A 135-degree PCB area routing method based on dynamic mesh, characterized in that, Includes the following steps: Step S1: Based on net priority and pin distance, construct a routing priority queue, determine the serial routing order, and initialize obstacles; Step S2: Construct feasible region, generate channels, and obtain candidate nodes from channels; Specifically: Following the preprocessing order, after reading the starting point of the next wire network to be wired, set it as the anchor point, traverse the obstacle list, and use the edges of the obstacles to constrain the size and shape of the current feasible region, so that the area after the constraint is maximized and there are no obstacles under the condition that it does not intersect with any obstacles but can overlap, thus obtaining a feasible region to be found in the maze. Define the starting point of each expansion of the feasible region as the anchor point, and the anchor point is always located within the current feasible region or on the boundary. After the feasible region is generated, the boundary Ec of the feasible region is traversed to determine the components of the feasible region boundary and to determine the positional relationship between Ec and the obstacle boundary Eo. The channels it contains are determined according to the following rules: If there is some intersection between boundary Ec and boundary Eo, then the part of Ec that overlaps with Eo will be reduced in terms of endpoints until the two edges no longer intersect. If Ec contains Eo, then one end of Ec is shrunk so that the two edges do not intersect, and the other segment cut off by Eo is stored in the queue. If Eo contains Ec, then skip Ec; After all channels in the feasible region are generated, the channels are non-uniformly segmented, and the center point of each segment is set as a candidate node. At both ends of the channel, in order to meet the spacing constraints between the wire meshes, a portion of the segments is reserved. These segments do not participate in the generation of candidate nodes. The segmentation of each channel is calculated according to the following formula: In the formula, Seg_num represents the number of segments in the current channel; max_num represents the maximum number of segments allowed to limit the number of candidate nodes participating in the maze search; len represents the length of the current channel; distance represents the spacing constraint between nets; and bit_width represents the line width constraint of each layer of nets. Step S3: Through The heuristic function selects the node with the lowest routing cost; Step S4: Construct the feasible region at 135 degrees to generate intermediate nodes; Step S5: For networks that failed to be wired, the method of disconnecting and rewiring is used to further improve the wiring quality.
2. The 135-degree PCB area routing method based on dynamic mesh according to claim 1, characterized in that: In step S1; The routing priority of each pair of pins is calculated using a pre-processing function. The calculation method is as follows: Among them, P N D represents the routing priority of the network. N P is the Manhattan distance between the start and stop pins. c For custom parameters, P can be adjusted according to actual needs. c A larger parameter value increases the priority; ω and γ are the fixed weights set to balance the importance of the two parameters in determining the final routing priority of the network.
3. The 135-degree PCB area routing method based on dynamic mesh according to claim 1, characterized in that: In step S3; For the current node X(x,y) and the target point T(x,y), the distance is measured using the improved Chebyshev distance, as shown in the following formula: In the formula, D min D max These are the minimum and maximum values of the difference between the current node X and the target point T along the X or Y coordinate axis, respectively; h(x) is the evaluation value of the current node; Adopting improved The algorithm's history cost function, used to control wiring congestion, is defined as follows: Where ∂, ɛ, ŋ, μ are the weights defined by the algorithm, and C w1 To account for the cumulative cost of the already completed route, C bend To account for the cost proportional to the number of cabling corners, len is the length of the current channel. To prevent cabling congestion, channels with larger len values are prioritized. C direction This represents the cost of the current node in different directions, and prioritizes nodes that tend towards the target point.
4. The 135-degree PCB area routing method based on dynamic mesh according to claim 1, characterized in that: In step S4, after finding the node with the lowest estimated cost, and considering the positional relationship between the two nodes and the relative positions of their channel lengths in the feasible region, a 135-degree graph is constructed using the method of generating intermediate nodes.
5. The 135-degree PCB area routing method based on dynamic mesh according to claim 1, characterized in that: In step S5; The existing wiring is adjusted using a mechanism of dismantling and re-laying. When a feasible region is expanded, if it intersects with an existing network boundary, it is used as a passage for the current feasible region. At this point, we take the next node. When the feasible region of the next node is a wire mesh obstacle, if it has not been marked as checked, we calculate the cost of removing this wire mesh. The formula for calculating the removal cost is as follows. In the formula, costs and add are the base values for the wire removal cost setting, which are set to 100; width is the width of each wire mesh; length is the length from the starting point to the target point of the wire mesh to be removed; minlength is the Euclidean distance from the starting point to the target point; detour and costfactor are factors that affect the removal cost; viafactor is the cost of removing vias, which is related to different layers; and wiresegment is the number of wire mesh segments. If the cost of dismantling the wire is greater than or equal to 0, it means that the wire network can be dismantled. For the nodes obtained from the dismantled part, the cost function is increased by the dismantling cost on the basis of the original evaluation function, and then they are put back into the list of candidate nodes to be selected. For removed cabling networks, add them back to the cabling queue and re-route them according to the cabling resources.