Skip to content

Rocket Chip Generatorや、Freedom SoCをベースとした、FPGA向けのRISC-V実装です

License

Unknown, Apache-2.0 licenses found

Licenses found

Unknown
LICENSE.HORIE_Tetsuya
Apache-2.0
LICENSE.SiFive
Notifications You must be signed in to change notification settings

horie-t/lance-rocket

Repository files navigation

Lance Rocket

RISC-Vの最新の仕様の実装を見てみたい場合は、Rocket Chip Generatorが良いです。ですが、これだけだと周辺機器のモジュールが全然ないので、FPGA上で動かしても面白みがないです。Rocket Chipに周辺機器のコントロール用のモジュールとBoard Support Package等のSDKを加えたものが、Freedomです。これは、各種周辺機器のモジュールもついて、ソフトウェアの開発環境まで揃っています。これがあれば十分とも言えるのですが、Freedomは、SoC(System on Chip)のカスタマイズの販売で企業を維持していくようで、FPGA向けのコードは、SoCのコードにラッパー・コードを追加するような形になっています。そのため、FreedomでサポートしているFPGAボード以外に移植しようとすると、結構大変です。

本プロジェクトでは、Rocket Chip GeneratorやFreedomからコードを持ってきて、FPGA向けに簡素な形で実装し、制約ファイルの編集ぐらいで、各種のボードに移植できるような実装を作成します。

以下の4種類のレベルのものを実装する予定です。

  1. RISC-Vの学習用(TinyLance)
    32ビット版Rocket Chipを動かしてみて、RISC-Vの勉強をする目的用です。KOZOSを移植して、組み込みOSの勉強ができるようにします。周辺機器として、スイッチ、LED、UARTを持っています。
  2. 組込み用マイクロ・コントローラ用(BabyLance)
    IoT(Internet of Things)といった用途向けです。1.の周辺機器に加え、DRAMやSDカード、イーサネット、GPIOを備えます。
  3. パーソナル・コンピュータ用(FryingLance)
    64ビット版Rocket Chipをベースに、2の周辺機器に加え、VGAアダプタ、キーボードやマウス、USBを加えます。ここで、はりぼてOSのRISC-V版として、「かきわりOS」なるものを作成します。(できれば、Linuxも動かしたい)
  4. ハイ・パフォーマンス・コンピュータ用(ThunderLance)
    3.のマルチコア版です。(できれば、複数のボードを繋いで、NUMAアーキテクチャを実装したいが…)

現在のところ、「1. RISC-Vの学習用(TinyLance)」は完成し、『12ステップで作る組込みOS自作入門』の8th ステップまでを移植しています。続きの12thステップに関しては、『Lance Rocketのソフトウェア開発キット』で移植しています。

ビルド方法などは、こちらを参照してください。

About

Rocket Chip Generatorや、Freedom SoCをベースとした、FPGA向けのRISC-V実装です

Resources

License

Unknown, Apache-2.0 licenses found

Licenses found

Unknown
LICENSE.HORIE_Tetsuya
Apache-2.0
LICENSE.SiFive

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published