FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

RISC-V ベース SoCプラットフォームについて調査する (1. 概要調査)

X-HEEPというRISC-VをベースとしたSoCプラットフォームを教えてもらった。

x-heep.readthedocs.io

SystemVerilogで記述されたRISC-Vマイクロコントローラを使ってカスタマイズ可能なSoCを構成することができる。 CPU・一般的なペリフェラル・メモリなどをカスタマイズしてMCUを構成することができる。 さらに、HALドライバやSDKを含むFWスタック全体を起動できるIPを構築できる。

シミュレーション環境としては、Verilator、QuestaSimなどによるシミュレーションをサポートしている。 さらに、gcc/clang、SEGGER Embedded Studioを使ってソフトウェアを構築することができる。 ファームウェアはFPGAに実装することもできるし、シリコンへの実装もサポートしている。

アーキテクチャは以下のドメインに分けられる:

  • CPUサブシステム
  • メモリバンク
  • ペリフェラルサブシステム
  • 常時オンペリフェラルサブシステム

CPUサブシステムは、 RISC-V lowRISC lbexをベースとしている。 - ハーバード・アーキテクチャを採用 - OBIプロトコルを実装している - キャッシュ無し - クロックゲーティングを適用できる

メモリバンクは、複数のバンクに分割され、プログラム・データを格納することができる。 - 各バンクは個別にクロックゲーティングやリテンションを設定できる

ペリフェラル・サブシステムは汎用ペリフェラルを含んでいる。 - 汎用タイマ - プラットフォーム・レベル割り込みコントローラ (PLIC) - I2Cインタフェース - SPIインタフェース - 24個の汎用入出力 (GPIO) - クロックゲーティングを適用することも可能

常時オンの周辺サブシステムは以下が含まれる: - SoCコントローラ - ブートROM - パワーマネージャ - 高速割り込みコントローラ - DMA

また、X-HEEPはASIC実装のための機能もサポートしている: