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

Module : lc_ctrl_fsm
SCORELINECONDTOGGLEFSMBRANCHASSERT
89.91 97.73 86.96 75.51 96.00 93.33

Source File(s) :
/workspace/default/sim-vcs/../src/lowrisc_ip_lc_ctrl_0.1/rtl/lc_ctrl_fsm.sv

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.u_lc_ctrl_fsm 95.59 97.73 90.91 100.00 96.00 93.33



Module Instance : tb.dut.u_lc_ctrl_fsm

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.59 97.73 90.91 100.00 96.00 93.33


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
96.19 98.86 89.23 100.00 95.74 97.14


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
93.75 100.00 83.10 98.16 100.00 87.50 dut


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
u_cnt_regs 100.00 100.00 100.00 100.00
u_fsm_state_regs 100.00 100.00 100.00 100.00
u_lc_ctrl_fsm_cov_if 96.97 100.00 90.91 100.00
u_lc_ctrl_signal_decode 98.86 99.21 97.37 100.00
u_lc_ctrl_state_decode 98.89 100.00 100.00 96.67
u_lc_ctrl_state_transition 89.21 96.92 79.17 91.53
u_prim_lc_sender_check_byp_en 100.00 100.00 100.00
u_prim_lc_sender_clk_byp_req 100.00 100.00 100.00
u_prim_lc_sender_flash_rma_req 100.00 100.00 100.00
u_prim_lc_sync_clk_byp_ack 100.00 100.00 100.00 100.00
u_prim_lc_sync_flash_rma_ack 100.00 100.00 100.00 100.00
u_prim_lc_sync_rma_token_valid 100.00 100.00 100.00
u_prim_lc_sync_test_token_valid 100.00 100.00 100.00
u_state_regs 100.00 100.00 100.00 100.00

Line Coverage for Module : lc_ctrl_fsm
Line No.TotalCoveredPercent
TOTAL17617297.73
CONT_ASSIGN12511100.00
CONT_ASSIGN14311100.00
CONT_ASSIGN15011100.00
CONT_ASSIGN15111100.00
ALWAYS17611411096.49
ALWAYS55633100.00
ALWAYS55733100.00
ALWAYS55833100.00
ALWAYS56133100.00
ALWAYS58055100.00
CONT_ASSIGN59111100.00
CONT_ASSIGN63811100.00
CONT_ASSIGN63911100.00
CONT_ASSIGN64011100.00
ALWAYS6491515100.00
ALWAYS6841414100.00
CONT_ASSIGN70411100.00
CONT_ASSIGN70811100.00
CONT_ASSIGN71211100.00
CONT_ASSIGN71411100.00
CONT_ASSIGN72111100.00
ALWAYS85233100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_lc_ctrl_0.1/rtl/lc_ctrl_fsm.sv' or '../src/lowrisc_ip_lc_ctrl_0.1/rtl/lc_ctrl_fsm.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
125 1 1
143 1 1
150 1 1
151 1 1
176 1 1
177 1 1
178 1 1
181 1 1
182 1 1
185 1 1
188 1 1
189 1 1
190 1 1
191 1 1
192 1 1
195 1 1
196 1 1
203 1 1
204 1 1
210 1 1
211 1 1
212 1 1
214 1 1
219 1 1
220 1 1
221 1 1
222 1 1
223 1 1
224 1 1
226 1 1
227 1 1
MISSING_ELSE
235 1 1
245 1 1
249 1 1
250 1 1
MISSING_ELSE
256 1 1
257 1 1
265 1 1
267 1 1
271 1 1
273 1 1
277 1 1
281 1 1
284 1 1
286 1 1
288 0 1
289 0 1
293 1 1
298 1 1
299 1 1
MISSING_ELSE
305 1 1
322 1 1
323 1 1
MISSING_ELSE
MISSING_ELSE
336 1 1
337 1 1
354 1 1
355 1 1
356 1 1
357 1 1
MISSING_ELSE
360 1 1
363 1 1
370 1 1
371 1 1
373 1 1
379 1 1
383 1 1
384 1 1
385 1 1
MISSING_ELSE
390 1 1
391 1 1
392 1 1
393 1 1
395 1 1
MISSING_ELSE
403 1 1
404 1 1
406 1 1
417 1 1
418 1 1
424 1 1
427 1 1
429 1 1
430 1 1
MISSING_ELSE
438 1 1
439 1 1
440 1 1
441 1 1
MISSING_ELSE
444 1 1
454 1 1
455 1 1
459 1 1
465 1 1
468 1 1
471 1 1
473 1 1
476 0 1
477 0 1
481 1 1
482 1 1
492 1 1
496 1 1
497 1 1
498 1 1
501 1 1
505 1 1
506 1 1
507 1 1
508 1 1
509 1 1
510 1 1
MISSING_ELSE
516 1 1
521 1 1
526 1 1
527 1 1
539 1 1
540 1 1
546 1 1
547 1 1
548 1 1
MISSING_ELSE
556 3 3
557 3 3
558 3 3
561 1 1
562 1 1
564 1 1
580 1 1
581 1 1
582 1 1
584 1 1
587 1 1
591 1 1
638 1 1
639 1 1
640 1 1
649 1 1
651 1 1
653 1 1
656 1 1
657 1 1
MISSING_ELSE
659 1 1
660 1 1
MISSING_ELSE
663 1 1
664 1 1
MISSING_ELSE
666 1 1
667 1 1
MISSING_ELSE
670 1 1
671 1 1
MISSING_ELSE
673 1 1
674 1 1
MISSING_ELSE
684 1 1
685 1 1
686 1 1
687 1 1
688 1 1
689 1 1
690 1 1
692 1 1
693 1 1
694 1 1
695 1 1
696 1 1
697 1 1
698 1 1
704 1 1
708 1 1
712 1 1
714 1 1
721 1 1
852 3 3


Cond Coverage for Module : lc_ctrl_fsm
TotalCoveredPercent
Conditions928086.96
Logical928086.96
Non-Logical00
Event00

 LINE       223
 EXPRESSION (init_req_i && lc_state_valid_q)
             -----1----    --------2-------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT3,T4,T16
11CoveredT1,T2,T3

 LINE       256
 EXPRESSION (lc_state_q == LcStScrap)
            ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT4,T21,T47

 LINE       265
 EXPRESSION (SecVolatileRawUnlockEn && volatile_raw_unlock_i && trans_cmd_i)
             -----------1----------    ----------2----------    -----3-----
-1--2--3-StatusTests
-01CoveredT1,T2,T11
-10CoveredT5,T6,T41
-11CoveredT41,T42,T43

 LINE       267
 EXPRESSION ((lc_state_q == LcStRaw) && (trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStTestUnlocked0}}) && ((!trans_invalid_error_o)))
             -----------1-----------    ----------------------------------------2---------------------------------------    -------------3------------
-1--2--3-StatusTests
011Not Covered
101Not Covered
110Not Covered
111CoveredT42,T43,T37

 LINE       267
 SUB-EXPRESSION (lc_state_q == LcStRaw)
                -----------1-----------
-1-StatusTests
0CoveredT43,T37,T46
1CoveredT41,T42,T43

 LINE       267
 SUB-EXPRESSION (trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStTestUnlocked0}})
                ----------------------------------------1---------------------------------------
-1-StatusTests
0CoveredT41,T43,T44
1CoveredT42,T43,T37

 LINE       271
 EXPRESSION (unhashed_token_i == lc_ctrl_state_pkg::RndCnstRawUnlockTokenHashed)
            ----------------------------------1---------------------------------
-1-StatusTests
0Not Covered
1CoveredT42,T43,T37

 LINE       277
 EXPRESSION ((lc_cnt_q == LcCnt0) ? LcCnt1 : lc_cnt_q)
             ----------1---------
-1-StatusTests
0CoveredT42,T43,T37
1Not Covered

 LINE       277
 SUB-EXPRESSION (lc_cnt_q == LcCnt0)
                ----------1---------
-1-StatusTests
0CoveredT42,T43,T37
1Not Covered

 LINE       383
 EXPRESSION (lc_clk_byp_req_o != lc_clk_byp_ack[1])
            -------------------1-------------------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T12,T23

 LINE       424
 EXPRESSION ((hashed_token_i == hashed_token_mux) && ((!token_hash_err_i)) && ((&hashed_token_valid_mux)))
             ------------------1-----------------    ----------2----------    -------------3-------------
-1--2--3-StatusTests
011CoveredT2,T12,T13
101CoveredT12,T17,T25
110Not Covered
111CoveredT1,T2,T11

 LINE       424
 SUB-EXPRESSION (hashed_token_i == hashed_token_mux)
                ------------------1-----------------
-1-StatusTests
0CoveredT1,T2,T12
1CoveredT1,T2,T11

 LINE       438
 EXPRESSION (trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}})
            -----------------------------------1----------------------------------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       465
 EXPRESSION ((hashed_token_i == hashed_token_mux) && ((!token_hash_err_i)) && ((&hashed_token_valid_mux)))
             ------------------1-----------------    ----------2----------    -------------3-------------
-1--2--3-StatusTests
011Not Covered
101Not Covered
110Not Covered
111CoveredT1,T2,T11

 LINE       465
 SUB-EXPRESSION (hashed_token_i == hashed_token_mux)
                ------------------1-----------------
