Chisel constructing hardware in a Scala embedded language

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 abstractio...

Full description

Saved in:
Bibliographic Details
Published inDAC Design Automation Conference 2012 pp. 1216 - 1225
Main Authors Bachrach, Jonathan, Vo, Huy, Richards, Brian, Lee, Yunsup, Waterman, Andrew, Avižienis, Rimas, Wawrzynek, John, Asanović, Krste
Format Conference Proceeding
LanguageEnglish
Published New York, NY, USA ACM 03.06.2012
IEEE
SeriesACM Conferences
Subjects
Online AccessGet full text
ISBN1450311997
9781450311991
ISSN0738-100X
DOI10.1145/2228360.2228584

Cover

More Information
Summary: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.
ISBN:1450311997
9781450311991
ISSN:0738-100X
DOI:10.1145/2228360.2228584