Ad

chisel: Scala Hardware Design Language

Chisel is a Scala-based HDL enabling advanced circuit generation and reuse for ASIC and FPGA designs. It facilitates high-level abstraction while maintaining control.
Screenshot of chipsalliance/chisel homepage

Chisel is a hardware description language (HDL) built on top of the Scala programming language. It allows designers to describe digital circuits at the register-transfer level (RTL) using Scala's powerful features. Chisel excels at creating parameterized circuit generators, enabling design reuse and higher levels of abstraction. It is powered by FIRRTL for synthesis into Verilog and designed with a focus on developer productivity and flexibility. The primary objective is to bridge the gap between software-style design and hardware synthesis.

Chisel's strength lies in its ability to generate Verilog from Scala code, promoting higher-level design and reusability. It supports powerful Scala features like generics and pattern matching for creating flexible and adaptable hardware components. The library includes pre-built components like FIFOs and arbiters, reducing boilerplate code. It integrates with FIRRTL, enabling efficient hardware synthesis.

  • Parameterization: Define circuit structures with parameters for easy customization and reuse.
  • High-Level Abstraction: Design at a register-transfer level, hiding low-level implementation details.
  • Scalable Design: Create complex designs with modularity, using Scala’s features for managing complexity.
  • Extensible: Supports custom components and libraries for tailored hardware solutions.
  • Verilog Synthesis: Generates synthesizable Verilog code for ASIC and FPGA implementation.

Chisel is a mature project with a consistent release cycle and active community support. Extensive documentation, tutorials, and examples are available. Regular commits and issue resolution demonstrate ongoing maintenance. The presence of a strong community and a well-defined roadmap indicates a healthy development trajectory. It is actively maintained by the CHIPS Alliance.

Chisel benefits hardware designers by allowing them to leverage Scala’s expressiveness to build complex digital circuits quickly and efficiently. It's valuable for creating reusable hardware components, accelerating design iterations, and facilitating high-level design methodologies. It provides a strong alternative to traditional RTL design approaches, empowering engineers to focus on design logic rather than low-level implementation details.

Summarize:
Share:
Stars
4,718
Forks
650
Issues
513
Created
11 years ago
Commit
11 days ago
License
APACHE-2.0
Archived
No
Updated 10 days ago

Similar Repositories