skip to main content
10.1145/3195970.3196073acmconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
research-article
Public Access

Mamba: closing the performance gap in productive hardware development frameworks

Published:24 June 2018Publication History

ABSTRACT

Modern high-level languages bring compelling productivity benefits to hardware design and verification. For example, hardware generation and simulation frameworks (HGSFs) use a single "host" language for parameterization, static elaboration, test bench generation, behavioral modeling, and simulation. Unfortunately, HGSFs often suffer from slow simulator performance which undermines their potential productivity benefits. In this paper, we introduce Mamba, a new Python-based HGSF that co-optimizes both the framework and a general-purpose just-in-time compiler. We conduct a quantitative comparison of Mamba vs. traditional and emerging hardware development frameworks across both simple and complex designs. Our results suggest Mamba is able to match the performance of commercial Verilog simulators and is 10× faster than existing HGSFs while still maintaining the productivity of using a high-level language in hardware design.

References

  1. D. Ancona et al. RPython: A Step Towards Reconciling Dynamically and Statically Typed OO Languages. Symp. on Dynamic Languages, Oct 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. K. Asanovic et al. Instruction Sets Should Be Free: The Case for RISC-V. Technical report, UCB/EECS-2014-146, Aug 2014.Google ScholarGoogle Scholar
  3. C. Baaij et al. Clash: Structural Descriptions of Synchronous Hardware Using Haskell. Euromicro Conf. on Digital System Design (DSD), Sep 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Bachrach et al. Chisel: Constructing Hardware in a Scala Embedded Language. Design Automation Conf. (DAC), Jun 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Belloeil et al. Stratus: A Procedural Circuit Description Language Based Upon Python. Int'l Conf. on Microelectronics (ICM), Dec 2007.Google ScholarGoogle Scholar
  6. P. Bellows et al. JHDL-An HDL for Reconfigurable Systems. Symp. on FPGAs for Custom Computing Machines (FCCM), Apr 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Bjesse et al. Lava: Hardware Design in Haskell. Int'l Conf. on Functional Programming (ICFP), Sep 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. F. Bolz et al. Tracing the Meta-Level: PyPy's Tracing JIT Compiler. Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems (ICOOOLPS), Jul 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Clow et al. A Pythonic Approach for Rapid Hardware Prototyping and Instrumentation. Int'l Conf. on Field Programmable Logic (FPL), Sep 2017.Google ScholarGoogle Scholar
  10. J. Cong et al. High-Level Synthesis for FPGAs: From Prototyping to Deployment. IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems (TCAD), 30(4):473--491, Mar 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Decaluwe. MyHDL: A Python-based Hardware Description Language. Linux Journal, Nov 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. P. Grossman et al. The Role of Cascade, a Cycle-Based Simulation Infrastructure, in Designing the Anton Special-Purpose Supercomputers. Design Automation Conf. (DAC), Jun 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. P. Haglund et al. Hardware Design with a Scripting Language. Int'l Conf. on Field Programmable Logic (FPL), Sep 2003.Google ScholarGoogle Scholar
  14. Icarus Verilog. http://iverilog.icarus.com.Google ScholarGoogle Scholar
  15. J. Jennings et al. Verischemelog: Verilog Embedded in Scheme. Conf. on Domain-Specific Languages (DSL), Oct 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Y. Li et al. HML, A Novel Hardware Description Language and Its Translation to VHDL. IEEE Trans. on Very Large-Scale Integration Systems (TVLSI), 8(1):1--8, Dec 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. D. Lockhart et al. PyMTL: A Unified Framework for Vertically Integrated Computer Architecture Research. Int'l Symp. on Microarchitecture (MICRO), Dec 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Mashtizadeh. PHDL: A Python Hardware Design Framework. Master's thesis, EECS Department, MIT, May 2007.Google ScholarGoogle Scholar
  19. Migen. https://m-labs.hk/gateware.html.Google ScholarGoogle Scholar
  20. N. Nikhil. Bluespec System Verilog: Efficient, Correct RTL from High-Level Specifications. Int'l Conf. on Formal Methods and Models for Co-Design (MEMOCODE), Jun 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. P. R. Panda. SystemC: A Modeling Platform Supporting Multiple Design Abstractions. Int'l Symp. on Systems Synthesis (ISSS), Oct 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. G. Pérez et al. A New Optimized Implemention of the SystemC Engine Using Acyclic Scheduling. Design, Automation, and Test in Europe (DATE), Feb 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. O. Shacham et al. Rethinking Digital Design: Why Design Must Change. IEEE Micro, 30(6):9--24, Nov/Dec 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Verilator. http://www.veripool.org/wiki/verilator.Google ScholarGoogle Scholar
  1. Mamba: closing the performance gap in productive hardware development frameworks

    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
    • Published in

      cover image ACM Conferences
      DAC '18: Proceedings of the 55th Annual Design Automation Conference
      June 2018
      1089 pages
      ISBN:9781450357005
      DOI:10.1145/3195970

      Copyright © 2018 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 24 June 2018

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate1,770of5,499submissions,32%

      Upcoming Conference

      DAC '24
      61st ACM/IEEE Design Automation Conference
      June 23 - 27, 2024
      San Francisco , CA , USA

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader