News and Views 2010 Summer

[Feature Story 2 | 機能検証]

検証メソドロジ最前線 Accellera UVMとOVM

メソドロジの標準化をめぐる経緯

標準化団体であるAccelleraの技術小委員会の1つ、VIP-TSC (Verification IP Technical Sub Committee)は、もともとOVMとVMMという2つの検証メソドロジにおいて、検証IP資源を流通させることを目的として発足しました。異なるメソドロジ間の同期や通信のためのインターオペラビリティ・ライブラリを提供し、相互運用を可能としてきました。そして2009年12月、UVM - Universal Verification Methodologyと名付けられた、検証メソドロジを構成する基本クラスライブラリを開発することが可決されました。この中には、UVMの開発にあたり、VMMではなくOVMをベースにするという決定も含まれています。
当初は2010年3月にUVM 1.0をリリースする予定でしたが、実際にはユーザからのフィードバックを求めるためのUVM EA(Early Adopter)キットが2010年5月にリリースされました。このキットはAccelleraとしての正式リリースではなく、あくまでもフィードバックを求めるためのものです。このキットの開発において技術小委員会が行った作業は、

1. OVM 2.1.1キットをベースにスクリプトを実行し、「ovm」を「uvm」に、そして「tlm」を「uvm_tlm」に変更したこと
2. コールバックとオブジェクション機構を改善し機能を追加したこと
3. メッセージ・キャッチングと呼ばれるメッセージ処理や印字を制御するコールバックを追加したこと

以上の3点です。

 

検証メソドロジの歴史

ここで(図1)検証メソドロジの歴史的な流れを見てみます。もともとeRMやRVMといった特定ベンダに依存した検証メソドロジが存在していました。その後、機能検証を目的とした多彩な構文を取り入れたSystemVerilogがIEEE1800として標準化され、各社それぞれSystemVerilogをベースにした検証メソドロジへと移行してきました。
この中でも取り分け特長的だったのは、メンター・グラフィックスが開発、提供したAVM(Advanced Verification Methodology)です。その特長とは、OSCIのTLM標準のセマンティクスを採用したこと、そしてApache2.0ライセンスによるオープンソースで提供したことです。AVMが成功するに連れ、ケイデンスはメンター・グラフィックスと協調し、OVM(Open Verification Methodology)を共同開発することになりました。そしてOVMが多数のプロジェクトで成功を収める連れ、シノプシスはVMMをオープンソース化しました。

今後の動向と対応手段

現在OVMやVMM、そして(正式リリースではないにしても)UVM EAが存在する中で、ユーザの立場としてはどうすれば良いでしょうか。もしUVM EAキットを試してみるのであれば、現在のQuestaを用いて動作させることが可能です。(UVM EAキットはhttp://www.accellera.org/activities/vipからダウンロードできます。)UVMはOVM 2.1.1をベースに開発されており、キット自体をコンパイルして使用できます。またOVMのユーザ・コードについても、ほとんどが「ovm」を「uvm」に、「tlm」を「uvm_tlm」に変更するスクリプトを使用すればトライアル可能です。ただし正式リリースではないため、実プロジェクトでの採用は控えた方が良いでしょう。
メンター・グラフィックスは今後もOVMを開発、サポートし続け、そしてAccelleraの活動に従来通り積極的に参加し、UVM 1.0が正式リリースされれば、UVMも平行してサポートします。OVM開発で施される改善点はUVM開発にも寄贈し、さらにUVM開発で施される改善点はOVMにも取り込んで行く予定です。このような意味においては、現在のOVMユーザはそのままOVMを使用し続けても、あるいは新規プロジェクトなどのタイミングでUVMに切り替えることも可能です。
今年のDACでAccelleraにより開催された「Breakfast Meeting」には多数のユーザが参加していましたが、OVMをしばらく使用し続けるユーザもいれば、2011年開始のプロジェクトでUVMの使用を検討しているユーザもいました。一方で、VMMのコンセプトもやがてはUVMの一部として活用されると思われますが、VMMの検証IPをOVM環境で運用する際にはインターオペラビリティ・ライブラリの使用が必要になるなどの経験から、元々異なるコンセプトで実装されているVMMに対する下位互換性を、UVMに実装することは極めて困難であると言えます。
VMMユーザは、恐らくどこかの時点でUVMやOVMに移行することになるでしょう。現時点ではAccelleraから提供されている上記のインターオペラビリティ・ライブラリを用いて、VMM用に開発されたVIPを部分的に使用したOVM環境へと移行することが現実的です。またメンター・グラフィックスは、このような移行をスムーズに行うためのスキルの高いコンサルタントによる移行サービスを提供することが可能です。
OVMの修得に使用されるトレーニング資料や「OVM Cookbook」などの書籍、さらに無償オンライン・トレーニングのサイト、ベリフィケーション・アカデミー(www.verification-academy.com)で展開されているOVM基本コース、アドバンスコースなどの資源もそのまま使用できます。(「OVM Cookbook」のPDF版は、このベリフィケーション・アカデミーからダウンロード可能です。)またメンター・グラフィックスが提供するQuestaはもちろん、複数抽象度対応の検証IPであるQuesta MVCやVeloceエミュレーション・プラットフォームでもOVMおよびUVMをサポートします。

最後に

メンター・グラフィックスがAVMで開始した「オープンソースの検証メソドロジ」というビジョンが、今や業界の協力のもとに、大手EDAベンダ3社によってサポートされ、検証のエコシステムを構成する多数のパートナーによって、そして多数のプロジェクトで採用されています。SystemVerilogが標準化された2005年には想像すらできなかったことが、今、現実となっています。

機能検証について