systemverilog覆盖收集函数get_coverage的用法实例

//data declaratins
class dec_t;

//constants
//localparam byte??
//specparm int??
//const logic

//lifetime
//alias
int st_i;
//automatic int auto_i;
rand bit [4:0] a;
rand bit [3:0] b;
rand bit c;

function new();
endfunction

function dec_t_f(int a,ref int c[4],const ref int d[5],output int b);

endfunction

endclass

covergroup CoverDec(dec_t v_dec);
p_a : coverpoint v_dec.a {
bins zero={0};
bins R1_N_1={[1:10]};
bins N={[11:$]};
}

p_b : coverpoint v_dec.b;

p_c : coverpoint v_dec.c;

p_cr : cross p_b,p_c; 

endgroup

initial begin
real m;
int s_c=0;
dec_t dec=new();
CoverDec cd=new(dec);

//for(int i=0;i<100;i++) begin
//	dec.randomize();
//	cd.sample();
//end

while(cd.get_inst_coverage() <100) 
begin
	s_c++;
	dec.randomize();
	cd.sample();
	$display("time[%0d] cd coverage %f",s_c,cd.get_inst_coverage());
	$display("time[%0d] cd coverage %f",s_c,cd.get_coverage());
	$display("time[%0d] cd coverage.p_a %f",s_c,cd.p_a.get_coverage());
	$display("time[%0d] cd coverage.p_cr %f",s_c,cd.p_cr.get_coverage());
	if(s_c == 200) begin
		break;
	end
end
//$coverage_get();

end

仿真结果:

Compile of test.sv was successful with warnings.

run -all

hello world!

time[1] cd coverage 23.177083

time[1] cd coverage 23.177083

time[1] cd coverage.p_a 33.333333

time[1] cd coverage.p_cr 3.125000

time[2] cd coverage 46.354167

time[2] cd coverage 46.354167

time[2] cd coverage.p_a 66.666667

time[2] cd coverage.p_cr 6.250000

time[3] cd coverage 48.697917

time[3] cd coverage 48.697917

time[3] cd coverage.p_a 66.666667

time[3] cd coverage.p_cr 9.375000

time[4] cd coverage 51.041667

time[4] cd coverage 51.041667

time[4] cd coverage.p_a 66.666667

time[4] cd coverage.p_cr 12.500000

time[5] cd coverage 51.041667

time[5] cd coverage 51.041667

time[5] cd coverage.p_a 66.666667

time[5] cd coverage.p_cr 12.500000

time[6] cd coverage 51.041667

time[6] cd coverage 51.041667

time[6] cd coverage.p_a 66.666667

time[6] cd coverage.p_cr 12.500000

time[7] cd coverage 53.385417

time[7] cd coverage 53.385417

time[7] cd coverage.p_a 66.666667

time[7] cd coverage.p_cr 15.625000

time[8] cd coverage 54.166667

time[8] cd coverage 54.166667

time[8] cd coverage.p_a 66.666667

time[8] cd coverage.p_cr 18.750000

time[9] cd coverage 54.166667

time[9] cd coverage 54.166667

time[9] cd coverage.p_a 66.666667

time[9] cd coverage.p_cr 18.750000

time[10] cd coverage 64.843750

time[10] cd coverage 64.843750

time[10] cd coverage.p_a 100.000000

time[10] cd coverage.p_cr 21.875000

time[11] cd coverage 67.187500

time[11] cd coverage 67.187500

time[11] cd coverage.p_a 100.000000

time[11] cd coverage.p_cr 25.000000

time[12] cd coverage 69.531250

time[12] cd coverage 69.531250

time[12] cd coverage.p_a 100.000000

time[12] cd coverage.p_cr 28.125000

time[13] cd coverage 69.531250

time[13] cd coverage 69.531250

time[13] cd coverage.p_a 100.000000

time[13] cd coverage.p_cr 28.125000

time[14] cd coverage 71.875000

time[14] cd coverage 71.875000

time[14] cd coverage.p_a 100.000000

