Questa CoverCheck

 コードカバレッジクロージャの自動化

Questa CoverCheckは早期のコードカバレッジクロージャを自動で達成するためのフォーマル解析ソリューションです。一連のテストを実施してもどうしても網羅できないコードが残ってしまうという実際の検証作業で直面する問題に対処します。

コードカバレッジに残された「最後」の課題

設計/検証エンジニアにとって、コードカバレッジスコアが仕様で定められた目標値に届かない日々が続く以上にいらいらすることはありません。どんなに精緻なディレクテッドテストを作成しても、複数のランダムシードを何回試しても、カバレッジスコアは増えません。それだけでなく、IPブロックの未使用部分を意図的に解析対象から除外するウェイバーは、面倒でエラーを誘発しやすい手作業です。

Questa CoverCheck  

Questa CoverCheckはDUTのステート空間をトラバースし、未到達コードを自動的に特定します。将来の解析から除外する部分をユーザが指定すると、解析対象の結果がUCDB(Unified Coverage DataBase)に取り込まれ、Questa Verification Managerで解析され、進捗がレポートされます。

ソリューション: Questa CoverCheck

Questa CoverCheckはフォーマル手法に基づいて自動でコードカバレッジクロージャを達成するソリューションです。UCDB(Unified Coverage Database)からコードカバレッジ結果を抽出し、カバレッジホールを特定します。これにより以下のことが可能です。

  • そのコードを無視しても安全であることをフォーマルに証明する。無視できるコードは自動的に除外(ウェイバー)され、コードカバレッジ結果に反映される
  • 内蔵のフォーマル検証エンジンを実行して、カバレッジポイントへの達成状況を表す波形を生成する。これにより、テストベンチをどう変更すれば未到達コードを網羅できるのかのヒントを得られる
  • フォーマル検証では網羅しにくく、シミュレーションでは実行されていないコードカバレッジ項目にフラグを立てる。これにより、検証難易度を見極めることができ、検証しやすい設計のヒントにもなる

特長

  • デッドコードを漏れなく識別
  • シミュレーションで特定のコードにいかに到達できるかを示す「証明トレース」波形を生成
  • 意図的に使用しないIP構成モードなど、対象から「除外しても問題ない」部分にウェイバー作成マークを付けて、後工程に伝達
  • Questa Advanced SimulatorとQuesta Verification Managerの継続的なカバレッジ測定により、未使用部分を自動的に除外
  • ライン/ステートメント、ブランチ、トグル、コンディション、エクスプレション、FSMなどの一般的なコードカバレッジ形式をすべてサポート
  • ソースコード、回路図、波形、ステートダイアグラムへの関連付けが容易な強力なデバッグ環境

利点

  • 到達不可能なコードを網羅しようとテストを作る無駄な努力に時間を浪費することがない
  • デッドコード部分を徹底的に洗い出し、自動的に設計品質を向上させ、ダイエリア節約の可能性を広げる

 

製品情報リクエスト