Rapid development of Gzip with MaxJ

More Info
expand_more

Abstract

Design productivity is essential for high–performance application development involving accelerators. Low level hardware description languages such as Verilog and VHDL are widely used to design FPGA accelerators, however, they require significant expertise and considerable design efforts. Recent advances in high–level synthesis have brought forward tools that relieve the burden of FPGA application development but the achieved performance results can not approximate designs made using low–level languages. In this paper we compare different FPGA implementations of gzip. All of them implement the same system architecture using different languages. This allows us to compare Verilog, OpenCL and MaxJ design productivity. First, we illustrate several conceptional advantages of the MaxJ language and its platform over OpenCL. Next we show on the example of our gzip implementation how an engineer without previous MaxJ experience can quickly develop and optimize a real, complex application. The gzip design in MaxJ presented here took only one man–month to develop and achieved better performance than the related work created in Verilog and OpenCL.