Synthesizing Field Programmable Gate Array Circuitry Using C++.

Abstract

In recent years, systems which use Field Programmable Gate Arrays (FPGAs) to perform computations have been shown to match or even exceed super computer levels of performance. These FPGA based custom computing machines (FCCMs) take advantage of an FPGA's gate-level reconfigurability to implement instructions and architectures specific to the problem being solved. The ability to tailor the hardware to a specific problem gives FCCMs a great speed advantage over general purpose processors with fixed instruction sets. Currently, one of the largest obstacles to the use of an FCCM is program or instruction set development. Since an FCCM is programmed at the gate level, the programmer must have detailed knowledge of both the algorithm to be implemented and how to implement necessary operations (e.g. addition, subtraction, and multiplication) required by the algorithm in the FCCM's hardware. This design process is comparable to programming in assembly language, though hardware instruction design is arguably more difficult. Recent research efforts have investigated the creation of a novel, symbiotic compiler which can simplify the development of programs for FCCMs by hiding the hardware instruction set generation from the programmer in much the same way a traditional compiler isolates the user from a specific machine's assembly language. This paper presents the details of the internal operation of this FCCM compiler and plans for future work.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Aug 01, 1995
Accession Number
ADA303227

Entities

People

  • John T. Spillane
  • Michael A. Zmuda

Organizations

  • Wright Laboratory

Tags

Communities of Interest

  • Advanced Electronics

DTIC Thesaurus Topics

  • Algorithms
  • Assembly
  • Assembly Languages
  • Compilers
  • Computations
  • Computer Programming
  • Computers
  • Computing System Architectures
  • Field Programmable Gate Arrays
  • Instruction Set Architecture
  • Instructions
  • Language

Fields of Study

  • Computer science

Readers

  • Computational Modeling and Simulation
  • Computer Engineering
  • Integrated Circuit Design and Technology.