xelab/xsim でサポートされるコード カバレッジ機能 - 2023.2 日本語

Vivado Design Suite チュートリアル: ロジック シミュレーション (UG937)

Document ID
UG937
Release Date
2023-11-01
Version
2023.2 日本語
  • コード文の正確な実行回数を示すライン/ステートメント カバレッジ
  • if-else、if-elseif-else、switch-case、三項演算子のブランチ カバレッジ
  • コード カバレッジ レポートでの else の欠落と default の欠落の検出および強調表示
  • コンディションがチェックされ、TRUE/FALSE と評価された正確な回数を示すコンディション カバレッジ
  • パック型/アンパック型の reg、bit、logic、wire データ型のトグル カバレッジ
  • int、short、integer、byte データ型、および非動的な構造体メンバーのトグル カバレッジ
  • xcrg を使用したコード カバレッジ HTML レポートの生成
  • デザインのコード カバレッジをダッシュボードで表示
  • デザイン全体ファイル、のリストモジュール、階層インスタンスのリスト
  • ファイル別のコード カバレッジ ビュー、モジュールとインスタンス別のコード カバレッジ ビュー
  • xcrg を使用したさまざまな run からのライン/ステートメント、ブランチ、コンディション、トグルのカバレッジの統合
注記: Vivado シミュレータでは現在、上記の機能は SystemVerilog/Verilog でサポートされています。VHDL のコード カバレッジは、サポートされていません。

このサンプル デザインで xcrg を表示させるには、エラボレーションでコード カバレッジ オプションを追加します。

  1. [Settings] ダイアログ ボックスの [Elaboration] タブで、次に示すようにカバレッジ タイプ、カバレッジ ディレクトリ、およびカバレッジ データベース名を追加し、OK をクリックします。
    上記の手順の実行後、Tcl コンソールに次のように設定された Tcl コマンドが表示されます。
    set_property -name {xsim.elaborate.coverage.name} -value {DB1} -objects [get_filesets sim_adv_mst_active__pt_passive__slv_comb]
    set_property -name {xsim.elaborate.coverage.dir} -value {cRun1} -objects [get_filesets sim_adv_mst_active__pt_passive__slv_comb]
    set_property -name {xsim.elaborate.coverage.type} -value {sbct} -objects [get_filesets sim_adv_mst_active__pt_passive__slv_comb]
  2. Tcl コンソールで close_sim コマンドを実行し、前に実行していたシミュレーションを閉じます。
  3. Tcl コンソールで reset_simulation コマンドを実行し、シミュレーション ディレクトリを消去します。
  4. Tcl コンソールで launch_simulation コマンドを実行し、シミュレーションを実行します。
  5. Tcl コンソールで次のコマンドを実行し、現在のカバレッジ データベースをディスクにダンプします。
    write_xsim_coverage -cov_db_dir cRun1 -cov_db_name DB1
  6. Tcl コンソールで次のコマンドを実行し、Vivado シミュレータで生成されたカバレッジ データベースを読み込み、HTML レポートとしてエクスポートします。
    export_xsim_coverage -cov_db_name DB1 -cov_db_dir cRun1 -output_dir cReport1 -open_html true 
  7. これで、次の HTML レポートがデフォルトのブラウザーに表示されます。
  8. 右上の Files をクリックすると、ファイル別の情報 ([File Specific Information]) が表示されます。
  9. モジュール別の情報 ([Module Specific Information]) を表示させる場合は、右上の Modules をクリックしてください。
  10. [Module Specific Information] の表のモジュール名 ([Module Name]) の下にある axi_vip_v1_1_15_top_default モジュールをクリックし、statement coverage を選択すると ([Statement] をオンにする)、モジュールのステートメント カバレッジが表示されます。
  11. branch coverage を選択すると ([Branch] をオンにする)、モジュールのブランチ カバレッジが表示されます。
  12. [Condition] をオンにすると、モジュールのコンディション カバレッジが表示されます。
  13. toggle coverage を選択すると ([Toggle] をオンにする)、モジュールのトグル カバレッジが表示されます。