RISC-Vの技術を根底から支えるImperasのRISC-V
設計支援ツール
2023年6月20日

イーソルトリニティ株式会社© 2023 eSOL TRINITY

目次◼イーソルトリニティ会社紹介◼Imperas社の紹介◼Imperas社が提供するSW開発者向けRISC-V関連 ソリューション／モデル◼RISC-Vプロセッサの設計検証（DV）◼Imperas社が提供するHW開発者向けRISC-V関連 ソリューション
◼ImperasDVを選ぶ理由◼まとめ© 2023 eSOL TRINITY

2

会社紹介：イーソルトリニティ株式会社①ツール、②ソリューション、③エンジニア教育を三つの柱として提供し、自動車関連企業の車載機器開発を包括的に支援します。
⚫ ツール活用に関するソリューション事業
開発プロセス管理、機能安全、モデルベース開発（MBD）支援、マルチ・メニーコア、テスト支援、ソフトウェア性能評価、仮想プラットフォーム

TRINITY = 三位一体

基本情報
（eSOL TRINITY Co.,Ltd.）

品質の見える化、ソフトウェア再構築、ソフトウェア定石

ソリューション

ツール

会社名：イーソルトリニティ株式会社⚫ 車載領域向けソリューション事業

教育

設 立：2015年3月⚫ 組込みシステム全般に関する教育事業
教育：組込みソフトウェア基礎、車載システム関連、Linux、MBD等

資本金：10百万円
お客様への価値提供© 2023 eSOL TRINITY

3

Imperas社の紹介• 会社名：Imperas Software Ltd.
• 設立：2007年 本社は英国 Oxford• 資本は全てImperasのメンバーが出資• CEO:Simon Davidmann• バックグラウンド• エンジニアリングチームは、EDAツール、FPGAおよびプロセッサIP開発の経験を持つ• ビジネスフォーカス• ソフトウェアエンジニア向けのマルチコアシミュレーションツールを提供• 現在はRISC-VのシミュレーションおよびIP検証ツールの提供にフォーカス• RISC-V InternationalにStrategic Memberとして参加• Compliance Workingグループで活動© 2023 eSOL TRINITY

4

Imperas社のRISC-V関連のお客様およびパートナー
The most complex RISC-V processor projects use ImperasUsers•••••••••••••••

PartnersNvidia Networking (Mellanox)
NSITEXE (DENSO subsidiary)
NXP
Silicon Labs
Nagravision
Dolphin Design
lowRISC (Ibex)
EM Micro US
Top 10 semiconductor company with embedded, GPU use cases
Top-tier systems company (AI application)
Largest automotive ADAS/AI company
Startup building accelerator based on multiprocessor RV64
Japanese government projects “TRASIO” and “RVSPF”
Numerous universities around the world
100+ organizations using free riscvOVPsimPlus••••••••••••

RISC-V Intl
OpenHW Groupe
CHIPS Alliance
Google (Open source ISG)
Valtrix (test generation tools)
Andes (processor IP vendor)
SiFive (processor IP vendor)
Codasip (processor IP vendor)
MIPS (processor IP vendor)
Microchip (Microsemi FPGA Mi-V processor IP)Intel FPGA (Nios-V processor IP)Intel (RISC-V Pathfinder IDE)

© 2023 eSOL TRINITY

5

Imperas社のビジネスモデルとOVPについて
Imperas社のビジネスモデルはツールのライセンス販売であり、モデルは全て無償。
• CPUモデル、周辺モデルは www.OVPworld.org から無償でダウンロード可能。また、各モデルはオープンソース(Apatche2.0 open source license)となっており、お客様でのカスタマイズが可能。

• モデリング用APIを公開。
• OVPsimは商用利用以外では無償での利用が可能。

• 主なモデル（200を超える高速CPUモデルおよび周辺モデル）• 全てのモデルはCおよびSystemC/TLM2のインタフェースに対応。
• RISC-V：• 汎用モデル：RV32/64 RV32/64 IMAFDCEVBHKP M/S/U privilege modes• プロセッサIPベンダモデル：Andes, Codasip, MIPS, OpenHW, SiFive• Arm：for Armv4, v5, v6, v7 and v8 architectures• MIPS：microMIPS, MIPS32 and MIPS64 architectures• Renesas：RH850, V850 architectures; 16-bit microcontroller cores• Synopsys：ARC6xx, ARC7xx, EM families• Intel：Nios II
OVP : Open Virtual Platform• Xillinx：Microblaze© 2023 eSOL TRINITY

