Line Coverage for Module :
otp_ctrl_ecc_reg ( parameter Width=64,Depth=9,Aw=4,EccWidth=8 + Width=64,Depth=2,Aw=1,EccWidth=8 + Width=64,Depth=5,Aw=3,EccWidth=8 + Width=64,Depth=11,Aw=4,EccWidth=8 )
Line Coverage for Module self-instances :
| Line No. | Total | Covered | Percent |
TOTAL | | 14 | 14 | 100.00 |
ALWAYS | 60 | 8 | 8 | 100.00 |
CONT_ASSIGN | 87 | 1 | 1 | 100.00 |
ALWAYS | 90 | 5 | 5 | 100.00 |
59 always_comb begin : p_write
60 1/1 data_o = data_q;
Tests: T1 T2 T3
61 1/1 data_d = data_q;
Tests: T1 T2 T3
62 1/1 ecc_d = ecc_q;
Tests: T1 T2 T3
63
64 1/1 rdata_o = '0;
Tests: T1 T2 T3
65 1/1 if (32'(addr_i) < Depth) begin
Tests: T1 T2 T3
66 1/1 rdata_o = data_q[addr_i];
Tests: T1 T2 T3
67 1/1 if (wren_i) begin
Tests: T1 T2 T3
68 1/1 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
Tests: T1 T2 T3
69 end
MISSING_ELSE
70 end
MISSING_ELSE
71 end
72 end
73
74 // Concurrent ECC checks.
75 logic [Depth-1:0][1:0] err;
76 for (genvar k = 0; k < Depth; k++) begin : gen_ecc_dec
77 prim_secded_inv_72_64_dec u_prim_secded_inv_72_64_dec (
78 .data_i({ecc_q[k], data_q[k]}),
79 // We only rely on the error detection mechanism,
80 // and not on error correction.
81 .data_o(),
82 .syndrome_o(),
83 .err_o(err[k])
84 );
85 end
86
87 1/1 assign ecc_err_o = |err;
Tests: T1 T2 T3
88
89 always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
90 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
91 1/1 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
Tests: T1 T2 T3
92 1/1 data_q <= '0;
Tests: T1 T2 T3
93 end else begin
94 1/1 ecc_q <= ecc_d;
Tests: T1 T2 T3
95 1/1 data_q <= data_d;
Tests: T1 T2 T3
Line Coverage for Module :
otp_ctrl_ecc_reg ( parameter Width=64,Depth=1,Aw=1,EccWidth=8 )
Line Coverage for Module self-instances :
| Line No. | Total | Covered | Percent |
TOTAL | | 14 | 14 | 100.00 |
ALWAYS | 46 | 8 | 8 | 100.00 |
CONT_ASSIGN | 87 | 1 | 1 | 100.00 |
ALWAYS | 90 | 5 | 5 | 100.00 |
45 always_comb begin : p_write
46 1/1 data_o = data_q;
Tests: T1 T2 T3
47 1/1 data_d = data_q;
Tests: T1 T2 T3
48 1/1 ecc_d = ecc_q;
Tests: T1 T2 T3
49
50 1/1 rdata_o = '0;
Tests: T1 T2 T3
51 1/1 if (32'(addr_i) < Depth) begin
Tests: T1 T2 T3
52 1/1 rdata_o = data_q[0];
Tests: T1 T2 T3
53 1/1 if (wren_i) begin
Tests: T1 T2 T3
54 1/1 {ecc_d[0], data_d[0]} = ecc_enc;
Tests: T1 T2 T3
55 end
MISSING_ELSE
56 end
==> MISSING_ELSE
57 end
58 end else begin : gen_multiple_words
59 always_comb begin : p_write
60 data_o = data_q;
61 data_d = data_q;
62 ecc_d = ecc_q;
63
64 rdata_o = '0;
65 if (32'(addr_i) < Depth) begin
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
69 end
70 end
71 end
72 end
73
74 // Concurrent ECC checks.
75 logic [Depth-1:0][1:0] err;
76 for (genvar k = 0; k < Depth; k++) begin : gen_ecc_dec
77 prim_secded_inv_72_64_dec u_prim_secded_inv_72_64_dec (
78 .data_i({ecc_q[k], data_q[k]}),
79 // We only rely on the error detection mechanism,
80 // and not on error correction.
81 .data_o(),
82 .syndrome_o(),
83 .err_o(err[k])
84 );
85 end
86
87 1/1 assign ecc_err_o = |err;
Tests: T1 T2 T3
88
89 always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
90 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
91 1/1 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
Tests: T1 T2 T3
92 1/1 data_q <= '0;
Tests: T1 T2 T3
93 end else begin
94 1/1 ecc_q <= ecc_d;
Tests: T1 T2 T3
95 1/1 data_q <= data_d;
Tests: T1 T2 T3
Branch Coverage for Module :
otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
Branches |
|
5 |
5 |
100.00 |
IF |
90 |
2 |
2 |
100.00 |
IF |
65 |
3 |
3 |
100.00 |
90 if (!rst_ni) begin
-1-
91 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
==>
92 data_q <= '0;
93 end else begin
94 ecc_q <= ecc_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
65 if (32'(addr_i) < Depth) begin
-1-
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
-2-
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
==>
69 end
MISSING_ELSE
==>
70 end
MISSING_ELSE
==>
Branches:
-1- | -2- | Status | Tests |
1 |
1 |
Covered |
T1,T2,T3 |
1 |
0 |
Covered |
T1,T2,T3 |
0 |
- |
Covered |
T22 |
Assert Coverage for Module :
otp_ctrl_ecc_reg
Assertion Details
DataKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
950422506 |
941408402 |
0 |
0 |
T1 |
51095 |
50325 |
0 |
0 |
T2 |
135993 |
133023 |
0 |
0 |
T3 |
267927 |
264814 |
0 |
0 |
T4 |
265342 |
262317 |
0 |
0 |
T5 |
174097 |
171259 |
0 |
0 |
T6 |
530123 |
519079 |
0 |
0 |
T7 |
225038 |
224180 |
0 |
0 |
T8 |
339196 |
336644 |
0 |
0 |
T11 |
56001 |
55363 |
0 |
0 |
T12 |
161282 |
158257 |
0 |
0 |
DataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
950422506 |
941408402 |
0 |
0 |
T1 |
51095 |
50325 |
0 |
0 |
T2 |
135993 |
133023 |
0 |
0 |
T3 |
267927 |
264814 |
0 |
0 |
T4 |
265342 |
262317 |
0 |
0 |
T5 |
174097 |
171259 |
0 |
0 |
T6 |
530123 |
519079 |
0 |
0 |
T7 |
225038 |
224180 |
0 |
0 |
T8 |
339196 |
336644 |
0 |
0 |
T11 |
56001 |
55363 |
0 |
0 |
T12 |
161282 |
158257 |
0 |
0 |
EccErrKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
950422506 |
941408402 |
0 |
0 |
T1 |
51095 |
50325 |
0 |
0 |
T2 |
135993 |
133023 |
0 |
0 |
T3 |
267927 |
264814 |
0 |
0 |
T4 |
265342 |
262317 |
0 |
0 |
T5 |
174097 |
171259 |
0 |
0 |
T6 |
530123 |
519079 |
0 |
0 |
T7 |
225038 |
224180 |
0 |
0 |
T8 |
339196 |
336644 |
0 |
0 |
T11 |
56001 |
55363 |
0 |
0 |
T12 |
161282 |
158257 |
0 |
0 |
EccKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
950422506 |
941408402 |
0 |
0 |
T1 |
51095 |
50325 |
0 |
0 |
T2 |
135993 |
133023 |
0 |
0 |
T3 |
267927 |
264814 |
0 |
0 |
T4 |
265342 |
262317 |
0 |
0 |
T5 |
174097 |
171259 |
0 |
0 |
T6 |
530123 |
519079 |
0 |
0 |
T7 |
225038 |
224180 |
0 |
0 |
T8 |
339196 |
336644 |
0 |
0 |
T11 |
56001 |
55363 |
0 |
0 |
T12 |
161282 |
158257 |
0 |
0 |
RDataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
950422506 |
941408402 |
0 |
0 |
T1 |
51095 |
50325 |
0 |
0 |
T2 |
135993 |
133023 |
0 |
0 |
T3 |
267927 |
264814 |
0 |
0 |
T4 |
265342 |
262317 |
0 |
0 |
T5 |
174097 |
171259 |
0 |
0 |
T6 |
530123 |
519079 |
0 |
0 |
T7 |
225038 |
224180 |
0 |
0 |
T8 |
339196 |
336644 |
0 |
0 |
T11 |
56001 |
55363 |
0 |
0 |
T12 |
161282 |
158257 |
0 |
0 |
WidthMustBe64bit_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
12441 |
12441 |
0 |
0 |
T1 |
11 |
11 |
0 |
0 |
T2 |
11 |
11 |
0 |
0 |
T3 |
11 |
11 |
0 |
0 |
T4 |
11 |
11 |
0 |
0 |
T5 |
11 |
11 |
0 |
0 |
T6 |
11 |
11 |
0 |
0 |
T7 |
11 |
11 |
0 |
0 |
T8 |
11 |
11 |
0 |
0 |
T11 |
11 |
11 |
0 |
0 |
T12 |
11 |
11 |
0 |
0 |
Line Coverage for Instance : tb.dut.gen_partitions[0].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
TOTAL | | 14 | 14 | 100.00 |
ALWAYS | 46 | 8 | 8 | 100.00 |
CONT_ASSIGN | 87 | 1 | 1 | 100.00 |
ALWAYS | 90 | 5 | 5 | 100.00 |
45 always_comb begin : p_write
46 1/1 data_o = data_q;
Tests: T1 T2 T3
47 1/1 data_d = data_q;
Tests: T1 T2 T3
48 1/1 ecc_d = ecc_q;
Tests: T1 T2 T3
49
50 1/1 rdata_o = '0;
Tests: T1 T2 T3
51 1/1 if (32'(addr_i) < Depth) begin
Tests: T1 T2 T3
52 1/1 rdata_o = data_q[0];
Tests: T1 T2 T3
53 1/1 if (wren_i) begin
Tests: T1 T2 T3
54 1/1 {ecc_d[0], data_d[0]} = ecc_enc;
Tests: T1 T2 T3
55 end
MISSING_ELSE
56 end
==> MISSING_ELSE
57 end
58 end else begin : gen_multiple_words
59 always_comb begin : p_write
60 data_o = data_q;
61 data_d = data_q;
62 ecc_d = ecc_q;
63
64 rdata_o = '0;
65 if (32'(addr_i) < Depth) begin
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
69 end
70 end
71 end
72 end
73
74 // Concurrent ECC checks.
75 logic [Depth-1:0][1:0] err;
76 for (genvar k = 0; k < Depth; k++) begin : gen_ecc_dec
77 prim_secded_inv_72_64_dec u_prim_secded_inv_72_64_dec (
78 .data_i({ecc_q[k], data_q[k]}),
79 // We only rely on the error detection mechanism,
80 // and not on error correction.
81 .data_o(),
82 .syndrome_o(),
83 .err_o(err[k])
84 );
85 end
86
87 1/1 assign ecc_err_o = |err;
Tests: T1 T2 T3
88
89 always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
90 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
91 1/1 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
Tests: T1 T2 T3
92 1/1 data_q <= '0;
Tests: T1 T2 T3
93 end else begin
94 1/1 ecc_q <= ecc_d;
Tests: T1 T2 T3
95 1/1 data_q <= data_d;
Tests: T1 T2 T3
Branch Coverage for Instance : tb.dut.gen_partitions[0].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
Branches |
|
5 |
4 |
80.00 |
IF |
90 |
2 |
2 |
100.00 |
IF |
65 |
3 |
2 |
66.67 |
90 if (!rst_ni) begin
-1-
91 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
==>
92 data_q <= '0;
93 end else begin
94 ecc_q <= ecc_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
65 if (32'(addr_i) < Depth) begin
-1-
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
-2-
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
==>
69 end
MISSING_ELSE
==>
70 end
MISSING_ELSE
==>
Branches:
-1- | -2- | Status | Tests |
1 |
1 |
Covered |
T1,T2,T3 |
1 |
0 |
Covered |
T1,T2,T3 |
0 |
- |
Not Covered |
|
Assert Coverage for Instance : tb.dut.gen_partitions[0].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
Assertion Details
DataKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
DataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccErrKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
RDataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
WidthMustBe64bit_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
1131 |
1131 |
0 |
0 |
T1 |
1 |
1 |
0 |
0 |
T2 |
1 |
1 |
0 |
0 |
T3 |
1 |
1 |
0 |
0 |
T4 |
1 |
1 |
0 |
0 |
T5 |
1 |
1 |
0 |
0 |
T6 |
1 |
1 |
0 |
0 |
T7 |
1 |
1 |
0 |
0 |
T8 |
1 |
1 |
0 |
0 |
T11 |
1 |
1 |
0 |
0 |
T12 |
1 |
1 |
0 |
0 |
Line Coverage for Instance : tb.dut.gen_partitions[1].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
TOTAL | | 14 | 14 | 100.00 |
ALWAYS | 46 | 8 | 8 | 100.00 |
CONT_ASSIGN | 87 | 1 | 1 | 100.00 |
ALWAYS | 90 | 5 | 5 | 100.00 |
45 always_comb begin : p_write
46 1/1 data_o = data_q;
Tests: T1 T2 T3
47 1/1 data_d = data_q;
Tests: T1 T2 T3
48 1/1 ecc_d = ecc_q;
Tests: T1 T2 T3
49
50 1/1 rdata_o = '0;
Tests: T1 T2 T3
51 1/1 if (32'(addr_i) < Depth) begin
Tests: T1 T2 T3
52 1/1 rdata_o = data_q[0];
Tests: T1 T2 T3
53 1/1 if (wren_i) begin
Tests: T1 T2 T3
54 1/1 {ecc_d[0], data_d[0]} = ecc_enc;
Tests: T1 T2 T3
55 end
MISSING_ELSE
56 end
==> MISSING_ELSE
57 end
58 end else begin : gen_multiple_words
59 always_comb begin : p_write
60 data_o = data_q;
61 data_d = data_q;
62 ecc_d = ecc_q;
63
64 rdata_o = '0;
65 if (32'(addr_i) < Depth) begin
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
69 end
70 end
71 end
72 end
73
74 // Concurrent ECC checks.
75 logic [Depth-1:0][1:0] err;
76 for (genvar k = 0; k < Depth; k++) begin : gen_ecc_dec
77 prim_secded_inv_72_64_dec u_prim_secded_inv_72_64_dec (
78 .data_i({ecc_q[k], data_q[k]}),
79 // We only rely on the error detection mechanism,
80 // and not on error correction.
81 .data_o(),
82 .syndrome_o(),
83 .err_o(err[k])
84 );
85 end
86
87 1/1 assign ecc_err_o = |err;
Tests: T1 T2 T3
88
89 always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
90 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
91 1/1 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
Tests: T1 T2 T3
92 1/1 data_q <= '0;
Tests: T1 T2 T3
93 end else begin
94 1/1 ecc_q <= ecc_d;
Tests: T1 T2 T3
95 1/1 data_q <= data_d;
Tests: T1 T2 T3
Branch Coverage for Instance : tb.dut.gen_partitions[1].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
Branches |
|
5 |
4 |
80.00 |
IF |
90 |
2 |
2 |
100.00 |
IF |
65 |
3 |
2 |
66.67 |
90 if (!rst_ni) begin
-1-
91 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
==>
92 data_q <= '0;
93 end else begin
94 ecc_q <= ecc_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
65 if (32'(addr_i) < Depth) begin
-1-
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
-2-
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
==>
69 end
MISSING_ELSE
==>
70 end
MISSING_ELSE
==>
Branches:
-1- | -2- | Status | Tests |
1 |
1 |
Covered |
T1,T2,T3 |
1 |
0 |
Covered |
T1,T2,T3 |
0 |
- |
Not Covered |
|
Assert Coverage for Instance : tb.dut.gen_partitions[1].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
Assertion Details
DataKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
DataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccErrKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
RDataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
WidthMustBe64bit_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
1131 |
1131 |
0 |
0 |
T1 |
1 |
1 |
0 |
0 |
T2 |
1 |
1 |
0 |
0 |
T3 |
1 |
1 |
0 |
0 |
T4 |
1 |
1 |
0 |
0 |
T5 |
1 |
1 |
0 |
0 |
T6 |
1 |
1 |
0 |
0 |
T7 |
1 |
1 |
0 |
0 |
T8 |
1 |
1 |
0 |
0 |
T11 |
1 |
1 |
0 |
0 |
T12 |
1 |
1 |
0 |
0 |
Line Coverage for Instance : tb.dut.gen_partitions[2].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
TOTAL | | 14 | 14 | 100.00 |
ALWAYS | 46 | 8 | 8 | 100.00 |
CONT_ASSIGN | 87 | 1 | 1 | 100.00 |
ALWAYS | 90 | 5 | 5 | 100.00 |
45 always_comb begin : p_write
46 1/1 data_o = data_q;
Tests: T1 T2 T3
47 1/1 data_d = data_q;
Tests: T1 T2 T3
48 1/1 ecc_d = ecc_q;
Tests: T1 T2 T3
49
50 1/1 rdata_o = '0;
Tests: T1 T2 T3
51 1/1 if (32'(addr_i) < Depth) begin
Tests: T1 T2 T3
52 1/1 rdata_o = data_q[0];
Tests: T1 T2 T3
53 1/1 if (wren_i) begin
Tests: T1 T2 T3
54 1/1 {ecc_d[0], data_d[0]} = ecc_enc;
Tests: T1 T2 T3
55 end
MISSING_ELSE
56 end
==> MISSING_ELSE
57 end
58 end else begin : gen_multiple_words
59 always_comb begin : p_write
60 data_o = data_q;
61 data_d = data_q;
62 ecc_d = ecc_q;
63
64 rdata_o = '0;
65 if (32'(addr_i) < Depth) begin
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
69 end
70 end
71 end
72 end
73
74 // Concurrent ECC checks.
75 logic [Depth-1:0][1:0] err;
76 for (genvar k = 0; k < Depth; k++) begin : gen_ecc_dec
77 prim_secded_inv_72_64_dec u_prim_secded_inv_72_64_dec (
78 .data_i({ecc_q[k], data_q[k]}),
79 // We only rely on the error detection mechanism,
80 // and not on error correction.
81 .data_o(),
82 .syndrome_o(),
83 .err_o(err[k])
84 );
85 end
86
87 1/1 assign ecc_err_o = |err;
Tests: T1 T2 T3
88
89 always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
90 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
91 1/1 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
Tests: T1 T2 T3
92 1/1 data_q <= '0;
Tests: T1 T2 T3
93 end else begin
94 1/1 ecc_q <= ecc_d;
Tests: T1 T2 T3
95 1/1 data_q <= data_d;
Tests: T1 T2 T3
Branch Coverage for Instance : tb.dut.gen_partitions[2].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
Branches |
|
5 |
4 |
80.00 |
IF |
90 |
2 |
2 |
100.00 |
IF |
65 |
3 |
2 |
66.67 |
90 if (!rst_ni) begin
-1-
91 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
==>
92 data_q <= '0;
93 end else begin
94 ecc_q <= ecc_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
65 if (32'(addr_i) < Depth) begin
-1-
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
-2-
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
==>
69 end
MISSING_ELSE
==>
70 end
MISSING_ELSE
==>
Branches:
-1- | -2- | Status | Tests |
1 |
1 |
Covered |
T1,T2,T3 |
1 |
0 |
Covered |
T1,T2,T3 |
0 |
- |
Not Covered |
|
Assert Coverage for Instance : tb.dut.gen_partitions[2].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
Assertion Details
DataKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
DataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccErrKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
RDataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
WidthMustBe64bit_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
1131 |
1131 |
0 |
0 |
T1 |
1 |
1 |
0 |
0 |
T2 |
1 |
1 |
0 |
0 |
T3 |
1 |
1 |
0 |
0 |
T4 |
1 |
1 |
0 |
0 |
T5 |
1 |
1 |
0 |
0 |
T6 |
1 |
1 |
0 |
0 |
T7 |
1 |
1 |
0 |
0 |
T8 |
1 |
1 |
0 |
0 |
T11 |
1 |
1 |
0 |
0 |
T12 |
1 |
1 |
0 |
0 |
Line Coverage for Instance : tb.dut.gen_partitions[3].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
TOTAL | | 14 | 14 | 100.00 |
ALWAYS | 46 | 8 | 8 | 100.00 |
CONT_ASSIGN | 87 | 1 | 1 | 100.00 |
ALWAYS | 90 | 5 | 5 | 100.00 |
45 always_comb begin : p_write
46 1/1 data_o = data_q;
Tests: T1 T2 T3
47 1/1 data_d = data_q;
Tests: T1 T2 T3
48 1/1 ecc_d = ecc_q;
Tests: T1 T2 T3
49
50 1/1 rdata_o = '0;
Tests: T1 T2 T3
51 1/1 if (32'(addr_i) < Depth) begin
Tests: T1 T2 T3
52 1/1 rdata_o = data_q[0];
Tests: T1 T2 T3
53 1/1 if (wren_i) begin
Tests: T1 T2 T3
54 1/1 {ecc_d[0], data_d[0]} = ecc_enc;
Tests: T1 T2 T3
55 end
MISSING_ELSE
56 end
==> MISSING_ELSE
57 end
58 end else begin : gen_multiple_words
59 always_comb begin : p_write
60 data_o = data_q;
61 data_d = data_q;
62 ecc_d = ecc_q;
63
64 rdata_o = '0;
65 if (32'(addr_i) < Depth) begin
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
69 end
70 end
71 end
72 end
73
74 // Concurrent ECC checks.
75 logic [Depth-1:0][1:0] err;
76 for (genvar k = 0; k < Depth; k++) begin : gen_ecc_dec
77 prim_secded_inv_72_64_dec u_prim_secded_inv_72_64_dec (
78 .data_i({ecc_q[k], data_q[k]}),
79 // We only rely on the error detection mechanism,
80 // and not on error correction.
81 .data_o(),
82 .syndrome_o(),
83 .err_o(err[k])
84 );
85 end
86
87 1/1 assign ecc_err_o = |err;
Tests: T1 T2 T3
88
89 always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
90 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
91 1/1 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
Tests: T1 T2 T3
92 1/1 data_q <= '0;
Tests: T1 T2 T3
93 end else begin
94 1/1 ecc_q <= ecc_d;
Tests: T1 T2 T3
95 1/1 data_q <= data_d;
Tests: T1 T2 T3
Branch Coverage for Instance : tb.dut.gen_partitions[3].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
Branches |
|
5 |
4 |
80.00 |
IF |
90 |
2 |
2 |
100.00 |
IF |
65 |
3 |
2 |
66.67 |
90 if (!rst_ni) begin
-1-
91 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
==>
92 data_q <= '0;
93 end else begin
94 ecc_q <= ecc_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
65 if (32'(addr_i) < Depth) begin
-1-
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
-2-
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
==>
69 end
MISSING_ELSE
==>
70 end
MISSING_ELSE
==>
Branches:
-1- | -2- | Status | Tests |
1 |
1 |
Covered |
T1,T2,T3 |
1 |
0 |
Covered |
T1,T2,T3 |
0 |
- |
Not Covered |
|
Assert Coverage for Instance : tb.dut.gen_partitions[3].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
Assertion Details
DataKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
DataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccErrKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
RDataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
WidthMustBe64bit_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
1131 |
1131 |
0 |
0 |
T1 |
1 |
1 |
0 |
0 |
T2 |
1 |
1 |
0 |
0 |
T3 |
1 |
1 |
0 |
0 |
T4 |
1 |
1 |
0 |
0 |
T5 |
1 |
1 |
0 |
0 |
T6 |
1 |
1 |
0 |
0 |
T7 |
1 |
1 |
0 |
0 |
T8 |
1 |
1 |
0 |
0 |
T11 |
1 |
1 |
0 |
0 |
T12 |
1 |
1 |
0 |
0 |
Line Coverage for Instance : tb.dut.gen_partitions[4].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
TOTAL | | 14 | 14 | 100.00 |
ALWAYS | 46 | 8 | 8 | 100.00 |
CONT_ASSIGN | 87 | 1 | 1 | 100.00 |
ALWAYS | 90 | 5 | 5 | 100.00 |
45 always_comb begin : p_write
46 1/1 data_o = data_q;
Tests: T1 T2 T3
47 1/1 data_d = data_q;
Tests: T1 T2 T3
48 1/1 ecc_d = ecc_q;
Tests: T1 T2 T3
49
50 1/1 rdata_o = '0;
Tests: T1 T2 T3
51 1/1 if (32'(addr_i) < Depth) begin
Tests: T1 T2 T3
52 1/1 rdata_o = data_q[0];
Tests: T1 T2 T3
53 1/1 if (wren_i) begin
Tests: T1 T2 T3
54 1/1 {ecc_d[0], data_d[0]} = ecc_enc;
Tests: T1 T2 T3
55 end
MISSING_ELSE
56 end
==> MISSING_ELSE
57 end
58 end else begin : gen_multiple_words
59 always_comb begin : p_write
60 data_o = data_q;
61 data_d = data_q;
62 ecc_d = ecc_q;
63
64 rdata_o = '0;
65 if (32'(addr_i) < Depth) begin
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
69 end
70 end
71 end
72 end
73
74 // Concurrent ECC checks.
75 logic [Depth-1:0][1:0] err;
76 for (genvar k = 0; k < Depth; k++) begin : gen_ecc_dec
77 prim_secded_inv_72_64_dec u_prim_secded_inv_72_64_dec (
78 .data_i({ecc_q[k], data_q[k]}),
79 // We only rely on the error detection mechanism,
80 // and not on error correction.
81 .data_o(),
82 .syndrome_o(),
83 .err_o(err[k])
84 );
85 end
86
87 1/1 assign ecc_err_o = |err;
Tests: T1 T2 T3
88
89 always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
90 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
91 1/1 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
Tests: T1 T2 T3
92 1/1 data_q <= '0;
Tests: T1 T2 T3
93 end else begin
94 1/1 ecc_q <= ecc_d;
Tests: T1 T2 T3
95 1/1 data_q <= data_d;
Tests: T1 T2 T3
Branch Coverage for Instance : tb.dut.gen_partitions[4].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
Branches |
|
5 |
4 |
80.00 |
IF |
90 |
2 |
2 |
100.00 |
IF |
65 |
3 |
2 |
66.67 |
90 if (!rst_ni) begin
-1-
91 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
==>
92 data_q <= '0;
93 end else begin
94 ecc_q <= ecc_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
65 if (32'(addr_i) < Depth) begin
-1-
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
-2-
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
==>
69 end
MISSING_ELSE
==>
70 end
MISSING_ELSE
==>
Branches:
-1- | -2- | Status | Tests |
1 |
1 |
Covered |
T1,T2,T3 |
1 |
0 |
Covered |
T1,T2,T3 |
0 |
- |
Not Covered |
|
Assert Coverage for Instance : tb.dut.gen_partitions[4].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg
Assertion Details
DataKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
DataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccErrKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
RDataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
WidthMustBe64bit_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
1131 |
1131 |
0 |
0 |
T1 |
1 |
1 |
0 |
0 |
T2 |
1 |
1 |
0 |
0 |
T3 |
1 |
1 |
0 |
0 |
T4 |
1 |
1 |
0 |
0 |
T5 |
1 |
1 |
0 |
0 |
T6 |
1 |
1 |
0 |
0 |
T7 |
1 |
1 |
0 |
0 |
T8 |
1 |
1 |
0 |
0 |
T11 |
1 |
1 |
0 |
0 |
T12 |
1 |
1 |
0 |
0 |
Line Coverage for Instance : tb.dut.gen_partitions[5].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
TOTAL | | 14 | 14 | 100.00 |
ALWAYS | 60 | 8 | 8 | 100.00 |
CONT_ASSIGN | 87 | 1 | 1 | 100.00 |
ALWAYS | 90 | 5 | 5 | 100.00 |
59 always_comb begin : p_write
60 1/1 data_o = data_q;
Tests: T1 T2 T3
61 1/1 data_d = data_q;
Tests: T1 T2 T3
62 1/1 ecc_d = ecc_q;
Tests: T1 T2 T3
63
64 1/1 rdata_o = '0;
Tests: T1 T2 T3
65 1/1 if (32'(addr_i) < Depth) begin
Tests: T1 T2 T3
66 1/1 rdata_o = data_q[addr_i];
Tests: T1 T2 T3
67 1/1 if (wren_i) begin
Tests: T1 T2 T3
68 1/1 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
Tests: T1 T2 T3
69 end
MISSING_ELSE
70 end
MISSING_ELSE
71 end
72 end
73
74 // Concurrent ECC checks.
75 logic [Depth-1:0][1:0] err;
76 for (genvar k = 0; k < Depth; k++) begin : gen_ecc_dec
77 prim_secded_inv_72_64_dec u_prim_secded_inv_72_64_dec (
78 .data_i({ecc_q[k], data_q[k]}),
79 // We only rely on the error detection mechanism,
80 // and not on error correction.
81 .data_o(),
82 .syndrome_o(),
83 .err_o(err[k])
84 );
85 end
86
87 1/1 assign ecc_err_o = |err;
Tests: T1 T2 T3
88
89 always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
90 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
91 1/1 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
Tests: T1 T2 T3
92 1/1 data_q <= '0;
Tests: T1 T2 T3
93 end else begin
94 1/1 ecc_q <= ecc_d;
Tests: T1 T2 T3
95 1/1 data_q <= data_d;
Tests: T1 T2 T3
Branch Coverage for Instance : tb.dut.gen_partitions[5].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
Branches |
|
5 |
5 |
100.00 |
IF |
90 |
2 |
2 |
100.00 |
IF |
65 |
3 |
3 |
100.00 |
90 if (!rst_ni) begin
-1-
91 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
==>
92 data_q <= '0;
93 end else begin
94 ecc_q <= ecc_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
65 if (32'(addr_i) < Depth) begin
-1-
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
-2-
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
==>
69 end
MISSING_ELSE
==>
70 end
MISSING_ELSE
==>
Branches:
-1- | -2- | Status | Tests |
1 |
1 |
Covered |
T1,T2,T3 |
1 |
0 |
Covered |
T1,T2,T3 |
0 |
- |
Covered |
T22 |
Assert Coverage for Instance : tb.dut.gen_partitions[5].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
Assertion Details
DataKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
DataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccErrKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
RDataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
WidthMustBe64bit_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
1131 |
1131 |
0 |
0 |
T1 |
1 |
1 |
0 |
0 |
T2 |
1 |
1 |
0 |
0 |
T3 |
1 |
1 |
0 |
0 |
T4 |
1 |
1 |
0 |
0 |
T5 |
1 |
1 |
0 |
0 |
T6 |
1 |
1 |
0 |
0 |
T7 |
1 |
1 |
0 |
0 |
T8 |
1 |
1 |
0 |
0 |
T11 |
1 |
1 |
0 |
0 |
T12 |
1 |
1 |
0 |
0 |
Line Coverage for Instance : tb.dut.gen_partitions[6].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
TOTAL | | 14 | 14 | 100.00 |
ALWAYS | 60 | 8 | 8 | 100.00 |
CONT_ASSIGN | 87 | 1 | 1 | 100.00 |
ALWAYS | 90 | 5 | 5 | 100.00 |
59 always_comb begin : p_write
60 1/1 data_o = data_q;
Tests: T1 T2 T3
61 1/1 data_d = data_q;
Tests: T1 T2 T3
62 1/1 ecc_d = ecc_q;
Tests: T1 T2 T3
63
64 1/1 rdata_o = '0;
Tests: T1 T2 T3
65 1/1 if (32'(addr_i) < Depth) begin
Tests: T1 T2 T3
66 1/1 rdata_o = data_q[addr_i];
Tests: T1 T2 T3
67 1/1 if (wren_i) begin
Tests: T1 T2 T3
68 1/1 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
Tests: T1 T2 T3
69 end
MISSING_ELSE
70 end
==> MISSING_ELSE
71 end
72 end
73
74 // Concurrent ECC checks.
75 logic [Depth-1:0][1:0] err;
76 for (genvar k = 0; k < Depth; k++) begin : gen_ecc_dec
77 prim_secded_inv_72_64_dec u_prim_secded_inv_72_64_dec (
78 .data_i({ecc_q[k], data_q[k]}),
79 // We only rely on the error detection mechanism,
80 // and not on error correction.
81 .data_o(),
82 .syndrome_o(),
83 .err_o(err[k])
84 );
85 end
86
87 1/1 assign ecc_err_o = |err;
Tests: T1 T2 T3
88
89 always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
90 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
91 1/1 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
Tests: T1 T2 T3
92 1/1 data_q <= '0;
Tests: T1 T2 T3
93 end else begin
94 1/1 ecc_q <= ecc_d;
Tests: T1 T2 T3
95 1/1 data_q <= data_d;
Tests: T1 T2 T3
Branch Coverage for Instance : tb.dut.gen_partitions[6].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
Branches |
|
4 |
4 |
100.00 |
IF |
90 |
2 |
2 |
100.00 |
IF |
65 |
2 |
2 |
100.00 |
90 if (!rst_ni) begin
-1-
91 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
==>
92 data_q <= '0;
93 end else begin
94 ecc_q <= ecc_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
65 if (32'(addr_i) < Depth) begin
-1-
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
-2-
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
==>
69 end
MISSING_ELSE
==>
70 end
MISSING_ELSE
==> (Excluded)
Exclude Annotation: VC_COV_UNR
Branches:
-1- | -2- | Status | Tests | Exclude Annotation |
1 |
1 |
Covered |
T1,T2,T3 |
|
1 |
0 |
Covered |
T1,T2,T3 |
|
0 |
- |
Excluded |
|
VC_COV_UNR |
Assert Coverage for Instance : tb.dut.gen_partitions[6].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
Assertion Details
DataKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
DataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccErrKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
RDataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
WidthMustBe64bit_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
1131 |
1131 |
0 |
0 |
T1 |
1 |
1 |
0 |
0 |
T2 |
1 |
1 |
0 |
0 |
T3 |
1 |
1 |
0 |
0 |
T4 |
1 |
1 |
0 |
0 |
T5 |
1 |
1 |
0 |
0 |
T6 |
1 |
1 |
0 |
0 |
T7 |
1 |
1 |
0 |
0 |
T8 |
1 |
1 |
0 |
0 |
T11 |
1 |
1 |
0 |
0 |
T12 |
1 |
1 |
0 |
0 |
Line Coverage for Instance : tb.dut.gen_partitions[7].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
TOTAL | | 14 | 14 | 100.00 |
ALWAYS | 60 | 8 | 8 | 100.00 |
CONT_ASSIGN | 87 | 1 | 1 | 100.00 |
ALWAYS | 90 | 5 | 5 | 100.00 |
59 always_comb begin : p_write
60 1/1 data_o = data_q;
Tests: T1 T2 T3
61 1/1 data_d = data_q;
Tests: T1 T2 T3
62 1/1 ecc_d = ecc_q;
Tests: T1 T2 T3
63
64 1/1 rdata_o = '0;
Tests: T1 T2 T3
65 1/1 if (32'(addr_i) < Depth) begin
Tests: T1 T2 T3
66 1/1 rdata_o = data_q[addr_i];
Tests: T1 T2 T3
67 1/1 if (wren_i) begin
Tests: T1 T2 T3
68 1/1 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
Tests: T1 T2 T3
69 end
MISSING_ELSE
70 end
MISSING_ELSE
71 end
72 end
73
74 // Concurrent ECC checks.
75 logic [Depth-1:0][1:0] err;
76 for (genvar k = 0; k < Depth; k++) begin : gen_ecc_dec
77 prim_secded_inv_72_64_dec u_prim_secded_inv_72_64_dec (
78 .data_i({ecc_q[k], data_q[k]}),
79 // We only rely on the error detection mechanism,
80 // and not on error correction.
81 .data_o(),
82 .syndrome_o(),
83 .err_o(err[k])
84 );
85 end
86
87 1/1 assign ecc_err_o = |err;
Tests: T1 T2 T3
88
89 always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
90 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
91 1/1 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
Tests: T1 T2 T3
92 1/1 data_q <= '0;
Tests: T1 T2 T3
93 end else begin
94 1/1 ecc_q <= ecc_d;
Tests: T1 T2 T3
95 1/1 data_q <= data_d;
Tests: T1 T2 T3
Branch Coverage for Instance : tb.dut.gen_partitions[7].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
Branches |
|
5 |
5 |
100.00 |
IF |
90 |
2 |
2 |
100.00 |
IF |
65 |
3 |
3 |
100.00 |
90 if (!rst_ni) begin
-1-
91 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
==>
92 data_q <= '0;
93 end else begin
94 ecc_q <= ecc_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
65 if (32'(addr_i) < Depth) begin
-1-
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
-2-
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
==>
69 end
MISSING_ELSE
==>
70 end
MISSING_ELSE
==>
Branches:
-1- | -2- | Status | Tests |
1 |
1 |
Covered |
T1,T2,T3 |
1 |
0 |
Covered |
T1,T2,T3 |
0 |
- |
Covered |
T22 |
Assert Coverage for Instance : tb.dut.gen_partitions[7].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
Assertion Details
DataKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
DataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccErrKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
RDataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
WidthMustBe64bit_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
1131 |
1131 |
0 |
0 |
T1 |
1 |
1 |
0 |
0 |
T2 |
1 |
1 |
0 |
0 |
T3 |
1 |
1 |
0 |
0 |
T4 |
1 |
1 |
0 |
0 |
T5 |
1 |
1 |
0 |
0 |
T6 |
1 |
1 |
0 |
0 |
T7 |
1 |
1 |
0 |
0 |
T8 |
1 |
1 |
0 |
0 |
T11 |
1 |
1 |
0 |
0 |
T12 |
1 |
1 |
0 |
0 |
Line Coverage for Instance : tb.dut.gen_partitions[8].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
TOTAL | | 14 | 14 | 100.00 |
ALWAYS | 60 | 8 | 8 | 100.00 |
CONT_ASSIGN | 87 | 1 | 1 | 100.00 |
ALWAYS | 90 | 5 | 5 | 100.00 |
59 always_comb begin : p_write
60 1/1 data_o = data_q;
Tests: T1 T2 T3
61 1/1 data_d = data_q;
Tests: T1 T2 T3
62 1/1 ecc_d = ecc_q;
Tests: T1 T2 T3
63
64 1/1 rdata_o = '0;
Tests: T1 T2 T3
65 1/1 if (32'(addr_i) < Depth) begin
Tests: T1 T2 T3
66 1/1 rdata_o = data_q[addr_i];
Tests: T1 T2 T3
67 1/1 if (wren_i) begin
Tests: T1 T2 T3
68 1/1 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
Tests: T1 T2 T3
69 end
MISSING_ELSE
70 end
MISSING_ELSE
71 end
72 end
73
74 // Concurrent ECC checks.
75 logic [Depth-1:0][1:0] err;
76 for (genvar k = 0; k < Depth; k++) begin : gen_ecc_dec
77 prim_secded_inv_72_64_dec u_prim_secded_inv_72_64_dec (
78 .data_i({ecc_q[k], data_q[k]}),
79 // We only rely on the error detection mechanism,
80 // and not on error correction.
81 .data_o(),
82 .syndrome_o(),
83 .err_o(err[k])
84 );
85 end
86
87 1/1 assign ecc_err_o = |err;
Tests: T1 T2 T3
88
89 always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
90 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
91 1/1 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
Tests: T1 T2 T3
92 1/1 data_q <= '0;
Tests: T1 T2 T3
93 end else begin
94 1/1 ecc_q <= ecc_d;
Tests: T1 T2 T3
95 1/1 data_q <= data_d;
Tests: T1 T2 T3
Branch Coverage for Instance : tb.dut.gen_partitions[8].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
Branches |
|
5 |
5 |
100.00 |
IF |
90 |
2 |
2 |
100.00 |
IF |
65 |
3 |
3 |
100.00 |
90 if (!rst_ni) begin
-1-
91 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
==>
92 data_q <= '0;
93 end else begin
94 ecc_q <= ecc_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
65 if (32'(addr_i) < Depth) begin
-1-
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
-2-
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
==>
69 end
MISSING_ELSE
==>
70 end
MISSING_ELSE
==>
Branches:
-1- | -2- | Status | Tests |
1 |
1 |
Covered |
T1,T2,T3 |
1 |
0 |
Covered |
T1,T2,T3 |
0 |
- |
Covered |
T22 |
Assert Coverage for Instance : tb.dut.gen_partitions[8].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
Assertion Details
DataKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
DataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccErrKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
RDataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
WidthMustBe64bit_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
1131 |
1131 |
0 |
0 |
T1 |
1 |
1 |
0 |
0 |
T2 |
1 |
1 |
0 |
0 |
T3 |
1 |
1 |
0 |
0 |
T4 |
1 |
1 |
0 |
0 |
T5 |
1 |
1 |
0 |
0 |
T6 |
1 |
1 |
0 |
0 |
T7 |
1 |
1 |
0 |
0 |
T8 |
1 |
1 |
0 |
0 |
T11 |
1 |
1 |
0 |
0 |
T12 |
1 |
1 |
0 |
0 |
Line Coverage for Instance : tb.dut.gen_partitions[9].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
TOTAL | | 14 | 14 | 100.00 |
ALWAYS | 60 | 8 | 8 | 100.00 |
CONT_ASSIGN | 87 | 1 | 1 | 100.00 |
ALWAYS | 90 | 5 | 5 | 100.00 |
59 always_comb begin : p_write
60 1/1 data_o = data_q;
Tests: T1 T2 T3
61 1/1 data_d = data_q;
Tests: T1 T2 T3
62 1/1 ecc_d = ecc_q;
Tests: T1 T2 T3
63
64 1/1 rdata_o = '0;
Tests: T1 T2 T3
65 1/1 if (32'(addr_i) < Depth) begin
Tests: T1 T2 T3
66 1/1 rdata_o = data_q[addr_i];
Tests: T1 T2 T3
67 1/1 if (wren_i) begin
Tests: T1 T2 T3
68 1/1 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
Tests: T1 T2 T3
69 end
MISSING_ELSE
70 end
MISSING_ELSE
71 end
72 end
73
74 // Concurrent ECC checks.
75 logic [Depth-1:0][1:0] err;
76 for (genvar k = 0; k < Depth; k++) begin : gen_ecc_dec
77 prim_secded_inv_72_64_dec u_prim_secded_inv_72_64_dec (
78 .data_i({ecc_q[k], data_q[k]}),
79 // We only rely on the error detection mechanism,
80 // and not on error correction.
81 .data_o(),
82 .syndrome_o(),
83 .err_o(err[k])
84 );
85 end
86
87 1/1 assign ecc_err_o = |err;
Tests: T1 T2 T3
88
89 always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
90 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
91 1/1 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
Tests: T1 T2 T3
92 1/1 data_q <= '0;
Tests: T1 T2 T3
93 end else begin
94 1/1 ecc_q <= ecc_d;
Tests: T1 T2 T3
95 1/1 data_q <= data_d;
Tests: T1 T2 T3
Branch Coverage for Instance : tb.dut.gen_partitions[9].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
Branches |
|
5 |
5 |
100.00 |
IF |
90 |
2 |
2 |
100.00 |
IF |
65 |
3 |
3 |
100.00 |
90 if (!rst_ni) begin
-1-
91 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
==>
92 data_q <= '0;
93 end else begin
94 ecc_q <= ecc_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
65 if (32'(addr_i) < Depth) begin
-1-
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
-2-
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
==>
69 end
MISSING_ELSE
==>
70 end
MISSING_ELSE
==>
Branches:
-1- | -2- | Status | Tests |
1 |
1 |
Covered |
T1,T2,T3 |
1 |
0 |
Covered |
T1,T2,T3 |
0 |
- |
Covered |
T22 |
Assert Coverage for Instance : tb.dut.gen_partitions[9].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
Assertion Details
DataKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
DataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccErrKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
RDataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
WidthMustBe64bit_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
1131 |
1131 |
0 |
0 |
T1 |
1 |
1 |
0 |
0 |
T2 |
1 |
1 |
0 |
0 |
T3 |
1 |
1 |
0 |
0 |
T4 |
1 |
1 |
0 |
0 |
T5 |
1 |
1 |
0 |
0 |
T6 |
1 |
1 |
0 |
0 |
T7 |
1 |
1 |
0 |
0 |
T8 |
1 |
1 |
0 |
0 |
T11 |
1 |
1 |
0 |
0 |
T12 |
1 |
1 |
0 |
0 |
Line Coverage for Instance : tb.dut.gen_partitions[10].gen_lifecycle.u_part_buf.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
TOTAL | | 14 | 14 | 100.00 |
ALWAYS | 60 | 8 | 8 | 100.00 |
CONT_ASSIGN | 87 | 1 | 1 | 100.00 |
ALWAYS | 90 | 5 | 5 | 100.00 |
59 always_comb begin : p_write
60 1/1 data_o = data_q;
Tests: T1 T2 T3
61 1/1 data_d = data_q;
Tests: T1 T2 T3
62 1/1 ecc_d = ecc_q;
Tests: T1 T2 T3
63
64 1/1 rdata_o = '0;
Tests: T1 T2 T3
65 1/1 if (32'(addr_i) < Depth) begin
Tests: T1 T2 T3
66 1/1 rdata_o = data_q[addr_i];
Tests: T1 T2 T3
67 1/1 if (wren_i) begin
Tests: T1 T2 T3
68 1/1 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
Tests: T1 T2 T3
69 end
MISSING_ELSE
70 end
MISSING_ELSE
71 end
72 end
73
74 // Concurrent ECC checks.
75 logic [Depth-1:0][1:0] err;
76 for (genvar k = 0; k < Depth; k++) begin : gen_ecc_dec
77 prim_secded_inv_72_64_dec u_prim_secded_inv_72_64_dec (
78 .data_i({ecc_q[k], data_q[k]}),
79 // We only rely on the error detection mechanism,
80 // and not on error correction.
81 .data_o(),
82 .syndrome_o(),
83 .err_o(err[k])
84 );
85 end
86
87 1/1 assign ecc_err_o = |err;
Tests: T1 T2 T3
88
89 always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
90 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
91 1/1 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
Tests: T1 T2 T3
92 1/1 data_q <= '0;
Tests: T1 T2 T3
93 end else begin
94 1/1 ecc_q <= ecc_d;
Tests: T1 T2 T3
95 1/1 data_q <= data_d;
Tests: T1 T2 T3
Branch Coverage for Instance : tb.dut.gen_partitions[10].gen_lifecycle.u_part_buf.u_otp_ctrl_ecc_reg
| Line No. | Total | Covered | Percent |
Branches |
|
5 |
5 |
100.00 |
IF |
90 |
2 |
2 |
100.00 |
IF |
65 |
3 |
3 |
100.00 |
90 if (!rst_ni) begin
-1-
91 ecc_q <= {Depth{prim_secded_pkg::SecdedInv7264ZeroEcc}};
==>
92 data_q <= '0;
93 end else begin
94 ecc_q <= ecc_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
65 if (32'(addr_i) < Depth) begin
-1-
66 rdata_o = data_q[addr_i];
67 if (wren_i) begin
-2-
68 {ecc_d[addr_i], data_d[addr_i]} = ecc_enc;
==>
69 end
MISSING_ELSE
==>
70 end
MISSING_ELSE
==>
Branches:
-1- | -2- | Status | Tests |
1 |
1 |
Covered |
T1,T2,T3 |
1 |
0 |
Covered |
T1,T2,T3 |
0 |
- |
Covered |
T22 |
Assert Coverage for Instance : tb.dut.gen_partitions[10].gen_lifecycle.u_part_buf.u_otp_ctrl_ecc_reg
Assertion Details
DataKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
DataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccErrKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
EccKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
RDataOutKnown_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
86402046 |
85582582 |
0 |
0 |
T1 |
4645 |
4575 |
0 |
0 |
T2 |
12363 |
12093 |
0 |
0 |
T3 |
24357 |
24074 |
0 |
0 |
T4 |
24122 |
23847 |
0 |
0 |
T5 |
15827 |
15569 |
0 |
0 |
T6 |
48193 |
47189 |
0 |
0 |
T7 |
20458 |
20380 |
0 |
0 |
T8 |
30836 |
30604 |
0 |
0 |
T11 |
5091 |
5033 |
0 |
0 |
T12 |
14662 |
14387 |
0 |
0 |
WidthMustBe64bit_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
1131 |
1131 |
0 |
0 |
T1 |
1 |
1 |
0 |
0 |
T2 |
1 |
1 |
0 |
0 |
T3 |
1 |
1 |
0 |
0 |
T4 |
1 |
1 |
0 |
0 |
T5 |
1 |
1 |
0 |
0 |
T6 |
1 |
1 |
0 |
0 |
T7 |
1 |
1 |
0 |
0 |
T8 |
1 |
1 |
0 |
0 |
T11 |
1 |
1 |
0 |
0 |
T12 |
1 |
1 |
0 |
0 |