このコラムでは「意外と知られていないけど、知っていると差がつく FPGA の技術情報」をご紹介します。
FPGA初心者の方からベテランの方まで、幅広くご活用いただける内容ですので、ぜひ最後までお付き合いください。

【第 3 回】 検証は様々な手法の重ね合わせ

一つの検証手法で、100%の検証をカバーする方法はありません。
設計品質を上げるには、視点の異なる色々な検証方法を重ねて、穴をできるだけ小さくします。

視点の異なる検証手法を比べてみました。

実機検証と論理シミュレーション

前者は、システム全体を高速に検証するのが得意です。

後者は、設計初期から回路の1部だけでも検証ができます。デバッグが得意です。 

論理シミュレーションとABV(アサーション・ベース検証)

前者は、仕様通りに動いている事を確認するのが得意です。回路後段のバグを見つけ易い特徴があります。

後者は、想定外のバグを見つけるのが得意です。回路前段のバグを見つけやすい特徴があります。 

コードカバレッジと機能カバレッジ

前者は、論理シミュレーションでのカバレッジ率を検証できます。、

後者は、ABV(アサーション・ベース検証)でのカバレッジ率を検証できます。 

ダイナミック検証とスタティック検証

ABVで使う検証方法も、2通りあります。

どちらも検出率が 95%を越えてくると、更なる検出率の向上には時間がかかります。そこで、お互いの手法で補完します。

前者は、テストベンチを作って、論理シミュレーションを行います。

後者は、テストベンチは不要で、フォーマル検証を行います。

 

米国では、設計仕様書と検証仕様書を作成して、UVMを使ったフォーマル検証を使った“組織的でスマート”な検証を行っています。 中国は多くの検証者による“人海戦術”で検証しています。国内は“摺合せ”と“根性”で検証を行っているイメージです。