Module Definition
dashboard | hierarchy | modlist | groups | tests | asserts



Module Instance : tb.dut.gen_partitions[0].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
93.33 100.00 80.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
94.64 100.00 98.55 80.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
89.46 91.21 93.10 80.00 90.70 92.31 gen_partitions[0].gen_unbuffered.u_part_unbuf


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_ecc_dec[0].u_prim_secded_inv_72_64_dec 97.14 97.14
u_prim_secded_inv_72_64_enc 100.00 100.00



Module Instance : tb.dut.gen_partitions[1].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
93.33 100.00 80.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
94.64 100.00 98.55 80.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
93.12 96.70 93.94 83.33 95.45 96.15 gen_partitions[1].gen_unbuffered.u_part_unbuf


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_ecc_dec[0].u_prim_secded_inv_72_64_dec 97.14 97.14
u_prim_secded_inv_72_64_enc 100.00 100.00



Module Instance : tb.dut.gen_partitions[2].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
93.33 100.00 80.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
94.64 100.00 98.55 80.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
93.84 96.70 93.94 86.96 95.45 96.15 gen_partitions[2].gen_unbuffered.u_part_unbuf


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_ecc_dec[0].u_prim_secded_inv_72_64_dec 97.14 97.14
u_prim_secded_inv_72_64_enc 100.00 100.00



Module Instance : tb.dut.gen_partitions[3].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
93.33 100.00 80.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
94.64 100.00 98.55 80.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
93.12 96.70 93.94 83.33 95.45 96.15 gen_partitions[3].gen_unbuffered.u_part_unbuf


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_ecc_dec[0].u_prim_secded_inv_72_64_dec 97.14 97.14
u_prim_secded_inv_72_64_enc 100.00 100.00



Module Instance : tb.dut.gen_partitions[4].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
93.33 100.00 80.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.00 100.00 100.00 80.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
98.28 100.00 100.00 95.24 100.00 96.15 gen_partitions[4].gen_unbuffered.u_part_unbuf


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_ecc_dec[0].u_prim_secded_inv_72_64_dec 100.00 100.00
u_prim_secded_inv_72_64_enc 100.00 100.00



Module Instance : tb.dut.gen_partitions[5].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
95.30 100.00 97.62 96.00 100.00 82.86 gen_partitions[5].gen_buffered.u_part_buf


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_ecc_dec[0].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[1].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[2].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[3].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[4].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[5].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[6].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[7].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[8].u_prim_secded_inv_72_64_dec 100.00 100.00
u_prim_secded_inv_72_64_enc 100.00 100.00



Module Instance : tb.dut.gen_partitions[6].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
90.75 95.45 92.86 91.67 90.91 82.86 gen_partitions[6].gen_buffered.u_part_buf


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_ecc_dec[0].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[1].u_prim_secded_inv_72_64_dec 100.00 100.00
u_prim_secded_inv_72_64_enc 100.00 100.00



Module Instance : tb.dut.gen_partitions[7].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
94.95 98.00 93.75 91.67 96.88 94.44 gen_partitions[7].gen_buffered.u_part_buf


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_ecc_dec[0].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[1].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[2].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[3].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[4].u_prim_secded_inv_72_64_dec 100.00 100.00
u_prim_secded_inv_72_64_enc 100.00 100.00



Module Instance : tb.dut.gen_partitions[8].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
94.39 98.00 93.75 88.89 96.88 94.44 gen_partitions[8].gen_buffered.u_part_buf


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_ecc_dec[0].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[10].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[1].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[2].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[3].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[4].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[5].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[6].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[7].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[8].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[9].u_prim_secded_inv_72_64_dec 100.00 100.00
u_prim_secded_inv_72_64_enc 100.00 100.00



Module Instance : tb.dut.gen_partitions[9].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
94.95 98.00 93.75 91.67 96.88 94.44 gen_partitions[9].gen_buffered.u_part_buf


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_ecc_dec[0].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[10].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[1].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[2].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[3].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[4].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[5].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[6].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[7].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[8].u_prim_secded_inv_72_64_dec 100.00 100.00
gen_ecc_dec[9].u_prim_secded_inv_72_64_dec 100.00 100.00
u_prim_secded_inv_72_64_enc 100.00 100.00