-1-StatusTests
0Not Covered
1CoveredT1,T2,T11

 LINE       468
 EXPRESSION (fsm_state_q == TokenCheck1St)
            ---------------1--------------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       496
 EXPRESSION (lc_clk_byp_req_o != lc_clk_byp_ack[2])
            -------------------1-------------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT48,T49,T50

 LINE       501
 EXPRESSION 
 Number  Term
      1  ((trans_target_i != {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && ((lc_flash_rma_req_o != Off) || (lc_flash_rma_ack[1] != Off))) || 
      2  ((trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && ((lc_flash_rma_req_o != On) || (lc_flash_rma_ack[1] != On))))
-1--2-StatusTests
00CoveredT1,T11,T12
01CoveredT1,T51,T52
10CoveredT52,T53,T54

 LINE       501
 SUB-EXPRESSION ((trans_target_i != {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && ((lc_flash_rma_req_o != Off) || (lc_flash_rma_ack[1] != Off)))
                 -----------------------------------1----------------------------------    ------------------------------2------------------------------
-1--2-StatusTests
01CoveredT1,T11,T12
10CoveredT1,T11,T12
11CoveredT52,T53,T54

 LINE       501
 SUB-EXPRESSION (trans_target_i != {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}})
                -----------------------------------1----------------------------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT1,T11,T12

 LINE       501
 SUB-EXPRESSION ((lc_flash_rma_req_o != Off) || (lc_flash_rma_ack[1] != Off))
                 -------------1-------------    --------------2-------------
-1--2-StatusTests
00CoveredT1,T11,T12
01CoveredT52,T53,T54
10Not Covered

 LINE       501
 SUB-EXPRESSION (lc_flash_rma_req_o != Off)
                -------------1-------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT1,T11,T12

 LINE       501
 SUB-EXPRESSION (lc_flash_rma_ack[1] != Off)
                --------------1-------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT1,T11,T12

 LINE       501
 SUB-EXPRESSION ((trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && ((lc_flash_rma_req_o != On) || (lc_flash_rma_ack[1] != On)))
                 -----------------------------------1----------------------------------    -----------------------------2-----------------------------
-1--2-StatusTests
01CoveredT1,T11,T12
10CoveredT1,T11,T12
11CoveredT1,T51,T52

 LINE       501
 SUB-EXPRESSION (trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}})
                -----------------------------------1----------------------------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT1,T11,T12

 LINE       501
 SUB-EXPRESSION ((lc_flash_rma_req_o != On) || (lc_flash_rma_ack[1] != On))
                 -------------1------------    -------------2-------------
-1--2-StatusTests
00CoveredT1,T11,T12
01CoveredT1,T51,T52
10CoveredT55,T56

 LINE       501
 SUB-EXPRESSION (lc_flash_rma_req_o != On)
                -------------1------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT1,T11,T12

 LINE       501
 SUB-EXPRESSION (lc_flash_rma_ack[1] != On)
                -------------1-------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT1,T11,T12

 LINE       539
 EXPRESSION (esc_scrap_state0_i || esc_scrap_state1_i)
             ---------1--------    ---------2--------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T3,T12
10CoveredT1,T3,T12

 LINE       546
 EXPRESSION ((((|state_invalid_error)) | token_if_fsm_err_i) && (fsm_state_q != EscalateSt))
             -----------------------1-----------------------    -------------2-------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT3,T4,T16
11CoveredT1,T3,T4

 LINE       546
 SUB-EXPRESSION (((|state_invalid_error)) | token_if_fsm_err_i)
                 ------------1-----------   ---------2--------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT3,T4,T16
10CoveredT1,T3,T4

 LINE       546
 SUB-EXPRESSION (fsm_state_q != EscalateSt)
                -------------1-------------
-1-StatusTests
0CoveredT1,T3,T12
1CoveredT1,T2,T3

 LINE       584
 SUB-EXPRESSION (set_strap_en_override || gen_strap_delay_regs.strap_en_override_q[0])
                 ----------1----------    ---------------------2---------------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT42,T43,T37
10CoveredT42,T43,T37

 LINE       704
 EXPRESSION 
 Number  Term
      1  ((int'(dec_lc_state_o[0]) < lc_ctrl_state_pkg::NumLcStates) && (int'(trans_target_i[0]) < lc_ctrl_state_pkg::NumLcStates)) ? lc_ctrl_pkg::TransTokenIdxMatrix[dec_lc_state_o[0]][trans_target_i[0]] : InvalidTokenIdx)
-1-StatusTests
0UnreachableT1,T2,T3
1CoveredT1,T2,T3

 LINE       704
 SUB-EXPRESSION ((int'(dec_lc_state_o[0]) < lc_ctrl_state_pkg::NumLcStates) && (int'(trans_target_i[0]) < lc_ctrl_state_pkg::NumLcStates))
                 -----------------------------1----------------------------    -----------------------------2----------------------------
-1--2-StatusTests
01UnreachableT1,T2,T3
10UnreachableT22,T7,T8
11CoveredT1,T2,T3

 LINE       708
 EXPRESSION 
 Number  Term
      1  ((int'(dec_lc_state_o[1]) < lc_ctrl_state_pkg::NumLcStates) && (int'(trans_target_i[1]) < lc_ctrl_state_pkg::NumLcStates)) ? lc_ctrl_pkg::TransTokenIdxMatrix[dec_lc_state_o[1]][trans_target_i[1]] : InvalidTokenIdx)
-1-StatusTests
0UnreachableT1,T2,T3
1CoveredT1,T2,T3

 LINE       708
 SUB-EXPRESSION ((int'(dec_lc_state_o[1]) < lc_ctrl_state_pkg::NumLcStates) && (int'(trans_target_i[1]) < lc_ctrl_state_pkg::NumLcStates))
                 -----------------------------1----------------------------    -----------------------------2----------------------------
-1--2-StatusTests
01UnreachableT1,T2,T3
10UnreachableT5,T6,T22
11CoveredT1,T2,T3

 LINE       721
 EXPRESSION (trans_invalid_error || (token_idx0 != token_idx1))
             ---------1---------    -------------2------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT2,T13,T14
10CoveredT12,T17,T25

 LINE       721
 SUB-EXPRESSION (token_idx0 != token_idx1)
                -------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT2,T13,T14

FSM Coverage for Module : lc_ctrl_fsm
Summary for FSM :: fsm_state_q
TotalCoveredPercent
States 15 15 100.00 (Not included in score)
Transitions 47 35 74.47
Sequences 0 0

State, Transition and Sequence Details for FSM :: fsm_state_q
statesLine No.CoveredTests
ClkMuxSt 299 Covered T1,T2,T11
CntIncrSt 357 Covered T1,T2,T11
CntProgSt 373 Covered T1,T2,T11
EscalateSt 540 Covered T1,T3,T12
FlashRmaSt 427 Covered T1,T2,T11
IdleSt 224 Covered T1,T2,T3
InvalidSt 547 Covered T1,T3,T4
PostTransSt 289 Covered T1,T2,T11
ResetSt 218 Covered T1,T2,T3
ScrapSt 257 Covered T4,T21,T47
TokenCheck0St 441 Covered T1,T2,T11
TokenCheck1St 473 Covered T1,T2,T11
TokenHashSt 406 Covered T1,T2,T11
TransCheckSt 395 Covered T1,T2,T11
TransProgSt 471 Covered T1,T11,T12


transitionsLine No.CoveredTests
ClkMuxSt->CntIncrSt 357 Covered T1,T2,T11
ClkMuxSt->EscalateSt 540 Covered T57,T58,T59
ClkMuxSt->InvalidSt 547 Not Covered
CntIncrSt->CntProgSt 373 Covered T1,T2,T11
CntIncrSt->EscalateSt 540 Covered T57,T58,T59
CntIncrSt->InvalidSt 547 Not Covered
CntIncrSt->PostTransSt 371 Covered T12,T17,T25
CntProgSt->EscalateSt 540 Covered T57,T58,T59
CntProgSt->InvalidSt 547 Not Covered
CntProgSt->PostTransSt 384 Covered T1,T12,T4
CntProgSt->TransCheckSt 395 Covered T1,T2,T11
EscalateSt->InvalidSt 547 Not Covered
FlashRmaSt->EscalateSt 540 Covered T57,T58,T59
FlashRmaSt->InvalidSt 547 Not Covered
FlashRmaSt->TokenCheck0St 441 Covered T1,T2,T11
IdleSt->ClkMuxSt 299 Covered T1,T2,T11
IdleSt->EscalateSt 540 Covered T59,T60,T61
IdleSt->InvalidSt 547 Covered T1,T3,T4
IdleSt->PostTransSt 289 Covered T41,T43,T44
IdleSt->ScrapSt 257 Covered T4,T21,T47
InvalidSt->EscalateSt 540 Covered T1,T3,T4
PostTransSt->EscalateSt 540 Covered T1,T12,T4
PostTransSt->InvalidSt 547 Not Covered
ResetSt->EscalateSt 540 Covered T57,T58,T59
ResetSt->IdleSt 224 Covered T1,T2,T3
ResetSt->InvalidSt 547 Not Covered
ScrapSt->EscalateSt 540 Covered T58,T59,T62
ScrapSt->InvalidSt 547 Covered T63,T64
TokenCheck0St->EscalateSt 540 Covered T57,T59,T62
TokenCheck0St->InvalidSt 547 Not Covered
TokenCheck0St->PostTransSt 455 Covered T1,T2,T12
TokenCheck0St->TokenCheck1St 473 Covered T1,T2,T11
TokenCheck1St->EscalateSt 540 Covered T58,T59,T62
TokenCheck1St->InvalidSt 547 Not Covered
TokenCheck1St->PostTransSt 455 Covered T1,T2,T13
TokenCheck1St->TransProgSt 471 Covered T1,T11,T12
TokenHashSt->EscalateSt 540 Covered T57,T58,T59
TokenHashSt->FlashRmaSt 427 Covered T1,T2,T11
TokenHashSt->InvalidSt 547 Not Covered
TokenHashSt->PostTransSt 429 Covered T1,T2,T12
TransCheckSt->EscalateSt 540 Covered T62,T65,T60
TransCheckSt->InvalidSt 547 Not Covered
TransCheckSt->PostTransSt 404 Covered T2,T12,T13
TransCheckSt->TokenHashSt 406 Covered T1,T2,T11
TransProgSt->EscalateSt 540 Covered T57,T58,T59
TransProgSt->InvalidSt 547 Not Covered
TransProgSt->PostTransSt 497 Covered T1,T11,T12


