Method for compiling high level programming languages into an integrated processor with reconfigurable logic
First Claim
1. A computer implemented method for the automatic compilation of a computer program written in a high level programming language into a program for execution by one or more application specific integrated circuits coupled with a microprocessor, the method comprising the steps of:
- using a cost function, automatically determining a set of one or more code blocks, the functions of which are to be executed by said one or more application specific integrated circuits, that will result in a relative performance improvement for a given input computer program written for execution by the microprocessor;
scheduling usage of physical resources, including reconfiguration resources, of said one or more application specific integrated circuits among at least some of said functions with the objective of maximizing utilization of said physical resources; and
producing code for execution by the microprocessor, including instructions for loading and activating said functions.
3 Assignments
0 Petitions
Accused Products
Abstract
A method is presented for automatically compiling a high level computer program down into an application specific integrated circuit coupled with a generic microprocessor. The original source code is written in a standard programming language such as ANSI C. Source code analysis is performed by our compiler to automatically determine which blocks of logic are most appropriate for the application specific integrated circuit and which for the generic microprocessor. The complete layout of the application specific integrated circuit is automatically generated by our compiler. Object code for the microprocessor, with custom instructions to invoke the application specific integrated circuit, is also automatically generated by our compiler.
-
Citations
51 Claims
-
1. A computer implemented method for the automatic compilation of a computer program written in a high level programming language into a program for execution by one or more application specific integrated circuits coupled with a microprocessor, the method comprising the steps of:
-
using a cost function, automatically determining a set of one or more code blocks, the functions of which are to be executed by said one or more application specific integrated circuits, that will result in a relative performance improvement for a given input computer program written for execution by the microprocessor; scheduling usage of physical resources, including reconfiguration resources, of said one or more application specific integrated circuits among at least some of said functions with the objective of maximizing utilization of said physical resources; and producing code for execution by the microprocessor, including instructions for loading and activating said functions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
-
Specification