Repolode
chipsalliance

chipsalliance/chisel

Verilogを生成する、パラメーター化可能なデジタル回路ジェネレーターを記述するための、Scalaに組み込まれたオープンソースのハードウェア記述言語です。

スター
4,829
フォーク
666
未解決の Issue
522
最終コミット
昨日

これは何?

Chisel(Constructing Hardware in a Scala Embedded Language)は、レジスタ転送レベルでデジタル回路を設計するためのハードウェア記述言語です。Verilogを手書きする代わりに、回路を構築するScalaコードを記述することで、関数、クラス、ループといった通常のプログラミング構文を使ってハードウェアを生成できます。出力されるのは合成可能なVerilogまたはSystemVerilogで、ASICとFPGAの両方の設計に利用できます。

中核となるのは回路ジェネレーターです。たとえば、係数のリストで定義したFIRフィルターのようなパラメーター化されたScalaクラスをインスタンス化し、複数の設計で再利用できます。Chisel標準ライブラリー(chisel3.util)には、FIFOキュー、アービター、ready-validインターフェースなどの再利用可能なコンポーネントが用意されています。Chiselは、中間表現のFIRRTLとCIRCTのfirtoolコンパイラーを基盤としています。

このプロジェクトはApache 2.0ライセンスで公開され、CHIPS Allianceのもとで開発されています。リポジトリーには、コアライブラリー、コンパイラープラグイン、VerilatorとVCSを対象とするシミュレーションライブラリーsvsimのサブプロジェクトが含まれています。チュートリアル、教科書、プロジェクトテンプレートへのリンクはdocsから参照できます。

主な機能

  • 01Scalaでハードウェアを記述し、クラス、関数、ループを再利用してパラメーター化された回路を作成できます。
  • 02ChiselStageとfirtoolを通じて、合成可能なVerilogまたはSystemVerilogを生成します。
  • 03FIFOキュー、アービター、Decoupled ready-validインターフェースを備えた標準ライブラリーを提供します。
  • 04VerilatorとVCSでシミュレーションを実行するためのsvsimが含まれています。
  • 05Millでビルドでき、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 とは?
Verilogを生成する、パラメーター化可能なデジタル回路ジェネレーターを記述するための、Scalaに組み込まれたオープンソースのハードウェア記述言語です。 Chisel(Constructing Hardware in a Scala Embedded Language)は、レジスタ転送レベルでデジタル回路を設計するためのハードウェア記述言語です。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

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

XiangShanプロジェクトが開発する、ScalaとChiselで記述されたオープンソースの高性能RISC-Vプロセッサコア。

その他#risc-v#processor#chisel
7371+14 今週977ScalaMulanPSL-2.0活発にメンテナンス更新 7 時間前

Claude CodeですべてのRTL、検証環境、ドキュメントを作成した、Arty A7 FPGAボードでLinuxを起動できるSystemVerilog製64ビットRISC-V CPUコア。

その他#risc-v#cpu#fpga
168+4 今週32SystemVerilogApache-2.0更新 18 日前