Summary for FSM :: lc_state_q
TotalCoveredPercent
States 21 12 57.14 (Not included in score)
Transitions 1 1 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: lc_state_q
statesLine No.CoveredTests
LcStDev 92 Not Covered
LcStProd 93 Not Covered
LcStProdEnd 94 Not Covered
LcStRaw 267 Covered T1,T2,T12
LcStRma 305 Not Covered
LcStScrap 256 Not Covered
LcStTestLocked0 305 Covered T1,T2,T3
LcStTestLocked1 305 Covered T1,T2,T3
LcStTestLocked2 305 Covered T1,T2,T3
LcStTestLocked3 305 Covered T1,T2,T3
LcStTestLocked4 305 Covered T1,T2,T3
LcStTestLocked5 305 Not Covered
LcStTestLocked6 305 Not Covered
LcStTestUnlocked0 273 Covered T1,T2,T3
LcStTestUnlocked1 305 Covered T1,T2,T3
LcStTestUnlocked2 305 Covered T1,T2,T3
LcStTestUnlocked3 305 Covered T1,T2,T12
LcStTestUnlocked4 305 Covered T1,T2,T12
LcStTestUnlocked5 305 Covered T1,T2,T3
LcStTestUnlocked6 305 Not Covered
LcStTestUnlocked7 305 Not Covered


transitionsLine No.CoveredTests
LcStRaw->LcStTestUnlocked0 273 Covered T12,T4,T24


Summary for FSM :: lc_cnt_q
TotalCoveredPercent
States 25 6 24.00 (Not included in score)
Transitions 1 1 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: lc_cnt_q
statesLine No.CoveredTests
LcCnt0 277 Covered T1,T14,T24
LcCnt1 277 Covered T1,T2,T3
LcCnt10 112 Not Covered
LcCnt11 113 Not Covered
LcCnt12 114 Not Covered
LcCnt13 115 Not Covered
LcCnt14 116 Not Covered
LcCnt15 117 Not Covered
LcCnt16 118 Not Covered
LcCnt17 119 Not Covered
LcCnt18 120 Not Covered
LcCnt19 121 Not Covered
LcCnt2 104 Covered T1,T2,T3
LcCnt20 122 Not Covered
LcCnt21 123 Not Covered
LcCnt22 124 Not Covered
LcCnt23 125 Not Covered
LcCnt24 126 Not Covered
LcCnt3 105 Covered T1,T2,T3
LcCnt4 106 Covered T1,T2,T3
LcCnt5 107 Covered T1,T2,T3
LcCnt6 108 Not Covered
LcCnt7 109 Not Covered
LcCnt8 110 Not Covered
LcCnt9 111 Not Covered


transitionsLine No.CoveredTests
LcCnt0->LcCnt1 277 Covered T52,T66,T67



Branch Coverage for Module : lc_ctrl_fsm
Line No.TotalCoveredPercent
Branches 75 72 96.00
TERNARY 704 1 1 100.00
TERNARY 708 1 1 100.00
CASE 214 46 43 93.48
IF 539 3 3 100.00
IF 556 2 2 100.00
IF 557 2 2 100.00
IF 558 2 2 100.00
IF 561 2 2 100.00
IF 656 2 2 100.00
IF 659 2 2 100.00
IF 663 2 2 100.00
IF 666 2 2 100.00
IF 670 2 2 100.00
IF 673 2 2 100.00
IF 852 2 2 100.00
IF 580 2 2 100.00

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

LineNo. Expression -1-: 704 (((int'(dec_lc_state_o[0]) < lc_ctrl_state_pkg::NumLcStates) && (int'(trans_target_i[0]) < lc_ctrl_state_pkg::NumLcStates))) ?

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Unreachable T1,T2,T3


LineNo. Expression -1-: 708 (((int'(dec_lc_state_o[1]) < lc_ctrl_state_pkg::NumLcStates) && (int'(trans_target_i[1]) < lc_ctrl_state_pkg::NumLcStates))) ?

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Unreachable T1,T2,T3


