News and Views 2008 Winter
[Success Story -1 | スケーラブル・ベリフィケーション]
シーメンスITソリューションサービス部門PSEがLSI設計にQuesta AVMを採用、 SystemVerilogの豊富な機能を短期間に実用化
シーメンスITソリューションサービス部門のPSEは、CESデザインサービスとして一般に知られるLSI設計チームで豊富な機能を持つ SystemVerilogと、移行を容易にするQuesta AVMを採用し、制約付きランダムや、アサーション、機能カバレッジを活用する高度な検証フローを構築しました。メンター・グラフィックスの検証エキスパートチームの支援により、CESデザインサービスはAVMを利用し、自動テスト生成、再利用、初回の成功に向け検証手順を確立しました。
シーメンスITソリューションサービス部門PSEのCESデザインサービス・ビジネスユニットは、オーストリアのウィーンに本社、またスロバキア共和国やルーマニア各地に事務所があり、LSIや、エレクトロニクス、ソフトウェア開発の分野で、世界各地のスタートアップから大手企業まで幅広くプロフェッショナル・サービスを提供しています。CESデザインサービスは、ASIC、FPGA、SoCの設計、アプリケーション・ソフトウェアやファームウェアの開発のほか、PCBレイアウト、メカニカルデザイン、EDAサービスにも対応しています。

同社の設計メソドロジでは特に検証を重視し、さまざまな方法で常に検証ツールやメソドロジを強化しています。同社の検証フローでは、コードカバレッジが当初から重要な位置を占め、ハードウェア/ソフトウェア協調検証を世の中でいち早く採用した企業の1つです。数年前、設計ツールチェーンを改良し、コードカバレッジとシミュレーションを1つのツールに統合しています。その時、同社の求める統合検証環境がModelSimで実現されていることを知り、その後も検証効率と生産性の向上に寄与しています。同社はこれで満足することなく、その後もアサーションベース検証などさらに高度な検証手法の活用に向け、最良の方法を調査してきました。
「どのようなプロジェクトも、初回の成功が、達成すべき最も重要な目標です。以前は、コードカバレッジを上げることに力を注ぎましたが、不十分と分かりました。特に大規模なSoCで、AHBなど複雑なバスシステムの検証が必要な場合です。 テープアウトの確信を高め、そして最終設計品質を向上させるには、検証レベルをさら引き上げて、機能カバレッジ、制約付きランダムテスト生成、自動チェック、スコアボード、アサーションによるデバッグは必須です。」 シーメンスのLSI設計ディレクタ、Johann Notbauer氏はこのようにコメントしています。
いろいろな選択肢を調べた結果、同社が得た最適ソリューションは、QuestaAVMがサポートする高レベル検証言語 SystemVerilogを採用し、小規模~中規模デザイン向けに開発された従来のRTLテストベンチ手法を置き換えることでした。
設計、検証の高度化に対応した拡張されたVerilog

