機能検証とは
機能検証(Functional Verification)とは、設計した回路が仕様どおりに動くかを確認する作業です。入力を与えて応答を期待値と比較し、仕様のどの条件を調べたかも記録します。
正常な入力で動くだけでは、同時要求や境界条件の不具合は見つかりません。一方、無作為にテストを増やしても仕様の抜けは埋まらないため、検証計画が必要です。
機能検証の仕組み
Section titled “機能検証の仕組み”テストベンチが回路へ刺激を与え、モニターと期待値モデルが結果を比較します。アサーションで応答の順序や時間の条件も確認します。1
RTLの段階で不具合を発見すると、製造前に修正できます。完成品へアプリケーションを走らせるSLT(システムレベルテスト)とは段階と観測方法が異なります。
前後の工程と、処理する順番
Section titled “前後の工程と、処理する順番”仕様から検証項目を作り、テストと期待値、カバレッジを設計します。シミュレーションやエミュレーションを実行し、失敗と未確認の条件を調べます。1
コードカバレッジは回路記述の実行状況、機能カバレッジは指定した仕様条件の到達状況を示します。数値が高くても、設定していない要求までは保証しません。
処理後に確認すること
Section titled “処理後に確認すること”仕様との対応、比較結果、機能・コードカバレッジ、再現できる入力と乱数種を管理します。
期待値モデルが設計と同じ誤りを持たないようにします。失敗を修正した後は、同じ条件を回帰テストに残し、別の機能への影響も調べます。
トレードオフ
Section titled “トレードオフ”複雑な場面を長時間試すほど費用が増えます。仕様に基づく優先順位を決め、形式検証など別の方法で確認できる性質を分担します。
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”機能検証は何をする工程ですか?
設計した回路が仕様どおりに動くかを確認する作業です。入力を与えて応答を期待値と比較し、仕様のどの条件を調べたかも記録します。
どの段階で行いますか?
仕様から検証項目を作り、テストと期待値、カバレッジを設計します。シミュレーションやエミュレーションを実行し、失敗と未確認の条件を調べます。
何を管理しますか?
仕様との対応、比較結果、機能・コードカバレッジ、再現できる入力と乱数種を管理します。
比較・違いを学ぶ
Section titled “比較・違いを学ぶ”- RTL ── 前後の工程と仕組みを調べる
- SLT(システムレベルテスト)── 前後の工程と仕組みを調べる
1件を表示
- 1機能検証の公式技術資料synopsys.com ・ 2026年10月12日閲覧 ab