6

Imperas社が提供するRISC-V関連ソリューション（SW開発用途）
RISC-V対応 ソフトウェア開発用製品 M*SDK⚫
特長⚫ 「M*SDK」は、ヘテロジニアスマルチコア対応の高速ソフトウェ
アシミュレータ⚫ JIT(Just-in-timeコンパイラ）技術により、ターゲットバイナリを高速にシミュレーション。ターゲットバイナリを約500MIPS～1GIPSで実行可能。
⚫ ソフトウェア開発では必須となる検証、解析、プロフィリング機能(VAP:Verification, Analysis and Profilingツール)を同梱。命令ト
レース、メモリ解析、キャッシュ解析、例外／割り込み解析、カバレッジ、関数ツリー作成等をサポート。
⚫ RISC-Vの特長であるカスタム命令にも対応。お客様にて容易にカスタム命令の追加実装が可能。
⚫ 独自のマルチプロセッサ／マルチコア対応デバッガ（MPD:MultiProcessor/Multi-core Debugger)を提供。ホモジニアスの環境においても、このMPDだけでデバッグを行う事が可能。またMPDはペリフェラルモデルも同時にデバッグが可能であるため、ソフトウェアデバッグと同時にプラットフォームのデバッグも実行可能。
© 2023 eSOL TRINITY

7

Imperasのリファレンスモデル• ImperasはRISC-Vフル仕様のモデルを提供します。

RISC-VReference
Model

ModelConfig
150+ params• 製品品質のRISC-Vプロセッサモデル/シミュレータはコンプライアンス、検証およびテスト環境として使用されています。

Imperas Simulator• 全ての機能が実装されたコンフィギュレーション可能なモデル / シミュレータ••••••

ユーザーおよび特権モード仕様をサポートした全ての32bitおよび64bit機能
ベクター拡張命令：versions 0.7.1, 0.8, 0.9, 1.0をサポート
ビット操作拡張命令：versions 0.91, 0.92, 0.93, 1.0.0をサポート
ハイパーバイザー：version 0.6.1をサポート
K-Cryptoスカラー：version 0.7.1, 1.0.0をサポート
デバッグ：versions 0.13.2, 0.14, 1.0.0をサポート• モデルのソースコードはApache 2.0 open sourceライセンスで公開
http://www.imperas.com/riscv• リファレンスモデルとして以下のお客様で使用されています。
• Mellanox/Nvidia, Seagate, NSITEXE/Denso, Google Cloud, Chips Alliance, lowRISC,OpenHW Group, Andes, Valtrix, SiFive, Codasip, MIPS, Nagra/Kudelski, SiliconLabs, RISC-V Compliance Working Group, …

ImperasのモデルはRISC-V Goldenリファレンスモデルとして利用されています© 2023 eSOL TRINITY

8

Imperasモデルの拡張性について
Imperasが開発およびメンテナンスを行う基本モデル

RISC-V
Reference
Model

Model
Config150+params• 基本モデルは全てのRISC-V仕様が実装されています

User
Extension:custominstructions& CSRs

Imperas Simulator• 分割され、重複の無いソースファイルがメンテナンスを容易にします• Imperasまたはお客様が拡張部分を開発可能です• ユーザー拡張のソースコードはお客様の権利となります• どの拡張ISAを使用するかを自由にコンフィギュレーションできます。
• また、拡張ISAの中のどのバージョンの拡張命令を使用するかをコンフィギュレーションできます。
• ISA拡張命令仕様のアップデートに合わせてモデルも更新されます。

• RISC-Vのオプション仕様のコンフィギュレーションが可能です• 例えば、オプションのCSRs, read onlyまたはread/writeビットオプション等

Imperasは拡張可能な基本モデルの拡張方法を提供します• カスタム命令追加の為のテンプレート• 機能追加の為のコード• ユーザーガイド/多くのサンプルを含むリファレンスマニュアル• プロセッサモデルの拡張サンプル等

