Deadlock Prevention in Packet-Switched Circuit Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveresource utilizationVSAvoiddeadlock-free operation
Core Design Contradiction:
ProductivityVSReliability

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improverouting resource sharingVSAvoidrouting solution generation
Core Design Contradiction:
Device complexityVSEase of manufacture

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12327077B2Deadlock detection and prevention for routing packet-switched nets in electronic systems
Publication Date: 2025.06.10 XILINX INC
  • US12327077B2 patent drawing
  • US12327077B2 patent drawing
  • US12327077B2 patent drawing

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.