事例紹介
アレイプロセッサ
検証対象は1ユニットに32個の実行ユニットを持ち、かつコンフィギュラブルなアレイプロセッサであり、検証環境は制約付ランダム検証を中心とし具体的なメソドロジとしてVerification
Methodology Manual for SystemVerilog(VMM)を全面的に採用しました。
検証環境の特徴としては、制約付ランダム検証によりセグメント生成(1ユニット単位の命令-最大7168万命令を自動生成)、内部トラフィックの生成及び例外発生の実現、スコアボードによる自動データチェック、機能カバレッジ集計、同じ検証環境で制約付ランダム検証とダイレクト検証の両方をサポート、階層的検証環境による容易なダイレクトテストケース記述、自己開発による豊富なメッセージによる容易なデバッグ環境の構築などが挙げられます。
検証作業の期間:6ヶ月

インターコネクト
検証対象は、SoC内のCPUを含む数十の各種IPコアが接続されているインターコネクト部全体であり、実動作環境に近いトラフィックを与えて、各種ブリッジ・アービタ(プロトコル検証を含む)、DRAMコントローラを含んだ動作の検証例です。検証手法は、VMMに基づくSystemVerilogによる制約付ランダム検証とダイレクト検証を採用しました。特徴としては、制約付ランダムによるトラフィック生成、スコアボードによる自動データチェック、バスモニタ・アサーションによるバスプロトコルチェック、機能カバレッジ集計、統計的性能集計、階層的検証環境による容易なダイレクトテストケース記述などが挙げられます。
検証作業の期間:4ヶ月

グリッドエンジンによるシミュレーション時間の大幅な短縮
ダイナミック検証(シミュレーション)の場合に常に問題となるシミュレーション時間の改善を図る為に、3台のワークステーションをギガビット・イーサネットで接続するとともに、Sun N1 Grid Engineを用いてグリッド化して連携させました。ランダムなテストケースがSun N1 Grid Engineによって3台のワークステーション上の12個のCPU上で独立して動作する論理シミュレータに自動的に振り分けることで、1CPUの環境で17時間かかっていたシミュレーション時間を30分強へ短縮することができました。
■グリッド検証環境

社内ネットワークへの負荷を最小限にするため、グリッド環境のトラフィックはローカルで閉じるように社内ネットワークとハブで分離し、ギガビット・イーサネットでネットワークのトラフィックのボトルネックを解消する構成を取りました。各CPUに一つの論理シミュレータをアサインし、ランダムなテストケースのシードを自動的に各CPUに振り分けて実行しています。
■グリッド環境を用いたシミュレーションの効果

テストケース100シードのリグレッション(シミュレーション)時間は一般的なPCが16.75時間であったのに対して、ワークステーション(SunFire V40z)1CPUでの実行時間が5.76時間、12CPUを用いたグリッド環境で0.56時間となり、ほぼCPUの数に応じてスケーラブルな結果を得ることが出来ました。