Chisel: Constructing Hardware in a Scala Embedded Language

TitleChisel: Constructing Hardware in a Scala Embedded Language
Publication TypeConference Paper
Year of Publication2012
AuthorsBachrach, J., Vo H., Richards B., Avizienis R., Wawryznek J., & Asanović K.
Conference NameDAC 2012

In this paper we introduce Chisel, a new hardware construc-
tion language that supports advanced hardware design using
highly parameterized generators and layered domain-speci c
hardware languages. By embedding Chisel in the Scala pro-
gramming language, we raise the level of hardware design ab-
straction by providing concepts including object orientation,
functional programming, parameterized types, and type in-
ference. 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 syn-
thesis. This paper presents Chisel, its embedding in Scala,
hardware examples, its C++ simulator, and emulation and
synthesis results.

139-GY119-bachrach.pdf446.46 KB