メンターが提供する機能検証の統合環境、Questa®プラットフォーム。こちらではその中核を担う、Questa Advanced Simulator についてご紹介いたします。

今日、FPGA/ASIC にソフトコアプロセッサを搭載することが珍しくなくなり、中には1つのチップの中に 5つ以上の CPU を搭載するようなケースも出てきています。デザインはますます複雑さを極め、それに伴って検証の難易度も上昇しています。

設計エンジニアの作業工程のうち約 50% 以上が検証に当てられているという調査結果もあり、より的確・より効率的な検証手法が今求められています。

Questa は複数の抽象度をカバーし、複雑な SoC および FPGA の設計と検証に対応します。Questa により、あらゆる検証手法の生産性と予測可能性が飛躍的に向上するとともに、設計の品質、検証プロセスの可視性と制御性も向上します。

従来検証手法の限界

従来の FPGA/ASIC の設計においては、FPGAによる実機検証  ダイレクト・ テスト の 2つの検証手法が、広く使用されてきました。 しかし、複雑なデザインの前では従来手法のみで十分な検証を行うには限界があります。

FPGAによる実機検証

書き換えができるという FPGA の特性を生かした実機検証は、内部まで見通しのきく小規模デザインなどにはその手軽さが有効でした。

しかし、実機検証では FPGA 以外の外部要因も多すぎるために、バグがあった場合その原因箇所を特定するのが非常に困難になります。また、コーナーケースの検証も非常に困難という弱点があります。

ダイレクト・テスト

ダイレクト・テストの場合、検証のために必要なテストベンチの作成に膨大な時間がかかります。また設計者が手作業でテストベンチを作成するため、設計者の想定し得ない範囲への検証をすることはできず、検証抜け・漏れが発生する可能性があります。

さらに、出力波形をチェックするダイレクト・テストでは、内部の振る舞いを見ることはできません。こちらも検証時点で見落とされた内部のバグが、後工程になって表面化するという可能性をはらんでいます。

Questa が提供する価値

Questa は従来手法におけるジレンマを解消するためのソリューションを提供いたします。

  • テストベンチ作成の手間を削減
  • カバレッジクロージャーの早期達成
  • 内部の振る舞いを検証

テストベンチ作成の手間を削減

ダイレクト・テストの作業の中で、特に時間がかかるのがテストベンチの作成です。Questa はこのテストベンチを自動で生成するソリューションを用意しています。

Questa では制約付きランダム・テストの機能をサポートしています。この機能を用いれば、自動でランダムなテストベンチを生成します。完全にランダムにすると擬似エラーが発生しますが、制約付きランダム・テストの場合は重み付け(制約付け)してテストベンチを生成することが可能です。

制約付きランダム・テストの機能を用いると、テストベンチを作成する手間が省けることはもちろんですが、そのほかに設計者では予測していなかった組み合わせや状態を発生させることもでき、バグの検出量向上も期待できます。

カバレッジ・クロージャの早期達成

制約付きランダム・テストを活用すると、従来の手作業でテストベンチを作成する手法と比較して大幅な時間短縮が期待できますが、重複したシーケンスが生成されてしまうという課題が残ります。

Questa ではさらに早期にカバレッジクロージャを達成するため、重複を避けてランダム検証を行うインテリジェント・テストの機能も提供しています。

カバレッジクロージャーのためには検証の分母を正確に把握すること(検証シナリオの見える化)とカバレッジ収束の高速化が必要です。

Questa では検証戦略の確認方法としてグラフを利用します。

検証戦略をグラフ化することにより、誰が見てもわかりやすい検証戦略を簡単に記載することができ、また検証対象の分母を正確に把握できるようになります。

また、このグラフからテストベンチを自動生成するため、重複のないランダム検証を行うことができ、カバレッジクローズの超高速化を可能にします。

内部振る舞いの検証

ここまではテストベンチ作成とカバレッジ達成に関しての機能をご紹介しましたが、複雑なデザインになると、内部の振る舞いに対しても検証を行う必要があります。

内部検証の有効な手段の一つが アサーション・ベース検証 です。

従来のシミュレーションによる検証手法では、対象となる回路の 入力ピンにテスト信号 を与え、出力ピンのふるまい で動作を確認します。この場合、回路内部の動作は見えずブラックボックスとなっていました。このため、内部バグを見落としたり、デバッグ作業も非常に手間がかかりました。

アサーション・ベース検証は、回路内部の要所要所で信号の動きを検証したり、回路内部にワナを仕掛けてバグの発生原因を特定する、というイメージの検証手法です。

重要な動きを仕様(検証項目)として定義し、その仕様に違反したかどうかを自動で検証します。通常の論理シミュレーションは、バグによる誤信号が出力ピンまで届かないとバグの存在に気がつきませんが、アサーション・ベース検証は回路内部のバグの近くで不具合を発見できます。

このため従来の手法だけでは発見できなかったバグが発見できるばかりでなく、その原因箇所の特定も容易になります。

詳しくはこちら

Questa の可能性

上記にご紹介したのは新生 Questa Advanced Simlation の機能のほんの一部分です。
この他にも Questa では以下のような機能をサポートしています。

  • OVM/UVM の検証メソドロジ
  • ローパワー設計の検証
  • アサーションライブラリ
  • etc…

 
Questa についてより詳細な情報をご要望の場合は、弊社までお問い合わせください。

 

お気軽にお問い合わせください