Module Instance : tb.dut.gen_partitions[10].gen_lifecycle.u_part_buf.u_otp_ctrl_ecc_reg

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
93.75 100.00 75.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
94.90 96.91 100.00 95.24 100.00 82.35 gen_partitions[10].gen_lifecycle.u_part_buf


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_ecc_dec[0].u_prim_secded_inv_72_64_dec 75.00 75.00
gen_ecc_dec[10].u_prim_secded_inv_72_64_dec 74.26 74.26
gen_ecc_dec[1].u_prim_secded_inv_72_64_dec 70.59 70.59
gen_ecc_dec[2].u_prim_secded_inv_72_64_dec 72.06 72.06
gen_ecc_dec[3].u_prim_secded_inv_72_64_dec 75.00 75.00
gen_ecc_dec[4].u_prim_secded_inv_72_64_dec 74.26 74.26
gen_ecc_dec[5].u_prim_secded_inv_72_64_dec 72.06 72.06
gen_ecc_dec[6].u_prim_secded_inv_72_64_dec 76.47 76.47
gen_ecc_dec[7].u_prim_secded_inv_72_64_dec 68.38 68.38
gen_ecc_dec[8].u_prim_secded_inv_72_64_dec 72.06 72.06
gen_ecc_dec[9].u_prim_secded_inv_72_64_dec 69.85 69.85
u_prim_secded_inv_72_64_enc 100.00 100.00

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 :
SCORELINE
100.00 100.00
tb.dut.gen_partitions[5].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg

SCORELINE
100.00 100.00
tb.dut.gen_partitions[6].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg

SCORELINE
100.00 100.00
tb.dut.gen_partitions[7].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg

SCORELINE
100.00 100.00
tb.dut.gen_partitions[8].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg

SCORELINE
100.00 100.00
tb.dut.gen_partitions[9].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg

SCORELINE
100.00 100.00
tb.dut.gen_partitions[10].gen_lifecycle.u_part_buf.u_otp_ctrl_ecc_reg

Line No.TotalCoveredPercent
TOTAL1414100.00
ALWAYS6088100.00
CONT_ASSIGN8711100.00
ALWAYS9055100.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 :
SCORELINE
93.33 100.00
tb.dut.gen_partitions[0].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg

SCORELINE
93.33 100.00
tb.dut.gen_partitions[1].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg

SCORELINE
93.33 100.00
tb.dut.gen_partitions[2].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg

SCORELINE
93.33 100.00
tb.dut.gen_partitions[3].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg

SCORELINE
93.33 100.00
tb.dut.gen_partitions[4].gen_unbuffered.u_part_unbuf.gen_ecc_reg.u_otp_ctrl_ecc_reg

Line No.TotalCoveredPercent
TOTAL1414100.00
ALWAYS4688100.00
CONT_ASSIGN8711100.00
ALWAYS9055100.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.TotalCoveredPercent
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-StatusTests
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-StatusTests
1 1 Covered T1,T2,T3
1 0 Covered T1,T2,T3
0 - Covered T19,T20,T243