time[14] cd coverage.p_cr 31.250000

time[15] cd coverage 74.218750

time[15] cd coverage 74.218750

time[15] cd coverage.p_a 100.000000

time[15] cd coverage.p_cr 34.375000

time[16] cd coverage 74.218750

time[16] cd coverage 74.218750

time[16] cd coverage.p_a 100.000000

time[16] cd coverage.p_cr 34.375000

time[17] cd coverage 75.000000

time[17] cd coverage 75.000000

time[17] cd coverage.p_a 100.000000

time[17] cd coverage.p_cr 37.500000

time[18] cd coverage 75.000000

time[18] cd coverage 75.000000

time[18] cd coverage.p_a 100.000000

time[18] cd coverage.p_cr 37.500000

time[19] cd coverage 77.343750

time[19] cd coverage 77.343750

time[19] cd coverage.p_a 100.000000

time[19] cd coverage.p_cr 40.625000

time[20] cd coverage 79.687500

time[20] cd coverage 79.687500

time[20] cd coverage.p_a 100.000000

time[20] cd coverage.p_cr 43.750000

time[21] cd coverage 79.687500

time[21] cd coverage 79.687500

time[21] cd coverage.p_a 100.000000

time[21] cd coverage.p_cr 43.750000

time[22] cd coverage 80.468750

time[22] cd coverage 80.468750

time[22] cd coverage.p_a 100.000000

time[22] cd coverage.p_cr 46.875000

time[23] cd coverage 80.468750

time[23] cd coverage 80.468750

time[23] cd coverage.p_a 100.000000

time[23] cd coverage.p_cr 46.875000

time[24] cd coverage 80.468750

time[24] cd coverage 80.468750

time[24] cd coverage.p_a 100.000000

time[24] cd coverage.p_cr 46.875000

time[25] cd coverage 82.812500

time[25] cd coverage 82.812500

time[25] cd coverage.p_a 100.000000

time[25] cd coverage.p_cr 50.000000

time[26] cd coverage 85.156250

time[26] cd coverage 85.156250

time[26] cd coverage.p_a 100.000000

time[26] cd coverage.p_cr 53.125000

time[27] cd coverage 85.937500

time[27] cd coverage 85.937500

time[27] cd coverage.p_a 100.000000

time[27] cd coverage.p_cr 56.250000

time[28] cd coverage 86.718750

time[28] cd coverage 86.718750

time[28] cd coverage.p_a 100.000000

time[28] cd coverage.p_cr 59.375000

time[29] cd coverage 86.718750

time[29] cd coverage 86.718750

time[29] cd coverage.p_a 100.000000

time[29] cd coverage.p_cr 59.375000

time[30] cd coverage 86.718750

time[30] cd coverage 86.718750

time[30] cd coverage.p_a 100.000000

time[30] cd coverage.p_cr 59.375000

time[31] cd coverage 86.718750

time[31] cd coverage 86.718750

time[31] cd coverage.p_a 100.000000

time[31] cd coverage.p_cr 59.375000

time[32] cd coverage 86.718750

time[32] cd coverage 86.718750

time[32] cd coverage.p_a 100.000000

time[32] cd coverage.p_cr 59.375000

time[33] cd coverage 86.718750

time[33] cd coverage 86.718750

time[33] cd coverage.p_a 100.000000

time[33] cd coverage.p_cr 59.375000

time[34] cd coverage 86.718750

time[34] cd coverage 86.718750

time[34] cd coverage.p_a 100.000000

time[34] cd coverage.p_cr 59.375000

time[35] cd coverage 89.062500

time[35] cd coverage 89.062500

time[35] cd coverage.p_a 100.000000

time[35] cd coverage.p_cr 62.500000

time[36] cd coverage 89.843750

time[36] cd coverage 89.843750

time[36] cd coverage.p_a 100.000000

time[36] cd coverage.p_cr 65.625000

time[37] cd coverage 89.843750

time[37] cd coverage 89.843750

time[37] cd coverage.p_a 100.000000

