Chisel (programming language)

Constructing Hardware in a Scala Embedded Language (Chisel)
ParadigmsMulti-paradigm: concurrent, functional, imperative, object-oriented
FamilyScala
DeveloperUniversity of California, Berkeley
First appearedJune 2012; 12 years ago (2012-06)
Stable release
3.6.0 / April 14, 2023; 19 months ago (2023-04-14)
Typing disciplineInferred, static, strong, structural
ScopeLexical (static)
Implementation languageScala
PlatformJava virtual machine (JVM)
JavaScript (Scala.js)
LLVM (Scala Native) (experimental)
Websitewww.chisel-lang.org

Chisel (an acronym for Constructing Hardware in a Scala Embedded Language[1]) is an open-source hardware description language (HDL) used to describe digital electronics and circuits at the register-transfer level.[2][3]

Chisel is based on Scala as a domain-specific language (DSL). Chisel inherits the object-oriented and functional programming aspects of Scala for describing digital hardware. Using Scala as a basis allows describing circuit generators. High quality, free access documentation exists in several languages.[4]

Circuits described in Chisel can be converted to a description in Verilog for synthesis and simulation.

  1. ^ Bachrach, J.; Vo, H.; Richards, B.; Lee, Y.; Waterman, A.; Avižienis, R.; Wawrzynek, J.; Asanović, K. (June 2012). "Chisel: constructing hardware in a Scala embedded language". Proceedings of the 49th Annual Design Automation Conference (DAC 2012). San Francisco, California, US: Association for Computing Machinery (ACM). pp. 1216–25. doi:10.1145/2228360.2228584. ISBN 978-1-4503-1199-1.
  2. ^ "Chisel". people.eecs.berkeley.edu. California, U.S.: University of California, Berkeley. Archived from the original on 2021-10-16. Retrieved 2020-07-08.
  3. ^ Bachrach, Jonathan (ed.). "Chisel: Accelerating Hardware Design" (PDF). RISC-V. California, U.S.: RISC-V International.
  4. ^ Schoeberl, Martin (August 30, 2019). Digital Design with Chisel (in English, Chinese, Japanese, and Vietnamese) (2nd ed.). Kindle Direct Publishing. ISBN 978-1689336031.