Channel Access Control Using FIFO Credits for Asynchronous Circuits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solutions for transferring commands between integrated circuits with different clock rates and bus widths are inefficient, often requiring additional functional logic, packet modifications, and risk bus overflow, while existing handshaking methods consume extra clock cycles.
Innovation Solution
The use of adapters with FIFO buffer queues and allocation controllers to manage channel accessibility, including counters and registers, allows for efficient data transfer by tracking access requests and reducing the risk of bus overflow, enabling faster communication between asynchronous circuits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If handshaking methods are used for clock domain crossing, then communication reliability between circuits with different clock frequencies is improved, but communication speed deteriorates due to extra clock cycles consumed
Solution Approach 1:
The patent pre-allocates channel access credits to circuits before they need to communicate. The allocation controller maintains credit counters that are updated in advance based on channel usage patterns, allowing circuits to immediately transmit data without waiting for handshaking protocols to negotiate access rights during communication.
Solution Approach 2:
The allocation controller serves as an intermediary between communicating circuits, managing channel access rights through credit-based arbitration. Instead of direct handshaking between communicating circuits, the allocation controller mediates access by granting or denying channel usage based on available credits, eliminating the need for repeated handshaking exchanges.
2Reliability
If additional functional logic is added to manage channel accessibility, then communication control between asynchronous circuits is improved, but device complexity increases
Solution Approach 1:
The patent manages channel accessibility by changing the parameter of credit counters rather than adding complex control logic. The allocation controller simply increments or decrements integer values in counters based on channel allocation and usage, transforming a complex control problem into simple parameter manipulation that is easy to implement and verify.
Solution Approach 2:
The system automatically manages channel allocation through the credit-based mechanism without requiring complex external control. When a circuit uses a channel, the system automatically deducts credits; when credits are available, access is automatically granted. This self-service approach eliminates the need for elaborate control logic while maintaining reliable communication management.
3Productivity
If channel access is freely granted to increase data transfer speed, then productivity is improved, but the risk of bus overflow increases
Solution Approach 1:
The allocation controller continuously monitors channel usage and updates credit counters based on actual data transfer activity. When a circuit transmits data, the system provides feedback by decrementing the credit counter, and when the buffer approaches capacity, the controller withholds further credit allocation. This closed-loop feedback mechanism dynamically adjusts access rights to maintain high throughput while preventing bus overflow.
Data Source
AI summary
A computer-implemented method for managing channel accessibility can include detecting, by a first circuit, a transmit request from the first circuit to transmit a message into a communication channel connecting the first circuit to second circuit. The method can include determining, by the first circuit, whether to approve the transmit request based on an evaluation of a first number associated with messages previously transmitted by the first circuit to the second circuit over the communication channel and a second number associated with processing by the second circuit of the messages previously transmitted by the first circuit. The method can include, in response to determining to approve the transmit request, transmitting, by the first circuit, the message into the communication channel. Various other methods, systems, and computer-readable media are also disclosed.


