このコラムでは「意外と知られていないけど、知っていると差がつく FPGA の技術情報」をご紹介します。
FPGA初心者の方からベテランの方まで、幅広くご活用いただける内容ですので、ぜひ最後までお付き合いください。
【第 3 回】 検証は様々な手法の重ね合わせ
一つの検証手法で、100%の検証をカバーする方法はありません。
設計品質を上げるには、視点の異なる色々な検証方法を重ねて、穴をできるだけ小さくします。
視点の異なる検証手法を比べてみました。
実機検証と論理シミュレーション
前者は、システム全体を高速に検証するのが得意です。
後者は、設計初期から回路の1部だけでも検証ができます。デバッグが得意です。
論理シミュレーションとABV(アサーション・ベース検証)
前者は、仕様通りに動いている事を確認するのが得意です。回路後段のバグを見つけ易い特徴があります。
後者は、想定外のバグを見つけるのが得意です。回路前段のバグを見つけやすい特徴があります。
コードカバレッジと機能カバレッジ
前者は、論理シミュレーションでのカバレッジ率を検証できます。、
後者は、ABV(アサーション・ベース検証)でのカバレッジ率を検証できます。
ダイナミック検証とスタティック検証
ABVで使う検証方法も、2通りあります。
どちらも検出率が 95%を越えてくると、更なる検出率の向上には時間がかかります。そこで、お互いの手法で補完します。
前者は、テストベンチを作って、論理シミュレーションを行います。
後者は、テストベンチは不要で、フォーマル検証を行います。
米国では、設計仕様書と検証仕様書を作成して、UVMを使ったフォーマル検証を使った“組織的でスマート”な検証を行っています。 中国は多くの検証者による“人海戦術”で検証しています。国内は“摺合せ”と“根性”で検証を行っているイメージです。