covergroup 宣言 - 2023.2 日本語

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

Document ID
UG937
Release Date
2023-11-01
Version
2023.2 日本語
covergroup my_cover_group @(posedge aclk);
 m_axi_awlen_cp : coverpoint m_axi_awlen;
 m_axi_awcache_cp : coverpoint m_axi_awcache {
        option.comment = "cp with transition bins";
        bins a1 = (1=>2);
        bins b1 = (1,3=>4,5);
        bins b2[] = (1,3=>4,5);
        bins b3 = (1=>2), ([4:6] => 11,12);
        }
m_axi_bresp_cp : coverpoint m_axi_bresp;
endgroup
my_cover_group obj1 = new();

この例では、covergroup を my_cover_group という名前で、サンプリング イベントを posedge aclk という名前で宣言しています。この covergroup には 3 つのカバーポイントがあります。この covergroup 宣言をサンプル デザインに追加します。

  1. [Tcl Console] ウィンドウに次のコマンドを入力します。
    current_scope /axi_vip_0__exdes_adv_mst_active_pt_mem__slv_passive/DUT/ex_design/axi_vip_mst
  2. axi_vip_mst スコープをダブルクリックして、ソース コードを開きます。

  3. テキスト エディターに次のファイル パスが表示されるので、covergroup 宣言を endmodule の前に追加して保存します。
    axi_vip_0_ex/axi_vip_0_ex.ip_user_files/bd/ex_sim/ip/ex_sim_axi_vip_mst_0/sim/ex_sim_axi_vip_mst_0.sv


  4. [Tcl Console] ウィンドウで、close_sim コマンドを実行して、前に実行していたシミュレーションを閉じます。
  5. [Tcl Console] ウィンドウで、reset_simulation コマンドを実行して、シミュレーション ディレクトリをクリーンにします。
  6. [Tcl Console] ウィンドウで、launch_simulation コマンドを実行して、シミュレーションを実行します。
  7. Run All ボタン をクリックします。

シミュレーションは $finish 文に達すると停止します。AMD Vivado™ シミュレータにより、次の場所に xsim.covdb という名前 (デフォルト名) でカバレッジ データベースが生成されました。

./axi_vip_0_ex.sim/sim_adv_mst_active__pt_passive__slv_comb/behav/xsim/

レポートを生成するには、次のコマンドを実行します。

xcrg -report_format html -dir ./axi_vip_0_ex.sim/sim_adv_mst_active__pt_passive__slv_comb/behav/xsim/xsim.covdb/ -report_dir ./axi_vip_0_ex.sim/sim_adv_mst_active__pt_passive__slv_comb/behav/xsim/

これで、xcrg_report という名前のディレクトリが生成され、そこには .html レポートが含まれます。次はサンプル レポートの例です。

  1. dashboard.html ファイルを開きます。このファイルには、コマンド、バージョン、日付、カバレッジ サマリ (合計 bin の 9.375% のみが表示されている) などの詳細が含まれています。
  2. Groups ボタンをクリックします。
  3. グループ レポートの下にあるリンクをクリックします。
  4. 次の図のような詳細レポートが表示されます。

これでカバレッジを確認でき、カバレッジを改善するためテストベンチまたはシード値を変更できます。