Maze Routing Algorithm Pin Placement Blockage Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional maze routing algorithms face inefficiencies when dealing with pins placed inside routing blockages, leading to increased time consumption and blockage violations, especially when the routable region is large or pins are close to each other.
Innovation Solution
Implementing a maze routing algorithm with adjustable scores for propagation into, within, and out of routing blockages, using scores U≤I=B<<O, which allows faster propagation to pins inside blockages by avoiding high weights for blocked edges and employing special label propagation techniques.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional maze routing algorithms use high weights for blocked edges to avoid routing blockages, then blockage violations are minimized, but time consumption increases significantly when pins are placed inside blockages
Solution Approach 1:
The patent applies parameter changes by dynamically adjusting the weight scores for different routing scenarios. When a pin is detected inside a routing blockage, the algorithm changes the score parameter for blocked edges from high (which would cause blockage violations) to low or zero (which enables fast propagation through the blockage). This parameter adaptation resolves the contradiction by making the routing time efficient without causing blockage violations in the specific case of pins inside blockages.
Solution Approach 2:
The routing algorithm implements dynamics by making the edge weights adaptive rather than static. The score for traversing blocked edges is dynamically adjusted based on whether the source or target pin is located inside a routing blockage. This dynamic behavior allows the system to switch between two operational modes: avoiding blockages when pins are outside (high weights) and propagating through blockages when pins are inside (low weights), thereby resolving the time consumption issue without sacrificing reliability.
2Reliability
If maze routing explores all non-blocking regions first before searching routing blockages, then routing solutions avoid blockage violations, but runtime increases for large routable regions or closely spaced pins
Solution Approach 1:
The patent changes the exploration parameter (edge weight score) based on pin location relative to routing blockages. When pins are detected inside blockages, the score for blocked edges is reduced, which changes the exploration behavior to prioritize paths through blockages rather than exploring all non-blocking regions first. This resolves the productivity issue by enabling direct pathfinding through blockages when necessary, while maintaining reliability through the conditional parameter adjustment.
Solution Approach 2:
The algorithm performs preliminary action by detecting pin locations relative to routing blockages before executing the routing search. This preliminary detection allows the system to pre-adjust the edge weights and exploration strategy, avoiding the need to explore all non-blocking regions first when pins are inside blockages. This preliminary preparation resolves the contradiction by setting up the optimal search behavior in advance, improving productivity without compromising solution validity.
3Reliability
If conventional routing uses uniform high weights for all blocked edges, then blockage avoidance is ensured, but pins inside blockages cannot be connected efficiently
Solution Approach 1:
The patent applies local quality by differentiating the treatment of blocked edges based on local pin locations. Instead of using uniform high weights for all blocked edges, the algorithm assigns different scores locally: high weights for blocked edges when neither pin is inside a blockage (ensuring blockage avoidance), and low weights when pins are inside blockages (enabling efficient connection). This local differentiation resolves the contradiction by tailoring the routing behavior to the specific local situation.
Solution Approach 2:
The routing system implements dynamics by making edge weights adaptive to the specific routing scenario. The weight for blocked edges dynamically changes based on whether the source or target pin is located inside a routing blockage. This dynamic adjustment resolves the contradiction by enabling the system to switch between blockage avoidance mode (high weights) and efficient pin connection mode (low weights), ensuring both reliability and ease of operation for pins inside blockages.
Data Source
AI summary
Various embodiments described herein provide for routing of wires of a network of a circuit design based on pin placement within a routing blockage. In particular, various embodiments provide a routing solution for a circuit design with zero blockage violation when there is no pin inside routing blockage of the circuit design, and uses a parameter (e.g., an adjustable parameter) that controls accuracy at which a routing process handles a pin (e.g., as placed by a placement stage) in routing blockage of the circuit design. For example, the parameter can control how much detour is acceptable when handling routing for a pin inside a routing blockage.


