C is for circuits: capturing FPGA circuits as sequential code for portability

  • Authors:
  • Scott Sirowy;Greg Stitt;Frank Vahid

  • Affiliations:
  • University of California: Riverside, Riverside, CA;University of Florida, Gainesville, FL;University of California: Riverside, Riverside, CA

  • Venue:
  • Proceedings of the 16th international ACM/SIGDA symposium on Field programmable gate arrays
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Synthesizing common sequential algorithms, captured in a language like C, to FPGA circuits is now well-known to provide dramatic speedups for numerous applications, and to provide tremendous portability and adaptability advantages over circuit implementations of an application. However, many applications targeted to FPGAs are still designed and distributed at the circuit level, due in part to tremendous human ingenuity being exercised at that level to achieve exceptional performance and efficiency. A question then arises as to whether applications for FPGAs will have to be distributed as circuits to achieve desired performance and efficiency, or if instead a more portable language like C might be used. Given a set of common synthesis transformations, we studied the extent to which circuits published in FCCM in the past 6 years could be captured as sequential code and then synthesized back to the published circuit. The study showed that a surprising 82% of the 35 circuits chosen for the study could be re-derived from some form of standard C code, suggesting that standard C code, without extensions, may be an effective means for distributing FPGA applications