コンテンツにスキップ

形式検証とは

形式検証(Formal Verification)とは、回路が満たすべき性質を記述し、数学的な探索で違反がないか調べる検証です。与えたモデルと前提の範囲で性質を証明し、違反があれば反例を得ます。

テストで選んだ入力だけに頼らず状態を調べられます。一方、前提を強くしすぎると実際の違反を探索の外へ除いてしまいます。

構造と工程の関係
違反状態へ到達できるかを探索する入力状態違反対象材料・信号周辺材料
前提と性質の下で違反へ到達する経路を探します。見つかった反例は、入力と状態の列として解析します。

回路の状態遷移と性質を検証器へ与えます。性質に反する状態へ到達できるかを探索し、証明、反例、または計算資源の範囲では未決着という結果を得ます。1

RTLの機能を対象とし、配線の幾何形状を検査する設計検証(DRC・LVS)とは目的が異なります。要求と応答の順番、到達しない状態、デッドロックなどを性質へ落とします。

構造と工程の関係
前提で除いた経路は探索されない入力状態応答除外した入力の根拠を確認対象材料・信号周辺材料
前提を強くしすぎると違反を見えなくできます。探索した範囲と、前提によって除いた範囲を明示します。

検証範囲を決め、クロックとリセット、環境の前提、確認する性質を設定します。実行後に反例を解析し、モデルや前提が要求と一致するかを見直します。1

未決着を合格と扱いません。大きな回路は分割や抽象化を使いますが、分割境界の前提が上位の回路でも保証されることが必要です。

性質の網羅、前提の妥当性、到達可能性、反例、未決着項目を管理します。

矛盾する前提の下では性質が自動的に成立して見えることがあります。前提を満たす状態が存在するかと、性質が空の条件で成立していないかも確認します。

探索範囲を広げるほど計算量が増えます。重要な制御やインターフェースへ対象を絞り、シミュレーションと補い合う検証計画を作ります。

形式検証は何をする工程ですか?

回路が満たすべき性質を記述し、数学的な探索で違反がないか調べる検証です。与えたモデルと前提の範囲で性質を証明し、違反があれば反例を得ます。

どの段階で行いますか?

検証範囲を決め、クロックとリセット、環境の前提、確認する性質を設定します。実行後に反例を解析し、モデルや前提が要求と一致するかを見直します。

何を管理しますか?

性質の網羅、前提の妥当性、到達可能性、反例、未決着項目を管理します。

1件を表示
  1. 1
    形式検証の公式技術資料cadence.com ・ 2026年10月12日閲覧 ab