形式検証とは
形式検証(Formal Verification)とは、回路が満たすべき性質を記述し、数学的な探索で違反がないか調べる検証です。与えたモデルと前提の範囲で性質を証明し、違反があれば反例を得ます。
テストで選んだ入力だけに頼らず状態を調べられます。一方、前提を強くしすぎると実際の違反を探索の外へ除いてしまいます。
形式検証の仕組み
Section titled “形式検証の仕組み”回路の状態遷移と性質を検証器へ与えます。性質に反する状態へ到達できるかを探索し、証明、反例、または計算資源の範囲では未決着という結果を得ます。1
RTLの機能を対象とし、配線の幾何形状を検査する設計検証(DRC・LVS)とは目的が異なります。要求と応答の順番、到達しない状態、デッドロックなどを性質へ落とします。
前後の工程と、処理する順番
Section titled “前後の工程と、処理する順番”検証範囲を決め、クロックとリセット、環境の前提、確認する性質を設定します。実行後に反例を解析し、モデルや前提が要求と一致するかを見直します。1
未決着を合格と扱いません。大きな回路は分割や抽象化を使いますが、分割境界の前提が上位の回路でも保証されることが必要です。
処理後に確認すること
Section titled “処理後に確認すること”性質の網羅、前提の妥当性、到達可能性、反例、未決着項目を管理します。
矛盾する前提の下では性質が自動的に成立して見えることがあります。前提を満たす状態が存在するかと、性質が空の条件で成立していないかも確認します。
トレードオフ
Section titled “トレードオフ”探索範囲を広げるほど計算量が増えます。重要な制御やインターフェースへ対象を絞り、シミュレーションと補い合う検証計画を作ります。
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”形式検証は何をする工程ですか?
回路が満たすべき性質を記述し、数学的な探索で違反がないか調べる検証です。与えたモデルと前提の範囲で性質を証明し、違反があれば反例を得ます。
どの段階で行いますか?
検証範囲を決め、クロックとリセット、環境の前提、確認する性質を設定します。実行後に反例を解析し、モデルや前提が要求と一致するかを見直します。
何を管理しますか?
性質の網羅、前提の妥当性、到達可能性、反例、未決着項目を管理します。
比較・違いを学ぶ
Section titled “比較・違いを学ぶ”- RTL ── 前後の工程と仕組みを調べる
- 設計検証(DRC・LVS)── 前後の工程と仕組みを調べる
1件を表示
- 1形式検証の公式技術資料cadence.com ・ 2026年10月12日閲覧 ab