Assert Coverage for Module : otp_ctrl_ecc_reg
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 6 6 100.00 6 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 6 6 100.00 6 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataKnown_A 1080278529 1071005386 0 0
DataOutKnown_A 1080278529 1071005386 0 0
EccErrKnown_A 1080278529 1071005386 0 0
EccKnown_A 1080278529 1071005386 0 0
RDataOutKnown_A 1080278529 1071005386 0 0
WidthMustBe64bit_A 12474 12474 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1080278529 1071005386 0 0
T1 55572 54824 0 0
T2 134838 131527 0 0
T3 171204 168223 0 0
T4 142395 139480 0 0
T5 157146 154165 0 0
T6 494010 488873 0 0
T7 587763 579051 0 0
T11 51898 51095 0 0
T12 420574 419892 0 0
T13 138589 136455 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1080278529 1071005386 0 0
T1 55572 54824 0 0
T2 134838 131527 0 0
T3 171204 168223 0 0
T4 142395 139480 0 0
T5 157146 154165 0 0
T6 494010 488873 0 0
T7 587763 579051 0 0
T11 51898 51095 0 0
T12 420574 419892 0 0
T13 138589 136455 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1080278529 1071005386 0 0
T1 55572 54824 0 0
T2 134838 131527 0 0
T3 171204 168223 0 0
T4 142395 139480 0 0
T5 157146 154165 0 0
T6 494010 488873 0 0
T7 587763 579051 0 0
T11 51898 51095 0 0
T12 420574 419892 0 0
T13 138589 136455 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1080278529 1071005386 0 0
T1 55572 54824 0 0
T2 134838 131527 0 0
T3 171204 168223 0 0
T4 142395 139480 0 0
T5 157146 154165 0 0
T6 494010 488873 0 0
T7 587763 579051 0 0
T11 51898 51095 0 0
T12 420574 419892 0 0
T13 138589 136455 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1080278529 1071005386 0 0
T1 55572 54824 0 0
T2 134838 131527 0 0
T3 171204 168223 0 0
T4 142395 139480 0 0
T5 157146 154165 0 0
T6 494010 488873 0 0
T7 587763 579051 0 0
T11 51898 51095 0 0
T12 420574 419892 0 0
T13 138589 136455 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 12474 12474 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
T11 11 11 0 0
T12 11 11 0 0
T13 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.TotalCoveredPercent
TOTAL1414100.00
ALWAYS4688100.00
CONT_ASSIGN8711100.00
ALWAYS9055100.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.TotalCoveredPercent
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-StatusTests
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-StatusTests
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
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 6 6 100.00 6 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 6 6 100.00 6 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataKnown_A 98207139 97364126 0 0
DataOutKnown_A 98207139 97364126 0 0
EccErrKnown_A 98207139 97364126 0 0
EccKnown_A 98207139 97364126 0 0
RDataOutKnown_A 98207139 97364126 0 0
WidthMustBe64bit_A 1134 1134 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1134 1134 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
T11 1 1 0 0
T12 1 1 0 0
T13 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.TotalCoveredPercent
TOTAL1414100.00
ALWAYS4688100.00
CONT_ASSIGN8711100.00
ALWAYS9055100.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.TotalCoveredPercent
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-StatusTests
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-StatusTests
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
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 6 6 100.00 6 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 6 6 100.00 6 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataKnown_A 98207139 97364126 0 0
DataOutKnown_A 98207139 97364126 0 0
EccErrKnown_A 98207139 97364126 0 0
EccKnown_A 98207139 97364126 0 0
RDataOutKnown_A 98207139 97364126 0 0
WidthMustBe64bit_A 1134 1134 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1134 1134 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
T11 1 1 0 0
T12 1 1 0 0
T13 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.TotalCoveredPercent
TOTAL1414100.00
ALWAYS4688100.00
CONT_ASSIGN8711100.00
ALWAYS9055100.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.TotalCoveredPercent
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-StatusTests
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-StatusTests
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
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 6 6 100.00 6 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 6 6 100.00 6 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataKnown_A 98207139 97364126 0 0
DataOutKnown_A 98207139 97364126 0 0
EccErrKnown_A 98207139 97364126 0 0
EccKnown_A 98207139 97364126 0 0
RDataOutKnown_A 98207139 97364126 0 0
WidthMustBe64bit_A 1134 1134 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1134 1134 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
T11 1 1 0 0
T12 1 1 0 0
T13 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.TotalCoveredPercent
TOTAL1414100.00
ALWAYS4688100.00
CONT_ASSIGN8711100.00
ALWAYS9055100.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.TotalCoveredPercent
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-StatusTests
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-StatusTests
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
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 6 6 100.00 6 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 6 6 100.00 6 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataKnown_A 98207139 97364126 0 0
DataOutKnown_A 98207139 97364126 0 0
EccErrKnown_A 98207139 97364126 0 0
EccKnown_A 98207139 97364126 0 0
RDataOutKnown_A 98207139 97364126 0 0
WidthMustBe64bit_A 1134 1134 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1134 1134 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
T11 1 1 0 0
T12 1 1 0 0
T13 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.TotalCoveredPercent
TOTAL1414100.00
ALWAYS4688100.00
CONT_ASSIGN8711100.00
ALWAYS9055100.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.TotalCoveredPercent
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-StatusTests
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-StatusTests
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
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 6 6 100.00 6 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 6 6 100.00 6 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataKnown_A 98207139 97364126 0 0
DataOutKnown_A 98207139 97364126 0 0
EccErrKnown_A 98207139 97364126 0 0
EccKnown_A 98207139 97364126 0 0
RDataOutKnown_A 98207139 97364126 0 0
WidthMustBe64bit_A 1134 1134 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1134 1134 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
T11 1 1 0 0
T12 1 1 0 0
T13 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.TotalCoveredPercent
TOTAL1414100.00
ALWAYS6088100.00
CONT_ASSIGN8711100.00
ALWAYS9055100.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.TotalCoveredPercent
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-StatusTests
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-StatusTests
1 1 Covered T1,T2,T3
1 0 Covered T1,T2,T3
0 - Covered T19,T20,T243


