Abstract
Consumer electronics today such as cell phones often have one or more low-power FPGAs to assist with energyintensive operations in order to reduce overall energy consumption and increase battery life. However, current techniques for programming FPGAs require people to be specially trained to do so. Ideally, software engineers can more readily take advantage of the benefits FPGAs offer by being able to program them using their existing skills, a common one being object-oriented programming. However, traditional techniques for compiling object-oriented languages are at odds with today's FPGA tools, which support neither pointers nor complex data structures. Open until now is the problem of compiling an object-oriented language to an FPGA in a way that harnesses this potential for huge energy savings. In this paper, we present a new compilation technique that feeds into an existing FPGA tool chain and produces FPGAs with up to almost an order of magnitude in energy savings compared to a low-power microprocessor while still retaining comparable performance and area usage.
- }}David Baldwin. Structured ASIC challenges FPGA. Nikkei Electronics Asia, September 2003.Google Scholar
- }}Jayaram Bhasker. A Verilog HDL Primer. Star Galaxy Publishing, 2005. Google Scholar
Digital Library
- }}David C. Black, Jack Donovan, Bill Bunton, and Anna Keist. SystemC: From the Ground Up. Springer, 2004. Google Scholar
Digital Library
- }}Craig Chambers. The Design and Implementation of the SELF Compiler, an Optimizing Compiler for Object-Oriented Programming Languages. PhD thesis, Stanford University, 1992. Google Scholar
Digital Library
- }}J. Cong and Y. Zou. Lithographic aerial image simulation with FPGA-based hardware acceleration. In In FPGA'08, Proceedings of 16th ACM/SIGDA International Symposium on Field Programmable Gate Arrays, pages 20--29, 2008. Google Scholar
Digital Library
- }}Yuko Hara, Hiroyuki Tomiyama, Shinya Honda, and Hiroaki Takada. Proposal and quantitative analysis of the CHStone benchmark program suite for practical C-based high-level synthesis. Journal of Information Processing, 17:242--254, 2009.Google Scholar
Cross Ref
- }}Shan Shan Huang, Amir Hormati, David F. Bacon, and Rodric M. Rabbah. Liquid metal: Object-oriented programming across the hardware/software boundary. In Proceedings of ECOOP'08, European Conference on Object-Oriented Pro- gramming, pages 76--103, 2008. Google Scholar
Digital Library
- }}Intel. Atom processor 230. Information available from http://ark.intel.com/Product.aspx?id=35635.Google Scholar
- }}Intel. Xeon processor E5430. Information available from http://processorfinder.intel.com/details.aspx?sSpec=SLANU.Google Scholar
- }}Ian Kuon and Jonathan Rose. Measuring the gap between FPGAs and ASICs. In In FPGA'06, Proceedings of 14th ACM/SIGDA International Symposium on Field Programmable Gate Arrays, pages 21--30, 2006. Google Scholar
Digital Library
- }}Chris Lattner. LLVM: An infrastructure for multi-stage optimization. Master's thesis, University of Illinois at Urbana-Champaign, 2004.Google Scholar
- }}Oskar Mencer, Marco Platzner, Martin Morf, and Michael J. Flynn. Object-oriented domain specific compilers for pro- gramming FPGAs. IEEE Transactions on VLSI Systems, 9(1):205--210, 2001. Google Scholar
Digital Library
- }}Volnei A. Pedroni. Circuit Design with VHDL. MIT Press, 2004. Google Scholar
Digital Library
- }}Martin Richards. Benchmarking with the Richards benchmark. http://research.sun.com/people/mario/ java benchmarking/richards/richards.html.Google Scholar
- }}Martin Schoeberl. Java technology in an FPGA. In In FPL'04, Proceedings of the International Conference on Field-Programmable Logic and its Applications, 2004.Google Scholar
Cross Ref
- }}Ben L. Titzer. Virgil: Objects on the head of a pin. In Proceedings of OOPSLA'06, ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Ap- plications, 2006. Google Scholar
Digital Library
- }}Ben L. Titzer, Joshua Auerbach, David F. Bacon, and Jens Palsberg. The ExoVM system for automatic VM and application reduction. In Proceedings of PLDI'07, ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 352--362, San Diego, California, June 2007. Google Scholar
Digital Library
- }}Ben L. Titzer and Jens Palsberg. Vertical object layout and compression for fixed heaps. In Proceedings of CASES'07, International Conference on Compilers, Architecture, and Syn- thesis for Embedded Systems, pages 170--178, Salzburg, Austria, September 2007. A revised version of the paper appeared in Semantics and Algebraic Specification, Essays Dedicated to Peter D. Mosses on the Occasion of His 60th Birthday, Springer, LNCS 5700, 2009. Google Scholar
Digital Library
- }}Z. Zhang, Y. Fan, W. Jiang, G. Han, C. Yang, and J. Cong. Autopilot: A platform-based ESL synthesis system. In P. Coussyand A. Morawiec, editors, High-Level Synthesis: From Algorithm to Digital Circuit. Springer Publishers, 2008.Google Scholar
Index Terms
From OO to FPGA: fitting round objects into square hardware?
Recommendations
From OO to FPGA: fitting round objects into square hardware?
OOPSLA '10: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsConsumer electronics today such as cell phones often have one or more low-power FPGAs to assist with energyintensive operations in order to reduce overall energy consumption and increase battery life. However, current techniques for programming FPGAs ...
Conjoining soft-core FPGA processors
ICCAD '06: Proceedings of the 2006 IEEE/ACM international conference on Computer-aided designSoft-core programmable processors on field-programmable gate arrays (FPGAs) can be custom synthesized to instantiate only those hardware units, such as multipliers and floating-point units, that an application requires to meet performance demands, thus ...
An FPGA architecture with enhanced datapath functionality
FPGA '03: Proceedings of the 2003 ACM/SIGDA eleventh international symposium on Field programmable gate arraysAlthough FPGAs are a cost-efficient alternative for both ASICs and general purpose processors, they still result in designs which are more than an order of magnitude more costly and slower than their equivalents implemented in dedicated logic. This ...







Comments