Sea Cucumber: A Synthesizing Compiler for FPGAs

  • Authors:
  • Justin L. Tripp;Preston A. Jackson;Brad Hutchings

  • Affiliations:
  • -;-;-

  • Venue:
  • FPL '02 Proceedings of the Reconfigurable Computing Is Going Mainstream, 12th International Conference on Field-Programmable Logic and Applications
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Sea Cucumber (SC) is a synthesizing compiler for FPGAs that accepts Java class files as input (generated from Java source files) and that generates circuits that exploit the coarse- and fine-grained parallelism available in the input class files. Programmers determine the level of coarse-grained parallelism available by organizing their circuit as a set of inter-communicating, concurrent threads (using standard Java threads) that are implemented by SC as concurrent hardware. SC automatically extracts fine-grained parallelism from the body of each thread by processing the byte codes contained in the input class files and employs conventional compiler optimizations such as data-flow and controlflow graph analysis, dead-code elimination, constant folding, operation simplification, predicated static single assignment, if-conversion, hyperblock formation, etc. The resulting EDIF files can be processed using Xilinx place and route software to produce bitstreams that can be downloaded into FPGAs for execution.