LineNo. Expression -1-: 214 case (fsm_state_q) -2-: 223 if ((init_req_i && lc_state_valid_q)) -3-: 245 if (((!((SecVolatileRawUnlockEn && (lc_state_q == LcStTestUnlocked0)) && (lc_cnt_q != LcCnt0))) || prim_mubi_pkg::mubi8_test_false_loose(volatile_raw_unlock_success_q))) -4-: 256 if ((lc_state_q == LcStScrap)) -5-: 265 if (((SecVolatileRawUnlockEn && volatile_raw_unlock_i) && trans_cmd_i)) -6-: 267 if ((((lc_state_q == LcStRaw) && (trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStTestUnlocked0}})) && (!trans_invalid_error_o))) -7-: 271 if ((unhashed_token_i == lc_ctrl_state_pkg::RndCnstRawUnlockTokenHashed)) -8-: 277 ((lc_cnt_q == LcCnt0)) ? -9-: 298 if (trans_cmd_i) -10-: 305 if ((lc_state_q inside {LcStRaw, LcStTestLocked0, LcStTestLocked1, LcStTestLocked2, LcStTestLocked3, LcStTestLocked4, LcStTestLocked5, LcStTestLocked6, LcStTestUnlocked0, LcStTestUnlocked1, LcStTestUnlocked2, LcStTestUnlocked3, LcStTestUnlocked4, LcStTestUnlocked5, LcStTestUnlocked6, LcStTestUnlocked7, LcStRma})) -11-: 322 if (use_ext_clock_i) -12-: 337 if ((lc_state_q inside {LcStRaw, LcStTestLocked0, LcStTestLocked1, LcStTestLocked2, LcStTestLocked3, LcStTestLocked4, LcStTestLocked5, LcStTestLocked6, LcStTestUnlocked0, LcStTestUnlocked1, LcStTestUnlocked2, LcStTestUnlocked3, LcStTestUnlocked4, LcStTestUnlocked5, LcStTestUnlocked6, LcStTestUnlocked7, LcStRma})) -13-: 354 if (use_ext_clock_i) -14-: 356 if (lc_ctrl_pkg::lc_tx_test_true_strict(lc_clk_byp_ack[0])) -15-: 370 if (trans_cnt_oflw_error_o) -16-: 383 if ((lc_clk_byp_req_o != lc_clk_byp_ack[1])) -17-: 390 if (otp_prog_ack_i) -18-: 391 if (otp_prog_err_i) -19-: 403 if (trans_invalid_error_o) -20-: 418 if (token_hash_ack_i) -21-: 424 if ((((hashed_token_i == hashed_token_mux) && (!token_hash_err_i)) && (&hashed_token_valid_mux))) -22-: 438 if ((trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}})) -23-: 440 if (lc_ctrl_pkg::lc_tx_test_true_strict(lc_flash_rma_ack[0])) -24-: 454 if (trans_invalid_error_o) -25-: 459 if (((((trans_target_i != {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && lc_ctrl_pkg::lc_tx_test_false_strict(lc_flash_rma_req_o)) && lc_ctrl_pkg::lc_tx_test_false_strict(lc_flash_rma_ack[1])) || (((trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && lc_ctrl_pkg::lc_tx_test_true_strict(lc_flash_rma_req_o)) && lc_ctrl_pkg::lc_tx_test_true_strict(lc_flash_rma_ack[1])))) -26-: 465 if ((((hashed_token_i == hashed_token_mux) && (!token_hash_err_i)) && (&hashed_token_valid_mux))) -27-: 468 if ((fsm_state_q == TokenCheck1St)) -28-: 496 if ((lc_clk_byp_req_o != lc_clk_byp_ack[2])) -29-: 501 if ((((trans_target_i != {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && ((lc_flash_rma_req_o != Off) || (lc_flash_rma_ack[1] != Off))) || ((trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && ((lc_flash_rma_req_o != On) || (lc_flash_rma_ack[1] != On))))) -30-: 507 if (otp_prog_ack_i)

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-StatusTests
ResetSt 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T3
ResetSt 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T3
IdleSt - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T3
IdleSt - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T42,T43,T37
IdleSt - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T4,T21,T47
IdleSt - - 0 1 1 1 1 - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - 0 1 1 1 0 - - - - - - - - - - - - - - - - - - - - - - Covered T42,T43,T37
IdleSt - - 0 1 1 0 - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - 0 1 0 - - - - - - - - - - - - - - - - - - - - - - - - Covered T41,T43,T44
IdleSt - - 0 0 - - - 1 - - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T11
IdleSt - - 0 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T3
IdleSt - - - - - - - - 1 1 - - - - - - - - - - - - - - - - - - - Covered T11,T4,T68
IdleSt - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - - - Covered T1,T2,T3
IdleSt - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T3
ClkMuxSt - - - - - - - - - - 1 1 1 - - - - - - - - - - - - - - - - Covered T11,T4,T68
ClkMuxSt - - - - - - - - - - 1 1 0 - - - - - - - - - - - - - - - - Covered T69,T70,T71
ClkMuxSt - - - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - Covered T1,T2,T11
ClkMuxSt - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - Covered T1,T2,T12
CntIncrSt - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - Covered T12,T17,T25
CntIncrSt - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - Covered T1,T2,T11
CntProgSt - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - Covered T1,T12,T23
CntProgSt - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - Covered T1,T2,T11
CntProgSt - - - - - - - - - - - - - - - 1 1 - - - - - - - - - - - - Covered T4,T17,T72
CntProgSt - - - - - - - - - - - - - - - 1 0 - - - - - - - - - - - - Covered T1,T2,T11
CntProgSt - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - Covered T1,T2,T11
TransCheckSt - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - Covered T2,T12,T13
TransCheckSt - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - Covered T1,T2,T11
TokenHashSt - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - - - Covered T1,T2,T11
TokenHashSt - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - - - Covered T1,T2,T12
TokenHashSt - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - Covered T1,T2,T11
FlashRmaSt - - - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - Covered T1,T2,T11
FlashRmaSt - - - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - Covered T1,T2,T11
FlashRmaSt - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - Covered T1,T2,T11
TokenCheck0St TokenCheck1St - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - Covered T2,T13,T14
TokenCheck0St TokenCheck1St - - - - - - - - - - - - - - - - - - - - - - 0 1 1 1 - - - Covered T1,T2,T11
TokenCheck0St TokenCheck1St - - - - - - - - - - - - - - - - - - - - - - 0 1 1 0 - - - Covered T1,T2,T11
TokenCheck0St TokenCheck1St - - - - - - - - - - - - - - - - - - - - - - 0 1 0 - - - - Not Covered
TokenCheck0St TokenCheck1St - - - - - - - - - - - - - - - - - - - - - - 0 0 - - - - - Covered T1,T12,T23
TransProgSt - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - Covered T48,T49,T50
TransProgSt - - - - - - - - - - - - - - - - - - - - - - - - - - 0 1 - Covered T1,T51,T52
TransProgSt - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0 1 Covered T1,T11,T12
TransProgSt - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0 0 Covered T1,T11,T12
ScrapSt PostTransSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T11
EscalateSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T1,T3,T12
InvalidSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T1,T3,T4
default - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T3,T4,T16


LineNo. Expression -1-: 539 if ((esc_scrap_state0_i || esc_scrap_state1_i)) -2-: 546 if ((((|state_invalid_error) | token_if_fsm_err_i) && (fsm_state_q != EscalateSt)))

Branches:
-1--2-StatusTests
1 - Covered T1,T3,T12
0 1 Covered T1,T3,T4
0 0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


LineNo. Expression -1-: 656 if (lc_ctrl_pkg::lc_tx_test_true_strict(test_tokens_valid[0]))

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T23,T73


LineNo. Expression -1-: 659 if (lc_ctrl_pkg::lc_tx_test_true_strict(test_tokens_valid[1]))

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T23,T73


LineNo. Expression -1-: 663 if (lc_ctrl_pkg::lc_tx_test_true_strict(test_tokens_valid[2]))

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T23,T73


LineNo. Expression -1-: 666 if (lc_ctrl_pkg::lc_tx_test_true_strict(test_tokens_valid[3]))

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T23,T73


LineNo. Expression -1-: 670 if (lc_ctrl_pkg::lc_tx_test_true_strict(rma_token_valid[0]))

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T23,T73


LineNo. Expression -1-: 673 if (lc_ctrl_pkg::lc_tx_test_true_strict(rma_token_valid[1]))

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T23,T73


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


Assert Coverage for Module : lc_ctrl_fsm
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 15 15 100.00 14 93.33
Cover properties 0 0 0
Cover sequences 0 0 0
Total 15 15 100.00 14 93.33




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
ClkBypStaysOnOnceAsserted_A 65823450 3912386 0 80
EscStaysOnOnceAsserted_A 65823450 11671984 0 9
FlashRmaStaysOnOnceAsserted_A 65823450 389450 0 12
FsmStateKnown_A 65823450 62483363 0 0
LcCntKnown_A 65823450 62483363 0 0
LcStateKnown_A 65823450 62483363 0 0
NoClkBypInProdStates_A 65823450 8342513 0 0
SecCmCFILinear_A 65823450 0 0 1963
SecCmCFITerminal0_A 65823450 8734050 0 0
SecCmCFITerminal1_A 65823450 47040 0 0
SecCmCFITerminal2_A 65823450 4897055 0 0
SecCmCFITerminal3_A 65823450 6741651 0 0
u_cnt_regs_A 61283885 58242213 0 0
u_fsm_state_regs_A 64298887 61055714 0 0
u_state_regs_A 61931410 58890118 0 0


ClkBypStaysOnOnceAsserted_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 3912386 0 80
T4 728662 45082 0 0
T5 31812 0 0 0
T6 0 30281 0 1
T7 0 0 0 1
T8 0 0 0 1
T9 0 0 0 1
T11 43734 8826 0 1
T12 37894 0 0 0
T13 27286 0 0 0
T14 23472 0 0 0
T15 27246 0 0 0
T16 22477 0 0 0
T20 0 11310 0 0
T21 0 2795 0 0
T23 23318 0 0 0
T24 18838 0 0 0
T42 0 2239 0 1
T47 0 597 0 0
T68 0 11221 0 0
T70 0 0 0 1
T74 0 2394 0 1
T75 0 697 0 0
T76 0 0 0 1
T77 0 0 0 1

EscStaysOnOnceAsserted_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 11671984 0 9
T1 50673 6863 0 0
T2 28844 0 0 0
T3 99942 77982 0 0
T4 728662 106852 0 0
T5 31812 0 0 0
T10 2452 0 0 0
T12 37894 1063 0 0
T13 27286 0 0 0
T14 23472 0 0 0
T15 27246 0 0 0
T16 0 12655 0 0
T17 0 3968 0 0
T18 0 178816 0 0
T23 0 3823 0 0
T25 0 1702 0 0
T78 0 799 0 0
T79 0 0 0 1
T80 0 0 0 1
T81 0 0 0 1
T82 0 0 0 1
T83 0 0 0 1
T84 0 0 0 1
T85 0 0 0 1
T86 0 0 0 1
T87 0 0 0 1

FlashRmaStaysOnOnceAsserted_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 389450 0 12
T1 50673 836 0 0
T2 28844 656 0 0
T3 99942 0 0 0
T4 728662 3773 0 0
T10 2452 0 0 0
T11 43734 40 0 0
T12 37894 1033 0 0
T13 27286 515 0 0
T14 23472 480 0 0
T15 27246 0 0 0
T17 0 508 0 0
T23 0 295 0 0
T25 0 494 0 0
T88 0 0 0 1
T89 0 0 0 1
T90 0 0 0 1
T91 0 0 0 1
T92 0 0 0 1
T93 0 0 0 1
T94 0 0 0 1
T95 0 0 0 1
T96 0 0 0 1
T97 0 0 0 1

FsmStateKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 62483363 0 0
T1 50673 43717 0 0
T2 28844 22553 0 0
T3 99942 95506 0 0
T4 728662 695361 0 0
T10 2452 2387 0 0
T11 43734 42983 0 0
T12 37894 31222 0 0
T13 27286 21567 0 0
T14 23472 18890 0 0
T15 27246 22616 0 0

LcCntKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 62483363 0 0
T1 50673 43717 0 0
T2 28844 22553 0 0
T3 99942 95506 0 0
T4 728662 695361 0 0
T10 2452 2387 0 0
T11 43734 42983 0 0
T12 37894 31222 0 0
T13 27286 21567 0 0
T14 23472 18890 0 0
T15 27246 22616 0 0

LcStateKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 62483363 0 0
T1 50673 43717 0 0
T2 28844 22553 0 0
T3 99942 95506 0 0
T4 728662 695361 0 0
T10 2452 2387 0 0
T11 43734 42983 0 0
T12 37894 31222 0 0
T13 27286 21567 0 0
T14 23472 18890 0 0
T15 27246 22616 0 0

NoClkBypInProdStates_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 8342513 0 0
T1 50673 10650 0 0
T2 28844 3241 0 0
T3 99942 14810 0 0
T4 728662 127050 0 0
T5 31812 31740 0 0
T10 2452 0 0 0
T12 37894 5938 0 0
T13 27286 2675 0 0
T14 23472 2755 0 0
T15 27246 2616 0 0
T16 0 774 0 0

SecCmCFILinear_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 0 0 1963

SecCmCFITerminal0_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 8734050 0 0
T1 50673 11290 0 0
T2 28844 12720 0 0
T3 99942 0 0 0
T4 728662 30476 0 0
T10 2452 0 0 0
T11 43734 1031 0 0
T12 37894 14615 0 0
T13 27286 10918 0 0
T14 23472 8991 0 0
T15 27246 11135 0 0
T23 0 7488 0 0
T24 0 7764 0 0

SecCmCFITerminal1_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 47040 0 0
T4 728662 484 0 0
T5 31812 0 0 0
T16 22477 0 0 0
T17 42969 0 0 0
T18 232747 0 0 0
T21 0 349 0 0
T23 23318 0 0 0
T24 18838 0 0 0
T25 20831 0 0 0
T47 0 13 0 0
T51 0 1395 0 0
T52 0 3163 0 0
T58 0 3 0 0
T59 0 3 0 0
T78 32582 0 0 0
T98 0 8 0 0
T99 0 834 0 0
T100 0 287 0 0
T101 27582 0 0 0

SecCmCFITerminal2_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 4897055 0 0
T1 50673 4247 0 0
T2 28844 0 0 0
T3 99942 19732 0 0
T4 728662 61482 0 0
T5 31812 0 0 0
T10 2452 0 0 0
T12 37894 1071 0 0
T13 27286 0 0 0
T14 23472 0 0 0
T15 27246 0 0 0
T16 0 8421 0 0
T17 0 3781 0 0
T18 0 41161 0 0
T23 0 3059 0 0
T25 0 1715 0 0
T78 0 805 0 0

SecCmCFITerminal3_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 6741651 0 0
T1 50673 2648 0 0
T2 28844 0 0 0
T3 99942 58274 0 0
T4 728662 45090 0 0
T5 31812 0 0 0
T10 2452 0 0 0
T16 22477 4261 0 0
T17 42969 214 0 0
T18 0 137681 0 0
T19 0 169470 0 0
T23 23318 789 0 0
T24 18838 0 0 0
T101 0 9836 0 0
T102 0 1240 0 0

u_cnt_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 61283885 58242213 0 0
T1 50673 43717 0 0
T2 28844 22553 0 0
T3 62075 59188 0 0
T4 673628 650192 0 0
T10 2452 2387 0 0
T11 43734 42983 0 0
T12 37894 31222 0 0
T13 27286 21567 0 0
T14 23472 18890 0 0
T15 27246 22616 0 0

u_fsm_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 64298887 61055714 0 0
T1 50673 43717 0 0
T2 28844 22553 0 0
T3 86353 82422 0 0
T4 620109 590478 0 0
T10 2452 2387 0 0
T11 43734 42983 0 0
T12 37894 31222 0 0
T13 27286 21567 0 0
T14 23472 18890 0 0
T15 27246 22616 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 61931410 58890118 0 0
T1 50673 43717 0 0
T2 28844 22553 0 0
T3 73797 70645 0 0
T4 682734 657782 0 0
T10 2452 2387 0 0
T11 43734 42983 0 0
T12 37894 31222 0 0
T13 27286 21567 0 0
T14 23472 18890 0 0
T15 27246 22616 0 0

Line Coverage for Instance : tb.dut.u_lc_ctrl_fsm
Line No.TotalCoveredPercent
TOTAL17617297.73
CONT_ASSIGN12511100.00
CONT_ASSIGN14311100.00
CONT_ASSIGN15011100.00
CONT_ASSIGN15111100.00
ALWAYS17611411096.49
ALWAYS55633100.00
ALWAYS55733100.00
ALWAYS55833100.00
ALWAYS56133100.00
ALWAYS58055100.00
CONT_ASSIGN59111100.00
CONT_ASSIGN63811100.00
CONT_ASSIGN63911100.00
CONT_ASSIGN64011100.00
ALWAYS6491515100.00
ALWAYS6841414100.00
CONT_ASSIGN70411100.00
CONT_ASSIGN70811100.00
CONT_ASSIGN71211100.00
CONT_ASSIGN71411100.00
CONT_ASSIGN72111100.00
ALWAYS85233100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_lc_ctrl_0.1/rtl/lc_ctrl_fsm.sv' or '../src/lowrisc_ip_lc_ctrl_0.1/rtl/lc_ctrl_fsm.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
125 1 1
143 1 1
150 1 1
151 1 1
176 1 1
177 1 1
178 1 1
181 1 1
182 1 1
185 1 1
188 1 1
189 1 1
190 1 1
191 1 1
192 1 1
195 1 1
196 1 1
203 1 1
204 1 1
210 1 1
211 1 1
212 1 1
214 1 1
219 1 1
220 1 1
221 1 1
222 1 1
223 1 1
224 1 1
226 1 1
227 1 1
MISSING_ELSE
235 1 1
245 1 1
249 1 1
250 1 1
MISSING_ELSE
256 1 1
257 1 1
265 1 1
267 1 1
271 1 1
273 1 1
277 1 1
281 1 1
284 1 1
286 1 1
288 0 1
289 0 1
293 1 1
298 1 1
299 1 1
MISSING_ELSE
305 1 1
322 1 1
323 1 1
MISSING_ELSE
MISSING_ELSE
336 1 1
337 1 1
354 1 1
355 1 1
356 1 1
357 1 1
MISSING_ELSE
360 1 1
363 1 1
370 1 1
371 1 1
373 1 1
379 1 1
383 1 1
384 1 1
385 1 1
MISSING_ELSE
390 1 1
391 1 1
392 1 1
393 1 1
395 1 1
MISSING_ELSE
403 1 1
404 1 1
406 1 1
417 1 1
418 1 1
424 1 1
427 1 1
429 1 1
430 1 1
MISSING_ELSE
438 1 1
439 1 1
440 1 1
441 1 1
MISSING_ELSE
444 1 1
454 1 1
455 1 1
459 1 1
465 1 1
468 1 1
471 1 1
473 1 1
476 0 1
477 0 1
481 1 1
482 1 1
492 1 1
496 1 1
497 1 1
498 1 1
501 1 1
505 1 1
506 1 1
507 1 1
508 1 1
509 1 1
510 1 1
MISSING_ELSE
516 1 1
521 1 1
526 1 1
527 1 1
539 1 1
540 1 1
546 1 1
547 1 1
548 1 1
MISSING_ELSE
556 3 3
557 3 3
558 3 3
561 1 1
562 1 1
564 1 1
580 1 1
581 1 1
582 1 1
584 1 1
587 1 1
591 1 1
638 1 1
639 1 1
640 1 1
649 1 1
651 1 1
653 1 1
656 1 1
657 1 1
MISSING_ELSE
659 1 1
660 1 1
MISSING_ELSE
663 1 1
664 1 1
MISSING_ELSE
666 1 1
667 1 1
MISSING_ELSE
670 1 1
671 1 1
MISSING_ELSE
673 1 1
674 1 1
MISSING_ELSE
684 1 1
685 1 1
686 1 1
687 1 1
688 1 1
689 1 1
690 1 1
692 1 1
693 1 1
694 1 1
695 1 1
696 1 1
697 1 1
698 1 1
704 1 1
708 1 1
712 1 1
714 1 1
721 1 1
852 3 3


Cond Coverage for Instance : tb.dut.u_lc_ctrl_fsm
TotalCoveredPercent
Conditions888090.91
Logical888090.91
Non-Logical00
Event00

 LINE       223
 EXPRESSION (init_req_i && lc_state_valid_q)
             -----1----    --------2-------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT3,T4,T16
11CoveredT1,T2,T3

 LINE       256
 EXPRESSION (lc_state_q == LcStScrap)
            ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT4,T21,T47

 LINE       265
 EXPRESSION (SecVolatileRawUnlockEn && volatile_raw_unlock_i && trans_cmd_i)
             -----------1----------    ----------2----------    -----3-----
-1--2--3-StatusTests
-01CoveredT1,T2,T11
-10CoveredT5,T6,T41
-11CoveredT41,T42,T43

 LINE       267
 EXPRESSION ((lc_state_q == LcStRaw) && (trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStTestUnlocked0}}) && ((!trans_invalid_error_o)))
             -----------1-----------    ----------------------------------------2---------------------------------------    -------------3------------
-1--2--3-StatusTestsExclude Annotation
011Excluded VC_COV_UNR
101Excluded VC_COV_UNR
110Excluded VC_COV_UNR
111CoveredT42,T43,T37

 LINE       267
 SUB-EXPRESSION (lc_state_q == LcStRaw)
                -----------1-----------
-1-StatusTests
0CoveredT43,T37,T46
1CoveredT41,T42,T43

 LINE       267
 SUB-EXPRESSION (trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStTestUnlocked0}})
                ----------------------------------------1---------------------------------------
-1-StatusTests
0CoveredT41,T43,T44
1CoveredT42,T43,T37

 LINE       271
 EXPRESSION (unhashed_token_i == lc_ctrl_state_pkg::RndCnstRawUnlockTokenHashed)
            ----------------------------------1---------------------------------
-1-StatusTestsExclude Annotation
0Excluded VC_COV_UNR
1CoveredT42,T43,T37

 LINE       277
 EXPRESSION ((lc_cnt_q == LcCnt0) ? LcCnt1 : lc_cnt_q)
             ----------1---------
-1-StatusTests
0CoveredT42,T43,T37
1Not Covered

 LINE       277
 SUB-EXPRESSION (lc_cnt_q == LcCnt0)
                ----------1---------
-1-StatusTests
0CoveredT42,T43,T37
1Not Covered

 LINE       383
 EXPRESSION (lc_clk_byp_req_o != lc_clk_byp_ack[1])
            -------------------1-------------------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T12,T23

 LINE       424
 EXPRESSION ((hashed_token_i == hashed_token_mux) && ((!token_hash_err_i)) && ((&hashed_token_valid_mux)))
             ------------------1-----------------    ----------2----------    -------------3-------------
-1--2--3-StatusTests
011CoveredT2,T12,T13
101CoveredT12,T17,T25
110Not Covered
111CoveredT1,T2,T11

 LINE       424
 SUB-EXPRESSION (hashed_token_i == hashed_token_mux)
                ------------------1-----------------
-1-StatusTests
0CoveredT1,T2,T12
1CoveredT1,T2,T11

 LINE       438
 EXPRESSION (trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}})
            -----------------------------------1----------------------------------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       465
 EXPRESSION ((hashed_token_i == hashed_token_mux) && ((!token_hash_err_i)) && ((&hashed_token_valid_mux)))
             ------------------1-----------------    ----------2----------    -------------3-------------
