RTL検証、効率化の鍵は静的検証と検証資産の再利用>>Verify2006&シノプシス・ユーザミーティングより

2006年9月26日、27日と品川の東京コンファレンスセンターにて、2日間連続でEDA関連のイベントが開催された。

26日に開催されたのは、検証関連ソリューションを提供するEDAベンダが共催する「Verify2006」。主催のサン・マイクロシステムズ株式会社に加え、EDAベンダ計7社が参加し、150名近くの人が集まった。翌27日には毎年恒例となっている、日本シノプシス株式会社主催のユーザー会「Synopsys Users Meeting2006」が開催され、同社のユーザを中心に300名近くの参加者が集まった。

これらイベントは何ら関連性のあるものではないが、一つ共通して語られていた話題があった。それは「RTL検証の効率化」に関する話題。「Verify2006」はさることながら、今年の「Synopsys Users Meeting2006」は、計7つのユーザ発表のうち4つが「RTL検証」関連という検証主体の内容で、両イベントを通じて如何に検証作業の効率化に対処していくか?という現実的な方法論とユーザ事例が「Verify2006」に参加したEDAベンダとシノプシスのユーザーより発表された。

「Verify2006」でRTL検証にフォーカスした話をしたのは、ジャスパー・デザイン・オートメーションの代理店サイバーテック社と今年日本法人が設立されたアベラント株式会社の2社。いずれも静的なRTL検証ソリューションを提供する会社で、サイバーテック社の取り扱う「JasperGold」は、強力な検証エンジンに加えユーザビリティの高さが特徴。デバッグ環境、カバレッジ機能が充実しているほか、検証前にフォーマル検証の有効性を判断するための新しいデザイン解析機能も備えられ、検証プランを立てる段階からツールが様々な機能を提供してくれる。

サイバーテックは、「アサーション検証はまずフォーマルから」というキャッチフレーズで、RTL設計の初期段階からブロック単位で「JasperGold」を適用し、まず機能しないと困るような重要な機能をフォーマル手法で検証し、残りの部分はアサーションベースのシミュレーションやランダム検証でカバーするという検証方法の有用性を紹介。重要部分にこそフォーマル検証をというスタンスで、直前の仕様変更などバグ混入の危険性の高い部分にもフォーマル検証の利用価値が高い事を付け加えた。

一方、アベラントの「Solidiify」は、難しいプロパティの利用を容易化すると同時に、シミュレータと連動させるための独自機能を備えており、プロパティを記述せずにチェック項目に応じてプロパティ・チェックを自動処理する「Auto Check」機能、新機能として追加されたばかりのプロパティ言語変換機能、エラー箇所に対するダイナミック・シミュレーション用テストベンチ生成機能など、ヘビーユーザに限らずフォーマル検証初心者にも嬉しい気の利いた機能が充実している。

アベラントの提唱する検証手法は、まず「Solidiify」の「Auto Check」機能を用いて基本的なプロパティ・チェックを行い、その後に「Solidiify」とサードパーティ・シミュレータを連動させ相互に補完する形で検証を進めるというもので、シミュレーション用に埋め込んだアサーションを用いてフォーマル検証を行う形や、パスしなかったプロパティに対するシミュレーションモニタの作成機能、プロパティ記述が困難なリセット状態などをシミュレーション結果から「スナップショット機能」で取り込みフォーマル検証へ渡すといった方法を紹介。「フォーマル検証とダイナミック検証との連動がベスト」とした。

シノプシスの「Synopsys Users Meeting2006」では、NECマイクロシステム?、ソナック?、松下電器産業?、?ルネサス テクノロジの4社が検証関連の事例を発表。その内容ははいずれもSystemVerilog/VMMあるいはVera/RVMを用いた検証環境の構築に関するもので、その主たる目的は各社共通して検証資産の再利用性の向上であった。(※松下電器はRVM/Veraを利用した事例発表)

NECマイクロシステムでは、テストベンチやテストシナリオといった検証資産の再利用性の向上を目指しSystemVerilogの導入を決定。トライアルのプロジェクトとしてSerial ATA ホストコントローラの検証を試みた結果、対応した検証チーム3名いずれもSystemVerilog未経験者(うち2名はVera経験者)であったため環境構築に手間取ったものの、SystemVerilogのクラス派生機能を応用して、テストベンチを徹底的にクラス化。共通処理を一元化しVMMのメソドロジーに則りテストベンチを階層化する事で、例えばターゲットに応じてバス・インタフェースのドライバ部を入れ替えるなど、テストベンチをユーザのカスタマイズ要求に容易に対応させる事が可能となった。
また、同社では小規模の制御モジュールを対象に、シノプシスのフォーマル検証ツール「Magellan」の施行も合わせて実施。コーナーケース・バグの早期発見に効くというツールの有用性を確認すると同時に、シミュレーションでは見つけ難いRTLの冗長記述を発見するという応用的な効果も掴んだという。

松下電器の発表では、VeraとRVMを用いたテストベンチのフレームワーク開発の事例が紹介された。同社では、設計資産の再利用性を高めると同時に設計者のスキルのギャップを埋める事を目的に、メモリコントローラの検証をターゲットとしたテストベンチの自動生成環境を開発。専用のGUIやVera/RVMn基づいてバス・マスタのコマンドを生成/発行する機構を組み込み、松下の標準バスに限らず各種バス規格に僅かなカスタマイズで対応可能なテストベンチのフレームワークを作り上げた。

このフレームワークは、現在実品種の開発に適用されており、テストベンチの再利用度は概ね約70%程度。既に過去品種への評価で2件、実品種の検証で2件のバグを発見しており、これまで品種ごとに200人日かかっていたテストベンチの開発工数を開発したフレームワークによって、10分の1の20人日まで短縮することができるようになったという。

※「Verify2006」参加企業は以下の通り。
主催:サン・マイクロシステムズ株式会社 http://jp.sun.com
共催:アトレンタ株式会社 http://www.atrenta.com
    アベラント株式会社 http://www.averant.com
    カーボン・デザイン・システムズ・ジャパン株式会社 http://www.carbondesignsystems.com
    コーウェア株式会社 http://www.coware.co.jp   
    ジャスパー・デザイン・オートメーション社(代理店:サイバーテック社) http://www.cyber-tec.co.jp
    デナリソフトウエア株式会社 http://www.denalisoft.co.jp
    ノバフロー株式会社 http://www.novaflow.co.jp

※「Verify2006」関連ページ http://www.coware.co.jp/Verify2006

※「Synopsys Users Meeting2006」http://www.synopsys.co.jp/jsnug2006

※日本シノプシス株式会社 http://www.synopsys.co.jp

= EDA EXPRESS 菰田 浩 =
(2006.10.02 )