添加功能覆盖以发出有条件的信号
Add functional coverage to signal with condition
我不熟悉 system-verilog 中的功能覆盖。我想在两个信号不相等的时候写一个covergroup
例如,我对每个信号都有两个单独的覆盖范围。
covergroup group1 @(posedge `TB_TOP.clk);
cpb_1 : coverpoint `TB_TOP.sig1 {
bins r_zero = {0};
bins r_one = {1};
endgroup
covergroup group2 @(posedge `TB_TOP.clk);
cpb_2 : coverpoint `TB_TOP.sig2 {
bins r_zero = {0};
bins r_one = {1};
endgroup
现在我想在时钟位置上的sig1 不等于sig2 时添加另一个。
谢谢
你的意思是这样的?
covergroup group3 @(posedge `TB_TOP.clk);
// coverpoint can take an expression, so provide sig1!=sig2
cpb_3: coverpoint (`TB_TOP.sig1 != `TB_TOP.sig2) {
// Since we only want to cover this case, sample a true value (1) only
bins covered = {1};
}
endgroup
我不熟悉 system-verilog 中的功能覆盖。我想在两个信号不相等的时候写一个covergroup
例如,我对每个信号都有两个单独的覆盖范围。
covergroup group1 @(posedge `TB_TOP.clk);
cpb_1 : coverpoint `TB_TOP.sig1 {
bins r_zero = {0};
bins r_one = {1};
endgroup
covergroup group2 @(posedge `TB_TOP.clk);
cpb_2 : coverpoint `TB_TOP.sig2 {
bins r_zero = {0};
bins r_one = {1};
endgroup
现在我想在时钟位置上的sig1 不等于sig2 时添加另一个。 谢谢
你的意思是这样的?
covergroup group3 @(posedge `TB_TOP.clk);
// coverpoint can take an expression, so provide sig1!=sig2
cpb_3: coverpoint (`TB_TOP.sig1 != `TB_TOP.sig2) {
// Since we only want to cover this case, sample a true value (1) only
bins covered = {1};
}
endgroup