Dynamic Programming Track Assignment for Circuit Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional track assignment methods in electronic design automation (EDA) often result in suboptimal routing patterns and increased runtime due to inefficient handling of design rule constraints, leading to potential blockage violations and wire overlap issues.

Innovation Solution

The implementation of dynamic programming for track assignment, which identifies candidate breaking points and assigns sub-wires to tracks, optimizing the routing process by integrating cost considerations and reducing wire overlap through a connected set of track-assigned sub-wires.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional track assignment methods are used, then the routing process is simpler to implement, but the routing patterns become suboptimal and runtime increases

Engineering Contradiction:
Improverouting efficiencyVSAvoidruntime
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the track assignment problem into discrete candidate breaking points and sub-wires, allowing dynamic programming to evaluate and optimize each segment independently while maintaining overall routing coherence. This segmentation enables the system to handle complex routing scenarios more efficiently than traditional monolithic approaches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary identification of candidate breaking points and candidate track assignments before finalizing the routing decision. By pre-processing and evaluating multiple potential assignments in advance, the system reduces runtime during the actual routing execution while maintaining optimal routing patterns.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If traditional track assignment methods are used, then the implementation is less complex, but blockage violations and wire overlap issues increase

Engineering Contradiction:
Improvecompliance with design rulesVSAvoidtrack assignment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent incorporates feedback mechanisms where the dynamic programming algorithm evaluates the consequences of each candidate track assignment against design rules and constraints. This feedback loop allows the system to identify and eliminate assignments that would cause blockage violations or wire overlaps, ensuring high compliance with design rules while managing complexity through systematic evaluation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent employs dynamic programming to adaptively select track assignments based on the specific characteristics of each routing segment and its interactions with other segments. This dynamic approach allows the system to respond to complex design rule constraints by adjusting assignments in real-time, improving reliability without requiring overly complex static pre-definition of all possible scenarios.

Inventive Principle:
Principle #15Dynamics

3Manufacturing precision

If dynamic programming is implemented for track assignment, then optimal track assignments are achieved and wire overlap is minimized, but the computational complexity increases

Engineering Contradiction:
Improvetrack assignment precisionVSAvoidcomputational complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

By segmenting the routing into discrete breaking points and sub-wires, the patent enables dynamic programming to evaluate track assignments in manageable increments. This segmentation reduces the computational burden compared to evaluating entire routing paths at once, while still achieving optimal precision in track assignment by considering all candidate assignments for each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent evaluates candidate track assignments for breaking points along the routing path, considering more options than strictly necessary for simple cases. This partial or excessive evaluation ensures optimal precision by examining multiple potential assignments, while the dynamic programming structure efficiently prunes suboptimal choices to manage computational complexity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11030378B1Track assignment by dynamic programming
Publication Date: 2021.06.08 CADENCE DESIGN SYST INC
  • US11030378B1 patent drawing
  • US11030378B1 patent drawing
  • US11030378B1 patent drawing

AI summary

Various embodiments described herein provide for track assignment of wires of a network of a circuit design by dynamic programming. In particular, various embodiments use a dynamic programming process to determine a set of breaking points for a routing wire of a global-routed and layer-assigned circuit design, and to determine track assignments for each of the sub-wires (sub-routes) formed by applying the set of selected breaking points to the routing wire. This results in a set of track-assigned sub-wires (or track-assigned sub-routes), which various embodiments can connect together to generate a connected set of track-assigned sub-wires that can be used in place of the routing wire.