Assert Coverage for Instance : tb.dut.gen_partitions[5].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 6 6 100.00 6 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 6 6 100.00 6 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataKnown_A 98207139 97364126 0 0
DataOutKnown_A 98207139 97364126 0 0
EccErrKnown_A 98207139 97364126 0 0
EccKnown_A 98207139 97364126 0 0
RDataOutKnown_A 98207139 97364126 0 0
WidthMustBe64bit_A 1134 1134 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1134 1134 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
T11 1 1 0 0
T12 1 1 0 0
T13 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.TotalCoveredPercent
TOTAL1414100.00
ALWAYS6088100.00
CONT_ASSIGN8711100.00
ALWAYS9055100.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.TotalCoveredPercent
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-StatusTests
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-StatusTestsExclude 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
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 6 6 100.00 6 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 6 6 100.00 6 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataKnown_A 98207139 97364126 0 0
DataOutKnown_A 98207139 97364126 0 0
EccErrKnown_A 98207139 97364126 0 0
EccKnown_A 98207139 97364126 0 0
RDataOutKnown_A 98207139 97364126 0 0
WidthMustBe64bit_A 1134 1134 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1134 1134 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
T11 1 1 0 0
T12 1 1 0 0
T13 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.TotalCoveredPercent
TOTAL1414100.00
ALWAYS6088100.00
CONT_ASSIGN8711100.00
ALWAYS9055100.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.TotalCoveredPercent
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-StatusTests
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-StatusTests
1 1 Covered T1,T2,T3
1 0 Covered T1,T2,T3
0 - Covered T19,T20,T243


Assert Coverage for Instance : tb.dut.gen_partitions[7].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 6 6 100.00 6 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 6 6 100.00 6 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataKnown_A 98207139 97364126 0 0
DataOutKnown_A 98207139 97364126 0 0
EccErrKnown_A 98207139 97364126 0 0
EccKnown_A 98207139 97364126 0 0
RDataOutKnown_A 98207139 97364126 0 0
WidthMustBe64bit_A 1134 1134 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1134 1134 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
T11 1 1 0 0
T12 1 1 0 0
T13 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.TotalCoveredPercent
TOTAL1414100.00
ALWAYS6088100.00
CONT_ASSIGN8711100.00
ALWAYS9055100.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.TotalCoveredPercent
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-StatusTests
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-StatusTests
1 1 Covered T1,T2,T3
1 0 Covered T1,T2,T3
0 - Covered T19,T20,T243


Assert Coverage for Instance : tb.dut.gen_partitions[8].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 6 6 100.00 6 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 6 6 100.00 6 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataKnown_A 98207139 97364126 0 0
DataOutKnown_A 98207139 97364126 0 0
EccErrKnown_A 98207139 97364126 0 0
EccKnown_A 98207139 97364126 0 0
RDataOutKnown_A 98207139 97364126 0 0
WidthMustBe64bit_A 1134 1134 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1134 1134 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
T11 1 1 0 0
T12 1 1 0 0
T13 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.TotalCoveredPercent
TOTAL1414100.00
ALWAYS6088100.00
CONT_ASSIGN8711100.00
ALWAYS9055100.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.TotalCoveredPercent
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-StatusTests
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-StatusTests
1 1 Covered T1,T2,T3
1 0 Covered T1,T2,T3
0 - Covered T19,T20,T243


Assert Coverage for Instance : tb.dut.gen_partitions[9].gen_buffered.u_part_buf.u_otp_ctrl_ecc_reg
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 6 6 100.00 6 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 6 6 100.00 6 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataKnown_A 98207139 97364126 0 0
DataOutKnown_A 98207139 97364126 0 0
EccErrKnown_A 98207139 97364126 0 0
EccKnown_A 98207139 97364126 0 0
RDataOutKnown_A 98207139 97364126 0 0
WidthMustBe64bit_A 1134 1134 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1134 1134 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
T11 1 1 0 0
T12 1 1 0 0
T13 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.TotalCoveredPercent
TOTAL1414100.00
ALWAYS6088100.00
CONT_ASSIGN8711100.00
ALWAYS9055100.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.TotalCoveredPercent
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-StatusTests
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-StatusTests
1 1 Covered T1,T2,T3
1 0 Covered T1,T2,T3
0 - Covered T19,T20,T243


Assert Coverage for Instance : tb.dut.gen_partitions[10].gen_lifecycle.u_part_buf.u_otp_ctrl_ecc_reg
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 6 6 100.00 6 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 6 6 100.00 6 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataKnown_A 98207139 97364126 0 0
DataOutKnown_A 98207139 97364126 0 0
EccErrKnown_A 98207139 97364126 0 0
EccKnown_A 98207139 97364126 0 0
RDataOutKnown_A 98207139 97364126 0 0
WidthMustBe64bit_A 1134 1134 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 98207139 97364126 0 0
T1 5052 4984 0 0
T2 12258 11957 0 0
T3 15564 15293 0 0
T4 12945 12680 0 0
T5 14286 14015 0 0
T6 44910 44443 0 0
T7 53433 52641 0 0
T11 4718 4645 0 0
T12 38234 38172 0 0
T13 12599 12405 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1134 1134 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
T11 1 1 0 0
T12 1 1 0 0
T13 1 1 0 0

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%