Latency-Aware Path Balancing for IC Stall Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designers face challenges in planning compute kernel latencies due to unknown routing interconnect latencies, leading to potential stalls at split and convergence points in integrated circuits, as these factors are not considered until the placement and routing stage.

Innovation Solution

A computing system that identifies split and convergence points between producers and consumers, adjusts path latencies by adding buffering or changing distances, and configures a configurable interconnect to ensure the maximum latency of the shorter path is greater than or equal to the minimum latency of the longer path, preventing stalls by maintaining sufficient buffering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If designers plan compute kernel latencies without considering routing interconnect latencies, then design productivity is improved, but stalls occur at split and convergence points

Engineering Contradiction:
Improvedesign productivityVSAvoidstall prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by performing latency analysis and buffering insertion during the design phase, before actual routing is completed. The system identifies potential stall conditions at split and convergence points and pre-configures buffering to prevent them, rather than waiting for routing results. This allows designers to maintain productivity while ensuring reliability through advance planning.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If buffering is added to balance path latencies, then stall prevention is improved, but device complexity increases

Engineering Contradiction:
Improvestall preventionVSAvoidbuffering complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by inserting buffering only at specific locations where stall conditions are detected - namely at split points and convergence points in the data flow path. Rather than adding buffering uniformly throughout the system, the method selectively places buffers only where needed to balance latencies between shorter and longer paths, thereby reducing overall device complexity while maintaining reliability.

Inventive Principle:
Principle #3Local quality

3Reliability

If the shorter path latency is increased to match the longer path, then stall prevention is improved, but data transmission speed decreases

Engineering Contradiction:
Improvestall preventionVSAvoiddata transmission speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent uses buffering as an intermediary mechanism to decouple the latency balancing function from the data transmission path. By inserting buffers at split and convergence points, the system can equalize path latencies without forcing data to traverse slower paths. The buffering absorbs timing differences and allows data to flow at optimal speeds through both shorter and longer paths simultaneously, preventing stalls without reducing transmission speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11604751B1Optimizing hardware design throughput by latency aware balancing of re-convergent paths
Publication Date: 2023.03.14 XILINX INC
  • US11604751B1 patent drawing
  • US11604751B1 patent drawing
  • US11604751B1 patent drawing

AI summary

Embodiments herein describe techniques for preventing a stall when transmitting data between a producer and a consumer in the same integrated circuit (IC). A stall can occur when there is a split point and a convergence point between the producer and consumer. To prevent the stall, the embodiments herein adjust the latencies of one of the paths (or both paths) such that a maximum latency of the shorter path is greater than, or equal to, the minimum latency of the longer path. When this condition is met, this means the shortest path has sufficient buffers (e.g., a sufficient number of FIFOs and registers) to queue/store packets along its length so that a packet can travel along the longer path and reach the convergence point before the buffers in the shortest path are completely full (or just become completely full).