Credit-Based Request Protocol for SoC Fabric Arbitration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The integration of multiple intellectual property (IP) blocks on a single semiconductor die is complex due to arbitration challenges and varying requirements, leading to design complexity and latency issues in system-on-chip (SoC) development.

Innovation Solution

A request protocol that implements request queues and credits in a fabric with a common IP interface standard, allowing for flexible and robust communication across different semiconductor devices while maintaining compatibility with existing standards like PCI, enabling efficient arbitration and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional arbitration methods are used where IP blocks assert request signals and hold them until granted, then request granting can be achieved, but design complexity increases and latency is significant due to location variations and routing challenges

Engineering Contradiction:
Improverequest latencyVSAvoiddesign complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the request arbitration process into distinct phases: request assertion, credit-based flow control, and grant issuance. This segmentation allows different IP blocks to operate independently with standardized interfaces, reducing design complexity while maintaining efficient arbitration through structured timing and credit management mechanisms

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary credit allocation before request arbitration. Credits are pre-assigned to IP blocks based on their bandwidth requirements and priorities, enabling them to issue requests without waiting for dynamic arbitration decisions. This preliminary action reduces latency by eliminating hold-asserted-waiting periods while maintaining manageable complexity through static credit distribution

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If multiple IP blocks are integrated on a single die with varying requirements, then functionality is enhanced, but arbitration among multiple requests becomes complex due to location variations and routing challenges

Engineering Contradiction:
ImproveIP block integration flexibilityVSAvoidarbitration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal credit-based arbitration interface that works across all IP blocks regardless of their specific requirements or locations on the die. The credit mechanism serves multiple functions: flow control, bandwidth allocation, priority management, and deadlock prevention. This universal approach allows diverse IP blocks to be integrated flexibly without increasing arbitration complexity, as they all interact through the same standardized credit-based protocol

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces credits as an intermediary mechanism between IP blocks and the arbitration logic. Instead of IP blocks directly asserting and holding request signals, they consume credits to issue requests. This intermediary abstracts the complexity of location variations and routing challenges from the arbitration process, enabling versatile IP block integration while maintaining manageable arbitration complexity through the credit mediation layer

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9075929B2Issuing requests to a fabric
Publication Date: 2015.07.07 INTEL CORP
  • US9075929B2 patent drawing
  • US9075929B2 patent drawing
  • US9075929B2 patent drawing

AI summary

In one embodiment, a method includes determining whether producer-consumer ordering rules have been met for a first transaction to be sent from a source agent to a target agent via a fabric, and if so a first request for the first transaction is sent from the source agent to the fabric in a first clock cycle. Then a second request can be sent from the source agent to the fabric for a second transaction in a pipelined manner. Other embodiments are described and claimed.