-1--2--3-StatusTests
011Not Covered
101Not Covered
110Not Covered
111CoveredT1,T2,T11

 LINE       465
 SUB-EXPRESSION (hashed_token_i == hashed_token_mux)
                ------------------1-----------------
-1-StatusTests
0Not Covered
1CoveredT1,T2,T11

 LINE       468
 EXPRESSION (fsm_state_q == TokenCheck1St)
            ---------------1--------------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       496
 EXPRESSION (lc_clk_byp_req_o != lc_clk_byp_ack[2])
            -------------------1-------------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT48,T49,T50

 LINE       501
 EXPRESSION 
 Number  Term
      1  ((trans_target_i != {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && ((lc_flash_rma_req_o != Off) || (lc_flash_rma_ack[1] != Off))) || 
      2  ((trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && ((lc_flash_rma_req_o != On) || (lc_flash_rma_ack[1] != On))))
-1--2-StatusTests
00CoveredT1,T11,T12
01CoveredT1,T51,T52
10CoveredT52,T53,T54

 LINE       501
 SUB-EXPRESSION ((trans_target_i != {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && ((lc_flash_rma_req_o != Off) || (lc_flash_rma_ack[1] != Off)))
                 -----------------------------------1----------------------------------    ------------------------------2------------------------------
-1--2-StatusTests
01CoveredT1,T11,T12
10CoveredT1,T11,T12
11CoveredT52,T53,T54

 LINE       501
 SUB-EXPRESSION (trans_target_i != {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}})
                -----------------------------------1----------------------------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT1,T11,T12

 LINE       501
 SUB-EXPRESSION ((lc_flash_rma_req_o != Off) || (lc_flash_rma_ack[1] != Off))
                 -------------1-------------    --------------2-------------
-1--2-StatusTests
00CoveredT1,T11,T12
01CoveredT52,T53,T54
10Not Covered

 LINE       501
 SUB-EXPRESSION (lc_flash_rma_req_o != Off)
                -------------1-------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT1,T11,T12

 LINE       501
 SUB-EXPRESSION (lc_flash_rma_ack[1] != Off)
                --------------1-------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT1,T11,T12

 LINE       501
 SUB-EXPRESSION ((trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && ((lc_flash_rma_req_o != On) || (lc_flash_rma_ack[1] != On)))
                 -----------------------------------1----------------------------------    -----------------------------2-----------------------------
-1--2-StatusTests
01CoveredT1,T11,T12
10CoveredT1,T11,T12
11CoveredT1,T51,T52

 LINE       501
 SUB-EXPRESSION (trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}})
                -----------------------------------1----------------------------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT1,T11,T12

 LINE       501
 SUB-EXPRESSION ((lc_flash_rma_req_o != On) || (lc_flash_rma_ack[1] != On))
                 -------------1------------    -------------2-------------
-1--2-StatusTests
00CoveredT1,T11,T12
01CoveredT1,T51,T52
10CoveredT55,T56

 LINE       501
 SUB-EXPRESSION (lc_flash_rma_req_o != On)
                -------------1------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT1,T11,T12

 LINE       501
 SUB-EXPRESSION (lc_flash_rma_ack[1] != On)
                -------------1-------------
-1-StatusTests
0CoveredT1,T11,T12
1CoveredT1,T11,T12

 LINE       539
 EXPRESSION (esc_scrap_state0_i || esc_scrap_state1_i)
             ---------1--------    ---------2--------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T3,T12
10CoveredT1,T3,T12

 LINE       546
 EXPRESSION ((((|state_invalid_error)) | token_if_fsm_err_i) && (fsm_state_q != EscalateSt))
             -----------------------1-----------------------    -------------2-------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT3,T4,T16
11CoveredT1,T3,T4

 LINE       546
 SUB-EXPRESSION (((|state_invalid_error)) | token_if_fsm_err_i)
                 ------------1-----------   ---------2--------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT3,T4,T16
10CoveredT1,T3,T4

 LINE       546
 SUB-EXPRESSION (fsm_state_q != EscalateSt)
                -------------1-------------
-1-StatusTests
0CoveredT1,T3,T12
1CoveredT1,T2,T3

 LINE       584
 SUB-EXPRESSION (set_strap_en_override || gen_strap_delay_regs.strap_en_override_q[0])
                 ----------1----------    ---------------------2---------------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT42,T43,T37
10CoveredT42,T43,T37

 LINE       704
 EXPRESSION 
 Number  Term
      1  ((int'(dec_lc_state_o[0]) < lc_ctrl_state_pkg::NumLcStates) && (int'(trans_target_i[0]) < lc_ctrl_state_pkg::NumLcStates)) ? lc_ctrl_pkg::TransTokenIdxMatrix[dec_lc_state_o[0]][trans_target_i[0]] : InvalidTokenIdx)
-1-StatusTests
0UnreachableT1,T2,T3
1CoveredT1,T2,T3

 LINE       704
 SUB-EXPRESSION ((int'(dec_lc_state_o[0]) < lc_ctrl_state_pkg::NumLcStates) && (int'(trans_target_i[0]) < lc_ctrl_state_pkg::NumLcStates))
                 -----------------------------1----------------------------    -----------------------------2----------------------------
-1--2-StatusTests
01UnreachableT1,T2,T3
10UnreachableT22,T7,T8
11CoveredT1,T2,T3

 LINE       708
 EXPRESSION 
 Number  Term
      1  ((int'(dec_lc_state_o[1]) < lc_ctrl_state_pkg::NumLcStates) && (int'(trans_target_i[1]) < lc_ctrl_state_pkg::NumLcStates)) ? lc_ctrl_pkg::TransTokenIdxMatrix[dec_lc_state_o[1]][trans_target_i[1]] : InvalidTokenIdx)
