アサーション/ファンクション・カバレッジ

アサーションとカバー・ディレクティブは、デザインに期待する動作を指定して検証するためのものです。ソースコードに直接記述し、一定時間の信号値を監視します。

アサーションは何かがつねに成立しなければならないことを宣言します(アサーションがフェイルした場合、デザインにバグがあると考えられます)。
カバー・ディレクティブは何かが発生すべきであることを宣言します(カバーの成功率でカバレッジを計測します)。

PSLのカバー・ディレクティブとSystemVerilogカバー文はファンクショナル・カバレッジの一形態です。プロパティを指定して、アサーションとファンクション・カバレッジにおいてそのプロパティを使用する手法は、最新システムのデザインとその検証アルゴリズムの開発においてはすでに不可欠になっています。アルデックのシミュレータは3種類のアサーション言語をサポートしています。

Property Specification Language(PSL)

PSLはもっとも包括的でありながらも習得しやすい言語です。他の言語と共存できるように、VHDL, Verilog, SystemVerilogおよびSystemCコードとうまく一体化できるという特徴があります。PSLのシンプル・サブセット(シミュレーションが保証される言語部分)も、VHDL規格(IEEE Std 1076™-2008)の最新バージョンに組み込まれました。PSLで現在のVHDL/Verilogユーザにとって興味深いのは、検証エンジニアが管理するデザインとは別の検証ユニットに書くことも、設計エンジニアが管理するHDLコードに直接書くこともできる、という特長です。

OpenVeraアサーション(OVA)

OVAはVHDLコードよりもVerilogコードによく一体化しますが、両方で使えます。OpenVeraはSystemVerilogに取り組むAccelleraグループに寄附されましたので、OpenVeraのアサーションとSystemVerilogアサーションには多くの共通点があります。

SystemVerilogアサーション(SVA)

SVAはSystemVerilogの一部で、モジュール・バインド・レベルでも、また動作コードにも、Verilogコードによく一体化します。SVAで書かれた検証モジュールは混合言語シミュレータの環境内でVHDLコンポーネントにバインドすることもできます。
アサーション・バンドルはアルデックのシミュレータのハイエンド設定ではデフォルトで付属します。バンドルが使えるようになったら、関係するグラフィカル・ツールもすべて使えるようになります。デザインに記述したアサーションは専用のアサーション・ビューワですべて確認できるようになり、そこで個々のアサーションのプロパティも変えられ、アサーションのブレークポイントも設置可能で、波形ビューワやアドバンスト・データフローなど強力なデバッグ機能を持つデバッギング・ツールにアサーションを追加することもできます。

Ask Us a Question
x

Ask Us a Question

x
Captcha ImageReload Captcha
Incorrect data entered.
Thank you! Your question has been submitted. Please allow 1-3 business days for someone to respond to your question.
Internal error occurred. Your question was not submitted. Please contact us using Feedback form.