Spanning Tree Construction for IC Routing Graphs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing Prim-Dijkstra algorithm for constructing spanning trees in electronic design automation has a high time complexity (O(e log e)) due to the number of edges in the routing graph, which increases significantly with the number of nodes, making it inefficient for generating better spanning trees that consider wirelength and source-sink detour costs.
Innovation Solution
A computer-implemented method and system that generate a spanning tree using a subset of edges based on user-defined values and node positions, allowing for the creation of routing graphs such as minimum spanning tree graphs, convex-hull graphs, and minimum wirelength shortest path trees, with a time complexity of O(n log n) or fewer edges than the number of nodes squared, thereby reducing the number of edges and improving construction speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If the Prim-Dijkstra algorithm is used to generate spanning trees from a complete routing graph, then the spanning tree quality (wirelength and detour costs) is improved, but the time complexity increases significantly to O(e log e) where e is the number of edges
Solution Approach 1:
The patent extracts only the necessary edges from the complete routing graph to form a subset routing graph. Instead of using all possible edges between nodes, the method selectively includes edges that are most relevant for constructing high-quality spanning trees, thereby reducing the problem size while maintaining solution quality.
Solution Approach 2:
The patent segments the routing graph construction process into multiple stages: first generating a subset of edges based on geometric relationships (such as Delaunay triangulation or convex hull), then applying the Prim-Dijkstra algorithm only on this reduced graph. This segmentation allows the algorithm to operate efficiently on a smaller subset rather than the complete graph.
2Manufacturing precision
If all possible edge combinations are included in the routing graph, then the spanning tree considers all wirelength and detour cost possibilities, but the number of edges increases to at least the number of nodes squared
Solution Approach 1:
The patent applies local quality by making different parts of the graph have different properties. Specifically, edges are included or excluded based on local geometric relationships between nodes (such as proximity, angular relationships, or spatial distribution). This allows the graph to have higher density in regions where connections are more beneficial and lower density elsewhere, optimizing both quality and complexity.
Solution Approach 2:
The patent performs preliminary action by pre-processing the node set to determine which edges should be included in the routing graph before applying the spanning tree algorithm. This pre-processing step (such as computing Delaunay triangulation or convex hull) establishes a reduced edge set that captures the essential connectivity information, avoiding the need to consider all possible edges later.
3Adaptability or versatility
If the number of nodes in the integrated circuit design increases, then the design capability is improved, but the time complexity of the Prim-Dijkstra algorithm increases significantly
Solution Approach 1:
The patent transitions from considering only the connectivity dimension (which would require O(n²) edges for n nodes) to incorporating spatial dimension information. By using geometric properties such as Euclidean distances, angular relationships, and spatial distribution of nodes, the method adds a spatial dimension that allows filtering edges based on geometric criteria, thereby reducing the edge count while maintaining design scalability.
Data Source
AI summary
The present disclosure relates to a system and method for constructing spanning trees. Embodiments may include receiving, using at least one processor, a plurality of nodes associated with the integrated circuit design. In some embodiments, the plurality of node may be configured to be intercoupled by one or more combinations of edges. Embodiments may further include receiving a user-defined value at a graphical user interface. Embodiments may also include generating a routing graph with a subset of the one or more combinations of edges based upon, at least in part, the user-defined value and the position of each of the plurality of nodes. Embodiments may further include generating a spanning tree based upon, at least in part, at least one of: one or more wirelengths of the routing graph and one or more source-sink detour costs associated with the routing graph.


