IP Library Granted Patent US 10,505,704
Granted Patent B1
US 10,505,704 · App. 15/225,768 · Granted Dec 10, 2019

Data uploading to asynchronous circuitry using circular buffer control

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,505,704
App. No.
15/225,768
Granted
Dec 10, 2019
Kind
B1
Abstract

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.

Claims (36)

1. An apparatus for computation comprising:

a synchronous circuit;

an asynchronous circuit; and

an interface circuit, interposed between the synchronous circuit and the asynchronous circuit, where the interface circuit comprises:

a memory coupled to the synchronous circuit wherein:

the memory receives an output from the synchronous circuit;

the asynchronous circuit receives an output from the memory; and

a circular buffer, containing a plurality of pipeline stages where each pipeline stage contains one or more instructions, wherein, based on the one or more instructions in the circular buffer, data is captured into the memory from the synchronous circuit, wherein the circular buffer is rotatable, includes instructions from a branchless set of operations, and is dynamically programmed, wherein stable configuration logic maintains a stable configuration while the rotatable circular buffer is being dynamically programmed, and wherein the synchronous circuit includes a switching fabric with multiple level 2 (L2) switches, each of the L2 switches connected to all of its adjacent neighbors and each of the L2 switches comprising a second circular buffer.

2. The apparatus of claim 1 wherein the memory includes first-in first-out storage.

3. The apparatus of claim 2 wherein the memory includes multiple data channels.

4. The apparatus of claim 3 wherein the first-in first-out storage is comprised of multiple blocks of memory, wherein each block corresponds to one of the multiple data channels.

5. The apparatus of claim 1 wherein the output from the synchronous circuit is only received into the memory when the output from the synchronous circuit includes valid data.

6. The apparatus of claim 1 further comprising a full signal indicative of the memory being full wherein the full signal provides feedback to the synchronous circuit to limit further data from being provided to the memory.

7. The apparatus of claim 6 wherein the full signal being active and valid data being sent from the synchronous circuit is an error condition.

8. The apparatus of claim 1 wherein the circular buffer is statically scheduled.

9. The apparatus of claim 1 wherein the output from the synchronous circuit comprises en-queuing data.

10. The apparatus of claim 1 wherein the synchronous circuit is statically scheduled.

11. The apparatus of claim 1 wherein the synchronous circuit is clocked with a hum-generated signal.

12. The apparatus of claim 1 wherein the memory is write clocked based on the synchronous circuit.

13. The apparatus of claim 12 wherein the circular buffer is clocked based on the synchronous circuit.

14. The apparatus of claim 1 wherein the rotatable circular buffer contains instructions including an instruction for receiving data into the memory from the synchronous circuit.

15. The apparatus of claim 1 , wherein each of the L2 switches further comprises switching elements controlled by the second circular buffer.

16. A processor-implemented method for computation comprising:

coupling an asynchronous circuit to a synchronous circuit;

receiving data from the synchronous circuit into a memory based on an instruction stored in a circular buffer that is part of an interface circuit, interposed between the asynchronous circuit and the synchronous circuit; and

sending data from the memory to the asynchronous circuit based on a request by the asynchronous circuit,

wherein the circular buffer contains a plurality of pipeline stages where each pipeline stage contains one or more instructions, wherein the circular buffer is rotatable, includes instructions from a branchless set of operations, and is dynamically programmed, wherein stable configuration logic maintains a stable configuration while the rotatable circular buffer is being dynamically programmed, and wherein the synchronous circuit includes a switching fabric with multiple level 2 (L2) switches, each of the L2 switches connected to all of its adjacent neighbors and each of the L2 switches comprising a second circular buffer.

17. The method of claim 16 wherein the synchronous circuit operates at a hum frequency, and wherein receiving data from the synchronous circuit into the memory is performed at a multiple of the hum frequency.

18. The method of claim 16 further comprising generating a full signal indicative of the memory being full, wherein the full signal provides feedback to the synchronous circuit to limit further data from being provided to the memory.

19. The method of claim 18 wherein the generating a full signal is performed using a credit-based flow control protocol.

20. A computer program product embodied in a non-transitory computer readable medium for implementation of a computation apparatus comprising code which causes one or more processors to perform operations of designing a processing architecture including:

an interface circuit, configured to be disposed between a synchronous circuit and an asynchronous circuit, where the interface circuit comprises:

a memory coupled to the synchronous circuit wherein:

the memory receives an output from the synchronous circuit;

the asynchronous circuit receives an output from the memory; and

a circular buffer, containing a plurality of pipeline stages where each pipeline stage contains one or more instructions, wherein, based on the one or more instructions in the circular buffer, data is captured into the memory from the synchronous circuit, wherein the circular buffer is rotatable, includes instructions from a branchless set of operations, and is dynamically programmed, wherein stable configuration logic maintains a stable configuration while the rotatable circular buffer is being dynamically programmed, and wherein the synchronous circuit includes a switching fabric with multiple level 2 (L2) switches, each of the L2 switches connected to all of its adjacent neighbors and each of the L2 switches comprising a second circular buffer.

Assignments (6)
CHANGE OF NAME Recorded May 8, 2024
From: WAVE COMPUTING, INC.
To: MIPS HOLDING, INC.
Reel/Frame 067355/0324 →
RELEASE OF SECURITY INTEREST Recorded Dec 29, 2022
From: CAPITAL FINANCE ADMINISTRATION, LLC, AS ADMINISTRATIVE AGENT
To: MIPS TECH, LLC; WAVE COMPUTING INC.
Reel/Frame 062251/0251 →
SECURITY INTEREST Recorded Jun 14, 2021
From: MIPS TECH, LLC; WAVE COMPUTING, INC.
To: CAPITAL FINANCE ADMINISTRATION, LLC
Reel/Frame 056558/0903 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2021
From: WAVE COMPUTING LIQUIDATING TRUST
To: MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.; MIPS TECH, LLC; WAVE COMPUTING, INC.
Reel/Frame 056589/0606 →
SECURITY INTEREST Recorded Feb 26, 2021
From: WAVE COMPUTING, INC.; MIPS TECH, LLC; MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.
To: WAVE COMPUTING LIQUIDATING TRUST
Reel/Frame 055429/0532 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2018
From: NICOL, CHRISTOPHER JOHN
To: WAVE COMPUTING, INC.
Reel/Frame 045971/0116 →