Spanning Tree Edge Swapping for Wirelength Detour Tradeoff

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Prim-Dijkstra algorithm for generating spanning trees in electronic design automation does not provide an optimal wirelength/detour tradeoff, necessitating a post-processing edge swapping process to improve the quality of the trees.

Innovation Solution

A computer-implemented method that receives a spanning tree and a user-selected floating parameter, allowing for edge interchanging based on wirelengths, detour costs, and downstream sinks to optimize the tradeoff between wirelength and detour costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the Prim-Dijkstra algorithm is used to generate a spanning tree, then the algorithm can be executed with time complexity of (e log e), but the wirelength/detour tradeoff is not optimal

Engineering Contradiction:
Improvealgorithm execution speedVSAvoidwirelength/detour tradeoff quality
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by first generating a spanning tree using the efficient Prim-Dijkstra algorithm, then performing post-processing edge swapping operations to improve the wirelength/detour tradeoff. This two-stage approach allows the system to benefit from both the speed of the initial algorithm and the quality improvement of subsequent optimization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs parameter changes by introducing a floating parameter that controls the edge swapping process. By adjusting this parameter, the system can optimize the wirelength/detour tradeoff to different degrees, allowing flexible control over the quality of the spanning tree while maintaining reasonable execution time.

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If edge swapping is performed to improve wirelength/detour tradeoff, then the quality of the spanning tree improves, but the processing time and complexity increase

Engineering Contradiction:
Improvespanning tree qualityVSAvoidpost-processing complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent applies partial action by performing edge swapping operations selectively rather than exhaustively. The floating parameter controls the extent of swapping performed, allowing the system to achieve sufficient quality improvement without unnecessarily increasing processing time and complexity. This partial optimization approach balances quality gains against computational costs.

Inventive Principle:
Principle #16Partial or excessive action

3Length of stationary object

If edge swapping is performed to reduce wirelength, then the total wirelength decreases, but the detour cost may increase for individual sinks

Engineering Contradiction:
Improvetotal wirelengthVSAvoiddetour cost for sinks
Core Design Contradiction:
Length of stationary objectVSEase of operation

Solution Approach 1:

The patent uses parameter changes by introducing a floating parameter that balances wirelength reduction against detour cost increase. By adjusting this parameter, the system can control the tradeoff between minimizing total wirelength and maintaining acceptable detour costs for individual sinks, achieving a balanced optimization rather than extreme optimization in one direction.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9785738B1System and method for evaluating spanning trees
Publication Date: 2017.10.10 CADENCE DESIGN SYST INC
  • US9785738B1 patent drawing
  • US9785738B1 patent drawing
  • US9785738B1 patent drawing

AI summary

The present disclosure relates to a system and method for evaluating spanning trees. Embodiments may include receiving, using at least one processor, a spanning tree including one or more sinks coupled by one or more edges. Embodiments may further include receiving a user-selected floating parameter. Embodiments may also include interchanging the one or more edges of the spanning tree based upon, at least in part, the user-selected floating parameter.