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
从 Chisel Template 仓库开始,它提供了预配置的项目
- 2
或者在 build.sbt 中添加 Chisel 依赖和编译器插件,从零搭建项目
- 3
在浏览器中体验在线 Chisel Bootcamp 教程,无需任何配置
使用前须知
- 需要 JVM 上的 Scala 和 sbt 工具链,配置开销较大。
- Verilog 生成依赖 firtool 编译器,因此 Scastie 等部分在线环境无法输出 Verilog。
标签
常见问题
- 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 数据每日更新。
相关项目
基于 Scala 与 Chisel 编写的开源高性能 RISC-V 处理器核。
基于 Go 语言的模块化、可扩展流媒体服务器开发框架,支持 RTMP、RTSP、HLS、WebRTC 等协议。
基于 Bootstrap 5 的免费开源 HTML 后台管理面板 UI 套件,内置页面、组件、暗色模式和 RTL 支持。
基于 Shadcn UI 和 Vite 构建的管理后台界面模板,支持深浅色模式与 RTL 布局。