time[37] cd coverage.p_cr 65.625000

time[38] cd coverage 89.843750

time[38] cd coverage 89.843750

time[38] cd coverage.p_a 100.000000

time[38] cd coverage.p_cr 65.625000

time[39] cd coverage 89.843750

time[39] cd coverage 89.843750

time[39] cd coverage.p_a 100.000000

time[39] cd coverage.p_cr 65.625000

time[40] cd coverage 89.843750

time[40] cd coverage 89.843750

time[40] cd coverage.p_a 100.000000

time[40] cd coverage.p_cr 65.625000

time[41] cd coverage 90.625000

time[41] cd coverage 90.625000

time[41] cd coverage.p_a 100.000000

time[41] cd coverage.p_cr 68.750000

time[42] cd coverage 92.968750

time[42] cd coverage 92.968750

time[42] cd coverage.p_a 100.000000

time[42] cd coverage.p_cr 71.875000

time[43] cd coverage 92.968750

time[43] cd coverage 92.968750

time[43] cd coverage.p_a 100.000000

time[43] cd coverage.p_cr 71.875000

time[44] cd coverage 92.968750

time[44] cd coverage 92.968750

time[44] cd coverage.p_a 100.000000

time[44] cd coverage.p_cr 71.875000

time[45] cd coverage 92.968750

time[45] cd coverage 92.968750

time[45] cd coverage.p_a 100.000000

time[45] cd coverage.p_cr 71.875000

time[46] cd coverage 92.968750

time[46] cd coverage 92.968750

time[46] cd coverage.p_a 100.000000

time[46] cd coverage.p_cr 71.875000

time[47] cd coverage 92.968750

time[47] cd coverage 92.968750

time[47] cd coverage.p_a 100.000000

time[47] cd coverage.p_cr 71.875000

time[48] cd coverage 92.968750

time[48] cd coverage 92.968750

time[48] cd coverage.p_a 100.000000

time[48] cd coverage.p_cr 71.875000

time[49] cd coverage 92.968750

time[49] cd coverage 92.968750

time[49] cd coverage.p_a 100.000000

time[49] cd coverage.p_cr 71.875000

time[50] cd coverage 92.968750

time[50] cd coverage 92.968750

time[50] cd coverage.p_a 100.000000

time[50] cd coverage.p_cr 71.875000

time[51] cd coverage 92.968750

time[51] cd coverage 92.968750

time[51] cd coverage.p_a 100.000000

time[51] cd coverage.p_cr 71.875000

time[52] cd coverage 92.968750

time[52] cd coverage 92.968750

time[52] cd coverage.p_a 100.000000

time[52] cd coverage.p_cr 71.875000

time[53] cd coverage 93.750000

time[53] cd coverage 93.750000

time[53] cd coverage.p_a 100.000000

time[53] cd coverage.p_cr 75.000000

time[54] cd coverage 93.750000

time[54] cd coverage 93.750000

time[54] cd coverage.p_a 100.000000

time[54] cd coverage.p_cr 75.000000

time[55] cd coverage 93.750000

time[55] cd coverage 93.750000

time[55] cd coverage.p_a 100.000000

time[55] cd coverage.p_cr 75.000000

time[56] cd coverage 93.750000

time[56] cd coverage 93.750000

time[56] cd coverage.p_a 100.000000

time[56] cd coverage.p_cr 75.000000

time[57] cd coverage 94.531250

time[57] cd coverage 94.531250

time[57] cd coverage.p_a 100.000000

time[57] cd coverage.p_cr 78.125000

time[58] cd coverage 94.531250

time[58] cd coverage 94.531250

time[58] cd coverage.p_a 100.000000

time[58] cd coverage.p_cr 78.125000

time[59] cd coverage 94.531250

time[59] cd coverage 94.531250

time[59] cd coverage.p_a 100.000000

time[59] cd coverage.p_cr 78.125000

time[60] cd coverage 94.531250

time[60] cd coverage 94.531250

time[60] cd coverage.p_a 100.000000

time[60] cd coverage.p_cr 78.125000

