Repolode
chipsalliance

chipsalliance/chisel

基于 Scala 的开源硬件描述语言,用于编写可参数化的数字电路生成器并输出 Verilog。

Star
4,829
Fork
665
未关闭 Issue
522
最近提交
昨天

这是什么?

Chisel(Constructing Hardware in a Scala Embedded Language)是一种用于寄存器传输级(RTL)数字电路设计的硬件描述语言。设计者不必手写 Verilog,而是用 Scala 代码搭建电路,因此函数、类、循环等常规编程手段都可以用来生成硬件。输出结果为可综合的 Verilog 或 SystemVerilog,适用于 ASIC 和 FPGA 设计。

核心思路是电路生成器:例如由系数列表定义的 FIR 滤波器,可以写成参数化的 Scala 类,在多个设计中实例化和复用。标准库 chisel3.util 提供 FIFO 队列、仲裁器、ready-valid 接口等可复用组件。Chisel 底层基于 FIRRTL 中间表示,并由 CIRCT 的 firtool 编译器完成后续处理。

项目采用 Apache 2.0 许可证,在 CHIPS Alliance 指导下开发。仓库包含核心库、编译器插件以及面向 Verilator 和 VCS 的 svsim 仿真库等子项目。文档中还提供了交互式教程、教材和项目模板。

核心功能

  • 01用 Scala 描述硬件,借助类、函数和循环实现参数化电路。
  • 02通过 ChiselStage 和 firtool 输出可综合的 Verilog 或 SystemVerilog。
  • 03标准库提供 FIFO 队列、仲裁器和 Decoupled 等 ready-valid 接口。
  • 04包含 svsim 库,可在 Verilator 和 VCS 上运行仿真。
  • 05使用 Mill 构建,并可作为 sbt 依赖发布使用。

适用场景

  • 为 ASIC 或 FPGA 设计编写可复用、可参数化的 IP 模块。
  • 开发需要生成器式代码的处理器或加速器设计。
  • 借助现代编程语言和在线教程学习数字电路设计。
  • 用 Scala 生成 Verilog,供后续综合与仿真流程使用。

快速上手

  1. 1

    从 Chisel Template 仓库开始,它提供了预配置的项目

  2. 2

    或者在 build.sbt 中添加 Chisel 依赖和编译器插件,从零搭建项目

  3. 3

    在浏览器中体验在线 Chisel Bootcamp 教程,无需任何配置

使用前须知

  • 需要 JVM 上的 Scala 和 sbt 工具链,配置开销较大。
  • Verilog 生成依赖 firtool 编译器,因此 Scastie 等部分在线环境无法输出 Verilog。

标签

#hardware-description-language#rtl#scala#verilog#fpga#asic#chip-design#hdl#chip-generator#chisel

常见问题

chisel 是什么?
基于 Scala 的开源硬件描述语言,用于编写可参数化的数字电路生成器并输出 Verilog。 Chisel(Constructing Hardware in a Scala Embedded Language)是一种用于寄存器传输级(RTL)数字电路设计的硬件描述语言。设计者不必手写 Verilog,而是用 Scala 代码搭建电路,因此函数、类、循环等常规编程手段都可以用来生成硬件。输出结果为可综合的 Verilog 或 SystemVerilog,适用于 ASIC 和 FPGA 设计。
chisel 可以免费使用吗?用的什么许可证?
chisel 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
chisel 还在维护吗?
活跃维护中。chisel 最近一次提交是在 2026年11月6日。
chisel 适合用来做什么?
为 ASIC 或 FPGA 设计编写可复用、可参数化的 IP 模块。 开发需要生成器式代码的处理器或加速器设计。 借助现代编程语言和在线教程学习数字电路设计。 用 Scala 生成 Verilog,供后续综合与仿真流程使用。
chisel 怎么安装和运行?
从 Chisel Template 仓库开始,它提供了预配置的项目 或者在 build.sbt 中添加 Chisel 依赖和编译器插件,从零搭建项目 在浏览器中体验在线 Chisel Bootcamp 教程,无需任何配置
在哪里获取 chisel?
源代码和安装说明在 GitHub 上:https://github.com/chipsalliance/chisel

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目

用 SystemVerilog 编写的 64 位 RISC-V CPU 核心,可在 Arty A7 FPGA 开发板上启动 Linux,全部设计由 Claude Code 完成。

其他#risc-v#cpu#fpga
168+8 本周32SystemVerilogApache-2.0更新于 18天前