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
95.00 100.00 100.00 80.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
96.23 100.00 100.00 85.00 100.00 96.15 gen_partitions[0].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[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
95.00 100.00 100.00 80.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
98.33 100.00 100.00 91.67 100.00 100.00 gen_partitions[1].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[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
95.00 100.00 100.00 80.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
97.75 100.00 97.06 91.67 100.00 100.00 gen_partitions[2].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[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
95.00 100.00 100.00 80.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
98.33 100.00 100.00 91.67 100.00 100.00 gen_partitions[3].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[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.33 100.00 100.00 91.67 100.00 100.00 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
93.33 100.00 80.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.00 100.00 100.00 80.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
94.93 100.00 97.62 96.00 98.18 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[7].gen_buffered.u_part_buf.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
94.65 98.00 93.75 91.67 95.38 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
93.33 100.00 80.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.00 100.00 100.00 80.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
94.65 98.00 93.75 91.67 95.38 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
93.33 100.00 80.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.00 100.00 100.00 80.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
95.20 98.00 93.75 94.44 95.38 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
93.33 100.00 80.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
89.67 100.00 78.68 80.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
93.95 96.91 100.00 90.48 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 83.82 83.82
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 89.71 89.71
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 76.47 76.47
gen_ecc_dec[4].u_prim_secded_inv_72_64_dec 76.47 76.47
gen_ecc_dec[5].u_prim_secded_inv_72_64_dec 72.79 72.79
gen_ecc_dec[6].u_prim_secded_inv_72_64_dec 72.06 72.06
gen_ecc_dec[7].u_prim_secded_inv_72_64_dec 73.53 73.53
gen_ecc_dec[8].u_prim_secded_inv_72_64_dec 77.21 77.21
gen_ecc_dec[9].u_prim_secded_inv_72_64_dec 75.74 75.74
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

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

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

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

SCORELINE
93.33 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 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 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 971187228 962103274 0 0
DataOutKnown_A 971187228 962103274 0 0
EccErrKnown_A 971187228 962103274 0 0
EccKnown_A 971187228 962103274 0 0
RDataOutKnown_A 971187228 962103274 0 0
WidthMustBe64bit_A 12386 12386 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 971187228 962103274 0 0
T1 51216 50413 0 0
T2 111551 109615 0 0
T3 170544 168344 0 0
T4 134079 130526 0 0
T5 194425 189607 0 0
T6 231341 228217 0 0
T10 79277 78672 0 0
T11 418836 418132 0 0
T12 500093 490941 0 0
T13 143748 138963 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 971187228 962103274 0 0
T1 51216 50413 0 0
T2 111551 109615 0 0
T3 170544 168344 0 0
T4 134079 130526 0 0
T5 194425 189607 0 0
T6 231341 228217 0 0
T10 79277 78672 0 0
T11 418836 418132 0 0
T12 500093 490941 0 0
T13 143748 138963 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 971187228 962103274 0 0
T1 51216 50413 0 0
T2 111551 109615 0 0
T3 170544 168344 0 0
T4 134079 130526 0 0
T5 194425 189607 0 0
T6 231341 228217 0 0
T10 79277 78672 0 0
T11 418836 418132 0 0
T12 500093 490941 0 0
T13 143748 138963 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 971187228 962103274 0 0
T1 51216 50413 0 0
T2 111551 109615 0 0
T3 170544 168344 0 0
T4 134079 130526 0 0
T5 194425 189607 0 0
T6 231341 228217 0 0
T10 79277 78672 0 0
T11 418836 418132 0 0
T12 500093 490941 0 0
T13 143748 138963 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 971187228 962103274 0 0
T1 51216 50413 0 0
T2 111551 109615 0 0
T3 170544 168344 0 0
T4 134079 130526 0 0
T5 194425 189607 0 0
T6 231341 228217 0 0
T10 79277 78672 0 0
T11 418836 418132 0 0
T12 500093 490941 0 0
T13 143748 138963 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 12386 12386 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
T10 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 88289748 87463934 0 0
DataOutKnown_A 88289748 87463934 0 0
EccErrKnown_A 88289748 87463934 0 0
EccKnown_A 88289748 87463934 0 0
RDataOutKnown_A 88289748 87463934 0 0
WidthMustBe64bit_A 1126 1126 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1126 1126 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
T10 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 88289748 87463934 0 0
DataOutKnown_A 88289748 87463934 0 0
EccErrKnown_A 88289748 87463934 0 0
EccKnown_A 88289748 87463934 0 0
RDataOutKnown_A 88289748 87463934 0 0
WidthMustBe64bit_A 1126 1126 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1126 1126 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
T10 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 88289748 87463934 0 0
DataOutKnown_A 88289748 87463934 0 0
EccErrKnown_A 88289748 87463934 0 0
EccKnown_A 88289748 87463934 0 0
RDataOutKnown_A 88289748 87463934 0 0
WidthMustBe64bit_A 1126 1126 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1126 1126 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
T10 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 88289748 87463934 0 0
DataOutKnown_A 88289748 87463934 0 0
EccErrKnown_A 88289748 87463934 0 0
EccKnown_A 88289748 87463934 0 0
RDataOutKnown_A 88289748 87463934 0 0
WidthMustBe64bit_A 1126 1126 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1126 1126 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
T10 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 88289748 87463934 0 0
DataOutKnown_A 88289748 87463934 0 0
EccErrKnown_A 88289748 87463934 0 0
EccKnown_A 88289748 87463934 0 0
RDataOutKnown_A 88289748 87463934 0 0
WidthMustBe64bit_A 1126 1126 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1126 1126 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
T10 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 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[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 88289748 87463934 0 0
DataOutKnown_A 88289748 87463934 0 0
EccErrKnown_A 88289748 87463934 0 0
EccKnown_A 88289748 87463934 0 0
RDataOutKnown_A 88289748 87463934 0 0
WidthMustBe64bit_A 1126 1126 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1126 1126 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
T10 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 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[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 88289748 87463934 0 0
DataOutKnown_A 88289748 87463934 0 0
EccErrKnown_A 88289748 87463934 0 0
EccKnown_A 88289748 87463934 0 0
RDataOutKnown_A 88289748 87463934 0 0
WidthMustBe64bit_A 1126 1126 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1126 1126 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
T10 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 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[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 88289748 87463934 0 0
DataOutKnown_A 88289748 87463934 0 0
EccErrKnown_A 88289748 87463934 0 0
EccKnown_A 88289748 87463934 0 0
RDataOutKnown_A 88289748 87463934 0 0
WidthMustBe64bit_A 1126 1126 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1126 1126 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
T10 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 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[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 88289748 87463934 0 0
DataOutKnown_A 88289748 87463934 0 0
EccErrKnown_A 88289748 87463934 0 0
EccKnown_A 88289748 87463934 0 0
RDataOutKnown_A 88289748 87463934 0 0
WidthMustBe64bit_A 1126 1126 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1126 1126 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
T10 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 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[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 88289748 87463934 0 0
DataOutKnown_A 88289748 87463934 0 0
EccErrKnown_A 88289748 87463934 0 0
EccKnown_A 88289748 87463934 0 0
RDataOutKnown_A 88289748 87463934 0 0
WidthMustBe64bit_A 1126 1126 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1126 1126 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
T10 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 88289748 87463934 0 0
DataOutKnown_A 88289748 87463934 0 0
EccErrKnown_A 88289748 87463934 0 0
EccKnown_A 88289748 87463934 0 0
RDataOutKnown_A 88289748 87463934 0 0
WidthMustBe64bit_A 1126 1126 0 0


DataKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

DataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccErrKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

EccKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

RDataOutKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 88289748 87463934 0 0
T1 4656 4583 0 0
T2 10141 9965 0 0
T3 15504 15304 0 0
T4 12189 11866 0 0
T5 17675 17237 0 0
T6 21031 20747 0 0
T10 7207 7152 0 0
T11 38076 38012 0 0
T12 45463 44631 0 0
T13 13068 12633 0 0

WidthMustBe64bit_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1126 1126 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
T10 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%