用語ロジックプロセス最終更新 2026-10-10出典 1件Excel・PDF版

フォーマル検証(等価性検証)とは

Formal Verification / Equivalence Checking

フォーマル検証(形式検証)とは、回路の正しさを入力パターンを与えて試すのではなく、数学的に証明する検証手法です。代表例の等価性検証は、RTLと論理合成後のネットリスト、あるいはECO前後の回路が、あらゆる入力で同じ出力を返すことを網羅的に証明します。性質を証明するプロパティ検証もあり、シミュレーションと組み合わせて使われます。

目次7項目
  1. 定義・解説
  2. 図解
  3. よくある質問
  4. 設備の製造メーカー
  5. 関連用語
  6. 比較・違いを学ぶ
  7. 出典・参考資料

定義・解説

フォーマル検証(形式検証)とは、回路の正しさをシミュレーションのように入力パターンを与えて確かめるのではなく、数学的な手法で証明する検証の総称です。代表的なのが等価性検証(Equivalence Checking)で、たとえばRTL(回路の動作記述)と、それを論理合成したゲートレベルのネットリストが、あらゆる入力に対して同じ出力を返すことを網羅的に証明します。シミュレーションでは現実的な時間で全入力を試せない大規模回路でも、漏れのない確認ができるのが特長です。

等価性検証は設計フローの中で何度も使われます。(1)RTL対ゲート:論理合成ツールが最適化の過程で機能を変えていないかの確認。(2)ゲート対ゲート:スキャンチェーンの挿入、配置配線でのバッファ挿入やセルの置き換え、テープアウト直前の修正(ECO)の前後で機能が変わっていないかの確認です。代表的なツールにSynopsys Formality、Cadence Conformalがあります。

フォーマル検証にはもう一つ、プロパティ検証(モデル検査)があります。「要求を出したら必ず応答が返る」「2つの信号が同時に1にならない」といった満たすべき性質(プロパティ)を記述し、それが到達しうるすべての状態で成り立つかを証明します。反例が見つかれば、違反に至る入力の系列がそのまま示されるため、シミュレーションでは再現しにくい深いコーナーケースのバグ発見に強い手法です。Cadence JasperGoldなどが使われます。

フォーマル検証は万能ではありません。状態数が爆発的に増える大規模な回路全体を一度に証明するのは難しく、プロパティ検証はブロック単位で適用するのが一般的です。また、証明できるのは「書いた仕様どおりか」であって、仕様そのものの誤りは見つけられません。そのため実際の検証は、シミュレーション(UVMなど)・フォーマル検証・エミュレーションを組み合わせて進められます。

図解

フォーマル検証(形式検証)とシミュレーションの比較
両者を組み合わせて、設計の正しさを確かめる。

よくある質問(FAQ)

フォーマル検証とシミュレーションの違いは何ですか?
シミュレーションは用意した入力パターンについてだけ回路の動作を確認するため、試していない入力の不具合は見つけられません。フォーマル検証は数学的な手法ですべての入力・状態を網羅して証明します。ただし大規模回路全体には適用しにくいため、両者を組み合わせて使います。
等価性検証はいつ使いますか?
論理合成の後にRTLとネットリストが同じ機能かを確認するとき、スキャン挿入や配置配線でのバッファ挿入の後、テープアウト直前のECOの前後などです。回路を変更するたびに機能が変わっていないことを短時間で確認できるため、設計フローの各所で繰り返し使われます。

設備の製造メーカー

関連する装置カテゴリ

同じトピックの用語

チップ設計フロー(RTL〜テープアウト) のトピックで関連する用語です。

同じトピックの企業

TSMC(台湾積体電路製造)台湾

比較・違いを学ぶ

出典・参考資料

  1. Synopsys「What is Equivalence Checking?」(2026/10/10 確認)