等価性チェック これは、「形式検証」と呼ばれるより広範な分野の一分野です。この技術では、数学的モデリングの手法を用いて、設計の2つの表現が同一の挙動を示すことを証明します。このアプローチは、網羅的なシミュレーションを用いて設計の正しさを検証する「機能検証 」と混同してはなりません。
設計の検証済みバージョンが特定されたら、等価性チェック を使用して、その設計の別の表現が検証済みバージョンと同じ挙動を示すかどうかを判断することができます。この手法は入力ベクトルを使用しないため、より効率的です。
等価性チェック これは、合成などの処理の後、あるいは 機能ECO が適用された後でも、設計の機能が変化していないことを確認するのに役立ちます。
等価性チェック には、3つの基本的な手順があります:
セットアップへの入力には、検証済みのリファレンスデザイン、ライブラリ要素、および修正済みのデザインが含まれます。このステップでは、これらの入力を読み込み、後続のステップを円滑に進めるためのデータ構造を作成します。
マッピングでは、設計の重要なポイントがマッピングされ、比較されます。比較ポイントを整理するには、通常、ロジックコーンが使用されます。ロジックコーンとは、比較ポイントを駆動する組み合わせ論理回路のブロックです。ロジックコーンへの入力には、レジスタの出力ピン、プライマリ入力ポート、およびブラックボックスの出力ピンが含まれます。比較ポイントには、レジスタ、プライマリ出力ポート、およびブラックボックスの入力ピンが含まれます。
「比較」処理では、マッピングされたキーポイントが、等価か、非等価か、あるいは反転等価かを判定するために検証されます。判定結果が不明確な設計部分については、より詳細な検証を再度実行することで、問題を解決することができます。
以下の図は、そのプロセスを示しています:
一般的な複雑なSoC設計では、設計フローの中に、設計に対して各種処理を行うツールが数多く存在します。論理合成に加え、電力最適化 の各工程、テスト可能性の挿入、および設計上の問題や変更に対応するための機能的なECOなどが含まれます。
これらの手順のすべてが、設計の挙動に微妙な変化をもたらす可能性があり、シミュレーションでは見落とされる恐れがあります。というのも、シミュレーションの完全性は、それを駆動するテストベンチの完全性に依存するからです。等価性チェック はベクトルレスな形式証明アプローチに基づいているため、このプロセスで生じる幅広いエラーを検出することができます。これにより、最終結果に対する信頼性が大幅に向上します。
等価性チェック あらゆる設計フローに強力な機能を追加します。形式手法を用いて設計の一貫性を検証できることで、テストベンチの網羅性に依存しない、結果の品質に関する洞察が得られます。具体的なメリットは以下の通りです:
論理等価性チェック (LEC)は、設計の組み合わせ構造を分析し、2つの異なる実装の構造が同じ挙動を示すかどうかを判断します。リタイミングなどの操作が設計に適用された場合、2つの表現間の設計構造の対応関係は失われます。
シーケンス等価性チェック(SEC)は、タイミングを考慮に入れ、複数のクロックサイクルにわたって2つの設計表現の等価性を検証する。
シノプシス 提供 Formality 等価性チェック これは、形式的および静的な手法を用いて、設計の2つのバージョンが機能的に同等であるかどうかを判定するものです。
シノプシス また、 VC Formal、プロパティ検証(FPV)、自動抽出プロパティ(AEP)、カバレッジアナライザ(FCA)、接続性チェック(CC)、 シーケンシャル等価性チェック (SEQ)、レジスタ検証(FRV)、X伝播検証(FXP)、テストベンチアナライザ(FTA)、回帰モードアクセラレータ(RMA)、データパス検証(DPV)、機能安全(FuSa)、および標準バスプロトコルの検証用アサーションIP(AIP)のポートフォリオなど、包括的な一連のフォーマルアプリケーション(Apps)を含むソリューションを提供しています。
最後に、 シノプシス ESPを提供しています。これは、シンボリックシミュレーションに基づくカスタム設計向け形式検証ツール(等価性チェック )です。ESPは、形式検証(等価性チェック )ツールであり、組込みメモリ 、カスタムマクロ、スタンダードセル、I/Oセルライブラリなどのカスタム設計の完全な機能等価性検証(機能検証 )に一般的に使用されます。これは、2つの設計表現が機能的に同等であることを保証するために使用されます。これらの設計は、Verilog挙動モデル、RTL、ゲート、スイッチ、SPICE、または.dbネットリストビューとして表現される場合があります。