time[61] cd coverage 94.531250

time[61] cd coverage 94.531250

time[61] cd coverage.p_a 100.000000

time[61] cd coverage.p_cr 78.125000

time[62] cd coverage 94.531250

time[62] cd coverage 94.531250

time[62] cd coverage.p_a 100.000000

time[62] cd coverage.p_cr 78.125000

time[63] cd coverage 94.531250

time[63] cd coverage 94.531250

time[63] cd coverage.p_a 100.000000

time[63] cd coverage.p_cr 78.125000

time[64] cd coverage 94.531250

time[64] cd coverage 94.531250

time[64] cd coverage.p_a 100.000000

time[64] cd coverage.p_cr 78.125000

time[65] cd coverage 94.531250

time[65] cd coverage 94.531250

time[65] cd coverage.p_a 100.000000

time[65] cd coverage.p_cr 78.125000

time[66] cd coverage 94.531250

time[66] cd coverage 94.531250

time[66] cd coverage.p_a 100.000000

time[66] cd coverage.p_cr 78.125000

time[67] cd coverage 94.531250

time[67] cd coverage 94.531250

time[67] cd coverage.p_a 100.000000

time[67] cd coverage.p_cr 78.125000

time[68] cd coverage 94.531250

time[68] cd coverage 94.531250

time[68] cd coverage.p_a 100.000000

time[68] cd coverage.p_cr 78.125000

time[69] cd coverage 95.312500

time[69] cd coverage 95.312500

time[69] cd coverage.p_a 100.000000

time[69] cd coverage.p_cr 81.250000

time[70] cd coverage 95.312500

time[70] cd coverage 95.312500

time[70] cd coverage.p_a 100.000000

time[70] cd coverage.p_cr 81.250000

time[71] cd coverage 95.312500

time[71] cd coverage 95.312500

time[71] cd coverage.p_a 100.000000

time[71] cd coverage.p_cr 81.250000

time[72] cd coverage 95.312500

time[72] cd coverage 95.312500

time[72] cd coverage.p_a 100.000000

time[72] cd coverage.p_cr 81.250000

time[73] cd coverage 95.312500

time[73] cd coverage 95.312500

time[73] cd coverage.p_a 100.000000

time[73] cd coverage.p_cr 81.250000

time[74] cd coverage 95.312500

time[74] cd coverage 95.312500

time[74] cd coverage.p_a 100.000000

time[74] cd coverage.p_cr 81.250000

time[75] cd coverage 95.312500

time[75] cd coverage 95.312500

time[75] cd coverage.p_a 100.000000

time[75] cd coverage.p_cr 81.250000

time[76] cd coverage 95.312500

time[76] cd coverage 95.312500

time[76] cd coverage.p_a 100.000000

time[76] cd coverage.p_cr 81.250000

time[77] cd coverage 95.312500

time[77] cd coverage 95.312500

time[77] cd coverage.p_a 100.000000

time[77] cd coverage.p_cr 81.250000

time[78] cd coverage 96.093750

time[78] cd coverage 96.093750

time[78] cd coverage.p_a 100.000000

time[78] cd coverage.p_cr 84.375000

time[79] cd coverage 96.875000

time[79] cd coverage 96.875000

time[79] cd coverage.p_a 100.000000

time[79] cd coverage.p_cr 87.500000

time[80] cd coverage 96.875000

time[80] cd coverage 96.875000

time[80] cd coverage.p_a 100.000000

time[80] cd coverage.p_cr 87.500000

time[81] cd coverage 96.875000

time[81] cd coverage 96.875000

time[81] cd coverage.p_a 100.000000

time[81] cd coverage.p_cr 87.500000

time[82] cd coverage 96.875000

time[82] cd coverage 96.875000

time[82] cd coverage.p_a 100.000000

time[82] cd coverage.p_cr 87.500000

time[83] cd coverage 96.875000

time[83] cd coverage 96.875000

time[83] cd coverage.p_a 100.000000

time[83] cd coverage.p_cr 87.500000

