メトリクスドリブン検証

メトリクスドリブン検証は、メトリックコレクションに基づく方法です。 検証作業の予測可能性、生産性、および品質を改善するために使用されます。

メソッドロジは結果が想定基準を満たすまで継続的に実行される4つのステップに基づいています:

コードカバレッジ

コードカバレッジは、デザインソースコードから自動的に生成されます。 この検証メトリックは、設計の正確さを示すものではありません。 むしろ、レグレッションテストの実行中にコードがどのように実行されるかを測定します。 カバレッジが不足している場合は、テスト中に実行されなかったコードまたは不完全なテストのいずれかを示します。

アルデックのシミュレーターでは、次のタイプのコードカバレッジを使用できます:

 

 

ファンクションカバレッジ - アサーション

 

アサーションおよびcoverディレクティブは、デザインの予想される動作の特定および検証します。これらは一定期間にわたって信号値を監視するためにソースコードに直接書き込まれます。、

アサーションは、何かが常に保持されなければならないことを宣言します(アサーションの失敗はデザインのバグを意味します)。

coverディレクティブは、何かが発生することを宣言します(coverの成功はカバレッジの確認になります)。

PSLのcoverディレクティブとSystemVerilogのcoverステートメントは、アサーションカバレッジの形式です。システムを設計し検証アルゴリズムを定義する場合、プロパティの指定、およびアサーションと機能カバレッジでのプロパティの使用は不可欠です。アルデックのシミュレーターは、この目的に役立つ3つの一般的な言語をサポートしています:

 

 

ファンクションカバレッジ - SystemVerilog Covergroup

 

Covergroupカバレッジは、SystemVerilogカバレッジモデルの統計を計算するファンクションカバレッジの形式です。これはシミュレーションセッションの実行によって検証された設計仕様の割合を測定するユーザー定義のメトリックです。Covergroupカバレッジは、生成された刺激を使用し、興味がある関連するデザイン機能(ベリフィケーションプラン内にリストされている)が観測されたことを検証します。アサーションカバレッジはデザインの機能を長期にわたって検証するために使用されますが、Covergroup カバレッジはシミュレーション全体で受け入れられた関連する値をカバーすることに重点を置いています。複雑なデザインの高度な検証に使用されます。

 

 

ファンクションカバレッジ - OSVVM

 

ライブラリは、VHDLデザインでのOSVVMファンクションカバレッジの実装を容易にするサブプログラムを提供します。 このライブラリに含まれるCoveragePkgパッケージは、SystemVerilogハードウェア記述言語の同様のファンクションカバレッジ検証を提供します。

 

 

ファンクションカバレッジ - FSM

 

有限ステートマシンは、一連のステート、入力イベントと出力イベント、および論理条件で構成されます。条件付きロジック、入力イベント、および現ステートをベースにした計算、出力イベントの新しいセットと次ステートを返します。FSMカバレッジにより、ユーザーは未到達ステートと未評価遷移を識別できます。 次のFSMコンポーネントとカバレッジ統計を収集できます:

 

 

 

カバレッジデータベース - Unified Coverage Interoperability Standard

 

アルデックカバレッジデータベース(Aldec Coverage DataBase:ACDB)は、いくつかのタイプのカバレッジデータ用の統合ストレージ形式です。 ACDBは、アルデックのAccellera UCIS(Unified Coverage Interoperability Standard)要求の実装になります。

アルデックのシミュレーターでは、あらゆる種類のカバレッジ統計が収集されACDBに保存できます。

ACDBに保存されたカバレッジ結果は、acdb rankコマンドを使用してランク付けできます

複数のACDBファイルを1つにマージできます。 この機能により、さまざまなシミュレーションセッション中に生成された統計を調べることができます(さらにマージされたACDBファイルでレポートの生成が可能です)。

 

 

 

テスト結果のランキング

 

ACDBデータベースに保存されたカバレッジ結果はランク付けできます。この関数は、トータルカバレッジスコアに対する個々のテストのコントリビューションに基づいて結果を分類します。このコマンドを使用すると、単一のカバレッジ結果を他のすべてのカバレッジ結果と比較してその有用性を判断できます。シミュレーション時間やCPU時間などのコストに敏感なパラメータを考慮に入れて、最短時間で最大のカバレッジ結果をもたらすテスト実行を識別することができます。acdb rankコマンドは、最も包括的な全体的な結果を生成するために、コントリビューションテスト結果の結合に作用します。レポートは、プレーンテキストまたはHTML形式で作成できます。

 

 

ベリフィケーションプラン

 

詳細なカバレッジ結果にフォーカスする代わりに検証プロセスは全体的な要求を満たし、より高レベルの検証を達成することを目的としています。

要求はさまざまなデザイン機能とカバレッジメトリックをリンクするために使用可能で、詳細なカバレッジ結果の検査にフォーカスした基本的な検証手法よりも優れています。

 



Printed version of site: support.aldec.com/jp/solutions/functional_verification/metric_driven_verification