SystemVerilogは、設計と検証を完全に統合したハードウェア記述言語です。拡張性があり、再利用可能なテストベンチ環境を短期間に構築して、機能カバレッジや、アサーション、制約付きランダムテスト生成、自動化テストベンチを活用できます。非専売のオープン言語ですが、対応する最新のツールやメソドロジの中には、この言語独自の機能を活用するため特別に開発されたものもあります。
「VHDLやVerilogのRTL検証環境から高度な検証環境へ移行するパスを見つけることが大きな目標でした。当社ではe言語を各種の大規模SoCの開発プロジェクトに適用し、良好な結果を得ましたが、広い範囲で採用するには問題もありました。この言語が、オブジェクト指向およびアスペクト指向のプログラミング・スキルを必要とするためです。一方、当社のデザインセンターはVerilogの使い方をよく知っており、 System-VerilogはVerilogとほとんど同じです。それに、異なるプロジェクト間で検証言語を統一することも重要でした。当社は、さまざまな顧客と色々な地域で活動しているからです。そのため、言語の標準化は重要な目標でした」と、Notbauer氏はコメントしています。
Questa AVMはSystemVerilogの豊富な機能をサポート
CESデザインサービスの例で見られるように、オブジェクト指向プログラミングの知識がなくても、エンジニアはSystemVerilogの豊富で強力な機能を最初から活用できます。しかし、SystemVerilogのオブジェクト指向機能をも活用すると、再利用効果が高まり生産性はさらに向上します。
「手順は同様で、つまりAVMなしでSystemVerilogを採用しましたが、それだけで生産性が少なからず向上すると分かりました。たとえば、自動化テストベンチを設計する際、オブジェクト指向プログラミングの学習は不要でした。しかも、アサーションや制約付きランダムデータ生成、カバレッジチェック機能もたいへん簡単に記述できました。しかし、この最初の段階でSystemVerilogの高度なオブジェクト指向機能を使わなければ、検証環境の再利用機能は十分に活用できないことも分かりました。そのたびに、テストベンチを始めから作成しなければならないからです。大規模なプロジェクトの場合、このやり方では非効率です。」スロバキアのデザインチームリーダ、Jan Uhrin氏はこのように思い起こしています。
そのため同社は、あまり手間がかからず、短期間にSystemVerilogとオブジェクト指向機能へ移行できる方法を探す必要がありました。QuestaとAVM(Advanced Verification Meth-odology)が紹介されたのは、同社とメンター・グラフィックスとの長年に渡る関係によるものです。QuestaもAVMもいずれも SystemVerilogを想定して企画、開発されたものです。また、メンター・グラフィックスのコンサルタントから、新言語への移行に必要なノウハウも提供されました。
「AVMはたいへん役に立つだろうと思いました。記述済み、検証済みのコードがたくさんあり、まるでツールボックスのように利用できるからです。」Notbauer氏はこのように述べています。
AVMを開発したきっかけは、SystemVerilogのオブジェクト指向機能をできるだけ使いやすくするためでした。メンター・グラフィックスの経験に基づき、SystemVerilogのオブジェクト指向プログラミングで記述したものを『AVM Cook-book』に収録しています。CESデザインサービスチームは、これを参考に、同社独自のノウハウを短期間に新言語で実現しました。AVMパッケージが、ライブラリ、記述例、マニュアルという形で使いやすくキットになっています。経験の浅い検証エンジニアもすぐに使いこなすことができ、ベテランの検証エンジニアが期待する機能や、モジュール化、再利用化も実現しています。またAVMによって、ソースコードとして確立された知識ベースを、異なる作業グループやプロジェクト間で現在も将来も簡単に共有できます。再利用を可能にする高度な検証フローが、分断された設計チーム、検証チーム、数多くのプロジェクト間にかかる橋になります。
「AVMで有効な検証ができるようになりました。全体の機能カバレッジを取得して、デザインの中にある機能をすべてモニタできるので、すぐ検証品質を向上できます。たとえば、テストベンチのカバレッジ率が分かります。十分か、もっと上げる必要があるかを判断できます。カバレッジが不十分なら、ポートのパラメータ変更だけで、繰り返しシミュレーションを実行できます。」 CESデザインサービスの検証エンジニア、Dusan Daniska氏はこのように述べています。
CESデザインサービスチームが、このプロジェクトでたいへん手こずった業務の1つは、モニタ、ドライバ、FIFOなど、所定のテストベンチ要素を同期させることでした。
Daniska氏は続けて以下のように述べています。「このような同期化をSystemVerilogで行う手順がAVMにありました。おかげで、まずデータを生成してから、ドライバや、モニタ、スコアボードを実行するという、テスト環境の構築方法がはっきり見えました。以前はモニタやドライバの作成にたいへん時間がかかりましたが、これからはAVMで再利用化やパラメータ化が簡単にできるため、とても便利です。」
世界各地の生産性を向上
「スロバキア共和国やルーマニアでSystem-Verilogの全面展開を開始していますが、採用に抵抗するエンジニアはいません。AVMによってコードの書き方やテストベンチの検証環境構築方法に関する標準化手順が示されていて、コードや関数を再利用できるからです。このメソドロジは非常に効果があります。」Notbauer氏はこのように思い起こしています。
「AVMのメソドロジに従いテストをすぐに作成できました。集約した1つのテストでLSIの機能をほとんど検証しました。テスト環境からテストの品質評価データを少し取得しましたが、機能カバレッジで表現できました。このプロジェクトの開発時に、他のプロジェクトのモニタや、ドライバ、コードを再利用できました。これはたいへん大きな効果です。」Daniska氏はこのように述べています。
「言うまでもないですが、新たなメソドロジに移行する場合、サポートは特に重要です。メンター・グラフィックスのコンサルティングや検証エンジニアリングの支援は、とても強力でした。当社の依頼や要求に対して、どちらもたいへん率直でした。ヨーロッパ全体、そして各地で System-VerilogとAVMを成功に導く鍵はサポートだと思います。また、最近発表されたOVM(Open Verification Methodology)で、System-Verilogの高度な検証手法はベンダ依存がほとんどなくなり、よい方向へ進むと思います。」 Notbauer氏はこのように見ています。