Hardware compilation for FPGA-based configurable computing machines

Configurable computing machines are an emerging class of hybrid architectures where a field programmable gate array (FPGA) component is tightly coupled to a general-purpose microprocessor core. In these architectures, the FPGA component complements the general-purpose microprocessor by enabling a developer to construct application-specific gate-level structures on-demand while retaining the flexibility and rapid reconfigurability of a fully programmable solution. High computational performance can be achieved on the FPGA component by creating custom data paths, operators, and interconnection pathways that are dedicated to a given problem, thus enabling similar structural optimization benefits as ASICs. In this paper, we present a new programming environment for the development of applications on this new class of configurable computing machines. This environment enables developers to develop hybrid hardware/software applications in a common integrated development framework. In particular, the focus of this paper is on the hardware compilation part of the problem starting from a software-like algorithmic process-based specification.

[1]  C. A. R. Hoare,et al.  The Laws of Occam Programming , 1988, Theor. Comput. Sci..

[2]  Laurent Moll,et al.  High-Energy Physics on DECPeRLe-1 Programmable Active Memory , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[3]  John D. Villasenor,et al.  Configurable computing solutions for automatic target recognition , 1996, 1996 Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[4]  Richard M. Stallman,et al.  Using and Porting GNU CC , 1998 .

[5]  Bill Lin,et al.  A Communicating Petri Net Model for the Design of Concurrent Asynchronous Modules , 1994, 31st Design Automation Conference.

[6]  André DeHon,et al.  DPGA-coupled microprocessors: commodity ICs for the early 21st Century , 1994, Proceedings of IEEE Workshop on FPGA's for Custom Computing Machines.

[7]  Mark Shand,et al.  Programmable active memories: reconfigurable systems come of age , 1996, IEEE Trans. Very Large Scale Integr. Syst..

[8]  Peter Radford,et al.  Petri Net Theory and the Modeling of Systems , 1982 .

[9]  Jayaram Bhasker,et al.  A VHDL primer , 1995 .

[10]  Brad L. Hutchings,et al.  A dynamic instruction set computer , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[11]  Bill Lin,et al.  Software synthesis of process-based concurrent programs , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[12]  Jayaram Bhasker A Verilog HDL Primer , 1997 .

[13]  Ian Page Constructing hardware-software systems from a single description , 1996, J. VLSI Signal Process..

[14]  Ralph Wittig,et al.  OneChip: an FPGA processor with reconfigurable logic , 1996, 1996 Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[15]  Daniel P. Lopresti,et al.  P-NAC: A Systolic Array for Comparing Nucleic Acid Sequences , 1987, Computer.

[16]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[17]  Diederik Verkest,et al.  Derivation of formal representations from process-based specification and implementation models , 1997, Proceedings. Tenth International Symposium on System Synthesis (Cat. No.97TB100114).

[18]  John Wawrzynek,et al.  Garp: a MIPS processor with a reconfigurable coprocessor , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[19]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[20]  Peter M. Athanas,et al.  Wormhole run-time reconfiguration , 1997, FPGA '97.

[21]  Hugo De Man,et al.  Architecture-driven synthesis techniques for VLSI implementation of DSP algorithms , 1990, Proc. IEEE.

[22]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[23]  Michael J. Wirthlin,et al.  DISC: the dynamic instruction set computer , 1995, Optics East.