[英]Is it possible to display coverage of a specific bin within a coverpoint in a logfile using the simvision tool?
我正在嘗試顯示coverpoint
中特定 bin 的覆蓋率(以百分比表示)。 我能夠顯示coverpoint
coverpoint
各個 bin 的覆蓋百分比。
covergroup cov_a @(posedge clk);
c1:coverpoint signal{
bins a={1};
bins b={0};
}
c2:coverpoint b{
bins c={1};
bins d={0};
}
option.per_instance = 1;
endgroup :cov_a
cov_a cov_a_inst = new();
final begin
$display("Coverage for c1: %d%%", cov_a_inst.c1.get_inst_coverage());
$display("Coverage for c2: %d%%", cov_a_inst.c2.get_inst_coverage());
end
我想做以下
//$display("c1 coverpoint 中 bin a 的覆蓋率:%d", $coverage(cov_a_inst.c1.a));
不確定如何給出層次結構。 注意:我曾嘗試在coverpoint
中添加一個 bin,這也解決了這個問題,但我想優化它。
表 19-5——IEEE Std 1800-2017 中預定義的覆蓋方法表明可以在覆蓋組、覆蓋點和交叉上調用get_coverage
和get_inst_coverage
。 它沒有指定可以在覆蓋點內的箱子上調用它們。 因此,您不應期望能夠覆蓋單個 bin 或能夠指定 bin 的層次結構。
也許您正在使用的工具提供了自定義功能; 請參閱您的用戶文檔。
SystemVerilog 語言沒有訪問單個 bin 的機制。 命名 bin 非常復雜,有時您甚至在構建覆蓋組之前都不知道 bin 是否存在。
許多工具都有模擬后分析工具,可以報告單個 bin 命中甚至命中時的時間戳。
如果您在模擬仍在執行時需要那種級別的細節,那么最好的選擇是您提到的帶有單個箱子的覆蓋點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.