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

Module : spi_readcmd
SCORELINECONDTOGGLEFSMBRANCHASSERT
92.19 96.32 100.00 80.00 84.62 100.00

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

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.u_readcmd 92.19 96.32 100.00 80.00 84.62 100.00



Module Instance : tb.dut.u_readcmd

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
92.19 96.32 100.00 80.00 84.62 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
89.30 93.62 90.32 87.50 84.15 90.91


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
92.52 95.20 84.31 97.00 90.62 95.45 dut


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
u_addr_latch_pulse 100.00 100.00 100.00 100.00
u_readbuffer 68.17 83.51 82.93 72.92 33.33
u_readsram 95.10 97.79 86.54 100.00 91.18 100.00


Since this is the module's only instance, the coverage report is the same as for the module.
Line Coverage for Module : spi_readcmd
Line No.TotalCoveredPercent
TOTAL13613196.32
CONT_ASSIGN18411100.00
CONT_ASSIGN18711100.00
CONT_ASSIGN19011100.00
CONT_ASSIGN19311100.00
CONT_ASSIGN33411100.00
CONT_ASSIGN34111100.00
ALWAYS35444100.00
ALWAYS37044100.00
CONT_ASSIGN37911100.00
ALWAYS3821212100.00
CONT_ASSIGN40511100.00
CONT_ASSIGN40611100.00
CONT_ASSIGN40911100.00
CONT_ASSIGN42511100.00
ALWAYS42833100.00
ALWAYS43677100.00
ALWAYS45766100.00
CONT_ASSIGN46611100.00
ALWAYS4701212100.00
CONT_ASSIGN49711100.00
CONT_ASSIGN49811100.00
CONT_ASSIGN50111100.00
CONT_ASSIGN50211100.00
ALWAYS51488100.00
CONT_ASSIGN53011100.00
ALWAYS53555100.00
ALWAYS55344100.00
CONT_ASSIGN56611100.00
ALWAYS57633100.00
ALWAYS584484389.58
CONT_ASSIGN72111100.00
CONT_ASSIGN72211100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_spi_device_0.1/rtl/spi_readcmd.sv' or '../src/lowrisc_ip_spi_device_0.1/rtl/spi_readcmd.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
184 1 1
187 1 1
190 1 1
193 1 1
334 1 1
341 1 1
354 1 1
355 1 1
356 1 1
357 1 1
MISSING_ELSE
370 1 1
371 1 1
372 1 1
375 1 1
MISSING_ELSE
379 1 1
382 1 1
383 1 1
385 1 1
387 1 1
388 1 1
391 1 1
392 1 1
394 1 1
395 1 1
396 1 1
398 1 1
399 1 1
MISSING_ELSE
405 1 1
406 1 1
409 1 1
425 1 1
428 1 1
429 1 1
431 1 1
436 1 1
437 1 1
444 1 1
446 1 1
447 1 1
448 1 1
450 1 1
==> MISSING_ELSE
457 1 1
458 1 1
459 1 1
461 1 1
462 1 1
463 1 1
MISSING_ELSE
466 1 1
470 1 1
471 1 1
472 1 1
473 1 1
474 1 1
475 1 1
476 1 1
479 1 1
480 1 1
481 1 1
482 1 1
483 1 1
MISSING_ELSE
497 1 1
498 1 1
501 1 1
502 1 1
514 2 2
515 1 1
517 1 1
518 1 1
521 1 1
522 1 1
524 1 1
MISSING_ELSE
530 1 1
535 1 1
536 1 1
537 1 1
539 1 1
540 1 1
553 1 1
554 1 1
555 1 1
561 1 1
MISSING_ELSE
566 1 1
576 1 1
577 1 1
579 1 1
584 1 1
586 1 1
589 1 1
590 1 1
591 1 1
592 1 1
594 1 1
595 1 1
597 1 1
598 1 1
600 1 1
602 1 1
603 1 1
605 1 1
607 1 1
610 1 1
612 1 1
MISSING_ELSE
617 1 1
619 1 1
620 1 1
MISSING_ELSE
623 1 1
626 1 1
632 1 1
635 1 1
636 1 1
637 1 1
642 1 1
644 1 1
649 0 1
MISSING_ELSE
660 0 1
661 0 1
663 0 1
==> MISSING_ELSE
668 1 1
669 1 1
670 1 1
671 1 1
MISSING_ELSE
676 1 1
680 1 1
685 1 1
686 1 1
687 1 1
688 1 1
692 1 1
694 1 1
697 1 1
700 1 1
701 1 1
MISSING_ELSE
706 0 1
721 1 1
722 1 1


