skip to main content
10.1145/2228360.2228584acmconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
research-article

Chisel: constructing hardware in a Scala embedded language

Published:03 June 2012Publication History

ABSTRACT

In this paper we introduce Chisel, a new hardware construction language that supports advanced hardware design using highly parameterized generators and layered domain-specific hardware languages. By embedding Chisel in the Scala programming language, we raise the level of hardware design abstraction by providing concepts including object orientation, functional programming, parameterized types, and type inference. Chisel can generate a high-speed C++-based cycle-accurate software simulator, or low-level Verilog designed to map to either FPGAs or to a standard ASIC flow for synthesis. This paper presents Chisel, its embedding in Scala, hardware examples, and results for C++ simulation, Verilog emulation and ASIC synthesis.

References

  1. Bellows, P., and Hutchings, B. JHDL--an HDL for reconfigurable systems. IEEE Symposium on FPGAs for Custom Computing Machines (1998). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Berry, G., and Gonthier, G. The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming 10, 2 (1992). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bluespec Inc. Bluespec(tm) SystemVerilog Reference Guide: Description of the Bluespec SystemVerilog Language and Libraries. Waltham, MA, 2004.Google ScholarGoogle Scholar
  4. Goldstein, S., and Budiu, M. Fast compilation for pipelined reconfigurable fabrics. ACM/FPGA Symposium on Field Programmable Gate Arrays (1999). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Hauser, J. The softfloat and testfloat packages. http://www.jhauser.us/arithmetic/index.html.Google ScholarGoogle Scholar
  6. Jenning, J., and Beuscher, E. Verischemelog: Verilog embedded in scheme. Proceedings of DSL'99: The 2nd conference on Domain Specific Languages (Oct 1999). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Li, Y., and Leeser, M. HML--a novel hardware description language and its translation to VHDL. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 8, 1 (Oct 2000). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Odersky, M. e. a. Scala programming language. http://www.scala-lang.org/.Google ScholarGoogle Scholar
  9. Shacham, O., Azizi, O., Wachs, M., Qadeer, W., Asgar, Z., Kelley, K., Stevenson, J., Solomatnikov, A., Firoozshahian, A., Lee, B., Richardson, S., and M., H. Rethinking digital design: Why design must change. IEEE Micro (Nov/Dec 2010). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Chisel: constructing hardware in a Scala embedded language

      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 '12: Proceedings of the 49th Annual Design Automation Conference
        June 2012
        1357 pages
        ISBN:9781450311991
        DOI:10.1145/2228360

        Copyright © 2012 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: 3 June 2012

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Author Tags

        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