UVM 検証

UVM 検証とは

Universal Verification Methodology (UVM) 検証は、FPGA および ASIC 設計プロジェクトに使用される設計検証の標準形式です。UVM の開発は、電子設計自動化 (EDA) コミュニティ内の標準化機関である組織 Accellera Initiative によって推進され、過去数年で EDA 産業分野の著名な企業によって開発された ASIC 検証手法を基盤としていました。

UVM 検証の主な目標は、再利用可能な検証コンポーネントを用いて設計の検証効率を改善することです。しかし、UVM 検証コンポーネントを手動で作成およびデバッグするには、特に新しいアルゴリズム コンテンツの場合は依然として多大な労力が必要であり、UVM 検証の複雑さは設計チームが UVM 検証を採用する障害となる場合があります。

ASIC および FPGA 設計プロジェクト向けに開発されたアルゴリズムの多くは、MATLAB® コードまたは Simulink® モデルとして開始されるため、設計チームは MATLAB または Simulink ソースから直接 UVM 検証コンポーネントを生成することで、テストベンチを開発する労力を軽減できます。ASIC Testbench for HDL Verifier アドオンを使用すると、MATLAB コードまたは Simulink モデルから UVM 検証のための SystemVerilog DPI コンポーネントを自動生成できます。これらのコンポーネントは、UVM 検証スコアボードにおけるゴールデン リファレンス チェッカー モデル、ミックスドシグナル シミュレーションにおける動作レベルのデジタルまたはアナログ コンポーネント モデル、または UVM 検証スティミュラスとして機能するシーケンスとして使用できます。

ASIC Testbench アドオンは、Simulink モデルから完全な UVM 検証環境を直接生成できます。HDL Verifier は、テストベンチのモデルから SystemVerilog UVM シーケンスドライバーモニタースコアボードのコンポーネントを生成します。また、動作レベルのテスト対象設計 (DUT) の SystemVerilog ファイルも作成します。その後、動作レベルの DUT を手動でコーディングされた RTL または HDL Coder で生成された RTL に置換できます。生成された UVM 検証環境は、Siemens® の ModelSim® や Questa®、Cadence® Xcelium™、または Synopsys® VCS® で使用される場合があります。

UVM 検証のアプリケーションによっては、MATLAB または Simulink から完全な UVM 環境を生成するよりも、個別の UVM コンポーネントを生成する方が好ましい場合があります。MATLAB から個別の UVM コンポーネントを生成するには、予測子、シーケンス、スコアボード コンポーネントの UVM テンプレートを使用できます。同様の方法で、Simulink サブシステムからシーケンス、予測子、またはスコアボードの UVM コンポーネントを生成できます。

UVM フレームワークを使用して UVM 検証環境を開発する場合、ASIC Testbench を使用して UVM フレームワーク ワークフロー内に SystemVerilog DPI コンポーネントを生成できます。

Simulink モデルのパーツが、H D L Verifier を使用して、U V M Sequencer、U V M Scoreboard、および動作レベルの D U T などの SystemVerilog U V M 環境にどのように生成されるかを示す図

Simulink モデルから UVM テストベンチを生成することで、UVM 検証を実行します。

詳細については、HDL Verifier™ をご覧ください。


製品使用例および使い方

UVM 検証コンポーネントおよび環境の生成

MATLAB を使用した UVM 検証用の SystemVerilog DPI-C コンポーネントの生成

Simulink を使用した UVM 検証用の SystemVerilog DPI-C コンポーネントの生成