Deadlock Prevention in Packet-Switched Circuit Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Integrated circuits (ICs) face challenges in routing packet-switched nets due to limited resources, which can lead to deadlock conditions caused by shared physical resources.
Innovation Solution
A method is implemented to generate a graph of the circuit design, where each connected component is represented as a vertex. The method routes packet-switched nets to avoid overlaps within the same connected component and indicates shared routing resources by adding edges. Cycle detection is performed, and cycles are broken by deleting edges and ripping up corresponding routing solutions, with re-routing using increased costs for freed resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If packet-switched nets share physical routing resources to improve resource utilization, then productivity increases, but deadlock conditions may arise due to cycle formation in the routing graph
Solution Approach 1:
The patent performs cycle detection on the routing graph before finalizing the routing solution. By detecting potential deadlock-forming cycles in advance and breaking them through selective edge removal and re-routing, the system prevents deadlocks before they can occur during operation, thus maintaining reliability while preserving resource sharing for productivity
Solution Approach 2:
The patent implements a feedback mechanism where the routing solution is iteratively refined. After initial routing and cycle detection, the system identifies cycles, breaks them by removing edges, and performs re-routing with updated cost metrics. This iterative feedback process continues until no cycles remain, ensuring deadlock-free operation while maintaining efficient resource utilization
2Device complexity
If routing resources are shared among different connected components, then device complexity is reduced, but cycle detection and breaking operations increase manufacturing complexity
Solution Approach 1:
The patent segments the routing problem by representing the circuit design as a graph where connected components are vertices and shared routing resources are edges. This segmentation allows systematic application of cycle detection algorithms and targeted breaking of specific cycles through edge removal, making the complex routing problem more manageable while preserving resource sharing benefits
Solution Approach 2:
The patent changes the cost parameters associated with routing resources during re-routing operations. When a cycle is broken by removing an edge, the corresponding routing resource's cost is increased to prevent its selection in future routing decisions. This parameter change guides the re-routing process to avoid previously problematic resources while maintaining overall routing efficiency
Data Source
AI summary
Routing a circuit design includes generating a graph of the circuit design where each connected component is represented as a vertex, generating a routing solution for the circuit design by routing packet-switched nets so that the packet-switched nets of a same connected component do not overlap, and, for each routing resource that is shared by packet-switched nets of different connected components, indicating the shared routing resource on the graph by adding an edge. Cycle detection may be performed on the graph. For each cycle detected on the graph, the cycle may be broken by deleting the edge from the graph and ripping-up a portion of the routing solution corresponding to the deleted edge. The circuit design, or portion thereof, for which the routing solution was ripped up may be re-routed using an increased cost for a shared routing resource freed from the ripping-up.