-1-StatusTests
0UnreachableT1,T2,T3
1CoveredT1,T2,T3

 LINE       708
 SUB-EXPRESSION ((int'(dec_lc_state_o[1]) < lc_ctrl_state_pkg::NumLcStates) && (int'(trans_target_i[1]) < lc_ctrl_state_pkg::NumLcStates))
                 -----------------------------1----------------------------    -----------------------------2----------------------------
-1--2-StatusTests
01UnreachableT1,T2,T3
10UnreachableT5,T6,T22
11CoveredT1,T2,T3

 LINE       721
 EXPRESSION (trans_invalid_error || (token_idx0 != token_idx1))
             ---------1---------    -------------2------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT2,T13,T14
10CoveredT12,T17,T25

 LINE       721
 SUB-EXPRESSION (token_idx0 != token_idx1)
                -------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT2,T13,T14

FSM Coverage for Instance : tb.dut.u_lc_ctrl_fsm
Summary for FSM :: fsm_state_q
TotalCoveredPercent
States 15 15 100.00 (Not included in score)
Transitions 35 35 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: fsm_state_q
statesLine No.CoveredTests
ClkMuxSt 299 Covered T1,T2,T11
CntIncrSt 357 Covered T1,T2,T11
CntProgSt 373 Covered T1,T2,T11
EscalateSt 540 Covered T1,T3,T12
FlashRmaSt 427 Covered T1,T2,T11
IdleSt 224 Covered T1,T2,T3
InvalidSt 547 Covered T1,T3,T4
PostTransSt 289 Covered T1,T2,T11
ResetSt 218 Covered T1,T2,T3
ScrapSt 257 Covered T4,T21,T47
TokenCheck0St 441 Covered T1,T2,T11
TokenCheck1St 473 Covered T1,T2,T11
TokenHashSt 406 Covered T1,T2,T11
TransCheckSt 395 Covered T1,T2,T11
TransProgSt 471 Covered T1,T11,T12


transitionsLine No.CoveredTestsExclude Annotation
ClkMuxSt->CntIncrSt 357 Covered T1,T2,T11
ClkMuxSt->EscalateSt 540 Covered T57,T58,T59
ClkMuxSt->InvalidSt 547 Excluded [LOW_RISK] The transition from any state to error_terminal state is fully verified in FPV.
CntIncrSt->CntProgSt 373 Covered T1,T2,T11
CntIncrSt->EscalateSt 540 Covered T57,T58,T59
CntIncrSt->InvalidSt 547 Excluded [LOW_RISK] The transition from any state to error_terminal state is fully verified in FPV.
CntIncrSt->PostTransSt 371 Covered T12,T17,T25
CntProgSt->EscalateSt 540 Covered T57,T58,T59
CntProgSt->InvalidSt 547 Excluded [LOW_RISK] The transition from any state to error_terminal state is fully verified in FPV.
CntProgSt->PostTransSt 384 Covered T1,T12,T4
CntProgSt->TransCheckSt 395 Covered T1,T2,T11
EscalateSt->InvalidSt 547 Excluded [LOW_RISK] The transition from any state to error_terminal state is fully verified in FPV.
FlashRmaSt->EscalateSt 540 Covered T57,T58,T59
FlashRmaSt->InvalidSt 547 Excluded [LOW_RISK] The transition from any state to error_terminal state is fully verified in FPV.
FlashRmaSt->TokenCheck0St 441 Covered T1,T2,T11
IdleSt->ClkMuxSt 299 Covered T1,T2,T11
IdleSt->EscalateSt 540 Covered T59,T60,T61
IdleSt->InvalidSt 547 Covered T1,T3,T4
IdleSt->PostTransSt 289 Covered T41,T43,T44
IdleSt->ScrapSt 257 Covered T4,T21,T47
InvalidSt->EscalateSt 540 Covered T1,T3,T4
PostTransSt->EscalateSt 540 Covered T1,T12,T4
PostTransSt->InvalidSt 547 Excluded [LOW_RISK] The transition from any state to error_terminal state is fully verified in FPV.
ResetSt->EscalateSt 540 Covered T57,T58,T59
ResetSt->IdleSt 224 Covered T1,T2,T3
ResetSt->InvalidSt 547 Excluded [LOW_RISK] The transition from any state to error_terminal state is fully verified in FPV.
ScrapSt->EscalateSt 540 Covered T58,T59,T62
ScrapSt->InvalidSt 547 Covered T63,T64
TokenCheck0St->EscalateSt 540 Covered T57,T59,T62
TokenCheck0St->InvalidSt 547 Excluded [LOW_RISK] The transition from any state to error_terminal state is fully verified in FPV.
TokenCheck0St->PostTransSt 455 Covered T1,T2,T12
TokenCheck0St->TokenCheck1St 473 Covered T1,T2,T11
TokenCheck1St->EscalateSt 540 Covered T58,T59,T62
TokenCheck1St->InvalidSt 547 Excluded [LOW_RISK] The transition from any state to error_terminal state is fully verified in FPV.
TokenCheck1St->PostTransSt 455 Covered T1,T2,T13
TokenCheck1St->TransProgSt 471 Covered T1,T11,T12
TokenHashSt->EscalateSt 540 Covered T57,T58,T59
TokenHashSt->FlashRmaSt 427 Covered T1,T2,T11
TokenHashSt->InvalidSt 547 Excluded [LOW_RISK] The transition from any state to error_terminal state is fully verified in FPV.
TokenHashSt->PostTransSt 429 Covered T1,T2,T12
TransCheckSt->EscalateSt 540 Covered T62,T65,T60
TransCheckSt->InvalidSt 547 Excluded [LOW_RISK] The transition from any state to error_terminal state is fully verified in FPV.
TransCheckSt->PostTransSt 404 Covered T2,T12,T13
TransCheckSt->TokenHashSt 406 Covered T1,T2,T11
TransProgSt->EscalateSt 540 Covered T57,T58,T59
TransProgSt->InvalidSt 547 Excluded [LOW_RISK] The transition from any state to error_terminal state is fully verified in FPV.
TransProgSt->PostTransSt 497 Covered T1,T11,T12


Summary for FSM :: lc_state_q
TotalCoveredPercent
States 21 12 57.14 (Not included in score)
Transitions 1 1 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: lc_state_q
statesLine No.CoveredTests
LcStDev 92 Not Covered
LcStProd 93 Not Covered
LcStProdEnd 94 Not Covered
LcStRaw 267 Covered T1,T2,T12
LcStRma 305 Not Covered
LcStScrap 256 Not Covered
LcStTestLocked0 305 Covered T1,T2,T3
LcStTestLocked1 305 Covered T1,T2,T3
LcStTestLocked2 305 Covered T1,T2,T3
LcStTestLocked3 305 Covered T1,T2,T3
LcStTestLocked4 305 Covered T1,T2,T3
LcStTestLocked5 305 Not Covered
LcStTestLocked6 305 Not Covered
LcStTestUnlocked0 273 Covered T1,T2,T3
LcStTestUnlocked1 305 Covered T1,T2,T3
LcStTestUnlocked2 305 Covered T1,T2,T3
LcStTestUnlocked3 305 Covered T1,T2,T12
LcStTestUnlocked4 305 Covered T1,T2,T12
LcStTestUnlocked5 305 Covered T1,T2,T3
LcStTestUnlocked6 305 Not Covered
LcStTestUnlocked7 305 Not Covered


