• DocumentCode
    3647602
  • Title

    Chisel: Constructing hardware in a Scala embedded language

  • Author

    Jonathan Bachrach;Huy Vo;Brian Richards;Yunsup Lee;Andrew Waterman;Rimas Avižienis;John Wawrzynek;Krste Asanović

  • Author_Institution
    EECS Department, UC Berkeley
  • fYear
    2012
  • fDate
    6/1/2012 12:00:00 AM
  • Firstpage
    1212
  • Lastpage
    1221
  • 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.
  • Keywords
    "Hardware","Hardware design languages","Generators","Registers","Wires","Vectors","Finite impulse response filter"
  • Publisher
    ieee
  • Conference_Titel
    Design Automation Conference (DAC), 2012 49th ACM/EDAC/IEEE
  • ISSN
    0738-100X
  • Print_ISBN
    978-1-4503-1199-1
  • Type

    conf

  • DOI
    10.1145/2228360.2228584
  • Filename
    6241660