Jump to content

Chisel (programming language)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 87.61.177.3 (talk) at 13:32, 8 August 2020 (Code Examples). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Constructing Hardware in a Scala Embedded Language (Chisel)
DeveloperUniversity of California, Berkeley
Implementation languageScala
Websitewww.chisel-lang.org

The Constructing Hardware in a Scala Embedded Language (Chisel)[1] is an open-source hardware description language (HDL) used to describe digital circuits at the register-transfer level.[2][3] Chisel is based on Scala as an embedded DSL. Chisel inherits the object-oriented and functional aspects of Scala for describing digital hardware. Using Scala as a basis allows to describe circuit generators.

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

Code Examples

A simple example describing an adder circuit and showing the organization of components in Moduls with input and output ports:

class Add extends Module {
  val io = IO(new Bundle {
    val a = Input(UInt(8.W))
    val b = Input(UInt(8.W))
    val y = Output(UInt(8.W))
  })

  io.y := io.a + io.b
}

A 32-bit register with a reset value of 0:

val reg = RegInit(0.U(32.W))

A multiplexer is part of the Chisel library:

val result = Mux(sel, a, b)

Usage

Although Chisel is not yet a mainstream hardware description language, it has been explored by several companies and institutions. The most prominent usage of Chisel is an implementation of the RISC-V instruction set, the open-source Rocket chip.[4] Chisel is mentioned by DARPA as a technology to improve the efficiency of electronic design, where smaller design teams do larger designs.[5] Google has used Chisel to develop a tensor processing unit for the edge. [6]

See also

References

  1. ^ Bachrach, Jonathan; et al. (June 2012). "Chisel: constructing hardware in a Scala embedded language". Proceedings of the 49th Annual Design Automation Conference (DAC 2012). San Francisco, CA, USA: ACM. pp. 1216–1225.
  2. ^ "Chisel". people.eecs.berkeley.edu. California, U.S.: University of California, Berkeley. Retrieved 2020-07-08.
  3. ^ Bachrach, Jonathan (ed.). "Chisel – Accelerating Hardware Design" (PDF). RISC-V. California, U.S.: RISC-V.
  4. ^ Asanović, Krste; et al. "rocket-chip". GitHub. RISC-V International. Retrieved 11 November 2016.
  5. ^ Moore, Samuel K. (2018-07-16). "DARPA Plans a Major Remake of U.S. Electronics". IEEE. Retrieved 2020-06-10.
  6. ^ Derek Lockhart, Stephen Twigg, Ravi Narayanaswami, Jeremy Coriell, Uday Dasari, Richard Ho, Doug Hogberg, George Huang, Anand Kane, Chintan Kaur, Tao Liu, Adriana Maggiore, Kevin Townsend, Emre Tuncer (2018-11-16). Experiences Building Edge TPU with Chisel. Retrieved 2020-06-10.