Imperasのモデルは容易に拡張、およびメンテナンスが可能なような構造に設計されています© 2023 eSOL TRINITY

9

Imperas社が提供するRISC-V関連ソリューション（SW開発用途）• QuantumLeap：マルチコアを活用した高速シミュレーション技術• ホストPCのマルチコアを活用
VirtualPlatform

50
45
40
35
30
25
20
15
10
50

43.0743.07
40.49

15x fasteravg.
on quad host

33.01
28.74
22.94
19.39

5.12

10.5311.57
7.49 8.90

Platform Containing Four ARM Cortex-A9 UP

マルチコアSoCのシミュレーションを、ホストPCの複数のコアを利用して実行できます。
© 2023 eSOL TRINITY

10

Imperas社が提供するRISC-V関連 モデル• RISC-V プロセッサモデル
プロセッサモデル

モデル

スペック

32-bit ISA

RV32I, RV32IM, RV32IMC, RV32IMAC,
RV32G, RV32GC, RV32GCB, RV32GCH, RV32GCK, RV32GCN, RV32GCV,RV32GCZfinx,
RV32E, RV32EC,
RVB32E, RVB32I

64-bit ISA

RV64I, RV64IM, RV64IMC, RV64IMAC,
RV64G, RV64GC, RV64GCB, RV64GCH, RV64GCK, RV64GCN, RV64GCV,RV64GCZfinx,
RVB64I

CORE-V

OpenHw GroupIbex_RV32

lowRISC

A25, AX25, N25, NX25

Andes Technology社製CPUコア

E2, E3, E5, E7, S2, S5, U5,U7

SiFive社製CPUコア

MiV_RV32IMACoreRISCV

Microsemi社製CPUコア© 2023 eSOL TRINITY

11

Imperas社が提供するRISC-V関連 モデル• RISC-V プラットフォームおよび周辺モデル
プラットフォーム（SoC）

モデル

スペック

FU540

SiFive FU540-C000 SoC module.
- E51 core x 1 + U54 core x 4
SiFive S51 (aka E51) Core Complex module- S51 core

S51CC

ペリフェラルモデル

virtioVirtio System Platform to boot BusyBear-Linux Kernel.
- RISC-V RVB64I 64-bit processor model

Andes AE350

Andes- FreeRTOS demoRiscvRV32FreeRTOS

Example platform to boot pre-compiled FreeRTOS operating system.
- RV32IM core

RiscvCLINT, RiscvPLIC, UART

Examples of over 200 open source library components

SifiveGpio, SifiveMSEL
SifivePRCI, SifivePwm,
SifiveSpi, SifiveUART,
SifiveTeststatus

SiFive周辺モデル

AndesATCUART100,
AndesNCEPLIC100,
AndesNCEPLMT100

Andes周辺モデル

MicrosemiCoreUARTapb©
2023 eSOL TRINITY
Microsemi周辺モデル

12

RISC-Vプロセッサの設計検証（DV）© 2023 eSOL TRINITY

13

RISC-Vプロセッサの設計検証（DV）の課題• IPの機能選択は、設計および実装に大きく影響します。
• 開発者は検証への影響を考慮する必要があります。

• 現在のSoC開発に掛かるコストの50%はハードウェアDVです (実績のあるCPU IPを購入した場合)• 自社でCPUを開発する場合には、スケジュール、リソース、品質等のより多くの課題を解決する必要があります。

• プロセッサDVは、多くのチームにとって初めての経験となります。
• 既存のDVメソドロジは、SoCとSoCサブシステムのDVにフォーカスしており、プロセッサDVの課題に完全に対処していません。

これらの課題をImperasが提供する設計検証ツール「ImperasDV」がサポートします© 2023 eSOL TRINITY

14