Cond Coverage for Module : spi_readcmd
TotalCoveredPercent
Conditions6666100.00
Logical6666100.00
Non-Logical00
Event00

 LINE       334
 EXPRESSION (sel_dp_i == DpReadSFDP)
            ------------1-----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT5,T6,T8

 LINE       341
 EXPRESSION (spi_mode_i == FlashMode)
            ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       372
 EXPRESSION ((main_st == MainOutput) && (sel_dp_i == DpReadCmd) && addr_latch_en && ( ! (mailbox_en_i && addr_q_in_mailbox) ) && spid_in_flashmode)
             -----------1-----------    -----------2-----------    ------3------    --------------------4--------------------    --------5--------
-1--2--3--4--5-StatusTests
01111CoveredT8,T19,T20
10111CoveredT8,T20,T45
11011CoveredT19,T44,T37
11101CoveredT8,T20,T45
11110CoveredT5,T6,T15
11111CoveredT19,T44,T37

 LINE       372
 SUB-EXPRESSION (main_st == MainOutput)
                -----------1-----------
-1-StatusTests
0CoveredT2,T3,T4
1CoveredT5,T6,T8

 LINE       372
 SUB-EXPRESSION (sel_dp_i == DpReadCmd)
                -----------1-----------
-1-StatusTests
0CoveredT2,T3,T4
1CoveredT5,T6,T8

 LINE       372
 SUB-EXPRESSION ( ! (mailbox_en_i && addr_q_in_mailbox) )
                    -----------------1-----------------
-1-StatusTests
0CoveredT2,T3,T4
1CoveredT5,T6,T8

 LINE       372
 SUB-EXPRESSION (mailbox_en_i && addr_q_in_mailbox)
                 ------1-----    --------2--------
-1--2-StatusTests
01CoveredT3,T4,T5
10CoveredT2,T5,T6
11CoveredT5,T6,T8

 LINE       392
 EXPRESSION (addr_shift_en && s2p_valid_i)
             ------1------    -----2-----
