skip to main content
research-article

From OO to FPGA: fitting round objects into square hardware?

Authors Info & Claims
Published:17 October 2010Publication History
Skip Abstract Section

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.

References

  1. }}David Baldwin. Structured ASIC challenges FPGA. Nikkei Electronics Asia, September 2003.Google ScholarGoogle Scholar
  2. }}Jayaram Bhasker. A Verilog HDL Primer. Star Galaxy Publishing, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. }}David C. Black, Jack Donovan, Bill Bunton, and Anna Keist. SystemC: From the Ground Up. Springer, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. }}Craig Chambers. The Design and Implementation of the SELF Compiler, an Optimizing Compiler for Object-Oriented Programming Languages. PhD thesis, Stanford University, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. }}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 ScholarGoogle ScholarCross RefCross Ref
  7. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. }}Intel. Atom processor 230. Information available from http://ark.intel.com/Product.aspx?id=35635.Google ScholarGoogle Scholar
  9. }}Intel. Xeon processor E5430. Information available from http://processorfinder.intel.com/details.aspx?sSpec=SLANU.Google ScholarGoogle Scholar
  10. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. }}Chris Lattner. LLVM: An infrastructure for multi-stage optimization. Master's thesis, University of Illinois at Urbana-Champaign, 2004.Google ScholarGoogle Scholar
  12. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. }}Volnei A. Pedroni. Circuit Design with VHDL. MIT Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. }}Martin Richards. Benchmarking with the Richards benchmark. http://research.sun.com/people/mario/ java benchmarking/richards/richards.html.Google ScholarGoogle Scholar
  15. }}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 ScholarGoogle ScholarCross RefCross Ref
  16. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. }}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 ScholarGoogle Scholar

Index Terms

  1. From OO to FPGA: fitting round objects into square hardware?

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 45, Issue 10
      OOPSLA '10
      October 2010
      957 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/1932682
      Issue’s Table of Contents
      • cover image ACM Conferences
        OOPSLA '10: Proceedings of the ACM international conference on Object oriented programming systems languages and applications
        October 2010
        984 pages
        ISBN:9781450302036
        DOI:10.1145/1869459

      Copyright © 2010 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 17 October 2010

      Check for updates

      Author Tags

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!