Rocket Chip
Awesome RISC-V

Rocket Chip

RISC-Vエコシステム

Rocket ChipはChiselのソースコードからインオーダーのRISC-Vコアと完全なシステムオンチップを生成します。SiFiveは最初の商用コアをこれに基づいて開発し、Chipyardはその設計の基盤としてこれを使用しています。

概要

Rocket Chipは、システムオンチップのRISC-Vシステムのためのジェネレータです。システムオンチップとは、プロセッサコアをキャッシュ、メモリコントローラ、他のデバイスへの接続とともに1つのチップに収めたものです。ジェネレータとは、パラメータの集合からハードウェア設計を生成するプログラムであり、同じコードから小さなシングルコア設計も大きなマルチコア設計も出力できます。

そのメインコアであるRocketはインオーダー方式であり、プログラムに記述された順序で命令を実行することを意味します。Rocketは5段パイプラインを備えており、これは各命令が5つのステップを通過し、複数の命令が同時に進行する仕組みです。64ビットRISC-V命令セットをメモリ管理ユニット(仮想メモリを支えるハードウェア)とともに実装しているため、Linuxを起動できます。設計は、Scalaプログラミング言語上に構築されたハードウェア構築言語であるChiselで書かれています。

履歴

Rocket Chipは、RISC-V命令セットを設計したグループであるUCバークレーに由来します。Krste Asanovićと同僚たちは2016年の技術レポート「The Rocket Chip Generator」でこれを説明し、バークレーはこれを用いて多くの研究用チップを製作しました。

RISC-Vの創設者たちによって設立された企業SiFiveは、最初の商用コアをRocketに基づかせました。Linux FoundationのオープンハードウェアグループであるCHIPS Allianceが現在このプロジェクトをホストしています。

使用場所

ほとんどのユーザーは、Rocket、BOOM、その他のブロックを組み合わせて完全なチップにするフレームワークであるChipyardを通じてRocketに到達します。Chipyardはそれらのチップをソフトウェアシミュレーション、FPGA上、または製造ツールを通じて実行します。FPGAは、別の回路のように動作するよう再構成できるチップであり、研究者は製造前に実際の速度で設計をテストするためにこれを使用します。

ソース

  1. rocket-chip README
  2. The Rocket Chip Generator, UCB/EECS-2016-17