Software-to-hardware compiler
AssigneeAltera Corporation
InventorPaul Metzgen
Life of this patent
Estimating the term…
Abstract
A software-to-hardware compiler is provided that generates hardware constructs in programmable logic based on pure software constructs. More particularly, a high-level program language may be used to create a program using only software constructs that is compiled into hardware constructs. Optimizations may be made in the later stages of compilation to retime the circuit, allowing for maximum data flow. The hardware may make run-time decisions with respect to executing programmable logic blocks in parallel. The decisions may be at least partially based on a control flow.
Claims26
1-37. (canceled)
A method for generating hardware configuration data directly from high-level software programming code and configuring a programmable logic resource with the hardware configuration data, the method comprising:
- parsing high-level software programming code transparent with regard to hardware;
- and
- compiling hardware configuration data directly from the high-level software programming code, wherein the hardware configuration data includes at least one software programming code variable mapped into a set of wires, wherein one of the wires indicates whether the variable has been computed and the remainder of the wires indicate a value of the variable.
A method for generating hardware configuration data directly from high-level software programming code and configuring a programmable logic resource with the hardware configuration data, the method comprising:
- parsing high-level software programming code transparent with regard to hardware;
- compiling hardware configuration data directly from the high-level software programming code, wherein the hardware configuration data is configured to generate a control flow for a block that indicates a capability for speculation;
- and
- configuring the programmable logic resource with the hardware configuration data, wherein the programmable logic resource is configured to make run-time decisions regarding executing the block at least partially based on the control flow.
A method for generating hardware configuration data directly from high-level software programming code and configuring a programmable logic resource with the hardware configuration data, the method comprising:
- parsing high-level software programming code transparent with regard to hardware to locate at least one expression in the programming code that is used more than once in the program;
- compiling hardware configuration data directly from the high-level software programming code;
- optimizing the hardware configuration data to use a single set of hardware resources to implement the at least one expression;
- and
- configuring the programmable logic resource with the hardware configuration data, wherein the programmable logic resource is configured to select at run-time hardware instances that will have access to the single set of hardware resources.
Dependencies are inferred from the claim text.