Parallel Signal Routing for Deterministic IC Netlist Design

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current programmable integrated circuit (IC) routing tools face challenges in achieving deterministic results due to race conditions and non-deterministic outcomes when routing nets in parallel, leading to inconsistent performance and increased computational resources required to achieve satisfactory results.

Innovation Solution

The method involves grouping nets into sub-netlists and routing each sub-netlist independently with local congestion data, updating a global congestion history after routing, and rerouting conflicting nets to avoid race conditions and ensure deterministic results, utilizing multiple processors for parallel routing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If nets are routed in parallel using multiple processors, then routing speed and productivity are improved, but race conditions and non-deterministic outcomes occur leading to inconsistent results

Engineering Contradiction:
Improverouting speedVSAvoiddeterminism of routing results
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides the netlist into multiple sub-netlists that can be routed independently and in parallel by different processors. Each sub-netlist is routed separately with its own congestion data, eliminating race conditions while maintaining parallel processing benefits. This segmentation allows deterministic results because each processor works on isolated data without interfering with others.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a congestion history data structure as an intermediary that mediates between parallel routing operations. This intermediary collects congestion information from all sub-netlists and uses it to resolve conflicts deterministically, ensuring that parallel routing produces consistent results without race conditions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If congestion data is shared globally during parallel routing, then routing consistency is improved, but computational overhead and processing time increase

Engineering Contradiction:
Improverouting consistencyVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments congestion data into sub-netlist-specific congestion data rather than maintaining a single global congestion data structure. Each sub-netlist has its own congestion information, which reduces the computational overhead of accessing and updating global congestion data while maintaining routing consistency through the segmented approach.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary routing of sub-netlists independently before final conflict resolution. This preliminary action allows each sub-netlist to be routed with its own congestion data without the overhead of continuous global coordination, and only conflicts are resolved in a second pass using the congestion history.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If sub-netlists are routed independently without considering global congestion, then routing efficiency is improved, but conflicts between sub-netlists increase requiring rerouting

Engineering Contradiction:
Improverouting efficiencyVSAvoidconflict resolution complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements feedback by collecting congestion information from all sub-netlists into a congestion history data structure. This feedback mechanism allows the system to identify conflicts between sub-netlists and resolve them systematically, balancing the benefits of independent sub-netlist routing with the need to manage inter-sub-netlist conflicts.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent extracts conflicting nets from their original sub-netlists and creates separate conflict resolution processes. By taking out the problematic interactions between sub-netlists and handling them separately through the congestion history, the system maintains the efficiency of independent sub-netlist routing while reducing overall conflict complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8201130B1Parallel signal routing
Publication Date: 2012.06.12 XILINX INC
  • US8201130B1 patent drawing
  • US8201130B1 patent drawing
  • US8201130B1 patent drawing

AI summary

A method is provided for routing a circuit design netlist. Nets of the netlist are grouped into a plurality of sub-netlists. For each sub-netlist, nets of the sub-netlist are routed as a function of congestion between nets of the sub-netlist. Congestion between nets of other sub-netlists in the plurality of sub-netlists is not taken into account. If two or more nets of the netlist are routed through the same routing resource, a global congestion history data set is updated to describe congestion between all nets in the netlist, and the two or more nets of the netlist are unrouted. The two or more nets are each rerouted as a function of the global congestion history data set and congestion between nets of the same sub-netlist as the net.