time[84] cd coverage 96.875000

time[84] cd coverage 96.875000

time[84] cd coverage.p_a 100.000000

time[84] cd coverage.p_cr 87.500000

time[85] cd coverage 96.875000

time[85] cd coverage 96.875000

time[85] cd coverage.p_a 100.000000

time[85] cd coverage.p_cr 87.500000

time[86] cd coverage 97.656250

time[86] cd coverage 97.656250

time[86] cd coverage.p_a 100.000000

time[86] cd coverage.p_cr 90.625000

time[87] cd coverage 97.656250

time[87] cd coverage 97.656250

time[87] cd coverage.p_a 100.000000

time[87] cd coverage.p_cr 90.625000

time[88] cd coverage 97.656250

time[88] cd coverage 97.656250

time[88] cd coverage.p_a 100.000000

time[88] cd coverage.p_cr 90.625000

time[89] cd coverage 97.656250

time[89] cd coverage 97.656250

time[89] cd coverage.p_a 100.000000

time[89] cd coverage.p_cr 90.625000

time[90] cd coverage 98.437500

time[90] cd coverage 98.437500

time[90] cd coverage.p_a 100.000000

time[90] cd coverage.p_cr 93.750000

time[91] cd coverage 98.437500

time[91] cd coverage 98.437500

time[91] cd coverage.p_a 100.000000

time[91] cd coverage.p_cr 93.750000

time[92] cd coverage 98.437500

time[92] cd coverage 98.437500

time[92] cd coverage.p_a 100.000000

time[92] cd coverage.p_cr 93.750000

time[93] cd coverage 98.437500

time[93] cd coverage 98.437500

time[93] cd coverage.p_a 100.000000

time[93] cd coverage.p_cr 93.750000

time[94] cd coverage 98.437500

time[94] cd coverage 98.437500

time[94] cd coverage.p_a 100.000000

time[94] cd coverage.p_cr 93.750000

time[95] cd coverage 98.437500

time[95] cd coverage 98.437500

time[95] cd coverage.p_a 100.000000

time[95] cd coverage.p_cr 93.750000

time[96] cd coverage 98.437500

time[96] cd coverage 98.437500

time[96] cd coverage.p_a 100.000000

time[96] cd coverage.p_cr 93.750000

time[97] cd coverage 98.437500

time[97] cd coverage 98.437500

time[97] cd coverage.p_a 100.000000

time[97] cd coverage.p_cr 93.750000

time[98] cd coverage 98.437500

time[98] cd coverage 98.437500

time[98] cd coverage.p_a 100.000000

time[98] cd coverage.p_cr 93.750000

time[99] cd coverage 98.437500

time[99] cd coverage 98.437500

time[99] cd coverage.p_a 100.000000

time[99] cd coverage.p_cr 93.750000

time[100] cd coverage 98.437500

time[100] cd coverage 98.437500

time[100] cd coverage.p_a 100.000000

time[100] cd coverage.p_cr 93.750000

time[101] cd coverage 98.437500

time[101] cd coverage 98.437500

time[101] cd coverage.p_a 100.000000

time[101] cd coverage.p_cr 93.750000

time[102] cd coverage 98.437500

time[102] cd coverage 98.437500

time[102] cd coverage.p_a 100.000000

time[102] cd coverage.p_cr 93.750000

time[103] cd coverage 98.437500

time[103] cd coverage 98.437500

time[103] cd coverage.p_a 100.000000

time[103] cd coverage.p_cr 93.750000

time[104] cd coverage 98.437500

time[104] cd coverage 98.437500

time[104] cd coverage.p_a 100.000000

time[104] cd coverage.p_cr 93.750000

time[105] cd coverage 98.437500

time[105] cd coverage 98.437500

time[105] cd coverage.p_a 100.000000

time[105] cd coverage.p_cr 93.750000

time[106] cd coverage 99.218750

time[106] cd coverage 99.218750

time[106] cd coverage.p_a 100.000000

time[106] cd coverage.p_cr 96.875000

