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

   

Sapphire RISC-V SoC

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

RISC-V logo

Sapphire RISC-V SoC

Sapphire SoCEfinix は、Charles Papon によって作成された VexRiscv コアに基づいて RISC-V SoC を作成しました。 VexRiscv コアは、M、A、F、D、および C 拡張機能を備えた ISA RISCV32I を使用する 32ビットCPUであり、6つのパイプラインステージ (フェッチ、インジェクター、デコード、実行、メモリ、およびライトバック) と構成可能な機能セットを備えています。 Sapphire SoCにより、AXI4 および APB3 バス インターフェイスをサポートする機能を備えた VexRiscv コアをユーザーが構成できるようになります。 構成可能なマルチウェイ命令とデータキャッシュも付属しています。 組み込みコンピューティングとユーザー定義アクセラレータをすべて同じ Titanium または Trion® FPGA に組み込んだシステム全体を簡単に作成できます。

2018 年の RISC-V SoftCPU コンテストで 1 位を獲得した VexRiscv コア。

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

  • 1 - 4 (ユーザー選択可能) 6 パイプライン ステージ (フェッチ、インジェクター、デコード、実行、メモリ、ライトバック) を備えた VexRiscv プロセッサー、マシン モードでの割り込みおよび例外処理
  • システムクロック周波数 20 – 400 MHz
  • 1 - 512 KB のオンチップRAM、SPIフラッシュ用ブートローダー搭載
  • DDR3、LPDDR4x、または HyperRAM メモリ用のメモリ コントローラ
    • 4 MB to 3.5 GB のメモリモジュール サイズをサポート
    • ユーザー設定可能な外部メモリバス周波数
    • 外部メモリと通信するための 1つの半の二重 AXI3 インターフェイス (最大 512 ビット) または 1 つの全二重 AXI4 (最大 512 ビット)
    • 400 MHz DDR3 クロック周波数、 800 Mbps
    • 1089 MHz LPDDR4x クロック周波数、 2178 Mbps
    • 250 MHz HyperRAM クロック周波数、 500 Mbps
  • ユーザーロジック用に最大 2つの AXIマスター チャネル、データ幅 32 - 512
  • ユーザーロジックへのAXIスレーブチャネル1本
  • オプションのマルチウェイ命令およびデータキャッシュを含む
  • プションの浮動小数点ユニット(FPU)を含む

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

  • オプションの Linux メモリ管理ユニット (MMU) を含む
  • さまざまな機能を実行するための 1,024 ID を持つオプションのカスタム命令インターフェースを含む
  • アトミックや圧縮などのオプションの RISC-V 拡張機能をサポート
  • APB3 周辺機器:
    • 最大32個のGPIO
    • 最大3個のI2C マスター
    • クライアントタイマー
    • プラットフォームレベル割り込みコントローラ(PLIC)
    • 最大3個のSPIマスター
    • 最大3個のユーザータイマー
    • 最大3個のUART(115,200ボーレート)
    • 最大5個のスレーブユーザーペリフェラル
    • 最大8個のユーザー割り込み

Sapphire SoCの利点

Easy to Use

使いやすい

使いやすい GUI を備えた Efinity® IP Manager を使用して、Sapphire SoC を構成します。

BSP auto-generation

自動生成
ボードサポートパッケージ (BSP)

ユーザーがカスタマイズされた SoCを生成すると、ソフトウェアはボード サポート パッケージ (BSP) を自動的に作成します。 BSP を使用して組み込みソフトウェア アプリケーションを開発します。

Design Creation

動的なサンプルデザインの作成

Sapphire SoC は、ユーザーが SoC を生成した後、ビットストリームをコンパイルしてプログラムするだけで開発を開始できるサンプル デザインを作成します。 このサンプル デザインは、T120F324Ti60F225、および Ti180J484 開発キットを対象としています。

Sapphire SoC Block Diagram

Sapphire Multi-Core SoC 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) も用意されています。

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

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

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

Efinity ソフトウェアのサポート

Sapphire SoC は Efinity ソフトウェアによって完全にサポートされており、合成、配置配線、デバッグ、タイミング解析を含む、RTL 設計からビットストリーム生成までの完全なツール フローを提供します。 このソフトウェアには、プロジェクトのセットアップ、ツール フローの実行、および結果の表示を視覚的に行う方法を提供するグラフィカル ユーザー インターフェイス (GUI) が備わっています。 このソフトウェアには、コマンドライン フローと Tcl コマンド コンソールもあります。 ソフトウェアで生成されたビットストリーム ファイルは、Trion および Titanium デバイスを構成します。 このソフトウェアは Verilog HDL および VHDL 言語をサポートしています。

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

Hardware

  • SoC RTL files
  • SoC testbench
  • Example design targeting an Efinix development board

Software

  • Board support package (BSP)
  • Linker script
  • SoC include header files
  • OpenOCD configuration files
  • Example software applications

IDE