-1--2-StatusTests
01CoveredT2,T5,T6
10CoveredT5,T6,T8
11CoveredT5,T6,T8

 LINE       405
 EXPRESSION (addr_cnt_d == 5'd2)
            ----------1---------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT5,T6,T8

 LINE       406
 EXPRESSION (addr_cnt_d == 5'b1)
            ----------1---------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT5,T6,T8

 LINE       409
 EXPRESSION (addr_cnt_d == 5'b0)
            ----------1---------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       444
 EXPRESSION ((cmdinfo_addr_mode == Addr4B) ? 5'd31 : 5'd23)
             --------------1--------------
-1-StatusTests
0CoveredT5,T6,T8
1CoveredT5,T6,T8

 LINE       444
 SUB-EXPRESSION (cmdinfo_addr_mode == Addr4B)
                --------------1--------------
-1-StatusTests
0CoveredT5,T6,T8
1CoveredT5,T6,T8

 LINE       446
 EXPRESSION (addr_cnt_q == '0)
            ---------1--------
-1-StatusTests
0CoveredT5,T6,T8
1CoveredT1,T2,T3

 LINE       501
 EXPRESSION (mailbox_masked_addr_d == mailbox_addr_i)
            --------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       502
 EXPRESSION (mailbox_masked_addr_q == mailbox_addr_i)
            --------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       515
 EXPRESSION (sram_req && mailbox_en_i && cfg_intercept_en_mbx_i && addr_d_in_mailbox)
             ----1---    ------2-----    -----------3----------    --------4--------
-1--2--3--4-StatusTests
0111CoveredT5,T6,T8
1011CoveredT17,T46,T47
1101CoveredT5,T6,T8
1110CoveredT5,T6,T8
1111CoveredT5,T6,T8

 LINE       518
 EXPRESSION (mailbox_en_i && cfg_intercept_en_mbx_i && addr_d_in_mailbox && (bitcnt == 3'b0))
             ------1-----    -----------2----------    --------3--------    --------4-------
-1--2--3--4-StatusTests
0111CoveredT17,T46,T47
1011CoveredT5,T6,T8
1101CoveredT2,T5,T6
1110CoveredT5,T6,T8
1111CoveredT5,T6,T8

 LINE       518
 SUB-EXPRESSION (bitcnt == 3'b0)
                --------1-------
-1-StatusTests
0CoveredT5,T6,T8
1CoveredT2,T5,T6

 LINE       522
 EXPRESSION (((!addr_d_in_mailbox)) && (bitcnt == 3'b0))
             -----------1----------    --------2-------
-1--2-StatusTests
01CoveredT5,T6,T8
10CoveredT5,T6,T8
11CoveredT2,T5,T6

 LINE       522
 SUB-EXPRESSION (bitcnt == 3'b0)
                --------1-------
-1-StatusTests
0CoveredT5,T6,T8
1CoveredT2,T5,T6

 LINE       566
 EXPRESSION ((main_st == MainOutput) && (addr_q[9:0] == '1))
             -----------1-----------    ---------2---------
-1--2-StatusTests
01CoveredT17,T44,T60
10CoveredT5,T6,T8
11CoveredT5,T6,T8

 LINE       566
 SUB-EXPRESSION (main_st == MainOutput)
                -----------1-----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT5,T6,T8

 LINE       566
 SUB-EXPRESSION (addr_q[9:0] == '1)
                ---------1---------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT5,T6,T8

 LINE       692
 EXPRESSION (bitcnt == 3'b0)
            --------1-------
-1-StatusTests
0CoveredT5,T6,T8
1CoveredT5,T6,T8

 LINE       735
 EXPRESSION (sel_dp_i == DpReadSFDP)
            ------------1-----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT5,T6,T8

FSM Coverage for Module : spi_readcmd
Summary for FSM :: main_st
TotalCoveredPercent
States 5 4 80.00 (Not included in score)
Transitions 5 4 80.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: main_st
states   Line No.   Covered   Tests   
MainAddress 610 Covered T5,T6,T8
MainDummy 642 Covered T5,T6,T8
MainError 653 Not Covered
MainMByte 649 Excluded
MainOutput 635 Covered T5,T6,T8
MainReset 606 Covered T1,T2,T3


transitions   Line No.   Covered   Tests   
MainAddress->MainDummy 642 Covered T5,T6,T8
MainAddress->MainError 653 Not Covered
MainAddress->MainMByte 649 Excluded
MainAddress->MainOutput 635 Covered T5,T6,T8
MainDummy->MainOutput 669 Covered T5,T6,T8
MainMByte->MainDummy 661 Excluded
MainReset->MainAddress 610 Covered T5,T6,T8



Branch Coverage for Module : spi_readcmd
Line No.TotalCoveredPercent
Branches 65 55 84.62
IF 354 3 3 100.00
IF 370 3 3 100.00
IF 385 5 5 100.00
IF 428 2 2 100.00
IF 437 5 4 80.00
IF 457 4 4 100.00
IF 470 10 8 80.00
IF 514 5 5 100.00
IF 535 2 2 100.00
IF 553 3 3 100.00
IF 576 2 2 100.00
CASE 605 21 14 66.67

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

LineNo. Expression -1-: 354 if ((!rst_ni)) -2-: 356 if (addr_latch_en)

Branches:
-1--2-StatusTests
1 - Covered T1,T2,T3
0 1 Covered T5,T6,T8
0 0 Covered T2,T5,T6


LineNo. Expression -1-: 370 if ((!sys_rst_ni)) -2-: 372 if ((((((main_st == MainOutput) && (sel_dp_i == DpReadCmd)) && addr_latch_en) && (!(mailbox_en_i && addr_q_in_mailbox))) && spid_in_flashmode))

Branches:
-1--2-StatusTests
1 - Covered T1,T2,T3
0 1 Covered T19,T44,T37
0 0 Covered T2,T3,T4


LineNo. Expression -1-: 385 if (addr_ready_in_word) -2-: 388 if (addr_ready_in_halfword) -3-: 392 if ((addr_shift_en && s2p_valid_i)) -4-: 396 if (addr_inc)

Branches:
-1--2--3--4-StatusTests
1 - - - Covered T5,T6,T8
0 1 - - Covered T5,T6,T8
0 0 1 - Covered T5,T6,T8
0 0 0 1 Covered T5,T6,T8
0 0 0 0 Covered T1,T2,T3


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

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


LineNo. Expression -1-: 437 if (addr_cnt_set) -2-: 444 ((cmdinfo_addr_mode == Addr4B)) ? -3-: 446 if ((addr_cnt_q == '0)) -4-: 448 if (addr_shift_en)

Branches:
-1--2--3--4-StatusTests
1 1 - - Covered T5,T6,T8
1 0 - - Covered T5,T6,T8
0 - 1 - Covered T1,T2,T3
0 - 0 1 Covered T5,T6,T8
0 - 0 0 Not Covered


LineNo. Expression -1-: 457 if ((!rst_ni)) -2-: 459 if (load_dummycnt) -3-: 462 if ((!dummycnt_eq_zero))

Branches:
-1--2--3-StatusTests
1 - - Covered T1,T2,T3
0 1 - Covered T5,T6,T8
0 0 1 Covered T5,T6,T8
0 0 0 Covered T2,T5,T6


LineNo. Expression -1-: 470 if ((!rst_ni)) -2-: 472 if (bitcnt_update) -3-: 473 case (cmd_info_i.payload_en) -4-: 479 if (bitcnt_dec) -5-: 480 case (cmd_info_i.payload_en)

Branches:
-1--2--3--4--5-StatusTests
1 - - - - Covered T1,T2,T3
0 1 4'b0010 - - Covered T5,T6,T8
0 1 4'b0011 - - Covered T5,T6,T8
0 1 4'b1111 - - Covered T5,T6,T8
0 1 default - - Not Covered
0 0 - 1 4'b0010 Covered T5,T6,T8
0 0 - 1 4'b0011 Covered T5,T6,T8
0 0 - 1 4'b1111 Covered T5,T6,T8
0 0 - 1 default Not Covered
0 0 - 0 - Covered T2,T5,T6


LineNo. Expression -1-: 514 if ((!rst_ni)) -2-: 515 if ((((sram_req && mailbox_en_i) && cfg_intercept_en_mbx_i) && addr_d_in_mailbox)) -3-: 518 if ((((mailbox_en_i && cfg_intercept_en_mbx_i) && addr_d_in_mailbox) && (bitcnt == 3'b0))) -4-: 522 if (((!addr_d_in_mailbox) && (bitcnt == 3'b0)))

Branches:
-1--2--3--4-StatusTests
1 - - - Covered T1,T2,T3
0 1 - - Covered T5,T6,T8
0 0 1 - Covered T5,T6,T8
0 0 0 1 Covered T2,T5,T6
0 0 0 0 Covered T5,T6,T8


LineNo. Expression -1-: 535 if ((!rst_out_ni))

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


LineNo. Expression -1-: 553 if ((!sys_rst_ni)) -2-: 555 if (readbuf_flip)

Branches:
-1--2-StatusTests
1 - Covered T1,T2,T3
0 1 Covered T5,T6,T8
0 0 Covered T2,T3,T4


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

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


LineNo. Expression -1-: 605 case (main_st) -2-: 607 if ((sel_dp_i inside {DpReadCmd, DpReadSFDP})) -3-: 619 if (addr_ready_in_word) -4-: 623 if (addr_latched) -5-: 632 case ({cmd_info_i.mbyte_en, cmd_info_i.dummy_en}) -6-: 660 if (s2p_valid_i) -7-: 668 if (dummycnt_eq_zero) -8-: 685 case (cmd_info_i.payload_en) -9-: 692 if ((bitcnt == 3'b0))

Branches:
-1--2--3--4--5--6--7--8--9-StatusTests
MainReset 1 - - - - - - - Covered T5,T6,T8
MainReset 0 - - - - - - - Covered T1,T2,T3
MainAddress - 1 - - - - - - Covered T5,T6,T8
MainAddress - 0 - - - - - - Covered T5,T6,T8
MainAddress - - 1 2'b00 - - - - Covered T5,T6,T8
MainAddress - - 1 2'b01 - - - - Covered T5,T6,T8
MainAddress - - 1 2'b1z - - - - Not Covered
MainAddress - - 1 default - - - - Not Covered
MainAddress - - 0 - - - - - Covered T5,T6,T8
MainMByte - - - - 1 - - - Not Covered
MainMByte - - - - 0 - - - Not Covered
MainDummy - - - - - 1 - - Covered T5,T6,T8
MainDummy - - - - - 0 - - Covered T5,T6,T8
MainOutput - - - - - - 4'b0010 - Covered T5,T6,T8
MainOutput - - - - - - 4'b0011 - Covered T5,T6,T8
MainOutput - - - - - - 4'b1111 - Covered T5,T6,T8
MainOutput - - - - - - default - Not Covered
MainOutput - - - - - - - 1 Covered T5,T6,T8
MainOutput - - - - - - - 0 Covered T5,T6,T8
MainError - - - - - - - - Not Covered
default - - - - - - - - Not Covered


Assert Coverage for Module : spi_readcmd
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 3 3 100.00 3 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 3 3 100.00 3 100.00




Assertion Details

Name   Attempts   Real Successes   Failures   Incomplete   
AddrIncNotAssertInAddressState_A 129483421 3609445 0 0
MailboxSizeMatch_M 129483421 100792689 0 0
ValidCmdConfig_A 129483421 172528 0 0


AddrIncNotAssertInAddressState_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 129483421 3609445 0 0
T5 362974 11177 0 0
T6 282487 10366 0 0
T7 63891 0 0 0
T8 375408 10714 0 0
T9 93106 0 0 0
T10 2946 0 0 0
T11 3339 0 0 0
T12 48544 0 0 0
T15 116924 6994 0 0
T17 0 59846 0 0
T19 0 1682 0 0
T20 0 5179 0 0
T22 90065 0 0 0
T46 0 3567 0 0
T47 0 33441 0 0
T48 0 1536 0 0

MailboxSizeMatch_M
NameAttemptsReal SuccessesFailuresIncomplete
Total 129483421 100792689 0 0
T2 227921 227696 0 0
T3 1128 0 0 0
T4 108614 0 0 0
T5 362974 297561 0 0
T6 282487 281232 0 0
T7 63891 0 0 0
T8 375408 334546 0 0
T9 93106 0 0 0
T10 2946 0 0 0
T11 3339 0 0 0
T12 0 48544 0 0
T15 0 116544 0 0
T17 0 114381 0 0
T18 0 2064 0 0
T19 0 29688 0 0
T20 0 189464 0 0

ValidCmdConfig_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 129483421 172528 0 0
T5 362974 608 0 0
T6 282487 572 0 0
T7 63891 0 0 0
T8 375408 577 0 0
T9 93106 0 0 0
T10 2946 0 0 0
T11 3339 0 0 0
T12 48544 0 0 0
T15 116924 310 0 0
T17 0 1855 0 0
T19 0 185 0 0
T20 0 470 0 0
T22 90065 0 0 0
T46 0 123 0 0
T47 0 1372 0 0
T48 0 138 0 0