Imperas社が提供するRISC-V関連ソリューション（HW開発用途）
RISC-Vコア検証用製品 A*IDV⚫
特長⚫ 「A*IDV(ImperasDV)」は、お客様が開発されたRISC-V RTLの検証を行う為の、非同期イベントに対応した製品⚫ RISC-Vコア DUT（Device Under Test）をイベントごとに、Imperasゴールデンリファレンスモデルと比較する高度なロックステップ比較型ハードウェア設計検証環境。
⚫ RTLシミュレータとのインタフェースには、標準化された
RVVI(RISC-V Verification Interface)を採用。Cadence社やSynopsys社のRTLシミュレータとインタフェース可能。
⚫ マルチコア／マルチプロセッサ構成および非同期なイベント（例外処理、割り込み、デバッグ等）にも対応。
⚫ 世界中の100以上のユーザーによって利用されているモデリン
グ技術及びシミュレーション技術を基盤にしている為、非常に信頼性が高い。
※DV（Design Verification）：設計検証の事で設計仕様通りに動作する事を検証するプロセスの部分はImperas社より提供※同期型ロックステップ検証比較型の「S*IDV」（シングルコア対応）も製品ラインナップの部分はお客様にてご用意いただき、それらをまとる必要がある© 2023 eSOL TRINITY

15

ImperasDV: Test Suite Availability• RISC-Vの設計検証向けに、以下の50以上のテストスイートが無料で提供• I, M, C, F, D, B, K, V, P

• 提供されるベクトルテストスイートは、特定のベクトルエンジン構成• 2つのテストスイートを販売• ベクタテストスイート• RISC-Vのあらゆるベクタ構成をサポート。ユーザがベクタ構成を選択するとテストスイートを生成• ベクタ命令とレジスタをテスト• 物理メモリ保護（PMP）テストスイート• RISC-VのPMPコンフィギュレーションをサポート。ユーザがPMPコンフィギュレーションを選択するとPMPテストスイートを生成• PMPのCSRと例外をテスト© 2023 eSOL TRINITY

16

ImperasDV: Functional Coverage Library Availability• 異なるRISC-V拡張グループに対応したSystemVerilog• 現在、RV[32,64]IMCで使用可能• オープンソースで拡張可能• RVVI-TRACEデータを使用• RISC-Vの全ての仕様に対応した命令カバレッジを実現© 2023 eSOL TRINITY

17

ImperasDV: Debug with MPD• Imperas MPD（Multi ProcessorDebugger） は Eclipse ベースのデバッグツール

Multi Processor Debugger• ソースラインまたは命令レベルでのデバッグが可能• 新しいカスタム命令や追加されたステートレジスタを確認可能• 最初のミスマッチでブレークし、SWとRTLを同時にデバッグ可能• 複数のコアを同時にデバッグ可能© 2023 eSOL TRINITY

18

ImperasDVを選ぶ理由• 開発スケジュールの短縮• ドメイン固有のタスクにリソースを割くことができます。

• ベストインクラスのメソドロジー• Constrained-random、カバレッジドリブン、非同期ステップアンドコンペア• 障害発生時のデバッグ機能• 標準インターフェース(RVVI)による移植性・再利用性• 高品質なリファレンスモデル• プロセッサの専門家により開発されたモデル• ドキュメンテーション、トレーニング、継続的なサポート© 2023 eSOL TRINITY

19

まとめ
• Imperas社のRISC-Vコアは、リファレンスモデルとしてハードウェア検証環境の構築を強力に支援• 同期型ロックステップ 検証比較型だけではなく、マルチコア／マルチプロセッサに対応した非同期イベントの検証比較にも対応。これにより複雑な設計検証にも対応可能。
• 豊富なモデルライブラリ（無償）• RISC-Vプロセッサモデルにはジェネリックなものからベンダー固有のものまでを多数用意。
モデルはソースコードも提供。リファレンスとして活用して開発効率がアップ• ターゲット向けソフトウェア開発環境• 高速なシミュレーション技術及びソフトウェアにより実行される為、ハードウェア環境のように不安定さがなく、観測性の良いデバッグ環境を提供。
© 2023 eSOL TRINITY

20

Challenge With Passion

Imperas Advanced Multicore Software Development Kit

https://www.imperas.com/msdk-advanced-multicore-software-development-kit

Imperas OVP

https://www.imperas.com/ovpworld/

RVVI: RISC-V verification Interface

https://github.com/riscv-verification/RVVI

Larry Lapides
Imperas Software Ltd.
LarryL@imperas.com

Yukiharu SatoeSOL TRINITY Co., Ltd.
satou@esol-trinity.co.jp

ImperasDV

https://www.imperas.com/imperasdv© 2023 eSOL TRINITY22