transitionsLine No.CoveredTests
LcStRaw->LcStTestUnlocked0 273 Covered T12,T4,T24


Summary for FSM :: lc_cnt_q
TotalCoveredPercent
States 25 6 24.00 (Not included in score)
Transitions 1 1 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: lc_cnt_q
statesLine No.CoveredTests
LcCnt0 277 Covered T1,T14,T24
LcCnt1 277 Covered T1,T2,T3
LcCnt10 112 Not Covered
LcCnt11 113 Not Covered
LcCnt12 114 Not Covered
LcCnt13 115 Not Covered
LcCnt14 116 Not Covered
LcCnt15 117 Not Covered
LcCnt16 118 Not Covered
LcCnt17 119 Not Covered
LcCnt18 120 Not Covered
LcCnt19 121 Not Covered
LcCnt2 104 Covered T1,T2,T3
LcCnt20 122 Not Covered
LcCnt21 123 Not Covered
LcCnt22 124 Not Covered
LcCnt23 125 Not Covered
LcCnt24 126 Not Covered
LcCnt3 105 Covered T1,T2,T3
LcCnt4 106 Covered T1,T2,T3
LcCnt5 107 Covered T1,T2,T3
LcCnt6 108 Not Covered
LcCnt7 109 Not Covered
LcCnt8 110 Not Covered
LcCnt9 111 Not Covered


transitionsLine No.CoveredTests
LcCnt0->LcCnt1 277 Covered T52,T66,T67



Branch Coverage for Instance : tb.dut.u_lc_ctrl_fsm
Line No.TotalCoveredPercent
Branches 75 72 96.00
TERNARY 704 1 1 100.00
TERNARY 708 1 1 100.00
CASE 214 46 43 93.48
IF 539 3 3 100.00
IF 556 2 2 100.00
IF 557 2 2 100.00
IF 558 2 2 100.00
IF 561 2 2 100.00
IF 656 2 2 100.00
IF 659 2 2 100.00
IF 663 2 2 100.00
IF 666 2 2 100.00
IF 670 2 2 100.00
IF 673 2 2 100.00
IF 852 2 2 100.00
IF 580 2 2 100.00

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

LineNo. Expression -1-: 704 (((int'(dec_lc_state_o[0]) < lc_ctrl_state_pkg::NumLcStates) && (int'(trans_target_i[0]) < lc_ctrl_state_pkg::NumLcStates))) ?

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Unreachable T1,T2,T3


LineNo. Expression -1-: 708 (((int'(dec_lc_state_o[1]) < lc_ctrl_state_pkg::NumLcStates) && (int'(trans_target_i[1]) < lc_ctrl_state_pkg::NumLcStates))) ?

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Unreachable T1,T2,T3


