Microsoft Corporation
GENERATING A SYNCHRONOUS DIGITAL CIRCUIT FROM A SOURCE CODE CONSTRUCT DEFINING A FUNCTION CALL

Last updated:

Abstract:

A multi-threaded imperative programming language includes a language construct defining a function call. A circuit implementation for the construct includes a first pipeline, a second pipeline, and a third pipeline. The first hardware pipeline outputs variables to a first queue and outputs parameters for the function to a second queue. The second hardware pipeline obtains the function parameters from the second queue, performs the function, and stores the results of the function in a third queue. The third hardware pipeline retrieves the results generated by the second pipeline from the second queue and retrieves the variables from the first queue. The third hardware pipeline performs hardware operations specified by the source code using the variables and the results of the function. A single instance of the circuit implementation can be utilized to implement calls to the same function made from multiple locations within source code.

Status:
Application
Type:

Utility

Filling date:

3 Feb 2022

Issue date:

19 May 2022