FPGA routing method to improve efficiency by sorting the points of the line network
By pre-ordered sorting of the purpose points of FPGA network and in-depth priority search for future cost guidance, the problem of low wiring efficiency of multi-purpose point networks in the prior art is solved, and faster wiring speed and higher overall efficiency are achieved.
Patent Information
- Application Number
- CN202111244818.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-26
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2041-10-26
AI Technical Summary
When the existing FPGA wiring algorithm deals with multi-purpose point-line networks, it leads to an increase in resource sharing conflicts, a large coverage of search paths, a large memory occupancy, and a long time, which affects development efficiency and user experience.
By ordering the destination points of the wiring network, using the preset wiring algorithm to optimize the search path, search the destination points in sequence according to the access order, and add future costs to the wiring cost to guide depth-first search and reduce the number of searches and space.
It improves the speed and efficiency of FPGA wiring, reduces memory requirements, and can directly handle multi-purpose point-line networks without network splitting, simplifying the implementation process.
Smart Images

Figure CN113919270B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the field of FPGA, and in particular to an FPGA wiring method for improving efficiency by sorting network points. Background Art
[0002] FPGA routing is the process of connecting the occupied logic units using the device's programmable interconnect resources after chip layout. When routing FPGA, it is generally necessary to abstract the programmable logic resources on the FPGA, including the interconnect resources, into a routing diagram. The wiring diagram has all the underlying modules, architectures, and interconnection resources. Each point n in V represents a wiring resource or a port of a resource module in the FPGA. Each directed edge in E Represented by Click to The switch that the point passes through. The wire net in the user design netlist When mapped to FPGA, the corresponding wire net is the combination of its network endpoints, including the source point And several destinations , wire network It can be regarded as a subset of V. Routing, that is, finding a connection tree (Routing Tree) composed of routing resources (line segments) on G Can With all All connected. When routing is complete, every signal in the netlist has the correct connection tree. , and no routing resource in the wiring diagram is shared or occupied by more than one signal, that is, there is no routing conflict.
[0003] The commonly used FPGA routing algorithm is the congestion negotiation algorithm, which is as follows. Please combine Figure 1 The process shown:
[0004] (1) Create a wiring diagram and read in the user's design netlist and constraints.
[0005] (2) Select the network in the user design netlist that does not have a connection tree or the node in the existing connection tree that involves resource sharing conflicts. If the line network If the tree is not connected yet, proceed directly to step (3). If there is already a connection tree containing nodes involved in resource sharing conflicts, the line network All existing connection trees are removed and cleared for rewiring, and then step (3) is executed.
[0006] (3) Line mesh The source Put into connection tree Middle pair connection tree initialization.
[0007] (4) Initialize the priority queue PQ (Priority Queue) to a connection tree , set the routing cost of all nodes in the priority queue PQ to 0. In the first loop, the connection tree Only the source point , so there are only source points in the priority queue PQ .
[0008] (5) Remove the node m with the lowest wiring cost from the priority queue PQ and check whether the node m is a wire mesh. destination point.
[0009] (6) If node m is not a wire network Destination , traverse all fan-out nodes n of node m and add them to PQ, and determine the routing cost of each fan-out node n as cost=cn+Pim, where cn is the node cost of the fan-out node n and Pim is the source node The total cost to node m is expressed as the path cost to the fan-out node n. Re-execute step (4).
[0010] (7) If node m is a wire network Destination , then by the destination point (Point m) trace back to the source point , update the node cost cn of all nodes on the path, and add all nodes on the path to the network Connection tree Update the connection tree , execute steps (3) to (4) again until the wire network is found When updating the node cost cn, it is generally updated based on the number of shared conflicts, the length of the routing resources, the timing redundancy, etc. of the node.
[0011] In the above method, the node cost cn of the node with resource sharing conflict increases cumulatively, so it is less likely to be selected as a path when searching for a new routing path, which can reduce the probability of resource sharing conflict. Repeat the above (2) to (7) to traverse each net in the user design netlist that has not been routed or has routing path conflicts, and iterate until the conflict is eliminated, all nets in the user design netlist are routed, and there is no resource sharing conflict between all connection trees.
[0012] The above method can be called BFS (Beadth-First Search, breadth-first search), which is based on the source point First, search all its fan-outs, then search all the fan-outs of the next level with the lowest cost, and so on, searching outward layer by layer until the destination is reached. Because the direction and position of the destination are unknown, it is necessary to search outward in all directions. If the destination is far away, the number of fan-out points covered during the search is large, which occupies a lot of memory and takes a long time. Because a wire net has multiple destinations, multiple wire nets need to be wired during the wiring process, which makes the running time of the wiring process too long. Wiring takes a lot of running time in the FPGA application development process. The quality of wiring efficiency directly affects the application development efficiency and user experience. Summary of the invention
[0013] In view of the above problems and technical requirements, the inventors have proposed an FPGA wiring method for improving efficiency by sorting the points of the line network. The technical solution of the present invention is as follows:
[0014] An FPGA routing method for improving efficiency by sorting network points, the method comprising:
[0015] Based on the distances between the endpoints of each wire network in the wire network, a predetermined sorting algorithm is used to predict the process of searching and routing the wire network using a preset routing algorithm, and an access sequence is obtained with the source point of the wire network as the starting point and each destination point in the wire network sorted in sequence;
[0016] In the process of implementing wiring for the wire network using a preset wiring algorithm, each destination point is searched in turn according to the access order, and in the process of searching for a destination point, the shortest distance between the current node and the currently searched destination point is determined based on the access order and the corresponding future cost is obtained, and the future cost is included in the wiring cost component determined by the preset wiring algorithm for the current node to obtain the wiring cost of the current node.
[0017] Its further technical solution is that the wiring cost of each node It is expressed as:
[0018] ;
[0019] in, It is the routing cost component determined by the node based on the preset routing algorithm. is the future cost of the node, is the coefficient and .
[0020] A further technical solution is to use a preset wiring algorithm to implement the coefficients of different wire nets in the wiring process. Same or different, when searching for different destination points during routing of the same wire net using a preset routing algorithm Same or different.
[0021] A further technical solution is to use a preset routing algorithm to implement routing for the same wire network, and when searching for different destination points from the beginning to the end in the access order, the coefficient The value of decreases.
[0022] A further technical solution is that the future cost of the current node is the minimum number of resource segments formed by combining the wiring resource lengths to form the shortest distance between the current node and the current search destination.
[0023] Its further technical solution is that the process of implementing wiring for the wire network using a preset wiring algorithm includes: selecting the node with the smallest wiring cost in the i-1th iteration connection tree of the wire network as the i-th iteration starting point, starting the search using the preset wiring algorithm from the i-th iteration starting point until the i-th destination point in the access sequence is found, and then expanding the i-1th iteration connection tree to obtain the i-th iteration connection tree of the wire network, i is a parameter and the starting value is 1, and the 0th iteration connection tree only contains the source point.
[0024] Its further technical solution is that, in the process of searching for any i-th destination point, the initial point of the i-th iteration is the source point of the wire network, or, is any destination point that has been searched, or, is any node in the i-1-th iteration connection tree except the source point and the destination point that has been searched.
[0025] A further technical solution is that if there are at least two nodes whose wiring costs are the same and the smallest, then a node with the smallest future cost is selected to start searching.
[0026] A further technical solution is that the preset routing algorithm is a congestion negotiation routing algorithm or a Lee's maze routing algorithm.
[0027] A further technical solution is that the predetermined sorting algorithm is the PrimMST algorithm, the KruskalMST algorithm or the Dijkstra shortest path algorithm.
[0028] A further technical solution is that, when the predetermined sorting algorithm is the PrimMST algorithm, the method for obtaining the access sequence includes:
[0029] Add the source point of the line network to the connected point set, and add all the destination points of the line network to the unconnected point set;
[0030] Traverse the unconnected point set, and move the destination point that is closest to the candidate connection point in the connected point set from the unconnected point set to the connected point set;
[0031] The step of traversing the unconnected point set is performed again until all destination points in the unconnected point set are moved to the connected point set;
[0032] The order in which each destination point is moved to the connected point set is determined as the access order of each destination point.
[0033] Its further technical solution is that when moving a destination point that is closest to a candidate connection point in the connected point set from the unconnected point set to the connected point set, if there are at least two points that are closest to and equal to the candidate connection point in the connected point set, then the destination point with a shorter distance along a predetermined layout direction is selected and moved from the unconnected point set to the connected point set.
[0034] A further technical solution is that the candidate connection points in the connected point set are all the points in the connected point set, or some of the points in the connected point set, and the candidate connection points corresponding to different destination points in the unconnected point set are the same or different.
[0035] A further technical solution is that, for any destination point in the unconnected point set, its corresponding candidate connection point is a point in the connected point set that is within a predetermined fan-out range in the direction from the source point to the destination point.
[0036] Its further technical solution is that, in the same iteration, the area sizes of the predetermined fan-out ranges corresponding to different destination points are the same or there are at least two different ones; the area sizes of the predetermined fan-out ranges corresponding to the same destination point are equal in different iterations, or, as the number of iterations increases and the number of destination points in the unconnected point set decreases, the area size of the predetermined fan-out range corresponding to the destination point gradually increases.
[0037] Its further technical solution is that when obtaining the access order of each destination point, a predetermined sorting algorithm is used to predict the access order of the wiring process of the network based on the distance between each network endpoint in the network and the estimated timing margin of each destination point. The estimated timing margin of each destination point is determined based on the timing constraint and the estimated shortest delay between the destination point and the source point.
[0038] A further technical solution is that when sorting the destination points based on the distances between the endpoints of the network and the estimated timing margins of the destination points, the destination points with smaller estimated timing margins are prioritized.
[0039] The beneficial technical effects of the present invention are:
[0040] The present application discloses an FPGA wiring method for improving efficiency by sorting the destination points of a wire network. The method uses a predetermined sorting algorithm to obtain an access order for a wire network of multiple destination points, thereby precalculating the order in which each destination point will be visited during the search process, and sorting the destination points accordingly, so that when the wiring search path is searched, it is predicted which is the current destination point to be connected, and then the layout position of the current destination point to be connected is used as a target to change the undirected breadth-first BFS search algorithm into a depth-first DFS search algorithm toward the destination point, so as to reach the destination point faster. This method can speed up the wiring speed, reduce memory requirements, and improve the overall wiring efficiency.
[0041] In addition, when implementing the Cost_future or A* algorithm, it is necessary to know the target to be connected at present. For this reason, some existing methods will split the line network into several sub-line networks with a single source point + a single destination point and then route them, forcibly restricting the sub-line network to be routed to have only one destination point so that the Cost_future or A* algorithm can be implemented. However, the method of this application does not have this limitation. There is no need to split the line network. The multi-destination point line network can be directly processed to accurately obtain the current destination point to be connected. Then, the search efficiency can be improved by adding the future cost to turn it into a directed search. This method can carry out the search based on the implementation framework of the existing preset routing algorithm. The implementation method is simple and can optimize the existing preset routing algorithm. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 It is a wiring flow diagram of the existing congestion negotiation wiring algorithm.
[0043] Figure 2 It is a schematic diagram of a wiring process implemented by the FPGA wiring method of the present application based on a congestion negotiation wiring algorithm framework. DETAILED DESCRIPTION
[0044] The specific implementation of the present invention will be further described below in conjunction with the accompanying drawings.
[0045] This application discloses an FPGA wiring method that improves efficiency by sorting the destination points of the wire network. This wiring method is implemented based on an existing preset wiring algorithm and can be considered as an improvement on the existing preset wiring algorithm. The existing preset wiring algorithm typically includes a congestion negotiation wiring algorithm or a Lee's maze wiring algorithm. Regardless of the wiring process of the preset wiring algorithm, the FPGA wiring method of this application mainly includes the following steps, please refer to Figure 2 Take the preset routing algorithm as the congestion negotiation routing algorithm as an example:
[0046] 1. Based on the distance between each endpoint of the wire network, a predetermined sorting algorithm is used to predict the process of searching and implementing wiring on the wire network using a preset wiring algorithm, and an access order is obtained with the source point of the wire network as the starting point and each destination point in the wire network sorted in sequence.
[0047] The predetermined sorting algorithm is a PrimMST algorithm, a KruskalMST algorithm or a Dijkstra shortest path algorithm. Typically, taking the predetermined sorting algorithm as the PrimMST algorithm as an example, methods for obtaining the access order include:
[0048] (1) Add the source point of the line network to the connected point set, and add all the destination points of the line network to the unconnected point set.
[0049] (2) Traverse the unconnected point set and move the destination point that is closest to the candidate connection point in the connected point set from the unconnected point set to the connected point set.
[0050] (3) Execute the step of traversing the unconnected point set again until all destination points in the unconnected point set are moved to the connected point set.
[0051] (4) The order in which each destination point is moved to the connected point set is determined as the access order of each destination point.
[0052] For example, the line network has a source point S1 and destination points T1, T2, T3, T4, and T5. First, add S1 to the connected point set to obtain a connected point set represented as Q1={S1}, and add all the destination points of the line network to the unconnected point set to obtain an unconnected point set represented as Q2={T1, T2, T3, T4, T5}. Determine that the point closest to S1 in the unconnected point set is T3 at this time, then move T3 from Q2 to Q1, and obtain Q1={S1, T3}, Q2={T1, T2, T4, T5}. Continue to detect the distance between each destination point in Q2 and S1 and T3 in Q1 respectively. Assuming that it is determined that the distance between T5 in Q2 and T3 in Q1 is the smallest at this time, move T5 from Q2 to Q1, and obtain Q1={S1, T3, T5}, Q2={T1, T2, T4}. And so on until Q2 is empty.
[0053] In combination with the above examples, it can be seen that the candidate connection points in the connected point set can be the source points of the line network, or the destination points that the line network has added to the connected point set. In one embodiment, the candidate connection points in the connected point set are all the points in the connected point set. For example, in the above example, after obtaining Q1={S1, T3}, Q2={T1, T2, T4, T5}, S1 and T3 are both used as candidate connection points. At this time, the distances between the four destination points in Q2 and S1 and T3 are calculated respectively. In another embodiment, the candidate connection points in the connected point set are some points in the connected point set. For example, in the above example, after obtaining Q1={S1, T3}, Q2={T1, T2, T4, T5}, only S1 or T3 can be used as candidate connection points. At this time, the distances between the four destination points in Q2 and a point selected as a candidate connection point are calculated respectively.
[0054] Furthermore, in another embodiment, the candidate connection points corresponding to different destination points in the unconnected point set are the same or different. For example, in the above example, S1 in Q1 can be selected as the candidate connection point corresponding to T1 in Q2 to calculate the distance between the two. Similarly, S1 in Q1 can be selected as the candidate connection point corresponding to T2 in Q2 to calculate the distance between the two. T3 in Q1 can also be selected as the candidate connection point corresponding to T4 in Q2 to calculate the distance between the two.
[0055] In a typical embodiment, for any destination point in the unconnected point set, its corresponding candidate connection point is a point in the connected point set that is within a predetermined fan-out range in the direction from the source point to the destination point. The predetermined fan-out range is between the source point and the destination point, does not exceed the destination point, does not go over the head and then back, and the source point is also included in the predetermined fan-out range. For example, in the above example, for T1 in Q2, first determine the predetermined fan-out range in the direction from the source point S1 to T1. If T3 in Q1 is not within the predetermined fan-out range, then only point S1 in Q1 within the predetermined fan-out range is selected as the candidate connection point corresponding to T1. This approach excludes points beyond the predetermined fan-out range as points for search, which is conducive to controlling the delay within a reasonable range.
[0056] Furthermore, in the same iteration, the area sizes of the predetermined fan-out ranges corresponding to different destination points are the same or there are at least two different ones. An iteration refers to the process of finding destination points based on the existing connected point set and unconnected point set to update the two sets. For example, in an iteration based on Q1={S1, T3}, Q2={T1, T2, T4, T5}, the area sizes of the predetermined fan-out ranges corresponding to T1, T2, T4 and T5 are all equal, or the area sizes of the predetermined fan-out ranges corresponding to T1 and T5 may be unequal.
[0057] The area size of the predetermined fan-out range corresponding to the same destination point is equal in different iterations, or as the number of iterations increases and the number of destination points in the unconnected point set decreases, the area size of the predetermined fan-out range corresponding to the destination point gradually increases. For example, in an iteration based on Q1 = {S1, T3} and Q2 = {T1, T2, T4, T5}, the area size of the predetermined fan-out range corresponding to T1 is Area1. In an iteration based on Q1 = {S1, T3, T5} and Q2 = {T1, T2, T4}, the area size of the predetermined fan-out range corresponding to T1 is Area2, and Area1 < Area2. Since the fan-out range is adjustable, a smaller range at the beginning of the iteration promotes the rapid progress of the iteration, and as the routing process progresses, the fan-out range can gradually increase.
[0058] In the above loop process, when moving the destination point closest to the candidate connection point in the connected point set from the unconnected point set to the connected point set, if there are at least two points with the same and closest distance to the candidate connection point in the connected point set, then select one of the destination points with a shorter distance along the predetermined layout direction and move it from the unconnected point set to the connected point set. The predetermined layout direction is the vertical layout direction or the horizontal layout direction of the FPGA. How to specifically select the predetermined layout direction is generally related to the shape of the FPGA chip layout or the number of routing resources in different layout directions for ease of processing. For example, in an FPGA chip with a large width and a small height, although the Manhattan distance between two points is the same, when the vertical distance is shorter, it is preferentially selected, which is more convenient for processing.
[0059] In another embodiment, the access order is determined not only based on the distances between the endpoints of each net, but also considering the timing constraints. Based on the distances between the endpoints of each net in the net and the estimated timing margin of each destination point, a predetermined sorting algorithm is used to predict the process of routing the net to obtain the access order. The estimated timing margin of each destination point is determined based on the timing constraints and the estimated shortest delay between the destination point and the source point. Then, when sorting each destination point based on the distances between the endpoints of each net and the estimated timing margin of each destination point, the destination points with smaller estimated timing margins are sorted first, so that these destination points can reach the source point directly as much as possible without passing through other destination points.
[0060] 2. During the process of routing the net using the preset routing algorithm, search for each destination point in sequence according to the access order. For example, in the above example, assuming the determined access order is S1, T3, T5, T2, T1, T4 in sequence, then search for T3, T5, T2, T1, T4 in sequence according to this access order.
[0061] In the process of searching for a destination point, the shortest distance between the current node and the destination point currently being searched is determined based on the access order and the corresponding future cost cf is obtained.
[0062] In one embodiment, the shortest distance between the current node and the destination point currently searched is directly used as the future cost cf of the current node, and the Manhattan distance can be used here. In order to further compress the value interval of the future cost cf into a smaller range, the future cost cf of the current node is determined to be the minimum number of resource segments for the shortest distance between the current node and the destination point currently searched formed by the combination of wiring resource lengths, that is, the shortest distance is converted into the number of resource segments as the future low price cf. The types and quantities of the included wiring resource lengths are known. For the shortest distance between the current node and the destination point currently searched, it can be formed by one or more identical or different wiring resource length combinations. For example, the included wiring resource lengths are 1, 2, 5, 12, and 18. Then, the shortest distance 3 can be formed by combining wiring resource lengths 2 and 1, so that the future cost is the minimum number of resource segments 2; the shortest distance 16 can have multiple combinations, but the number of resource segments in the combination of wiring resource lengths 12, 2, and 2 is the least, so the future cost is determined to be the minimum number of resource segments 3, and the others are deduced by analogy.
[0063] The future cost cf is included in the wiring cost component determined by the current node based on the preset wiring algorithm to obtain the wiring cost cost of the current node. The wiring cost component determined by the current node based on the preset wiring algorithm is determined according to the definition of the existing preset wiring algorithm. For example, as described in the background technology section, the existing congestion negotiation wiring algorithm will use the form of cn+Pim to calculate the wiring cost of the current node. In this application, the calculated value is not directly used as the final wiring cost, but is included together with the future cost cf as a wiring cost component. In some other embodiments, in addition to using the form of cn+Pim based on the node cost cn and the path cost Pim, cost variables such as delay delay and / or timing criticality crit may also be added, and a more complex calculation method is used to calculate the wiring cost component, which will not be repeated in this application.
[0064] The main improvement of the present application is that after obtaining the routing cost component of the current node based on the provisions of the preset routing algorithm, the future cost cf is included in the final routing cost cost to guide the routing. On the basis of not splitting the wire network, a depth-first DFS search algorithm toward the destination point can be formed on the basis of the conventional preset routing algorithm, thereby guiding the search direction during routing, thereby reducing the number of searches in a multi-destination wire network, reducing the search space without reducing the quality of the results, speeding up the speed of reaching the destination point, and speeding up the winding speed.
[0065] Typically, the wiring cost per node is Expressed as .in, It is the routing cost component determined by the node based on the preset routing algorithm. is the future cost of the node, is the coefficient and As above, the more commonly used , is the node cost of the node, is the path cost of the node.
[0066] Among them, the coefficients in the process of implementing wiring for different wire nets using the preset wiring algorithm are Same or different, when searching for different destination points during routing of the same wire net using a preset routing algorithm Typically, when using a preset routing algorithm to route the same wire network, the coefficients The value of decreases. This is because when the search begins, the connection is the main consideration, and the points that are close to the current search destination are given priority, so the weight a of the future cost cf is larger; as the routing process progresses iteratively, the importance of the distance to the destination decreases, and the main consideration is to resolve resource conflicts, so the weight a of the future cost cf decreases.
[0067] Taking the preset routing algorithm as the congestion negotiation algorithm as an example, the process of implementing routing of the wire network using the preset routing algorithm in this application includes the following steps. Figure 2 ,Some steps that are the same as the existing preset routing algorithm are not expanded in detail, Figure 2 Not shown in detail:
[0068] (1) The node with the smallest wiring cost in the i-1th iteration connection tree of the network is selected as the initial point of the i-th iteration. i is a parameter and its starting value is 1. The 0th iteration connection tree only contains the source point.
[0069] In this step, in the process of searching for any i-th destination point, the i-th iteration initial point is the source point of the wire network, or any destination point that has been searched, or any node in the i-1-th iteration connection tree other than the source point and the destination point that has been searched. That is, each expansion search starts from the already connected iterative connection tree, not necessarily from the source point, and the wiring effect is better.
[0070] If there are at least two nodes with the same and minimum routing cost, then the node with the smallest future cost cf is selected as the starting point for the i-th iteration to start the search.
[0071] (2) Start searching from the initial point of the i-th iteration using the preset routing algorithm.
[0072] (3) Until the i-th destination point in the access sequence is searched, the i-th iterative connection tree of the line network is expanded from the i-1th iterative connection tree. The specific expansion method is as described in the background technology part, tracing back from the i-th destination point to the i-th iteration initial point, updating the node costs of all nodes on the path, and adding all nodes on the path to the i-1th iterative connection tree of the line network to obtain the i-th iterative connection tree.
Claims
1. A method for FPGA wiring to improve efficiency by sorting the points of the line network, characterized in that: The method comprises: Based on the distances between the endpoints of each wire net in the wire net, a predetermined sorting algorithm is used to predict the process of searching and routing the wire net using a preset routing algorithm, so as to obtain an access sequence with a source point of the wire net as the starting point and each destination point in the wire net sorted in sequence; In the process of implementing routing for the wire network using the preset routing algorithm, each destination point is searched in turn according to the access order, and in the process of searching for a destination point, the shortest distance between the current node and the currently searched destination point is determined based on the access order and the corresponding future cost is obtained, and the future cost is included in the routing cost component determined by the preset routing algorithm for the current node to obtain the routing cost of the current node, and the routing cost of each node is It is expressed as: ; in, is the routing cost component determined by the node based on the preset routing algorithm, is the future cost of the node, is the coefficient and ; The process of implementing routing for the wire network using the preset routing algorithm includes: selecting the node with the smallest routing cost in the i-1th iteration connection tree of the wire network as the i-th iteration starting point, starting the search using the preset routing algorithm from the i-th iteration starting point until the i-th destination point in the access sequence is found, and then expanding the i-1th iteration connection tree to obtain the i-th iteration connection tree of the wire network, where i is a parameter and the starting value is 1, and the 0th iteration connection tree only contains the source point.
2. The method according to claim 1, characterized in that The coefficients in the process of implementing routing for different wire nets using the preset routing algorithm The same or different coefficients when searching for different destination points during routing of the same wire net using the preset routing algorithm Same or different.
3. The method according to claim 2, characterized in that When the preset routing algorithm is used to route the same wire network, the coefficients are The value of decreases.
4. The method according to claim 1, characterized in that: The future cost of the current node is the minimum number of resource segments that are combined by the wiring resource lengths to form the shortest distance between the current node and the destination point currently searched.
5. The method according to claim 1, characterized in that In the process of searching for any i-th destination point, the i-th iteration initial point is the source point of the line network, or any searched destination point, or any node in the i-1-th iteration connection tree except the source point and the searched destination point.
6. The method according to claim 1, characterized in that If there are at least two nodes with the same and minimum routing cost, the node with the smallest future cost is selected to start the search.
7. The method according to claim 1, characterized in that The preset routing algorithm is a congestion negotiation routing algorithm or a Lee's maze routing algorithm.
8. The method according to claim 1, characterized in that The predetermined sorting algorithm is PrimMST algorithm, KruskalMST algorithm or Dijkstra shortest path algorithm.
9. The method according to claim 8, characterized in that When the predetermined sorting algorithm is the PrimMST algorithm, the method for obtaining the access sequence includes: Add the source point of the line network to the connected point set, and add all the destination points of the line network to the unconnected point set; Traversing the unconnected point set, and moving the destination point that is closest to the candidate connection point in the connected point set from the unconnected point set to the connected point set; The step of traversing the unconnected point set is performed again until all destination points in the unconnected point set are moved to the connected point set; The order in which each destination point is moved to the connected point set is determined as the access order of each destination point.
10. The method according to claim 9, characterized in that When moving a destination point that is closest to a candidate connection point in the connected point set from the unconnected point set to the connected point set, if there are at least two points that are closest to and have an equal distance from the candidate connection point in the connected point set, then the destination point with a shorter distance along a predetermined layout direction is selected and moved from the unconnected point set to the connected point set.
11. The method according to claim 9, characterized in that The candidate connection points in the connected point set are all the points in the connected point set, or some of the points in the connected point set, and the candidate connection points corresponding to different destination points in the unconnected point set are the same or different.
12. The method according to claim 11, characterized in that For any destination point in the unconnected point set, its corresponding candidate connection point is a point in the connected point set that is within a predetermined fan-out range in the direction from the source point to the destination point.
13. The method according to claim 12, characterized in that In the same iteration, the area sizes of the predetermined fan-out ranges corresponding to different destination points are the same or there are at least two different ones; the area sizes of the predetermined fan-out ranges corresponding to the same destination point are equal in different iterations, or, as the number of iterations increases and the number of destination points in the unconnected point set decreases, the area size of the predetermined fan-out range corresponding to the destination point gradually increases.
14. The method according to claim 1, characterized in that When obtaining the access order of each destination point, the predetermined sorting algorithm is used to predict the process of implementing wiring of the wire network based on the distance between each wire network endpoint in the wire network and the estimated timing margin of each destination point to obtain the access order. The estimated timing margin of each destination point is determined based on the timing constraint and the estimated shortest delay between the destination point and the source point.
15. The method according to claim 14, characterized in that When sorting the destination points based on the distances between the endpoints of the respective network and the estimated timing margins of the destination points, the destination points with smaller estimated timing margins are prioritized.
