# chipsalliance/chisel

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/chipsalliance-chisel).**

4,582 stars · 652 forks · Scala · apache-2.0

## Links

- GitHub: https://github.com/chipsalliance/chisel
- Homepage: https://www.chisel-lang.org/
- awesome-repositories: https://awesome-repositories.com/repository/chipsalliance-chisel.md

## Topics

`chip-generator` `chisel` `chisel3` `firrtl` `rtl` `scala` `verilog`

## Description

Chisel is a hardware construction language and description tool used to define digital circuits. It functions as a generator that converts high-level hardware descriptions into synthesizable Verilog code for use in ASIC and FPGA design.

The project enables the creation of parameterizable hardware templates and reusable digital components. It leverages functional and object-oriented programming patterns to transform complex circuit representations into finalized hardware descriptions.

The toolset covers the register-transfer level design workflow, allowing users to model digital circuits using typed primitives for signals, registers, and wires. It also includes a verification environment for simulating circuit behavior by driving inputs and stepping the clock to validate hardware logic.

## Tags

### Hardware & IoT

- [Digital Circuit Construction](https://awesome-repositories.com/f/hardware-iot/digital-circuit-construction.md) — Enables building hardware graphs by writing high-level programs that define circuit connections and logic. ([source](https://www.chisel-lang.org/docs))
- [Automated Hardware Generation](https://awesome-repositories.com/f/hardware-iot/automated-hardware-generation.md) — Uses functional and object-oriented programming patterns to transform complex circuit representations into finalized hardware descriptions.
- [Digital Logic Design Tools](https://awesome-repositories.com/f/hardware-iot/digital-logic-design-tools.md) — Provides a system for building parameterizable hardware templates and reusable digital components via functional programming.
- [FPGA Hardware Design](https://awesome-repositories.com/f/hardware-iot/fpga-hardware-design.md) — Generates synthesizable Verilog code suitable for deployment on FPGAs and ASIC designs. ([source](https://cdn.jsdelivr.net/gh/chipsalliance/chisel@main/README.md))
- [Verilog Generators](https://awesome-repositories.com/f/hardware-iot/fpga-hardware-design/verilog-generators.md) — Converts high-level hardware descriptions into standard synthesizable Verilog for ASIC and FPGA design.
- [Hardware Logic Descriptions](https://awesome-repositories.com/f/hardware-iot/hardware-capability-modeling/hardware-logic-descriptions.md) — Defines digital circuits using typed data structures and primitives to produce synthesizable hardware code. ([source](https://www.chisel-lang.org/api/latest/))
- [RTL Design](https://awesome-repositories.com/f/hardware-iot/rtl-design.md) — Allows defining digital logic at the register-transfer level using a dedicated set of construction primitives. ([source](https://cdn.jsdelivr.net/gh/chipsalliance/chisel@main/README.md))
- [RTL Design Tools](https://awesome-repositories.com/f/hardware-iot/rtl-design-tools.md) — Implements a workflow for describing digital logic at the register-transfer level using typed primitives.
- [Hardware Design Verifiers](https://awesome-repositories.com/f/hardware-iot/design-lifecycle-management/hardware-engineering-management/hardware-management/hardware-design-verifiers.md) — Provides simulation libraries to analyze digital circuit specifications and detect design flaws. ([source](https://cdn.jsdelivr.net/gh/chipsalliance/chisel@main/README.md))
- [Digital Logic Verification](https://awesome-repositories.com/f/hardware-iot/design-lifecycle-management/hardware-engineering-management/hardware-management/hardware-design-verifiers/digital-logic-verification.md) — Verifies digital circuit behavior using a testing harness with signal manipulation and clock stepping. ([source](https://www.chisel-lang.org/api/latest/))
- [Digital Signal Modeling](https://awesome-repositories.com/f/hardware-iot/digital-signal-modeling.md) — Represents registers and wires using typed signals and aggregates to organize digital data. ([source](https://www.chisel-lang.org/api/latest/index.html))

### Programming Languages & Runtimes

- [Hardware Construction Languages](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/domain-specific-languages/hardware-construction-languages.md) — Provides a domain-specific language for defining digital circuits that generates synthesizable Verilog code.
- [Hardware Construction Languages](https://awesome-repositories.com/f/programming-languages-runtimes/hardware-construction-languages.md) — Describes digital circuits using a domain-specific language that combines functional and object-oriented patterns. ([source](https://www.chisel-lang.org/))
- [Hardware Description Languages](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/hardware-description-languages.md) — Functions as a high-level hardware description language to produce synthesizable Verilog for chips and FPGAs.
- [Hardware-Specific Graph Transformations](https://awesome-repositories.com/f/programming-languages-runtimes/compilation-target-specifications/hardware-specific-graph-transformations.md) — Applies automated transformations and technology-specific specializations to a design before final code generation. ([source](https://www.chisel-lang.org/))

### Scientific & Mathematical Computing

- [Quantum Circuit Design](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/quantum-computing/quantum-circuit-design.md) — Creates digital electronics and circuit graphs using a high-level programming language. ([source](https://www.chisel-lang.org/docs))
- [Parameterizable Hardware Generators](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/quantum-computing/quantum-circuit-design/parameterizable-hardware-generators.md) — Supports the creation of reusable hardware templates using parameters to generate various circuit versions. ([source](https://cdn.jsdelivr.net/gh/chipsalliance/chisel@main/README.md))

### Part of an Awesome List

- [Circuit Simulators](https://awesome-repositories.com/f/awesome-lists/devtools/circuit-simulators.md) — Verifies hardware logic by driving inputs and stepping the clock through a testable interface. ([source](https://www.chisel-lang.org/api/latest/index.html))
- [Hardware Design and Modeling](https://awesome-repositories.com/f/awesome-lists/devtools/hardware-design-and-modeling.md) — Provides tools for modeling signals and registers using typed primitives to define hardware behavior. ([source](https://www.chisel-lang.org/api/latest/))

### Software Engineering & Architecture

- [Reusable Component Architectures](https://awesome-repositories.com/f/software-engineering-architecture/reusable-component-architectures.md) — Creates parameterizable hardware blocks using standard libraries and modular design patterns. ([source](https://www.chisel-lang.org/))
