簡體   English   中英

是否可以使用 simvision 工具在日志文件的覆蓋點內顯示特定 bin 的覆蓋范圍?

[英]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_coverageget_inst_coverage 它沒有指定可以在覆蓋點內的箱子上調用它們。 因此,您不應期望能夠覆蓋單個 bin 或能夠指定 bin 的層次結構。

也許您正在使用的工具提供了自定義功能; 請參閱您的用戶文檔。

SystemVerilog 語言沒有訪問單個 bin 的機制。 命名 bin 非常復雜,有時您甚至在構建覆蓋組之前都不知道 bin 是否存在。

許多工具都有模擬后分析工具,可以報告單個 bin 命中甚至命中時的時間戳。

如果您在模擬仍在執行時需要那種級別的細節,那么最好的選擇是您提到的帶有單個箱子的覆蓋點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM