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

Module : otp_ctrl_dai
SCORELINECONDTOGGLEFSMBRANCHASSERT
0.00 0.00 0.00 0.00 0.00

Source File(s) :
/workspace/default/sim-vcs/../src/lowrisc_ip_otp_ctrl_1.0/rtl/otp_ctrl_dai.sv

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.u_otp_ctrl_dai 0.00 0.00 0.00 0.00 0.00



Module Instance : tb.dut.u_otp_ctrl_dai

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
0.00 0.00 0.00 0.00 0.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
0.00 0.00 0.00 0.00 0.00 0.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
7.74 0.00 0.00 30.95 0.00 dut


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
u_part_sel_idx 0.00 0.00 0.00 0.00
u_prim_count 0.00 0.00
u_state_regs 0.00 0.00 0.00

Line Coverage for Module : otp_ctrl_dai
Line No.TotalCoveredPercent
TOTAL24700.00
ALWAYS169300.00
CONT_ASSIGN177100.00
CONT_ASSIGN179100.00
CONT_ASSIGN180100.00
CONT_ASSIGN184100.00
ALWAYS18719900.00
CONT_ASSIGN718100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
ALWAYS7531100.00
CONT_ASSIGN796100.00
CONT_ASSIGN797100.00
ALWAYS803300.00
ALWAYS8061400.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_otp_ctrl_1.0/rtl/otp_ctrl_dai.sv' or '../src/lowrisc_ip_otp_ctrl_1.0/rtl/otp_ctrl_dai.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
169 0 1
170 0 1
172 0 1
==> MISSING_ELSE
177 0 1
179 0 1
180 0 1
184 0 1
187 0 1
190 0 1
191 0 1
194 0 1
195 0 1
196 0 1
199 0 1
200 0 1
203 0 1
206 0 1
207 0 1
208 0 1
209 0 1
212 0 1
213 0 1
214 0 1
217 0 1
218 0 1
219 0 1
222 0 1
223 0 1
225 0 1
232 0 1
233 0 1
234 0 1
235 0 1
236 0 1
237 0 1
238 0 1
==> MISSING_ELSE
==> MISSING_ELSE
247 0 1
248 0 1
249 0 1
250 0 1
251 0 1
252 0 1
254 0 1
==> MISSING_ELSE
263 0 1
264 0 1
265 0 1
266 0 1
267 0 1
==> MISSING_ELSE
274 0 1
275 0 1
277 0 1
278 0 1
279 0 1
281 0 1
283 0 1
284 0 1
287 0 1
289 0 1
290 0 1
292 0 1
293 0 1
295 0 1
299 0 1
300 0 1
301 0 1
==> MISSING_ELSE
313 0 1
317 0 1
320 0 1
321 0 1
323 0 1
325 0 1
326 0 1
==> MISSING_ELSE
329 0 1
330 0 1
331 0 1
341 0 1
345 0 1
347 0 1
348 0 1
350 0 1
351 0 1
353 0 1
354 0 1
357 0 1
358 0 1
==> MISSING_ELSE
361 0 1
362 0 1
==> MISSING_ELSE
369 0 1
370 0 1
380 0 1
381 0 1
382 0 1
383 0 1
384 0 1
385 0 1
==> MISSING_ELSE
393 0 1
394 0 1
395 0 1
396 0 1
397 0 1
398 0 1
399 0 1
==> MISSING_ELSE
410 0 1
411 0 1
420 0 1
423 0 1
424 0 1
426 0 1
428 0 1
429 0 1
==> MISSING_ELSE
433 0 1
434 0 1
435 0 1
436 0 1
444 0 1
446 0 1
456 0 1
458 0 1
459 0 1
460 0 1
463 0 1
464 0 1
465 0 1
467 0 1
468 0 1
==> MISSING_ELSE
==> MISSING_ELSE
476 0 1
477 0 1
487 0 1
489 0 1
495 0 1
496 0 1
497 0 1
498 0 1
499 0 1
==> MISSING_ELSE
502 0 1
503 0 1
504 0 1
512 0 1
514 0 1
519 0 1
520 0 1
521 0 1
522 0 1
==> MISSING_ELSE
528 0 1
529 0 1
536 0 1
537 0 1
539 0 1
540 0 1
541 0 1
==> MISSING_ELSE
549 0 1
550 0 1
553 0 1
556 0 1
557 0 1
559 0 1
561 0 1
562 0 1
==> MISSING_ELSE
565 0 1
566 0 1
567 0 1
577 0 1
578 0 1
579 0 1
581 0 1
582 0 1
583 0 1
585 0 1
586 0 1
588 0 1
589 0 1
==> MISSING_ELSE
==> MISSING_ELSE
600 0 1
601 0 1
603 0 1
605 0 1
606 0 1
607 0 1
608 0 1
==> MISSING_ELSE
611 0 1
612 0 1
==> MISSING_ELSE
616 0 1
617 0 1
==> MISSING_ELSE
620 0 1
621 0 1
==> MISSING_ELSE
630 0 1
631 0 1
632 0 1
633 0 1
634 0 1
==> MISSING_ELSE
641 0 1
642 0 1
643 0 1
644 0 1
645 0 1
==> MISSING_ELSE
656 0 1
657 0 1
658 0 1
659 0 1
660 0 1
==> MISSING_ELSE
668 0 1
669 0 1
==> MISSING_ELSE
684 0 1
685 0 1
686 0 1
687 0 1
688 0 1
==> MISSING_ELSE
==> MISSING_ELSE
718 0 1
721 0 10
753 0 1
754 0 1
757 0 1
758 0 1
759 0 1
761 0 1
762 0 1
763 0 1
765 0 1
768 0 1
769 0 1
==> MISSING_ELSE
796 0 1
797 0 1
803 0 3
806 0 1
807 0 1
808 0 1
809 0 1
811 0 1
812 0 1
815 0 1
816 0 1
817 0 1
818 0 1
819 0 1
820 0 1
821 0 1
823 0 1
==> MISSING_ELSE


Cond Coverage for Module : otp_ctrl_dai
TotalCoveredPercent
Conditions8500.00
Logical8500.00
Non-Logical00
Event00

 LINE       170
 EXPRESSION (((!otp_ctrl_part_pkg::PartInfo[part_idx].integrity)) && (otp_err_e'(otp_err_i) inside {MacroEccCorrError, MacroEccUncorrError}))
             --------------------------1-------------------------    -----------------------------------2-----------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       184
 EXPRESSION ((state_q == IdleSt) ? data_q : '0)
             ---------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       184
 SUB-EXPRESSION (state_q == IdleSt)
                ---------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       266
 EXPRESSION (part_init_done_i == {otp_ctrl_reg_pkg::NumPart {1'b1}})
            ----------------------------1---------------------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       350
 EXPRESSION (otp_ctrl_part_pkg::PartInfo[part_idx].secret && (otp_addr_o != digest_addr_lut[part_idx]))
             ----------------------1---------------------    --------------------2--------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       350
 SUB-EXPRESSION (otp_addr_o != digest_addr_lut[part_idx])
                --------------------1--------------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       357
 EXPRESSION (otp_err != NoError)
            ----------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       384
 EXPRESSION (scrmbl_mtx_gnt_i && scrmbl_ready_i)
             --------1-------    -------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       467
 EXPRESSION (otp_err == MacroWriteBlankError)
            ----------------1----------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       498
 EXPRESSION (scrmbl_mtx_gnt_i && scrmbl_ready_i)
             --------1-------    -------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       540
 EXPRESSION (scrmbl_mtx_gnt_i && scrmbl_ready_i)
             --------1-------    -------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       588
 EXPRESSION (otp_err == MacroEccCorrError)
            ---------------1--------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       603
 EXPRESSION (otp_addr_o == digest_addr_lut[part_idx])
            --------------------1--------------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       668
 EXPRESSION (error_q == NoError)
            ----------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       687
 EXPRESSION (state_q != ErrorSt)
            ----------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b00001000000) & ({1'b0, dai_addr_i} < gen_part_sel[1].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b00110110000) & ({1'b0, dai_addr_i} < gen_part_sel[2].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b10001111000) & ({1'b0, dai_addr_i} < gen_part_sel[3].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11001010000) & ({1'b0, dai_addr_i} < gen_part_sel[4].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11001111000) & ({1'b0, dai_addr_i} < gen_part_sel[5].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11011000000) & ({1'b0, dai_addr_i} < gen_part_sel[6].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11011010000) & ({1'b0, dai_addr_i} < gen_part_sel[7].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11011111000) & ({1'b0, dai_addr_i} < gen_part_sel[8].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11101010000) & ({1'b0, dai_addr_i} < gen_part_sel[9].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11110101000) & ({1'b0, dai_addr_i} < gen_part_sel[10].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   --------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       761
 EXPRESSION (otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest && (base_sel_q == PartOffset))
             -----------------------1-----------------------    -------------2------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       761
 SUB-EXPRESSION (base_sel_q == PartOffset)
                -------------1------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       765
 EXPRESSION 
 Number  Term
      1  (otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest || otp_ctrl_part_pkg::PartInfo[part_idx].sw_digest) && 
      2  (base_sel_q == DaiOffset) && 
      3  ({dai_addr_i[(otp_ctrl_reg_pkg::OtpByteAddrWidth - 1):3], 2'b0} == digest_addr_lut[part_idx]))
-1--2--3-StatusTests
011Not Covered
101Not Covered
110Not Covered
111Not Covered

 LINE       765
 SUB-EXPRESSION (otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest || otp_ctrl_part_pkg::PartInfo[part_idx].sw_digest)
                 -----------------------1-----------------------    -----------------------2-----------------------
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       765
 SUB-EXPRESSION (base_sel_q == DaiOffset)
                ------------1------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       765
 SUB-EXPRESSION ({dai_addr_i[(otp_ctrl_reg_pkg::OtpByteAddrWidth - 1):3], 2'b0} == digest_addr_lut[part_idx])
                ----------------------------------------------1----------------------------------------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       818
 EXPRESSION (data_sel == ScrmblData)
            ------------1-----------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       820
 EXPRESSION (data_sel == DaiData)
            ----------1----------
-1-StatusTests
0Not Covered
1Not Covered

FSM Coverage for Module : otp_ctrl_dai
Summary for FSM :: state_q
TotalCoveredPercent
States 20 0 0.00 (Not included in score)
Transitions 48 0 0.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: state_q
statesLine No.CoveredTests
DescrSt 351 Not Covered
DescrWaitSt 385 Not Covered
DigClrSt 299 Not Covered
DigFinSt 608 Not Covered
DigPadSt 612 Not Covered
DigReadSt 541 Not Covered
DigReadWaitSt 562 Not Covered
DigSt 586 Not Covered
DigWaitSt 645 Not Covered
ErrorSt 251 Not Covered
IdleSt 267 Not Covered
InitOtpSt 238 Not Covered
InitPartSt 254 Not Covered
ReadSt 281 Not Covered
ReadWaitSt 326 Not Covered
ResetSt 231 Not Covered
ScrSt 293 Not Covered
ScrWaitSt 499 Not Covered
WriteSt 295 Not Covered
WriteWaitSt 429 Not Covered


transitionsLine No.CoveredTests
DescrSt->DescrWaitSt 385 Not Covered
DescrSt->ErrorSt 685 Not Covered
DescrWaitSt->ErrorSt 685 Not Covered
DescrWaitSt->IdleSt 397 Not Covered
DigClrSt->DigReadSt 541 Not Covered
DigClrSt->ErrorSt 685 Not Covered
DigFinSt->DigWaitSt 645 Not Covered
DigFinSt->ErrorSt 685 Not Covered
DigPadSt->DigFinSt 634 Not Covered
DigPadSt->ErrorSt 685 Not Covered
DigReadSt->DigReadWaitSt 562 Not Covered
DigReadSt->ErrorSt 685 Not Covered
DigReadSt->IdleSt 565 Not Covered
DigReadWaitSt->DigSt 586 Not Covered
DigReadWaitSt->ErrorSt 582 Not Covered
DigSt->DigFinSt 608 Not Covered
DigSt->DigPadSt 612 Not Covered
DigSt->DigReadSt 621 Not Covered
DigSt->ErrorSt 685 Not Covered
DigWaitSt->ErrorSt 685 Not Covered
DigWaitSt->WriteSt 659 Not Covered
IdleSt->DigClrSt 299 Not Covered
IdleSt->ErrorSt 685 Not Covered
IdleSt->ReadSt 281 Not Covered
IdleSt->ScrSt 293 Not Covered
IdleSt->WriteSt 295 Not Covered
InitOtpSt->ErrorSt 251 Not Covered
InitOtpSt->InitPartSt 254 Not Covered
InitPartSt->ErrorSt 685 Not Covered
InitPartSt->IdleSt 267 Not Covered
ReadSt->ErrorSt 685 Not Covered
ReadSt->IdleSt 329 Not Covered
ReadSt->ReadWaitSt 326 Not Covered
ReadWaitSt->DescrSt 351 Not Covered
ReadWaitSt->ErrorSt 361 Not Covered
ReadWaitSt->IdleSt 353 Not Covered
ResetSt->ErrorSt 685 Not Covered
ResetSt->InitOtpSt 238 Not Covered
ScrSt->ErrorSt 685 Not Covered
ScrSt->IdleSt 502 Not Covered
ScrSt->ScrWaitSt 499 Not Covered
ScrWaitSt->ErrorSt 528 Not Covered
ScrWaitSt->WriteSt 521 Not Covered
WriteSt->ErrorSt 685 Not Covered
WriteSt->IdleSt 434 Not Covered
WriteSt->WriteWaitSt 429 Not Covered
WriteWaitSt->ErrorSt 459 Not Covered
WriteWaitSt->IdleSt 464 Not Covered


Summary for FSM :: error_q
TotalCoveredPercent
States 4 0 0.00 (Not included in score)
Transitions 12 0 0.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: error_q
statesLine No.CoveredTests
AccessError 330 Not Covered
FsmStateError 370 Not Covered
MacroEccCorrError 358 Not Covered
NoError 172 Not Covered


transitionsLine No.CoveredTests
AccessError->FsmStateError 370 Not Covered
AccessError->MacroEccCorrError 358 Not Covered
AccessError->NoError 172 Not Covered
FsmStateError->AccessError 330 Not Covered
FsmStateError->MacroEccCorrError 358 Not Covered
FsmStateError->NoError 172 Not Covered
MacroEccCorrError->AccessError 330 Not Covered
MacroEccCorrError->FsmStateError 370 Not Covered
MacroEccCorrError->NoError 172 Not Covered
NoError->AccessError 330 Not Covered
NoError->FsmStateError 370 Not Covered
NoError->MacroEccCorrError 358 Not Covered



Branch Coverage for Module : otp_ctrl_dai
Line No.TotalCoveredPercent
Branches 93 0 0.00
TERNARY 184 2 0 0.00
IF 170 2 0 0.00
CASE 225 74 0 0.00
IF 684 3 0 0.00
IF 757 4 0 0.00
IF 803 2 0 0.00
IF 806 6 0 0.00

WARNING: The source file /workspace/default/sim-vcs/../src/lowrisc_ip_otp_ctrl_1.0/rtl/otp_ctrl_dai.sv' or '../src/lowrisc_ip_otp_ctrl_1.0/rtl/otp_ctrl_dai.sv was not found/opened, so annotated branch coverage report could not be generated.

LineNo. Expression -1-: 184 ((state_q == IdleSt)) ?

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 170 if (((!otp_ctrl_part_pkg::PartInfo[part_idx].integrity) && (otp_err_e'(otp_err_i) inside {MacroEccCorrError, MacroEccUncorrError})))

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 225 case (state_q) -2-: 235 if (init_req_i) -3-: 237 if (otp_gnt_i) -4-: 249 if (otp_rvalid_i) -5-: 250 if ((!(otp_err inside {NoError, MacroEccCorrError}))) -6-: 266 if ((part_init_done_i == {otp_ctrl_reg_pkg::NumPart {1'b1}})) -7-: 275 if (dai_req_i) -8-: 279 case (dai_cmd_i) -9-: 292 if (otp_ctrl_part_pkg::PartInfo[part_idx].secret) -10-: 313 if ((part_sel_valid && (prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].read_lock) || (otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest && (otp_addr_o == digest_addr_lut[part_idx]))))) -11-: 320 if (otp_ctrl_part_pkg::PartInfo[part_idx].integrity) -12-: 325 if (otp_gnt_i) -13-: 341 if ((part_sel_valid && (prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].read_lock) || (otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest && (otp_addr_o == digest_addr_lut[part_idx]))))) -14-: 345 if (otp_rvalid_i) -15-: 347 if ((otp_err inside {NoError, MacroEccCorrError})) -16-: 350 if ((otp_ctrl_part_pkg::PartInfo[part_idx].secret && (otp_addr_o != digest_addr_lut[part_idx]))) -17-: 357 if ((otp_err != NoError)) -18-: 384 if ((scrmbl_mtx_gnt_i && scrmbl_ready_i)) -19-: 396 if (scrmbl_valid_i) -20-: 411 if (((part_sel_valid && prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].write_lock)) && ((((((otp_ctrl_part_pkg::PartInfo[part_idx].variant == Buffered) && otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest) && (base_sel_q == PartOffset)) && (otp_addr_o == digest_addr_lut[part_idx])) || ((((otp_ctrl_part_pkg::PartInfo[part_idx].variant == Buffered) && otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest) && (base_sel_q == DaiOffset)) && (otp_addr_o < digest_addr_lut[part_idx]))) || ((otp_ctrl_part_pkg::PartInfo[part_idx].variant != Buffered) && (base_sel_q == DaiOffset))))) -21-: 423 if (otp_ctrl_part_pkg::PartInfo[part_idx].integrity) -22-: 428 if (otp_gnt_i) -23-: 446 if (((part_sel_valid && prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].write_lock)) && ((((((otp_ctrl_part_pkg::PartInfo[part_idx].variant == Buffered) && otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest) && (base_sel_q == PartOffset)) && (otp_addr_o == digest_addr_lut[part_idx])) || ((((otp_ctrl_part_pkg::PartInfo[part_idx].variant == Buffered) && otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest) && (base_sel_q == DaiOffset)) && (otp_addr_o < digest_addr_lut[part_idx]))) || ((otp_ctrl_part_pkg::PartInfo[part_idx].variant != Buffered) && (base_sel_q == DaiOffset))))) -24-: 456 if (otp_rvalid_i) -25-: 458 if ((!(otp_err inside {NoError, MacroWriteBlankError}))) -26-: 467 if ((otp_err == MacroWriteBlankError)) -27-: 489 if (((part_sel_valid && prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].write_lock)) && (((((otp_ctrl_part_pkg::PartInfo[part_idx].variant == Buffered) && otp_ctrl_part_pkg::PartInfo[part_idx].secret) && otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest) && (base_sel_q == DaiOffset)) && (otp_addr_o < digest_addr_lut[part_idx])))) -28-: 498 if ((scrmbl_mtx_gnt_i && scrmbl_ready_i)) -29-: 514 if (((part_sel_valid && prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].write_lock)) && (((((otp_ctrl_part_pkg::PartInfo[part_idx].variant == Buffered) && otp_ctrl_part_pkg::PartInfo[part_idx].secret) && otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest) && (base_sel_q == DaiOffset)) && (otp_addr_o < digest_addr_lut[part_idx])))) -30-: 520 if (scrmbl_valid_i) -31-: 540 if ((scrmbl_mtx_gnt_i && scrmbl_ready_i)) -32-: 550 if (((part_sel_valid && prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].read_lock)) && prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].write_lock))) -33-: 556 if (otp_ctrl_part_pkg::PartInfo[part_idx].integrity) -34-: 561 if (otp_gnt_i) -35-: 578 if (otp_rvalid_i) -36-: 581 if ((!(otp_err inside {NoError, MacroEccCorrError}))) -37-: 588 if ((otp_err == MacroEccCorrError)) -38-: 603 if ((otp_addr_o == digest_addr_lut[part_idx])) -39-: 605 if ((!cnt[0])) -40-: 607 if (scrmbl_ready_i) -41-: 611 if (scrmbl_ready_i) -42-: 616 if ((!cnt[0])) -43-: 620 if (scrmbl_ready_i) -44-: 633 if (scrmbl_ready_i) -45-: 644 if (scrmbl_ready_i) -46-: 658 if (scrmbl_valid_i) -47-: 668 if ((error_q == NoError))

Branches:
-1--2--3--4--5--6--7--8--9--10--11--12--13--14--15--16--17--18--19--20--21--22--23--24--25--26--27--28--29--30--31--32--33--34--35--36--37--38--39--40--41--42--43--44--45--46--47-StatusTests
ResetSt 1 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ResetSt 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ResetSt 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
InitOtpSt - - 1 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
InitOtpSt - - 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
InitOtpSt - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
InitPartSt - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
InitPartSt - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - - - - 1 DaiRead - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - - - - 1 DaiWrite 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - - - - 1 DaiWrite 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - - - - 1 DaiDigest - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - - - - 1 default - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadSt - - - - - - - - 1 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadSt - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadSt - - - - - - - - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadSt - - - - - - - - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadSt - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 1 1 1 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 1 1 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 1 1 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 1 1 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 1 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
DescrSt - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
DescrSt - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
DescrWaitSt - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
DescrWaitSt - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteSt - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteSt - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteSt - - - - - - - - - - - - - - - - - - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteSt - - - - - - - - - - - - - - - - - - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteSt - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteWaitSt - - - - - - - - - - - - - - - - - - - - - 1 1 1 - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteWaitSt - - - - - - - - - - - - - - - - - - - - - 1 1 0 1 - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteWaitSt - - - - - - - - - - - - - - - - - - - - - 1 1 0 0 - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteWaitSt - - - - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteWaitSt - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ScrSt - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - - - - - - - - - - - - - Not Covered
ScrSt - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - - - Not Covered
ScrSt - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - Not Covered
ScrWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - - - - - - - - - - - Not Covered
ScrWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - Not Covered
ScrWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - Not Covered
DigClrSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - Not Covered
DigClrSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - Not Covered
DigReadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - - - - - - - - Not Covered
DigReadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - - - - - - - - Not Covered
DigReadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - 1 - - - - - - - - - - - - - Not Covered
DigReadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - 0 - - - - - - - - - - - - - Not Covered
DigReadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - Not Covered
DigReadWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - - - - - Not Covered
DigReadWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 1 - - - - - - - - - - Not Covered
DigReadWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 0 - - - - - - - - - - Not Covered
DigReadWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 1 - - - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 0 - - - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 - 1 - - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 - 0 - - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - 1 - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - 0 - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - 1 - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - 0 - - - - Not Covered
DigPadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - Not Covered
DigPadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - Not Covered
DigFinSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - Not Covered
DigFinSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - Not Covered
DigWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - Not Covered
DigWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - Not Covered
ErrorSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 Not Covered
ErrorSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 Not Covered
default - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered


LineNo. Expression -1-: 684 if ((lc_ctrl_pkg::lc_tx_test_true_loose(escalate_en_i) || cnt_err)) -2-: 687 if ((state_q != ErrorSt))

Branches:
-1--2-StatusTests
1 1 Not Covered
1 0 Not Covered
0 - Not Covered


LineNo. Expression -1-: 757 if (otp_ctrl_part_pkg::PartInfo[part_idx].secret) -2-: 761 if ((otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest && (base_sel_q == PartOffset))) -3-: 765 if ((((otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest || otp_ctrl_part_pkg::PartInfo[part_idx].sw_digest) && (base_sel_q == DaiOffset)) && ({dai_addr_i[(otp_ctrl_reg_pkg::OtpByteAddrWidth - 1):3], 2'b0} == digest_addr_lut[part_idx])))

Branches:
-1--2--3-StatusTests
1 - - Not Covered
0 1 - Not Covered
0 0 1 Not Covered
0 0 0 Not Covered


LineNo. Expression -1-: 803 if ((!rst_ni))

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 806 if ((!rst_ni)) -2-: 815 if (data_clr) -3-: 817 if (data_en) -4-: 818 if ((data_sel == ScrmblData)) -5-: 820 if ((data_sel == DaiData))

Branches:
-1--2--3--4--5-StatusTests
1 - - - - Not Covered
0 1 - - - Not Covered
0 0 1 1 - Not Covered
0 0 1 0 1 Not Covered
0 0 1 0 0 Not Covered
0 0 0 - - Not Covered

Line Coverage for Instance : tb.dut.u_otp_ctrl_dai
Line No.TotalCoveredPercent
TOTAL24300.00
ALWAYS169300.00
CONT_ASSIGN177100.00
CONT_ASSIGN179100.00
CONT_ASSIGN180100.00
CONT_ASSIGN184100.00
ALWAYS18719500.00
CONT_ASSIGN718100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
CONT_ASSIGN721100.00
ALWAYS7531100.00
CONT_ASSIGN796100.00
CONT_ASSIGN797100.00
ALWAYS803300.00
ALWAYS8061400.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_otp_ctrl_1.0/rtl/otp_ctrl_dai.sv' or '../src/lowrisc_ip_otp_ctrl_1.0/rtl/otp_ctrl_dai.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
169 0 1
170 0 1
172 0 1
==> MISSING_ELSE
177 0 1
179 0 1
180 0 1
184 0 1
187 0 1
190 0 1
191 0 1
194 0 1
195 0 1
196 0 1
199 0 1
200 0 1
203 0 1
206 0 1
207 0 1
208 0 1
209 0 1
212 0 1
213 0 1
214 0 1
217 0 1
218 0 1
219 0 1
222 0 1
223 0 1
225 0 1
232 0 1
233 0 1
234 0 1
235 0 1
236 0 1
237 0 1
238 0 1
==> MISSING_ELSE
==> MISSING_ELSE
247 0 1
248 0 1
249 0 1
250 0 1
251 excluded
Exclude Annotation: VC_COV_UNR
252 excluded
Exclude Annotation: VC_COV_UNR
254 0 1
==> MISSING_ELSE
263 0 1
264 0 1
265 0 1
266 0 1
267 0 1
==> MISSING_ELSE
274 0 1
275 0 1
277 0 1
278 0 1
279 0 1
281 0 1
283 0 1
284 0 1
287 0 1
289 0 1
290 0 1
292 0 1
293 0 1
295 0 1
299 0 1
300 0 1
301 0 1
==> MISSING_ELSE
313 0 1
317 0 1
320 0 1
321 0 1
323 0 1
325 0 1
326 0 1
==> MISSING_ELSE
329 0 1
330 0 1
331 0 1
341 0 1
345 0 1
347 0 1
348 0 1
350 0 1
351 0 1
353 0 1
354 0 1
357 0 1
358 0 1
==> MISSING_ELSE
361 0 1
362 0 1
==> MISSING_ELSE
369 0 1
370 0 1
380 0 1
381 0 1
382 0 1
383 0 1
384 0 1
385 0 1
==> MISSING_ELSE
393 0 1
394 0 1
395 0 1
396 0 1
397 0 1
398 0 1
399 0 1
==> MISSING_ELSE
410 0 1
411 0 1
420 0 1
423 0 1
424 0 1
426 0 1
428 0 1
429 0 1
==> MISSING_ELSE
433 0 1
434 0 1
435 0 1
436 0 1
444 0 1
446 0 1
456 0 1
458 0 1
459 excluded
Exclude Annotation: VC_COV_UNR
460 excluded
Exclude Annotation: VC_COV_UNR
463 0 1
464 0 1
465 0 1
467 0 1
468 0 1
==> MISSING_ELSE
==> MISSING_ELSE
476 0 1
477 0 1
487 0 1
489 0 1
495 0 1
496 0 1
497 0 1
498 0 1
499 0 1
==> MISSING_ELSE
502 0 1
503 0 1
504 0 1
512 0 1
514 0 1
519 0 1
520 0 1
521 0 1
522 0 1
==> MISSING_ELSE
528 0 1
529 0 1
536 0 1
537 0 1
539 0 1
540 0 1
541 0 1
==> MISSING_ELSE
549 0 1
550 0 1
553 0 1
556 0 1
557 0 1
559 0 1
561 0 1
562 0 1
==> MISSING_ELSE
565 0 1
566 0 1
567 0 1
577 0 1
578 0 1
579 0 1
581 0 1
582 0 1
583 0 1
585 0 1
586 0 1
588 0 1
589 0 1
==> MISSING_ELSE
==> MISSING_ELSE
600 0 1
601 0 1
603 0 1
605 0 1
606 0 1
607 0 1
608 0 1
==> MISSING_ELSE
611 0 1
612 0 1
==> MISSING_ELSE
616 0 1
617 0 1
==> MISSING_ELSE
620 0 1
621 0 1
==> MISSING_ELSE
630 0 1
631 0 1
632 0 1
633 0 1
634 0 1
==> MISSING_ELSE
641 0 1
642 0 1
643 0 1
644 0 1
645 0 1
==> MISSING_ELSE
656 0 1
657 0 1
658 0 1
659 0 1
660 0 1
==> MISSING_ELSE
668 0 1
669 0 1
==> MISSING_ELSE
684 0 1
685 0 1
686 0 1
687 0 1
688 0 1
==> MISSING_ELSE
==> MISSING_ELSE
718 0 1
721 0 10
753 0 1
754 0 1
757 0 1
758 0 1
759 0 1
761 0 1
762 0 1
763 0 1
765 0 1
768 0 1
769 0 1
==> MISSING_ELSE
796 0 1
797 0 1
803 0 3
806 0 1
807 0 1
808 0 1
809 0 1
811 0 1
812 0 1
815 0 1
816 0 1
817 0 1
818 0 1
819 0 1
820 0 1
821 0 1
823 0 1
==> MISSING_ELSE


Cond Coverage for Instance : tb.dut.u_otp_ctrl_dai
TotalCoveredPercent
Conditions8100.00
Logical8100.00
Non-Logical00
Event00

 LINE       170
 EXPRESSION (((!otp_ctrl_part_pkg::PartInfo[part_idx].integrity)) && (otp_err_e'(otp_err_i) inside {MacroEccCorrError, MacroEccUncorrError}))
             --------------------------1-------------------------    -----------------------------------2-----------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       184
 EXPRESSION ((state_q == IdleSt) ? data_q : '0)
             ---------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       184
 SUB-EXPRESSION (state_q == IdleSt)
                ---------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       266
 EXPRESSION (part_init_done_i == {otp_ctrl_reg_pkg::NumPart {1'b1}})
            ----------------------------1---------------------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       350
 EXPRESSION (otp_ctrl_part_pkg::PartInfo[part_idx].secret && (otp_addr_o != digest_addr_lut[part_idx]))
             ----------------------1---------------------    --------------------2--------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       350
 SUB-EXPRESSION (otp_addr_o != digest_addr_lut[part_idx])
                --------------------1--------------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       357
 EXPRESSION (otp_err != NoError)
            ----------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       384
 EXPRESSION (scrmbl_mtx_gnt_i && scrmbl_ready_i)
             --------1-------    -------2------
-1--2-StatusTestsExclude Annotation
01Excluded VC_COV_UNR
10Not Covered
11Not Covered

 LINE       467
 EXPRESSION (otp_err == MacroWriteBlankError)
            ----------------1----------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       498
 EXPRESSION (scrmbl_mtx_gnt_i && scrmbl_ready_i)
             --------1-------    -------2------
-1--2-StatusTestsExclude Annotation
01Excluded VC_COV_UNR
10Not Covered
11Not Covered

 LINE       540
 EXPRESSION (scrmbl_mtx_gnt_i && scrmbl_ready_i)
             --------1-------    -------2------
-1--2-StatusTestsExclude Annotation
01Excluded VC_COV_UNR
10Not Covered
11Not Covered

 LINE       588
 EXPRESSION (otp_err == MacroEccCorrError)
            ---------------1--------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       603
 EXPRESSION (otp_addr_o == digest_addr_lut[part_idx])
            --------------------1--------------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       668
 EXPRESSION (error_q == NoError)
            ----------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       687
 EXPRESSION (state_q != ErrorSt)
            ----------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b00001000000) & ({1'b0, dai_addr_i} < gen_part_sel[1].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b00110110000) & ({1'b0, dai_addr_i} < gen_part_sel[2].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b10001111000) & ({1'b0, dai_addr_i} < gen_part_sel[3].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11001010000) & ({1'b0, dai_addr_i} < gen_part_sel[4].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11001111000) & ({1'b0, dai_addr_i} < gen_part_sel[5].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11011000000) & ({1'b0, dai_addr_i} < gen_part_sel[6].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11011010000) & ({1'b0, dai_addr_i} < gen_part_sel[7].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11011111000) & ({1'b0, dai_addr_i} < gen_part_sel[8].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11101010000) & ({1'b0, dai_addr_i} < gen_part_sel[9].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   -------------------------------------------2-------------------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       721
 EXPRESSION ((dai_addr_i >= 11'b11110101000) & ({1'b0, dai_addr_i} < gen_part_sel[10].PartEndInt[otp_ctrl_reg_pkg::OtpByteAddrWidth:0]))
             ---------------1---------------   --------------------------------------------2-------------------------------------------
-1--2-StatusTestsExclude Annotation
01Not Covered
10Excluded vcs_gen_start:k=10:vcs_gen_end:VC_COV_UNR
11Not Covered

 LINE       761
 EXPRESSION (otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest && (base_sel_q == PartOffset))
             -----------------------1-----------------------    -------------2------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       761
 SUB-EXPRESSION (base_sel_q == PartOffset)
                -------------1------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       765
 EXPRESSION 
 Number  Term
      1  (otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest || otp_ctrl_part_pkg::PartInfo[part_idx].sw_digest) && 
      2  (base_sel_q == DaiOffset) && 
      3  ({dai_addr_i[(otp_ctrl_reg_pkg::OtpByteAddrWidth - 1):3], 2'b0} == digest_addr_lut[part_idx]))
-1--2--3-StatusTests
011Not Covered
101Not Covered
110Not Covered
111Not Covered

 LINE       765
 SUB-EXPRESSION (otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest || otp_ctrl_part_pkg::PartInfo[part_idx].sw_digest)
                 -----------------------1-----------------------    -----------------------2-----------------------
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       765
 SUB-EXPRESSION (base_sel_q == DaiOffset)
                ------------1------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       765
 SUB-EXPRESSION ({dai_addr_i[(otp_ctrl_reg_pkg::OtpByteAddrWidth - 1):3], 2'b0} == digest_addr_lut[part_idx])
                ----------------------------------------------1----------------------------------------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       818
 EXPRESSION (data_sel == ScrmblData)
            ------------1-----------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       820
 EXPRESSION (data_sel == DaiData)
            ----------1----------
-1-StatusTests
0Not Covered
1Not Covered

FSM Coverage for Instance : tb.dut.u_otp_ctrl_dai
Summary for FSM :: state_q
TotalCoveredPercent
States 20 0 0.00 (Not included in score)
Transitions 48 0 0.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: state_q
statesLine No.CoveredTests
DescrSt 351 Not Covered
DescrWaitSt 385 Not Covered
DigClrSt 299 Not Covered
DigFinSt 608 Not Covered
DigPadSt 612 Not Covered
DigReadSt 541 Not Covered
DigReadWaitSt 562 Not Covered
DigSt 586 Not Covered
DigWaitSt 645 Not Covered
ErrorSt 251 Not Covered
IdleSt 267 Not Covered
InitOtpSt 238 Not Covered
InitPartSt 254 Not Covered
ReadSt 281 Not Covered
ReadWaitSt 326 Not Covered
ResetSt 231 Not Covered
ScrSt 293 Not Covered
ScrWaitSt 499 Not Covered
WriteSt 295 Not Covered
WriteWaitSt 429 Not Covered


transitionsLine No.CoveredTests
DescrSt->DescrWaitSt 385 Not Covered
DescrSt->ErrorSt 685 Not Covered
DescrWaitSt->ErrorSt 685 Not Covered
DescrWaitSt->IdleSt 397 Not Covered
DigClrSt->DigReadSt 541 Not Covered
DigClrSt->ErrorSt 685 Not Covered
DigFinSt->DigWaitSt 645 Not Covered
DigFinSt->ErrorSt 685 Not Covered
DigPadSt->DigFinSt 634 Not Covered
DigPadSt->ErrorSt 685 Not Covered
DigReadSt->DigReadWaitSt 562 Not Covered
DigReadSt->ErrorSt 685 Not Covered
DigReadSt->IdleSt 565 Not Covered
DigReadWaitSt->DigSt 586 Not Covered
DigReadWaitSt->ErrorSt 582 Not Covered
DigSt->DigFinSt 608 Not Covered
DigSt->DigPadSt 612 Not Covered
DigSt->DigReadSt 621 Not Covered
DigSt->ErrorSt 685 Not Covered
DigWaitSt->ErrorSt 685 Not Covered
DigWaitSt->WriteSt 659 Not Covered
IdleSt->DigClrSt 299 Not Covered
IdleSt->ErrorSt 685 Not Covered
IdleSt->ReadSt 281 Not Covered
IdleSt->ScrSt 293 Not Covered
IdleSt->WriteSt 295 Not Covered
InitOtpSt->ErrorSt 251 Not Covered
InitOtpSt->InitPartSt 254 Not Covered
InitPartSt->ErrorSt 685 Not Covered
InitPartSt->IdleSt 267 Not Covered
ReadSt->ErrorSt 685 Not Covered
ReadSt->IdleSt 329 Not Covered
ReadSt->ReadWaitSt 326 Not Covered
ReadWaitSt->DescrSt 351 Not Covered
ReadWaitSt->ErrorSt 361 Not Covered
ReadWaitSt->IdleSt 353 Not Covered
ResetSt->ErrorSt 685 Not Covered
ResetSt->InitOtpSt 238 Not Covered
ScrSt->ErrorSt 685 Not Covered
ScrSt->IdleSt 502 Not Covered
ScrSt->ScrWaitSt 499 Not Covered
ScrWaitSt->ErrorSt 528 Not Covered
ScrWaitSt->WriteSt 521 Not Covered
WriteSt->ErrorSt 685 Not Covered
WriteSt->IdleSt 434 Not Covered
WriteSt->WriteWaitSt 429 Not Covered
WriteWaitSt->ErrorSt 459 Not Covered
WriteWaitSt->IdleSt 464 Not Covered


Summary for FSM :: error_q
TotalCoveredPercent
States 4 0 0.00 (Not included in score)
Transitions 9 0 0.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: error_q
statesLine No.CoveredTests
AccessError 330 Not Covered
FsmStateError 370 Not Covered
MacroEccCorrError 358 Not Covered
NoError 172 Not Covered


transitionsLine No.CoveredTestsExclude Annotation
AccessError->FsmStateError 370 Not Covered
AccessError->MacroEccCorrError 358 Excluded VC_COV_UNR
AccessError->NoError 172 Not Covered
FsmStateError->AccessError 330 Excluded VC_COV_UNR
FsmStateError->MacroEccCorrError 358 Excluded VC_COV_UNR
FsmStateError->NoError 172 Not Covered
MacroEccCorrError->AccessError 330 Not Covered
MacroEccCorrError->FsmStateError 370 Not Covered
MacroEccCorrError->NoError 172 Not Covered
NoError->AccessError 330 Not Covered
NoError->FsmStateError 370 Not Covered
NoError->MacroEccCorrError 358 Not Covered



Branch Coverage for Instance : tb.dut.u_otp_ctrl_dai
Line No.TotalCoveredPercent
Branches 90 0 0.00
TERNARY 184 2 0 0.00
IF 170 2 0 0.00
CASE 225 71 0 0.00
IF 684 3 0 0.00
IF 757 4 0 0.00
IF 803 2 0 0.00
IF 806 6 0 0.00

WARNING: The source file /workspace/default/sim-vcs/../src/lowrisc_ip_otp_ctrl_1.0/rtl/otp_ctrl_dai.sv' or '../src/lowrisc_ip_otp_ctrl_1.0/rtl/otp_ctrl_dai.sv was not found/opened, so annotated branch coverage report could not be generated.

LineNo. Expression -1-: 184 ((state_q == IdleSt)) ?

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 170 if (((!otp_ctrl_part_pkg::PartInfo[part_idx].integrity) && (otp_err_e'(otp_err_i) inside {MacroEccCorrError, MacroEccUncorrError})))

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 225 case (state_q) -2-: 235 if (init_req_i) -3-: 237 if (otp_gnt_i) -4-: 249 if (otp_rvalid_i) -5-: 250 if ((!(otp_err inside {NoError, MacroEccCorrError}))) -6-: 266 if ((part_init_done_i == {otp_ctrl_reg_pkg::NumPart {1'b1}})) -7-: 275 if (dai_req_i) -8-: 279 case (dai_cmd_i) -9-: 292 if (otp_ctrl_part_pkg::PartInfo[part_idx].secret) -10-: 313 if ((part_sel_valid && (prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].read_lock) || (otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest && (otp_addr_o == digest_addr_lut[part_idx]))))) -11-: 320 if (otp_ctrl_part_pkg::PartInfo[part_idx].integrity) -12-: 325 if (otp_gnt_i) -13-: 341 if ((part_sel_valid && (prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].read_lock) || (otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest && (otp_addr_o == digest_addr_lut[part_idx]))))) -14-: 345 if (otp_rvalid_i) -15-: 347 if ((otp_err inside {NoError, MacroEccCorrError})) -16-: 350 if ((otp_ctrl_part_pkg::PartInfo[part_idx].secret && (otp_addr_o != digest_addr_lut[part_idx]))) -17-: 357 if ((otp_err != NoError)) -18-: 384 if ((scrmbl_mtx_gnt_i && scrmbl_ready_i)) -19-: 396 if (scrmbl_valid_i) -20-: 411 if (((part_sel_valid && prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].write_lock)) && ((((((otp_ctrl_part_pkg::PartInfo[part_idx].variant == Buffered) && otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest) && (base_sel_q == PartOffset)) && (otp_addr_o == digest_addr_lut[part_idx])) || ((((otp_ctrl_part_pkg::PartInfo[part_idx].variant == Buffered) && otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest) && (base_sel_q == DaiOffset)) && (otp_addr_o < digest_addr_lut[part_idx]))) || ((otp_ctrl_part_pkg::PartInfo[part_idx].variant != Buffered) && (base_sel_q == DaiOffset))))) -21-: 423 if (otp_ctrl_part_pkg::PartInfo[part_idx].integrity) -22-: 428 if (otp_gnt_i) -23-: 446 if (((part_sel_valid && prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].write_lock)) && ((((((otp_ctrl_part_pkg::PartInfo[part_idx].variant == Buffered) && otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest) && (base_sel_q == PartOffset)) && (otp_addr_o == digest_addr_lut[part_idx])) || ((((otp_ctrl_part_pkg::PartInfo[part_idx].variant == Buffered) && otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest) && (base_sel_q == DaiOffset)) && (otp_addr_o < digest_addr_lut[part_idx]))) || ((otp_ctrl_part_pkg::PartInfo[part_idx].variant != Buffered) && (base_sel_q == DaiOffset))))) -24-: 456 if (otp_rvalid_i) -25-: 458 if ((!(otp_err inside {NoError, MacroWriteBlankError}))) -26-: 467 if ((otp_err == MacroWriteBlankError)) -27-: 489 if (((part_sel_valid && prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].write_lock)) && (((((otp_ctrl_part_pkg::PartInfo[part_idx].variant == Buffered) && otp_ctrl_part_pkg::PartInfo[part_idx].secret) && otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest) && (base_sel_q == DaiOffset)) && (otp_addr_o < digest_addr_lut[part_idx])))) -28-: 498 if ((scrmbl_mtx_gnt_i && scrmbl_ready_i)) -29-: 514 if (((part_sel_valid && prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].write_lock)) && (((((otp_ctrl_part_pkg::PartInfo[part_idx].variant == Buffered) && otp_ctrl_part_pkg::PartInfo[part_idx].secret) && otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest) && (base_sel_q == DaiOffset)) && (otp_addr_o < digest_addr_lut[part_idx])))) -30-: 520 if (scrmbl_valid_i) -31-: 540 if ((scrmbl_mtx_gnt_i && scrmbl_ready_i)) -32-: 550 if (((part_sel_valid && prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].read_lock)) && prim_mubi_pkg::mubi8_test_false_strict(part_access_i[part_idx].write_lock))) -33-: 556 if (otp_ctrl_part_pkg::PartInfo[part_idx].integrity) -34-: 561 if (otp_gnt_i) -35-: 578 if (otp_rvalid_i) -36-: 581 if ((!(otp_err inside {NoError, MacroEccCorrError}))) -37-: 588 if ((otp_err == MacroEccCorrError)) -38-: 603 if ((otp_addr_o == digest_addr_lut[part_idx])) -39-: 605 if ((!cnt[0])) -40-: 607 if (scrmbl_ready_i) -41-: 611 if (scrmbl_ready_i) -42-: 616 if ((!cnt[0])) -43-: 620 if (scrmbl_ready_i) -44-: 633 if (scrmbl_ready_i) -45-: 644 if (scrmbl_ready_i) -46-: 658 if (scrmbl_valid_i) -47-: 668 if ((error_q == NoError))

Branches:
-1--2--3--4--5--6--7--8--9--10--11--12--13--14--15--16--17--18--19--20--21--22--23--24--25--26--27--28--29--30--31--32--33--34--35--36--37--38--39--40--41--42--43--44--45--46--47-StatusTestsExclude Annotation
ResetSt 1 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ResetSt 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Excluded VC_COV_UNR
ResetSt 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
InitOtpSt - - 1 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Excluded VC_COV_UNR
InitOtpSt - - 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
InitOtpSt - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
InitPartSt - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
InitPartSt - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - - - - 1 DaiRead - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - - - - 1 DaiWrite 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - - - - 1 DaiWrite 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - - - - 1 DaiDigest - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - - - - 1 default - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadSt - - - - - - - - 1 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadSt - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadSt - - - - - - - - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadSt - - - - - - - - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadSt - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 1 1 1 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 1 1 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 1 1 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 1 1 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 1 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ReadWaitSt - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
DescrSt - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
DescrSt - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
DescrWaitSt - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
DescrWaitSt - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteSt - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteSt - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteSt - - - - - - - - - - - - - - - - - - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteSt - - - - - - - - - - - - - - - - - - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteSt - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteWaitSt - - - - - - - - - - - - - - - - - - - - - 1 1 1 - - - - - - - - - - - - - - - - - - - - - - Excluded VC_COV_UNR
WriteWaitSt - - - - - - - - - - - - - - - - - - - - - 1 1 0 1 - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteWaitSt - - - - - - - - - - - - - - - - - - - - - 1 1 0 0 - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteWaitSt - - - - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - - - - - - - Not Covered
WriteWaitSt - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - Not Covered
ScrSt - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - - - - - - - - - - - - - Not Covered
ScrSt - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - - - Not Covered
ScrSt - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - Not Covered
ScrWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - - - - - - - - - - - Not Covered
ScrWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - Not Covered
ScrWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - Not Covered
DigClrSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - Not Covered
DigClrSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - - Not Covered
DigReadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - - - - - - - - Not Covered
DigReadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - - - - - - - - Not Covered
DigReadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - 1 - - - - - - - - - - - - - Not Covered
DigReadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - 0 - - - - - - - - - - - - - Not Covered
DigReadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - Not Covered
DigReadWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - - - - - Not Covered
DigReadWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 1 - - - - - - - - - - Not Covered
DigReadWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 0 - - - - - - - - - - Not Covered
DigReadWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 1 - - - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 1 0 - - - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 - 1 - - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 0 - 0 - - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - 1 - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - 0 - - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - 1 - - - - Not Covered
DigSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - 0 - - - - Not Covered
DigPadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - Not Covered
DigPadSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - Not Covered
DigFinSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - Not Covered
DigFinSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - Not Covered
DigWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - Not Covered
DigWaitSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - Not Covered
ErrorSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 Not Covered
ErrorSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 Not Covered
default - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not Covered


LineNo. Expression -1-: 684 if ((lc_ctrl_pkg::lc_tx_test_true_loose(escalate_en_i) || cnt_err)) -2-: 687 if ((state_q != ErrorSt))

Branches:
-1--2-StatusTests
1 1 Not Covered
1 0 Not Covered
0 - Not Covered


LineNo. Expression -1-: 757 if (otp_ctrl_part_pkg::PartInfo[part_idx].secret) -2-: 761 if ((otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest && (base_sel_q == PartOffset))) -3-: 765 if ((((otp_ctrl_part_pkg::PartInfo[part_idx].hw_digest || otp_ctrl_part_pkg::PartInfo[part_idx].sw_digest) && (base_sel_q == DaiOffset)) && ({dai_addr_i[(otp_ctrl_reg_pkg::OtpByteAddrWidth - 1):3], 2'b0} == digest_addr_lut[part_idx])))

Branches:
-1--2--3-StatusTests
1 - - Not Covered
0 1 - Not Covered
0 0 1 Not Covered
0 0 0 Not Covered


LineNo. Expression -1-: 803 if ((!rst_ni))

Branches:
-1-StatusTests
1 Not Covered
0 Not Covered


LineNo. Expression -1-: 806 if ((!rst_ni)) -2-: 815 if (data_clr) -3-: 817 if (data_en) -4-: 818 if ((data_sel == ScrmblData)) -5-: 820 if ((data_sel == DaiData))

Branches:
-1--2--3--4--5-StatusTests
1 - - - - Not Covered
0 1 - - - Not Covered
0 0 1 1 - Not Covered
0 0 1 0 1 Not Covered
0 0 1 0 0 Not Covered
0 0 0 - - Not Covered

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