time[107] cd coverage 99.218750

time[107] cd coverage 99.218750

time[107] cd coverage.p_a 100.000000

time[107] cd coverage.p_cr 96.875000

time[108] cd coverage 99.218750

time[108] cd coverage 99.218750

time[108] cd coverage.p_a 100.000000

time[108] cd coverage.p_cr 96.875000

time[109] cd coverage 99.218750

time[109] cd coverage 99.218750

time[109] cd coverage.p_a 100.000000

time[109] cd coverage.p_cr 96.875000

time[110] cd coverage 99.218750

time[110] cd coverage 99.218750

time[110] cd coverage.p_a 100.000000

time[110] cd coverage.p_cr 96.875000

time[111] cd coverage 99.218750

time[111] cd coverage 99.218750

time[111] cd coverage.p_a 100.000000

time[111] cd coverage.p_cr 96.875000

time[112] cd coverage 99.218750

time[112] cd coverage 99.218750

time[112] cd coverage.p_a 100.000000

time[112] cd coverage.p_cr 96.875000

time[113] cd coverage 99.218750

time[113] cd coverage 99.218750

time[113] cd coverage.p_a 100.000000

time[113] cd coverage.p_cr 96.875000

time[114] cd coverage 99.218750

time[114] cd coverage 99.218750

time[114] cd coverage.p_a 100.000000

time[114] cd coverage.p_cr 96.875000

time[115] cd coverage 99.218750

time[115] cd coverage 99.218750

time[115] cd coverage.p_a 100.000000

time[115] cd coverage.p_cr 96.875000

time[116] cd coverage 99.218750

time[116] cd coverage 99.218750

time[116] cd coverage.p_a 100.000000

time[116] cd coverage.p_cr 96.875000

time[117] cd coverage 99.218750

time[117] cd coverage 99.218750

time[117] cd coverage.p_a 100.000000

time[117] cd coverage.p_cr 96.875000

time[118] cd coverage 99.218750

time[118] cd coverage 99.218750

time[118] cd coverage.p_a 100.000000

time[118] cd coverage.p_cr 96.875000

time[119] cd coverage 99.218750

time[119] cd coverage 99.218750

time[119] cd coverage.p_a 100.000000

time[119] cd coverage.p_cr 96.875000

time[120] cd coverage 99.218750

time[120] cd coverage 99.218750

time[120] cd coverage.p_a 100.000000

time[120] cd coverage.p_cr 96.875000

time[121] cd coverage 99.218750

time[121] cd coverage 99.218750

time[121] cd coverage.p_a 100.000000

time[121] cd coverage.p_cr 96.875000

time[122] cd coverage 99.218750

time[122] cd coverage 99.218750

time[122] cd coverage.p_a 100.000000

time[122] cd coverage.p_cr 96.875000

time[123] cd coverage 99.218750

time[123] cd coverage 99.218750

time[123] cd coverage.p_a 100.000000

time[123] cd coverage.p_cr 96.875000

time[124] cd coverage 99.218750

time[124] cd coverage 99.218750

time[124] cd coverage.p_a 100.000000

time[124] cd coverage.p_cr 96.875000

time[125] cd coverage 99.218750

time[125] cd coverage 99.218750

time[125] cd coverage.p_a 100.000000

time[125] cd coverage.p_cr 96.875000

time[126] cd coverage 99.218750

time[126] cd coverage 99.218750

time[126] cd coverage.p_a 100.000000

time[126] cd coverage.p_cr 96.875000

time[127] cd coverage 99.218750

time[127] cd coverage 99.218750

time[127] cd coverage.p_a 100.000000

time[127] cd coverage.p_cr 96.875000

time[128] cd coverage 99.218750

time[128] cd coverage 99.218750

time[128] cd coverage.p_a 100.000000

time[128] cd coverage.p_cr 96.875000

time[129] cd coverage 100.000000

time[129] cd coverage 100.000000

time[129] cd coverage.p_a 100.000000

time[129] cd coverage.p_cr 100.000000

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值