Inter-FPGA Routing Using Slack Budgeting and XDR Discretization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The delay in circuit designs emulated on field programmable gate arrays (FPGAs) is dominated by the time-multiplexing process, which is linearly proportional to the number of inter-FPGA signals, exceeding the capacity of physical connections and affecting the efficiency of the emulation process.

Innovation Solution

A method involving slack budgeting and discretization is employed to optimize the routing of electronic signals between FPGAs, using a binary-search-based discretizer to determine wire XDR and guide the routing process, while mitigating negative slack without affecting compile time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If time-multiplexing is used to send multiple inter-FPGA signals through the same physical connection, then the number of inter-FPGA signals that can be communicated is increased, but the delay of the TMX process increases linearly with the multiplexing data ratio

Engineering Contradiction:
Improvenumber of inter-FPGA signalsVSAvoiddelay of TMX process
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies parameter changes by adjusting the multiplexing data ratio (XDR) values assigned to different timing paths. The routing process modifies XDR parameters to balance the multiplexing load, reducing the dominant delay effect while maintaining the ability to communicate multiple signals through shared physical connections between FPGAs

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If the multiplexing data ratio (XDR) is increased to communicate more inter-FPGA signals, then the capacity of the connection is increased, but the delay of the timing path is dominated by the TMX connection delay

Engineering Contradiction:
Improvemultiplexing data ratioVSAvoidtiming path delay
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies local quality by assigning different XDR values to different timing paths based on their specific delay requirements. The routing process analyzes each timing path individually and assigns appropriate multiplexing ratios to balance the trade-off between signal capacity and timing reliability for each specific path

Inventive Principle:
Principle #3Local quality

3Manufacturing precision

If slack budget is proportioned to timing paths based on desired delay, then the routing process is guided with desired delays, but the solution space for routing is constrained

Engineering Contradiction:
Improvedesired delayVSAvoidsolution space for routing
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The patent applies segmentation by dividing the total slack budget into proportional portions for different timing paths based on their desired delays. This segmented approach allows the routing process to handle each timing path independently with appropriate delay constraints while maintaining overall system timing requirements

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12614013B2Slack budgeting and discretization for a programmable device
Publication Date: 2026.04.28 SYNOPSYS INC
  • US12614013B2 patent drawing
  • US12614013B2 patent drawing
  • US12614013B2 patent drawing

AI summary

A method includes receiving a physical circuit design file that includes physical circuit partitions that are each mapped to a respective chip. The physical circuit partitions are connected to one another by a respective timing path having an original delay. The method further includes determining a slack budget of the respective timing path, and determining a delay upper bound value based on a shortest timing path delay and the slack budget. Further, the method includes updating the delay upper bound of the respective timing path based on the slack budget, assigning an interconnection delay upper bound to a physical interconnection between at least two chips based on the updated slack budget of the respective timing path, determining a multiplexing data ratio (XDR) based on at least the interconnection delay upper bound of the physical interconnection, and performing routing between the at least two chips based on the XDR.