IDS-Validate™自動化されたプレシリコンおよびポストシリコン検証
IDS-Verifyのレジスタ検証機能は、IDS-Validateによってシリコン前およびシリコン後の検証に拡張できます。IDS-Validateは、指定されたカスタム・シーケンスを含むUVMシーケンスとC/C++シーケンスの両方を自動生成し、メモリとレジスタを徹底的にテストします。IDS-Validateはレジスタとメモリを超えて拡張でき、検証環境とユーザ定義の機能テストを生成することで、カスタム・デザイン・ブロックの機能検証も可能です。
SoCの検証と妥当性確認にかかる時間の短縮
IDS-Validateは、検証時間の短縮を目指すSOC/IPチーム向けのソリューションです。UVMとシーケンスを自動生成することにより、メモリとレジスタ・マップの徹底的なテストが可能になります。
IDS-Validateは、Portable Stimulus Standard (PSS)またはIDS-NGのGUIベースのシーケンス・テンプレートを使用して、ボードやUVMおよびUVM-Cベースの環境のカスタム・テストを生成する手法も提供します。これにより、ファームウェア・エンジニアに対してデバイス・ドライバやアプリケーション・ソフトウェアを記述およびデバッグするためのソリューションが提供されます。
詳細な説明は “Getting Started with IDS-Validate” をご覧ください。

IDS-Validateが開発プロセスを強化する方法
自動テスト生成
IDS-Validateは、IDesignSpec GDI、Python、PSS、またはMicrosoft Excelを使用した単一の仕様から、UVMおよびUVM-C/C++ ハイブリッド環境、および実ボードで実行されるテストを自動生成できます。したがって、IDS-Validateは、初期のプレシリコン検証(ハードウェアとソフトウェアの協調検証とも呼ばれます)と、最終的なポストシリコン検証の両方をカバーします。
生成されたハイブリッド環境では、IDS-Validateによって生成された同期コンポーネントによって調整された、C/C++テストとUVMテストの両方を実行できます。またハイブリッド環境では、割り込みとそれに関連する割り込みサービス・ルーチン(ISR)を処理できますので、デザイン・ブロック間の接続をテストし、生成された環境を完全なSoC検証環境を構築するための出発点として使用できます。
生成されたC/C++コードを独自の組み込みプロセッサで実行することも、IDS-ValidateにパッケージングされているRISC-V SweRV Core EH1で実行することもできます。
仕様からのポータブル・シーケンスの自動化
IDS-Validateは、ゴールデン仕様からのポータブル・シーケンスの作成も統合します。シーケンスをPython、PSS、スプレッドシート形式、またはIDesignSpec GDIのシーケンス・ビューでキャプチャし、さまざまな用途向けに複数の形式で出力することが可能です。
- 検証のためのUVMシーケンス
- 検証のためのSystemVerilogシーケンス
- ファームウェアおよびデバイス・ドライバ開発用のCコード
- 自動テスト装置(ATE)用の特殊なフォーマット
- 最新のPortable Stimulus Standard(PSS)へのフック
- HTMLやフローチャートなどのドキュメント出力
- レジスタとシーケンスをフローチャート・ビューとともに提供するプログラマズ・リファレンス・マニュアル(PRM)
シーケンス構造には、ループ、if-else、wait、switchステートメントが含まれており、インタフェースの変更、エンコード形式の指定、時間単位の異なる処理、マクロの使用、バリアントの指定、およびシーケンスからユーザ・エラーを返すreturnステートメントが使用可能です。また、ランダム化されたシーケンスの制約付き変数、および間接レジスタと割り込みレジスタの処理もサポートされます。
IDS-Validateのメリット
IDS-Validate は、シリコン前のハードウェアとソフトウェアの協調検証向けに、特にこれら2つのドメイン間の相互作用を定義するレジスタに対する作業の多くを自動化します。この利点は、多くの同じC/C++を実行できるシリコン後の検証まで広げることができます。デザイン・ブロック向けに構成されたC/C++シーケンスは、テストだけでなくソフトウェア開発にも使用できます。さらに、組み込みプログラマは、生成されたC/C++コードを使用して、SoC製品向けソフトウェアとデバイス・ドライバの開発およびデバッグができます。