View Related Documents

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 control- flow 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.

Fulltext Preview

Image of the first page of the fulltext document