RISC-V SoC: 組み込みコンピューティングの推進

RISC-V は、非営利の RISC-V 財団によって管理されている、RISC の設計思想に基づいたオープン標準の命令セット・アーキテクチャ (ISA) です。このモジュール型 ISA は、基本命令セットとオプションの拡張セットが用意されています。RISC-V は無償かつオープンソースであるため、世界中で人気が高まっています。現在、商用、オープンソースを含めて 65 以上の RISC-V コアが利用可能です。

エフィニックス (Efinix) は、Charles Papon 氏が開発した VexRiscv コアをベースの RISC-V SoC を用意しています。2018年の RISC-V SoftCPU コンテストで 1 位を獲得した VexRiscv コアは、拡張機能を持つ ISA RISCV32I を採用した 32 ビット CPU で、パイプラインステージ、構成変更が可能な機能セットを備えています。それぞれの SoC には、RISC-V プロセッサ、メモリ、各種 I/O、ユーザ機能を追加するためのインターフェイスが搭載されています。そのため、組み込みコンピューティングとユーザ定義アクセラレータを含むシステムを、同一の Titanium および Trion® FPGA で簡単に設計することができます。

Sapphire SoC

ユーザー設定可能な高性能 SoC で、オプションでメモリコントローラを搭載可能。Efinity IP マネージャで必要なペリフェラルを選択し、SoC を構成することができます。この Sapphire SoC の柔軟性は、様々な組み込みアプリケーションに最適です。

Sapphire SoC
  • VexRiscv コア - 6 つのパイプラインステージ (フェッチ、インジェクタ、デコード、実行、メモリ、ライトバック)、割込処理、例外処理
  • システムクロック: 20 ~ 400 MHz
  • オンチップ RAM: 4 ~ 512 KB (SPI FLASH用のブートローダーを含む)
  • DDR または HyperRAM メモリコントローラ
    • メモリサイズサポート: 4 MB ~ 3.5 GB
    • ユーザ設定可能な外部メモリバス周波数
    • 外部メモリアクセスのための半二重 AXI3 インターフェイス (最大 256 ビット)
    • 400 MHz DDR クロック周波数、800 Mbps
    • 200 MHz HyperRAM クロック周波数、400 Mbps
  • ユーザロジック用の AXI マスタチャネル (最大 2 系統)
  • ユーザロジック用の AXI スレーブチャネル (1 系統)
  • 浮動小数点ユニット

Sapphire Risc-V SoC データシート

Sapphire Risc-V SoC ハード/ソフトウェア ユーザーガイド

Efinity IP マネージャ v2021.1 以降でサポート

  • Linux 用の MMU (メモリ マネジメント ユニット)
  • カスタム命令セット (様々な機能を実現するための 1,024 ID)
  • RISC-V アトミック拡張機能、Compressed 命令 (オプション)
  • APB3 ペリフェラル:
    • GPIO 最大 32 本
    • I2C マスタ 最大 3 個
    • Clint Timer
    • PLIC
    • SPI マスタ 最大 3 個 (最大 25 MHz)
    • Timer 最大 3 個
    • UART 最大 3 個
    • APB3 ユーザペリフェラル 最大 5 個
Sapphire block diagram

Sapphire SoC は、32ビット RISC-V プロセッサで、命令キャッシュ (最大 8 方向、1 ~ 32 KB)、データキャシュ (最大 8 方向、1 ~ 32 KB)、オンチップ RAM (4 ~ 512 KB)、、各種ペリフェラル (1 ~ 5 の APB3 スレーブペリフェラルと AXI スレーブ が1つ) で構成されています。動作周波数は、20 ~ 400 MHz の範囲で設定可能です (実性能は、ユーザデザインの最大動作周波数[fMAX]に依存します)。SoC は、I2C (1 ~ 3 個)、UART (1 ~ 3 個)、ユーザタイマー (1 ~ 3 個)、SPI マスタ (1 ~ 3 個) に加え、浮動小数点ユニット (FPU)、カスタム命令インターフェイス、Linux用メモリマネジメントユニット (MMU) も用意されています。

デフォルトの構成では、最大 256 ビットの半二重 AXI バスにより、DDR コントローラまたは HyperRAM コントローラと通信します。

  • DDR コントローラ—このコアは、Trion FPGA のハード DDR DRAM インターフェイスを使用して、外部 DRAM モジュールをリセットします (Trion FPGA の DDR インターフェイスと DDR モジュールをリセットし、再初期化します)
  • HyperRAM コントローラ—このコアは、HyperRAM メモリモジュールを制御します

Efinity® ソフトウェアの IP マネージャにより、SoC のカスタマイズが可能です。

パッケージ内容

各 RISC-V SoC パッケージには、ハードウェアとソフトウェア関連の全てのファイルおよびアプリケーション開発を容易にするためのオープンソースのソフトウェアサンプルが含まれています。これらのパッケージを使用することにより以下のことが可能です:

  • エフィニックス開発キットをターゲットとした Sapphire RISC-V SoC を使用した RTL 設計およびサンプルからユーザーアプリケーションへの適用
  • サンプルプロジェクトを用いたソフトウェア開発環境の設定、ユーザープロジェクトの作成、API の使用

SoC デザイン フロー

SoC Design Flow

ハードウェア

  • SoC RTL ファイル
  • SoC テストベンチ
  • 開発キット用のサンプルデザイン
  • Efinity ソフトウェアでサポート

ソフトウェア

  • BSP (ボード サポート パッケージ)
  • リンカー スクリプト
  • SoC ヘッダーファイル
  • OpenOCD 設定ファイル
  • ソフトウェア サンプル集
  • Efinity ソフトウェアでサポート

SDK

  • Eclipse IDE (プロジェクトやソフトウェアの管理)
  • GCC コンパイラ
  • OpenOCD デバッガ
  • Windows ビルドツール (Windows OS のみ)
  • サポートセンターよりダウンロード

Efinity ソフトウェア サポート

Efinity® ソフトウェアは、すべての RISC-V SoC をサポートしており、RTL デザインからビットストリーム生成 (論理合成、配置配線、デバッグ、タイミング解析を含む) までの完全なツールフローを提供します。ソフトウェアには、プロジェクトの設定、ツールフローの実行、および結果の表示を視覚的に操作するための GUI (グラフィカル・ユーザ・インターフェイス) およびコマンドライン・フロー、Tcl コマンド・コンソールが用意されています。ソフトウェアで生成されたビットストリーム・ファイルにより Trion FPGA をコンフィギュレーションします。ソフトウェアは、Verilog HDL 言語と VHDL 言語をサポートしています。