LineNo. Expression -1-: 214 case (fsm_state_q) -2-: 223 if ((init_req_i && lc_state_valid_q)) -3-: 245 if (((!((SecVolatileRawUnlockEn && (lc_state_q == LcStTestUnlocked0)) && (lc_cnt_q != LcCnt0))) || prim_mubi_pkg::mubi8_test_false_loose(volatile_raw_unlock_success_q))) -4-: 256 if ((lc_state_q == LcStScrap)) -5-: 265 if (((SecVolatileRawUnlockEn && volatile_raw_unlock_i) && trans_cmd_i)) -6-: 267 if ((((lc_state_q == LcStRaw) && (trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStTestUnlocked0}})) && (!trans_invalid_error_o))) -7-: 271 if ((unhashed_token_i == lc_ctrl_state_pkg::RndCnstRawUnlockTokenHashed)) -8-: 277 ((lc_cnt_q == LcCnt0)) ? -9-: 298 if (trans_cmd_i) -10-: 305 if ((lc_state_q inside {LcStRaw, LcStTestLocked0, LcStTestLocked1, LcStTestLocked2, LcStTestLocked3, LcStTestLocked4, LcStTestLocked5, LcStTestLocked6, LcStTestUnlocked0, LcStTestUnlocked1, LcStTestUnlocked2, LcStTestUnlocked3, LcStTestUnlocked4, LcStTestUnlocked5, LcStTestUnlocked6, LcStTestUnlocked7, LcStRma})) -11-: 322 if (use_ext_clock_i) -12-: 337 if ((lc_state_q inside {LcStRaw, LcStTestLocked0, LcStTestLocked1, LcStTestLocked2, LcStTestLocked3, LcStTestLocked4, LcStTestLocked5, LcStTestLocked6, LcStTestUnlocked0, LcStTestUnlocked1, LcStTestUnlocked2, LcStTestUnlocked3, LcStTestUnlocked4, LcStTestUnlocked5, LcStTestUnlocked6, LcStTestUnlocked7, LcStRma})) -13-: 354 if (use_ext_clock_i) -14-: 356 if (lc_ctrl_pkg::lc_tx_test_true_strict(lc_clk_byp_ack[0])) -15-: 370 if (trans_cnt_oflw_error_o) -16-: 383 if ((lc_clk_byp_req_o != lc_clk_byp_ack[1])) -17-: 390 if (otp_prog_ack_i) -18-: 391 if (otp_prog_err_i) -19-: 403 if (trans_invalid_error_o) -20-: 418 if (token_hash_ack_i) -21-: 424 if ((((hashed_token_i == hashed_token_mux) && (!token_hash_err_i)) && (&hashed_token_valid_mux))) -22-: 438 if ((trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}})) -23-: 440 if (lc_ctrl_pkg::lc_tx_test_true_strict(lc_flash_rma_ack[0])) -24-: 454 if (trans_invalid_error_o) -25-: 459 if (((((trans_target_i != {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && lc_ctrl_pkg::lc_tx_test_false_strict(lc_flash_rma_req_o)) && lc_ctrl_pkg::lc_tx_test_false_strict(lc_flash_rma_ack[1])) || (((trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && lc_ctrl_pkg::lc_tx_test_true_strict(lc_flash_rma_req_o)) && lc_ctrl_pkg::lc_tx_test_true_strict(lc_flash_rma_ack[1])))) -26-: 465 if ((((hashed_token_i == hashed_token_mux) && (!token_hash_err_i)) && (&hashed_token_valid_mux))) -27-: 468 if ((fsm_state_q == TokenCheck1St)) -28-: 496 if ((lc_clk_byp_req_o != lc_clk_byp_ack[2])) -29-: 501 if ((((trans_target_i != {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && ((lc_flash_rma_req_o != Off) || (lc_flash_rma_ack[1] != Off))) || ((trans_target_i == {lc_ctrl_state_pkg::DecLcStateNumRep {DecLcStRma}}) && ((lc_flash_rma_req_o != On) || (lc_flash_rma_ack[1] != On))))) -30-: 507 if (otp_prog_ack_i)

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-StatusTests
ResetSt 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T3
ResetSt 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T3
IdleSt - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T3
IdleSt - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T42,T43,T37
IdleSt - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T4,T21,T47
IdleSt - - 0 1 1 1 1 - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - 0 1 1 1 0 - - - - - - - - - - - - - - - - - - - - - - Covered T42,T43,T37
IdleSt - - 0 1 1 0 - - - - - - - - - - - - - - - - - - - - - - - Not Covered
IdleSt - - 0 1 0 - - - - - - - - - - - - - - - - - - - - - - - - Covered T41,T43,T44
IdleSt - - 0 0 - - - 1 - - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T11
IdleSt - - 0 0 - - - 0 - - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T3
IdleSt - - - - - - - - 1 1 - - - - - - - - - - - - - - - - - - - Covered T11,T4,T68
IdleSt - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - - - Covered T1,T2,T3
IdleSt - - - - - - - - 0 - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T3
ClkMuxSt - - - - - - - - - - 1 1 1 - - - - - - - - - - - - - - - - Covered T11,T4,T68
ClkMuxSt - - - - - - - - - - 1 1 0 - - - - - - - - - - - - - - - - Covered T69,T70,T71
ClkMuxSt - - - - - - - - - - 1 0 - - - - - - - - - - - - - - - - - Covered T1,T2,T11
ClkMuxSt - - - - - - - - - - 0 - - - - - - - - - - - - - - - - - - Covered T1,T2,T12
CntIncrSt - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - Covered T12,T17,T25
CntIncrSt - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - - Covered T1,T2,T11
CntProgSt - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - Covered T1,T12,T23
CntProgSt - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - - Covered T1,T2,T11
CntProgSt - - - - - - - - - - - - - - - 1 1 - - - - - - - - - - - - Covered T4,T17,T72
CntProgSt - - - - - - - - - - - - - - - 1 0 - - - - - - - - - - - - Covered T1,T2,T11
CntProgSt - - - - - - - - - - - - - - - 0 - - - - - - - - - - - - - Covered T1,T2,T11
TransCheckSt - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - Covered T2,T12,T13
TransCheckSt - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - - Covered T1,T2,T11
TokenHashSt - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - - - Covered T1,T2,T11
TokenHashSt - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - - - Covered T1,T2,T12
TokenHashSt - - - - - - - - - - - - - - - - - - 0 - - - - - - - - - - Covered T1,T2,T11
FlashRmaSt - - - - - - - - - - - - - - - - - - - - 1 1 - - - - - - - Covered T1,T2,T11
FlashRmaSt - - - - - - - - - - - - - - - - - - - - 1 0 - - - - - - - Covered T1,T2,T11
FlashRmaSt - - - - - - - - - - - - - - - - - - - - 0 - - - - - - - - Covered T1,T2,T11
TokenCheck0St TokenCheck1St - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - Covered T2,T13,T14
TokenCheck0St TokenCheck1St - - - - - - - - - - - - - - - - - - - - - - 0 1 1 1 - - - Covered T1,T2,T11
TokenCheck0St TokenCheck1St - - - - - - - - - - - - - - - - - - - - - - 0 1 1 0 - - - Covered T1,T2,T11
TokenCheck0St TokenCheck1St - - - - - - - - - - - - - - - - - - - - - - 0 1 0 - - - - Not Covered
TokenCheck0St TokenCheck1St - - - - - - - - - - - - - - - - - - - - - - 0 0 - - - - - Covered T1,T12,T23
TransProgSt - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - Covered T48,T49,T50
TransProgSt - - - - - - - - - - - - - - - - - - - - - - - - - - 0 1 - Covered T1,T51,T52
TransProgSt - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0 1 Covered T1,T11,T12
TransProgSt - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0 0 Covered T1,T11,T12
ScrapSt PostTransSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T1,T2,T11
EscalateSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T1,T3,T12
InvalidSt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T1,T3,T4
default - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Covered T3,T4,T16


LineNo. Expression -1-: 539 if ((esc_scrap_state0_i || esc_scrap_state1_i)) -2-: 546 if ((((|state_invalid_error) | token_if_fsm_err_i) && (fsm_state_q != EscalateSt)))

Branches:
-1--2-StatusTests
1 - Covered T1,T3,T12
0 1 Covered T1,T3,T4
0 0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


LineNo. Expression -1-: 656 if (lc_ctrl_pkg::lc_tx_test_true_strict(test_tokens_valid[0]))

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T23,T73


LineNo. Expression -1-: 659 if (lc_ctrl_pkg::lc_tx_test_true_strict(test_tokens_valid[1]))

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T23,T73


LineNo. Expression -1-: 663 if (lc_ctrl_pkg::lc_tx_test_true_strict(test_tokens_valid[2]))

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T23,T73


LineNo. Expression -1-: 666 if (lc_ctrl_pkg::lc_tx_test_true_strict(test_tokens_valid[3]))

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T23,T73


LineNo. Expression -1-: 670 if (lc_ctrl_pkg::lc_tx_test_true_strict(rma_token_valid[0]))

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T23,T73


LineNo. Expression -1-: 673 if (lc_ctrl_pkg::lc_tx_test_true_strict(rma_token_valid[1]))

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T23,T73


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_lc_ctrl_fsm
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 15 15 100.00 14 93.33
Cover properties 0 0 0
Cover sequences 0 0 0
Total 15 15 100.00 14 93.33




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
ClkBypStaysOnOnceAsserted_A 65823450 3912386 0 80
EscStaysOnOnceAsserted_A 65823450 11671984 0 9
FlashRmaStaysOnOnceAsserted_A 65823450 389450 0 12
FsmStateKnown_A 65823450 62483363 0 0
LcCntKnown_A 65823450 62483363 0 0
LcStateKnown_A 65823450 62483363 0 0
NoClkBypInProdStates_A 65823450 8342513 0 0
SecCmCFILinear_A 65823450 0 0 1963
SecCmCFITerminal0_A 65823450 8734050 0 0
SecCmCFITerminal1_A 65823450 47040 0 0
SecCmCFITerminal2_A 65823450 4897055 0 0
SecCmCFITerminal3_A 65823450 6741651 0 0
u_cnt_regs_A 61283885 58242213 0 0
u_fsm_state_regs_A 64298887 61055714 0 0
u_state_regs_A 61931410 58890118 0 0


ClkBypStaysOnOnceAsserted_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 3912386 0 80
T4 728662 45082 0 0
T5 31812 0 0 0
T6 0 30281 0 1
T7 0 0 0 1
T8 0 0 0 1
T9 0 0 0 1
T11 43734 8826 0 1
T12 37894 0 0 0
T13 27286 0 0 0
T14 23472 0 0 0
T15 27246 0 0 0
T16 22477 0 0 0
T20 0 11310 0 0
T21 0 2795 0 0
T23 23318 0 0 0
T24 18838 0 0 0
T42 0 2239 0 1
T47 0 597 0 0
T68 0 11221 0 0
T70 0 0 0 1
T74 0 2394 0 1
T75 0 697 0 0
T76 0 0 0 1
T77 0 0 0 1

EscStaysOnOnceAsserted_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 11671984 0 9
T1 50673 6863 0 0
T2 28844 0 0 0
T3 99942 77982 0 0
T4 728662 106852 0 0
T5 31812 0 0 0
T10 2452 0 0 0
T12 37894 1063 0 0
T13 27286 0 0 0
T14 23472 0 0 0
T15 27246 0 0 0
T16 0 12655 0 0
T17 0 3968 0 0
T18 0 178816 0 0
T23 0 3823 0 0
T25 0 1702 0 0
T78 0 799 0 0
T79 0 0 0 1
T80 0 0 0 1
T81 0 0 0 1
T82 0 0 0 1
T83 0 0 0 1
T84 0 0 0 1
T85 0 0 0 1
T86 0 0 0 1
T87 0 0 0 1

FlashRmaStaysOnOnceAsserted_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 389450 0 12
T1 50673 836 0 0
T2 28844 656 0 0
T3 99942 0 0 0
T4 728662 3773 0 0
T10 2452 0 0 0
T11 43734 40 0 0
T12 37894 1033 0 0
T13 27286 515 0 0
T14 23472 480 0 0
T15 27246 0 0 0
T17 0 508 0 0
T23 0 295 0 0
T25 0 494 0 0
T88 0 0 0 1
T89 0 0 0 1
T90 0 0 0 1
T91 0 0 0 1
T92 0 0 0 1
T93 0 0 0 1
T94 0 0 0 1
T95 0 0 0 1
T96 0 0 0 1
T97 0 0 0 1

FsmStateKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 62483363 0 0
T1 50673 43717 0 0
T2 28844 22553 0 0
T3 99942 95506 0 0
T4 728662 695361 0 0
T10 2452 2387 0 0
T11 43734 42983 0 0
T12 37894 31222 0 0
T13 27286 21567 0 0
T14 23472 18890 0 0
T15 27246 22616 0 0

LcCntKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 62483363 0 0
T1 50673 43717 0 0
T2 28844 22553 0 0
T3 99942 95506 0 0
T4 728662 695361 0 0
T10 2452 2387 0 0
T11 43734 42983 0 0
T12 37894 31222 0 0
T13 27286 21567 0 0
T14 23472 18890 0 0
T15 27246 22616 0 0

LcStateKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 62483363 0 0
T1 50673 43717 0 0
T2 28844 22553 0 0
T3 99942 95506 0 0
T4 728662 695361 0 0
T10 2452 2387 0 0
T11 43734 42983 0 0
T12 37894 31222 0 0
T13 27286 21567 0 0
T14 23472 18890 0 0
T15 27246 22616 0 0

NoClkBypInProdStates_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 8342513 0 0
T1 50673 10650 0 0
T2 28844 3241 0 0
T3 99942 14810 0 0
T4 728662 127050 0 0
T5 31812 31740 0 0
T10 2452 0 0 0
T12 37894 5938 0 0
T13 27286 2675 0 0
T14 23472 2755 0 0
T15 27246 2616 0 0
T16 0 774 0 0

SecCmCFILinear_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 0 0 1963

SecCmCFITerminal0_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 8734050 0 0
T1 50673 11290 0 0
T2 28844 12720 0 0
T3 99942 0 0 0
T4 728662 30476 0 0
T10 2452 0 0 0
T11 43734 1031 0 0
T12 37894 14615 0 0
T13 27286 10918 0 0
T14 23472 8991 0 0
T15 27246 11135 0 0
T23 0 7488 0 0
T24 0 7764 0 0

SecCmCFITerminal1_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 47040 0 0
T4 728662 484 0 0
T5 31812 0 0 0
T16 22477 0 0 0
T17 42969 0 0 0
T18 232747 0 0 0
T21 0 349 0 0
T23 23318 0 0 0
T24 18838 0 0 0
T25 20831 0 0 0
T47 0 13 0 0
T51 0 1395 0 0
T52 0 3163 0 0
T58 0 3 0 0
T59 0 3 0 0
T78 32582 0 0 0
T98 0 8 0 0
T99 0 834 0 0
T100 0 287 0 0
T101 27582 0 0 0

SecCmCFITerminal2_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 4897055 0 0
T1 50673 4247 0 0
T2 28844 0 0 0
T3 99942 19732 0 0
T4 728662 61482 0 0
T5 31812 0 0 0
T10 2452 0 0 0
T12 37894 1071 0 0
T13 27286 0 0 0
T14 23472 0 0 0
T15 27246 0 0 0
T16 0 8421 0 0
T17 0 3781 0 0
T18 0 41161 0 0
T23 0 3059 0 0
T25 0 1715 0 0
T78 0 805 0 0

SecCmCFITerminal3_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 65823450 6741651 0 0
T1 50673 2648 0 0
T2 28844 0 0 0
T3 99942 58274 0 0
T4 728662 45090 0 0
T5 31812 0 0 0
T10 2452 0 0 0
T16 22477 4261 0 0
T17 42969 214 0 0
T18 0 137681 0 0
T19 0 169470 0 0
T23 23318 789 0 0
T24 18838 0 0 0
T101 0 9836 0 0
T102 0 1240 0 0

u_cnt_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 61283885 58242213 0 0
T1 50673 43717 0 0
T2 28844 22553 0 0
T3 62075 59188 0 0
T4 673628 650192 0 0
T10 2452 2387 0 0
T11 43734 42983 0 0
T12 37894 31222 0 0
T13 27286 21567 0 0
T14 23472 18890 0 0
T15 27246 22616 0 0

u_fsm_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 64298887 61055714 0 0
T1 50673 43717 0 0
T2 28844 22553 0 0
T3 86353 82422 0 0
T4 620109 590478 0 0
T10 2452 2387 0 0
T11 43734 42983 0 0
T12 37894 31222 0 0
T13 27286 21567 0 0
T14 23472 18890 0 0
T15 27246 22616 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 61931410 58890118 0 0
T1 50673 43717 0 0
T2 28844 22553 0 0
T3 73797 70645 0 0
T4 682734 657782 0 0
T10 2452 2387 0 0
T11 43734 42983 0 0
T12 37894 31222 0 0
T13 27286 21567 0 0
T14 23472 18890 0 0
T15 27246 22616 0 0

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