Circular Buffer Interface for Synchronous to Asynchronous Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In modern system-on-a-chip (SoC) designs, integrating modules with varying clock and timing requirements poses challenges due to metastability, data synchronicity issues, and differing operational frequencies, leading to potential data bottlenecks, operational issues, and disruptions in computation.

Innovation Solution

An interface circuit with a circular buffer is introduced to facilitate data transfer from a synchronous circuit to an asynchronous circuit, using a FIFO register and credit-based flow control to manage data transfer, allowing for independent clock frequencies and ensuring data integrity and flexibility in interfacing various asynchronous circuits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If synchronous data transfer mode is used to simplify design considerations, then design complexity is reduced, but the system cannot accommodate different clock speeds or processor operating frequencies

Engineering Contradiction:
Improvedesign complexityVSAvoidaccommodation of different clock speeds
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

A FIFO buffer is introduced as an intermediary component between the synchronous master interface and the asynchronous slave interface. The FIFO buffer absorbs timing differences and clock frequency variations, allowing the synchronous write interface to operate independently from the asynchronous read interface. This mediator enables data transfer between circuits with different clock domains without requiring complex synchronization protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If asynchronous clock domains are used to accommodate different operational frequencies, then adaptability to different clock speeds is improved, but challenges arise in transferring data between multiple subsystems

Engineering Contradiction:
Improveaccommodation of different clock speedsVSAvoiddata transfer reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

Full handshake flow control is implemented with feedback signals between the master interface and slave interface. The slave interface asserts a full signal when the FIFO buffer is full, preventing further writes. The master interface monitors this feedback and pauses data transmission until space becomes available. This feedback mechanism ensures reliable data transfer by preventing data loss and maintaining synchronization between asynchronous clock domains.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If simple handshake protocol is used for data transfer, then ease of operation is improved, but data integrity and reliability deteriorate due to lost or garbled data

Engineering Contradiction:
Improvesimplicity of handshake protocolVSAvoiddata integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

Full handshake flow control is implemented with feedback signals between the master interface and slave interface. The slave interface asserts a full signal when the FIFO buffer is full, preventing further writes. The master interface monitors this feedback and pauses data transmission until space becomes available. This feedback mechanism ensures reliable data transfer by preventing data loss and maintaining synchronization between asynchronous clock domains.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

A FIFO buffer is introduced as an intermediary component between the synchronous master interface and the asynchronous slave interface. The FIFO buffer absorbs timing differences and clock frequency variations, allowing the synchronous write interface to operate independently from the asynchronous read interface. This mediator enables data transfer between circuits with different clock domains without requiring complex synchronization protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Device complexity

If metastability is not mitigated, then device complexity is reduced, but current flow increases and circuit damage may occur

Engineering Contradiction:
Improvemetastability mitigation complexityVSAvoidcurrent flow and circuit damage
Core Design Contradiction:
Device complexityVSObject-generated harmful factors

Solution Approach 1:

A FIFO buffer is introduced as an intermediary component between the synchronous master interface and the asynchronous slave interface. The FIFO buffer absorbs timing differences and clock frequency variations, allowing the synchronous write interface to operate independently from the asynchronous read interface. This mediator enables data transfer between circuits with different clock domains without requiring complex synchronization protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The FIFO buffer provides a cushioning effect by pre-allocation of storage space and proactive flow control. Before metastability can cause harm, the system uses feedback signals to prevent writing to a full buffer, and the asynchronous read interface safely retrieves data at its own pace. This prior cushioning through buffer management prevents the harmful effects of metastability before they can propagate through the system.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS10505704B1Data uploading to asynchronous circuitry using circular buffer control
Publication Date: 2019.12.10 MIPS HLDG INC
  • US10505704B1 patent drawing
  • US10505704B1 patent drawing
  • US10505704B1 patent drawing

AI summary

Disclosed embodiments provide an interface circuit for the transfer of data from a synchronous circuit to an asynchronous circuit. Data from the synchronous circuit is received into a memory in the interface circuit. The data in the memory is then sent to the asynchronous circuit based on an instruction in a circular buffer that is part of the interface circuit. Processing elements within the interface circuit execute instructions contained within the circular buffer. The circular buffer rotates to provide new instructions to the processing elements. Flow control paces the data from the synchronous circuit to the asynchronous circuit.