Riviera-PRO では HDL と各種 C 言語 (C、C++ と SystemC) とのスムーズなインテグレーションを提供しています。抽象度の高い C ベースのテストベンチと HDL モデルのシミュレーション、 C モデル内に HDL をインスタンス、独自の視覚化アプリケーションと HDL との接続などが可能です。また、シミュレーション結果のデバッグ機能も用意されています。
Riviera-PRO をインストールして直ぐに C / C++ / SystemC 環境を利用することができます。Riviera-PRO インストーラにはサポートしている C / C++ コンパイラ、ヘッダーファイル、また各種 C アプリケーション (SystemC、SCV、PLI、VHPI)が必要とするライブラリファイルが含まれています。
C アプリケーションは必要な定義の設定、ヘッダーファイルへのパス、ライブラリのリンクなどを行う Riviera-PRO 専用コマンドで処理できます。そのため、エンジニアは、C アプリケーションの処理方法を気にすることなく、開発に専念できます。
ネイティブ SystemC サポート
Riviera-PRO は SystemC をネイティブサポートしています。 SystemC モジュールは、通常の HDL モデルと同様デザインライブラリとしてコンパイルできます。
検証対象デザインは、SystemC / HDL / EDIF がどのように混在していてもかまいません。下図では SystemC と HDL が混在した階層構造を示しています。SystemC コンポーネントはオレンジのアイコンで表示されます。

SystemC と HDL 間のインタフェースレイヤーを作成する必要はありません。 シミュレータがイニシャライズされると、HDL と SystemC モジュールは自動的にシミュレータによって接続されます。
SystemC 信号の履歴はシミュレーションデータベースに記録され、波形ウィンドウまたはリストウィンドウで表示できます。HDL のために開発されたデバッグ機能も同じく利用可能です。例えば、拡張データフローウィンドウで SystemC モジュールを利用することができます。
Riviera-PRO では 3rd パーティーの C デバッガ(gdb または Microsoft 社 Visual Studio)をサポートしています。このサポートにより SystemC モジュールのブレークポイントの設定は Riviera-PRO から行うことができます。
SystemC Verification Library
SystemC Verfication Library (以下、SCV)は検証チームで使用されるようになってきています。SCV は SystemC と Testbuiler を基盤として作られます。また、SCV にはランダム・パターン生成、トランザクション・レコーディングといった機能があります。
SCV アプリケーションの開発とシミュレーションに対して、Riviera-PRO は完全な環境を含んでいます。Riviera-PRO ユーザーにはヘッダーファイルとコンパイル済のライブラリを提供しています。また、コンパイル用の専用コマンドやトランザクタ開発用の専用ウィザードをサポートしています。
もし SCV を使ったことがなくても、提供される SystemC と SCV のサンプルデザインを使用してその方法を直ぐに理解頂けます。
PLI / VHPI インターフェース
Riviera-PRO は VHDL と Verilog への IEEE によって標準化されたインタフェースをサポートしています。そのインタフェースによって独自の C アプリケーションから検証対象デザインをコントロールできます。デザインの階層構造の確認、シミュレータの全ての信号のモニター・フォース、イベントに対するコールバックルーチンの登録などが可能です。PLI と VHPI インタフェースは産業用アプリケーションで一般に使われています。例えば、Riviera-PRO とサードパーティーツールは PLI または VHPI で連携を取ることができます。
C モデル
デナリ社メモリモデル、シノプシス社 SmartModel ライブラリといった各種 C モデルは Riviera-PRO で利用可能です。よく知られた SmartModel としてザイリンクス社が unisim ライブラリで提供する PowerPC プロセッサライブラリがありますが、そちらも Riviera-PRO で利用できます。