UVVMは、オープンソースのVHDL検証ライブラリおよびメソドロジであり、GithubとIEEE Standards Association Openの両方で利用でき、欧州宇宙機関(ESA)と協力して開発されています。最新のUVVMライブラリは、Active-HDLおよびRiviera-PROの最新バージョンのインストールに含まれています。
このVHDLベースのアプローチを使用する主な利点は、既知の設計言語を使用して特定のテストベンチに必要な機能を段階的に追加できることです。さらに、必要なのはVHDLだけであるため、検証がより簡単、迅速、かつ安価になります。UVVMはVHDL2008互換シミュレータで動作し、テスト対象デザイン(DUT)がVerilogであってもASIC検証に使用することができます。
UVVMは「VHDL用のUVM」と見なされますが、ユーザーのしきい値ははるかに低く、テストベンチで以下を対象とするように作成されました:
UVVMには、さまざまなインタフェースにアクセスするためのインタフェースモデルが多数あります。これらは、簡単な使用のためにバスファンクションモデル(BFM)プロシージャとして提供され、より高度な検証のためにVHDL検証コンポーネント(VVC)として提供されます。これらのインタフェースモデルを使用すると、高レベルのトランザクション(プロシージャ)を記述して、理解しやすいテストケースを作成できます。
UVVMのVVCは単一プロジェクトでより効率的な検証を可能にし、さらにあらゆるレベルでの再利用を可能にする独自の機能を提供します。特徴は次のとおりです:
UVVMは重要な部分でのシンプルさに重点を置いており、ソフトウェア開発者とハードウェア開発者は同様にUVVMテストケースを簡単に読み書きできます。また、このメソドロジは、説明、構文、例とともに非常に詳しく文書化されています。さらにあらゆる機能のデモおよびメンテナンステストベンチ(UVVM Supplementary内)を見つけることもできます。
UVVMは非常にエラーが発生しやすいサイクル関連のコーナーケースを対象とした検証メソドロジであり、このメソドロジの発明者であるEmLogic(ノルウェー)のEspen Tallaksen氏は現在もプロジェクトマネージャー兼チーフアーキテクトを務めています。
UVMはVHDLテストベンチの可読性、概要、保守性を向上させることを目的としています。シンプルなDUTはシンプルなUVMユーティリティ・ライブラリとBFMを使用して検証することができます。一方、非常に構造化されたUVMテストベンチアーキテクチャは、複雑なDUTを非常にシンプルな方法で検証することができ、効率と品質を大幅に改善します。
UVVM は下記機能を提供します:
HDLテストベンチを使用した機能シミュレーションは、FPGAデザインの機能的正しさを証明するための事実上の手法です。この3部構成のウェビナーシリーズでは、テストベンチの構築方法について、基本的な手法から高度な手法まで、ステップ・バイ・ステップで説明します。最初に単純なDUTを使用し、次に複数のインタフェースで同時にアクティビティが発生する複雑なDUTを使用します。
本ウェビナーシリーズのパート1では、検証フレームワークを使用せずに、基本的なテストベンチを使用して、低~中品質要件の比較的単純なDUTを検証する方法を紹介します。また、基本的なテストベンチインフラストラクチャの要素について説明し、冗長性とアラート制御を備えたセルフチェックテストベンチの作成方法の例を示し、検証およびデバッグを高速化するための基本的なBFMの使用方法を紹介します。次にUVMを紹介し、簡単なDUTを検証するためにUVMを使用する方法を示します。