Pre-Route Repeater Insertion for Congestion-Aware Circuit Timing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Post-route repeater solutions in circuit design are inefficient due to the lack of available repeaters at needed locations, leading to rerouting and potential quality of route (QoR) degradation, and are limited by pre-determined wire class, making optimal timing and power solutions difficult to achieve, especially in larger designs where computation time becomes unacceptably long.
Innovation Solution
A pre-route repeater insertion methodology that partitions the circuit design into tiles, analyzes route congestion, and leverages wire class and timing slack to determine an optimal repeater solution independently of detailed routing, allowing for flexible placement and power optimization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If post-route repeater solution is implemented, then timing requirements can be met, but rerouting complications and route quality degradation occur
Solution Approach 1:
The patent applies preliminary action by determining the repeater solution before completing the detailed routing process. The methodology identifies repeater insertion points and configurations during the global routing phase, allowing repeaters to be pre-positioned in the design. This eliminates the need for post-route rerouting operations, as repeaters are already in place to handle timing requirements. The global router is configured to account for repeater insertion, thereby preventing routing complications that would arise from adding repeaters after detailed routing is complete.
2Reliability
If post-route repeater solution is implemented, then timing issues can be addressed, but computation time increases significantly
Solution Approach 1:
The patent reduces computation time by performing repeater solution determination during the global routing phase rather than after detailed routing is complete. By calculating repeater insertion points and configurations earlier in the design process, the methodology avoids the computationally intensive rerouting operations that would be required post-route. The global router efficiently determines repeater placement by considering timing requirements and route topology simultaneously, thereby minimizing overall computation time while ensuring timing constraints are met.
3Productivity
If pre-route repeater insertion is performed, then rerouting is minimized, but repeater availability at needed locations becomes a constraint
Solution Approach 1:
The patent introduces an intermediary mechanism in the form of a global router that is specifically configured to determine both the routing topology and repeater solution simultaneously during the global routing phase. This intermediary router acts as a mediator between the placement stage and detailed routing, allowing the design to account for repeater insertion without requiring repeaters to be physically available at every potential insertion point beforehand. The global router calculates ideal repeater insertion points based on timing requirements and route characteristics, and these points are then used to guide detailed routing and repeater placement, thereby maintaining both routing efficiency and placement flexibility.
Data Source
AI summary
A method of performing a pre-route repeater insertion methodology for at least part of a circuit design may include: partitioning at least part of a circuit design into a plurality of tiles; determining at least one attribute of individual tiles of the plurality of tiles; and determining a repeater solution based at least in part on the determined attributes of the individual tiles. A computer implemented tool for performing a pre-route repeater insertion methodology for at least part of a circuit design may include: a module configured to partition at least part of a circuit design into a plurality of tiles; a module configured to determine at least one attribute of individual tiles of the plurality of tiles; and a module configured to determine a repeater solution based at least in part on the determined attributes of the individual tiles.


