Constructing Hardware in a Scala Embedded LanguageView project on GitHub
Chisel is a new open-source hardware construction language developed at UC Berkeley that supports advanced hardware design using highly parameterized generators and layered domain-specific hardware languages. Chisel is embedded in the Scala programming language, which raises 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 pass on to standard ASIC or FPGA tools for synthesis and place and route.
For more information about Chisel, we suggest you first read our DAC 2012 paper, followed by the Chisel tutorial. We also have slides from the second Chisel bootcamp. In addition, we have slides from CS250 part 1, part 2, and part 3 taught fall 2012 at UC Berkeley. These are the most recent Chisel slides and contain many detailed pictures. Finally, we also have a full Chisel manual, which is especially useful if you intend to add features to Chisel.
See instructions for downloading and installing the distribution on either Linux/x86 or Mac OS X.
Sodor, a set of educational processors written in Chisel is available as a tarball. Sodor is made available under a modified BSD Licence. Follow instructions in the README file. Sodor was created by Christopher Celio, a PhD student at UC Berkeley.
We have created a Chisel users Google group.