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

Module : spi_cmdparse
SCORELINECONDTOGGLEFSMBRANCHASSERT
99.06 100.00 97.33 100.00 97.96 100.00

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

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.u_cmdparse 99.06 100.00 97.33 100.00 97.96 100.00



Module Instance : tb.dut.u_cmdparse

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
99.06 100.00 97.33 100.00 97.96 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
99.06 100.00 97.33 100.00 97.96 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
95.39 96.31 94.03 97.00 93.33 96.30 dut


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Since this is the module's only instance, the coverage report is the same as for the module.
Line Coverage for Module : spi_cmdparse
Line No.TotalCoveredPercent
TOTAL104104100.00
CONT_ASSIGN7411100.00
ALWAYS7933100.00
CONT_ASSIGN14511100.00
CONT_ASSIGN14911100.00
ALWAYS17444100.00
CONT_ASSIGN18311100.00
CONT_ASSIGN18511100.00
CONT_ASSIGN18711100.00
CONT_ASSIGN18911100.00
CONT_ASSIGN19111100.00
CONT_ASSIGN19311100.00
ALWAYS19744100.00
ALWAYS21666100.00
ALWAYS23077100.00
CONT_ASSIGN24911100.00
CONT_ASSIGN25011100.00
ALWAYS25955100.00
CONT_ASSIGN27411100.00
ALWAYS2781111100.00
CONT_ASSIGN29311100.00
CONT_ASSIGN29411100.00
CONT_ASSIGN29511100.00
ALWAYS29844100.00
ALWAYS3064545100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_spi_device_0.1/rtl/spi_cmdparse.sv' or '../src/lowrisc_ip_spi_device_0.1/rtl/spi_cmdparse.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
74 1 1
79 1 1
80 1 1
81 1 1
145 1 1
149 1 1
174 1 1
175 1 1
176 1 1
178 1 1
MISSING_ELSE
183 1 1
185 1 1
187 1 1
189 1 1
191 1 1
193 1 1
197 1 1
198 1 1
199 1 1
200 1 1
MISSING_ELSE
216 1 1
217 1 1
222 1 1
223 1 1
224 1 1
225 1 1
MISSING_ELSE
230 1 1
235 1 1
236 1 1
237 1 1
238 1 1
239 1 1
240 1 1
MISSING_ELSE
MISSING_ELSE
249 1 1
250 1 1
259 1 1
264 1 1
266 1 1
267 1 1
268 1 1
MISSING_ELSE
274 1 1
278 1 1
279 1 1
280 1 1
281 1 1
282 1 1
283 2 2
MISSING_ELSE
284 2 2
MISSING_ELSE
285 2 2
MISSING_ELSE
MISSING_ELSE
293 1 1
294 1 1
295 1 1
298 1 1
299 1 1
300 1 1
301 1 1
MISSING_ELSE
306 1 1
308 1 1
309 1 1
311 1 1
313 1 1
315 1 1
317 1 1
319 1 1
321 1 1
323 1 1
324 1 1
325 1 1
326 1 1
327 1 1
329 1 1
334 1 1
335 1 1
336 1 1
337 1 1
338 1 1
340 1 1
346 1 1
347 1 1
348 1 1
349 1 1
350 1 1
353 1 1
361 1 1
365 1 1
366 1 1
370 1 1
373 1 1
377 1 1
380 1 1
390 1 1
392 1 1
MISSING_ELSE
397 1 1
399 1 1
401 1 1
403 1 1
405 1 1
407 1 1
409 1 1
412 1 1
414 1 1


Cond Coverage for Module : spi_cmdparse
TotalCoveredPercent
Conditions757397.33
Logical757397.33
Non-Logical00
Event00

 LINE       176
 EXPRESSION (cmd_info_i[(CmdInfoReadStatus1 + i)].valid && (data_i == cmd_info_i[(CmdInfoReadStatus1 + i)].opcode))
             ---------------------1--------------------    ---------------------------2---------------------------
-1--2-StatusTests
01CoveredT1,T9,T3
10CoveredT9,T15,T10
11CoveredT9,T15,T10

 LINE       176
 SUB-EXPRESSION (data_i == cmd_info_i[(CmdInfoReadStatus1 + i)].opcode)
                ---------------------------1---------------------------
-1-StatusTests
0CoveredT4,T1,T2
1CoveredT1,T9,T3

 LINE       183
 EXPRESSION (cmd_info_i[CmdInfoReadJedecId].valid && (data_i == cmd_info_i[CmdInfoReadJedecId].opcode))
             ------------------1-----------------    ------------------------2------------------------
-1--2-StatusTests
01CoveredT1,T9,T3
10CoveredT15,T10,T5
11CoveredT15,T10,T5

 LINE       183
 SUB-EXPRESSION (data_i == cmd_info_i[CmdInfoReadJedecId].opcode)
                ------------------------1------------------------
-1-StatusTests
0CoveredT4,T1,T2
1CoveredT1,T9,T3

 LINE       185
 EXPRESSION (cmd_info_i[CmdInfoReadSfdp].valid && (data_i == cmd_info_i[CmdInfoReadSfdp].opcode))
             ----------------1----------------    -----------------------2----------------------
-1--2-StatusTests
01CoveredT1,T9,T3
10CoveredT15,T10,T5
11CoveredT15,T10,T5

 LINE       185
 SUB-EXPRESSION (data_i == cmd_info_i[CmdInfoReadSfdp].opcode)
                -----------------------1----------------------
-1-StatusTests
0CoveredT4,T1,T2
1CoveredT1,T9,T3

 LINE       187
 EXPRESSION (cmd_info_i[CmdInfoEn4B].valid && (data_i == cmd_info_i[CmdInfoEn4B].opcode))
             --------------1--------------    ---------------------2--------------------
-1--2-StatusTests
01CoveredT1,T9,T3
10CoveredT15,T5,T19
11CoveredT15,T5,T19

 LINE       187
 SUB-EXPRESSION (data_i == cmd_info_i[CmdInfoEn4B].opcode)
                ---------------------1--------------------
-1-StatusTests
0CoveredT4,T1,T2
1CoveredT1,T9,T3

 LINE       189
 EXPRESSION (cmd_info_i[CmdInfoEx4B].valid && (data_i == cmd_info_i[CmdInfoEx4B].opcode))
             --------------1--------------    ---------------------2--------------------
-1--2-StatusTests
01CoveredT1,T9,T3
10CoveredT5,T19,T6
11CoveredT5,T19,T6

 LINE       189
 SUB-EXPRESSION (data_i == cmd_info_i[CmdInfoEx4B].opcode)
                ---------------------1--------------------
-1-StatusTests
0CoveredT4,T1,T2
1CoveredT1,T9,T3

 LINE       191
 EXPRESSION (cmd_info_i[CmdInfoWrEn].valid && (data_i == cmd_info_i[CmdInfoWrEn].opcode))
             --------------1--------------    ---------------------2--------------------
-1--2-StatusTests
01CoveredT1,T9,T3
10CoveredT15,T5,T6
11CoveredT15,T5,T6

 LINE       191
 SUB-EXPRESSION (data_i == cmd_info_i[CmdInfoWrEn].opcode)
                ---------------------1--------------------
-1-StatusTests
0CoveredT4,T1,T2
1CoveredT1,T9,T3

 LINE       193
 EXPRESSION (cmd_info_i[CmdInfoWrDi].valid && (data_i == cmd_info_i[CmdInfoWrDi].opcode))
             --------------1--------------    ---------------------2--------------------
-1--2-StatusTests
01CoveredT1,T9,T3
10CoveredT15,T5,T6
11CoveredT15,T5,T6

 LINE       193
 SUB-EXPRESSION (data_i == cmd_info_i[CmdInfoWrDi].opcode)
                ---------------------1--------------------
-1-StatusTests
0CoveredT4,T1,T2
1CoveredT1,T9,T3

 LINE       199
 EXPRESSION (cmd_info_i[i].valid && (data_i == cmd_info_i[i].opcode))
             ---------1---------    ----------------2---------------
-1--2-StatusTests
01CoveredT1,T9,T3
10CoveredT9,T15,T10
11CoveredT9,T15,T10

 LINE       199
 SUB-EXPRESSION (data_i == cmd_info_i[i].opcode)
                ----------------1---------------
-1-StatusTests
0CoveredT4,T1,T2
1CoveredT1,T9,T3

 LINE       236
 EXPRESSION ((st == StIdle) && module_active && data_valid_i)
             -------1------    ------2------    ------3-----
-1--2--3-StatusTests
011CoveredT9,T15,T10
101CoveredT1,T3,T8
110CoveredT4,T1,T2
111CoveredT9,T15,T10

 LINE       236
 SUB-EXPRESSION (st == StIdle)
                -------1------
-1-StatusTests
0CoveredT9,T15,T10
1CoveredT4,T1,T2

 LINE       238
 EXPRESSION (cmd_info_i[i].valid && (data_i == cmd_info_i[i].opcode))
             ---------1---------    ----------------2---------------
-1--2-StatusTests
01CoveredT9,T19,T23
10CoveredT9,T15,T10
11CoveredT9,T15,T10

 LINE       238
 SUB-EXPRESSION (data_i == cmd_info_i[i].opcode)
                ----------------1---------------
-1-StatusTests
0CoveredT9,T15,T10
1CoveredT9,T15,T10

 LINE       266
 EXPRESSION ((st == StIdle) && module_active && data_valid_i)
             -------1------    ------2------    ------3-----
-1--2--3-StatusTests
011CoveredT9,T15,T10
101CoveredT1,T3,T8
110CoveredT4,T1,T2
111CoveredT9,T15,T10

 LINE       266
 SUB-EXPRESSION (st == StIdle)
                -------1------
-1-StatusTests
0CoveredT9,T15,T10
1CoveredT4,T1,T2

 LINE       293
 EXPRESSION (spi_mode_i == FlashMode)
            ------------1------------
-1-StatusTests
0CoveredT4,T1,T2
1CoveredT4,T1,T2

 LINE       294
 EXPRESSION (spi_mode_i == PassThrough)
            -------------1-------------
-1-StatusTests
0CoveredT4,T1,T2
1CoveredT9,T15,T17

 LINE       295
 EXPRESSION (in_flashmode || in_passthrough)
             ------1-----    -------2------
-1--2-StatusTests
00CoveredT1,T3,T8
01CoveredT9,T15,T17
10CoveredT4,T1,T2

 LINE       317
 EXPRESSION (module_active && data_valid_i && cmd_info_d.valid)
             ------1------    ------2-----    --------3-------
-1--2--3-StatusTests
011Not Covered
101Not Covered
110CoveredT9,T15,T17
111CoveredT9,T15,T10

 LINE       373
 EXPRESSION (opcode_en4b ? DpEn4B : DpEx4B)
             -----1-----
-1-StatusTests
0CoveredT19,T6,T7
1CoveredT15,T6,T7

 LINE       380
 EXPRESSION (opcode_wren ? DpWrEn : DpWrDi)
             -----1-----
-1-StatusTests
0CoveredT15,T5,T6
1CoveredT15,T5,T6

 LINE       390
 EXPRESSION (module_active && data_valid_i)
             ------1------    ------2-----
-1--2-StatusTests
01CoveredT1,T3,T8
10CoveredT4,T1,T2
11CoveredT9,T15,T17

FSM Coverage for Module : spi_cmdparse
Summary for FSM :: st
TotalCoveredPercent
States 9 9 100.00 (Not included in score)
Transitions 8 8 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: st
statesLine No.CoveredTests
StAddr4B 370 Covered T15,T19,T6
StIdle 236 Covered T4,T1,T2
StJedec 335 Covered T5,T6,T7
StReadCmd 361 Covered T9,T10,T5
StSfdp 347 Covered T5,T7,T24
StStatus 324 Covered T5,T6,T7
StUpload 365 Covered T5,T6,T7
StWait 329 Covered T9,T15,T17
StWrEn 377 Covered T15,T5,T6


transitionsLine No.CoveredTests
StIdle->StAddr4B 370 Covered T15,T19,T6
StIdle->StJedec 335 Covered T5,T6,T7
StIdle->StReadCmd 361 Covered T9,T10,T5
StIdle->StSfdp 347 Covered T5,T7,T24
StIdle->StStatus 324 Covered T5,T6,T7
StIdle->StUpload 365 Covered T5,T6,T7
StIdle->StWait 329 Covered T9,T15,T17
StIdle->StWrEn 377 Covered T15,T5,T6



Branch Coverage for Module : spi_cmdparse
Line No.TotalCoveredPercent
Branches 49 48 97.96
IF 176 2 2 100.00
IF 199 2 2 100.00
IF 216 3 3 100.00
IF 236 2 2 100.00
IF 266 2 2 100.00
IF 278 8 8 100.00
IF 298 3 3 100.00
CASE 315 27 26 96.30

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

LineNo. Expression -1-: 176 if ((cmd_info_i[(CmdInfoReadStatus1 + i)].valid && (data_i == cmd_info_i[(CmdInfoReadStatus1 + i)].opcode)))

Branches:
-1-StatusTests
1 Covered T9,T15,T10
0 Covered T4,T1,T2


LineNo. Expression -1-: 199 if ((cmd_info_i[i].valid && (data_i == cmd_info_i[i].opcode)))

Branches:
-1-StatusTests
1 Covered T9,T15,T10
0 Covered T4,T1,T2


LineNo. Expression -1-: 216 if ((!rst_ni)) -2-: 223 if (latch_cmdinfo)

Branches:
-1--2-StatusTests
1 - Covered T4,T1,T2
0 1 Covered T9,T15,T10
0 0 Covered T1,T9,T3


LineNo. Expression -1-: 236 if ((((st == StIdle) && module_active) && data_valid_i))

Branches:
-1-StatusTests
1 Covered T9,T15,T10
0 Covered T4,T1,T2


LineNo. Expression -1-: 266 if ((((st == StIdle) && module_active) && data_valid_i))

Branches:
-1-StatusTests
1 Covered T9,T15,T10
0 Covered T4,T1,T2


LineNo. Expression -1-: 278 if ((!rst_ni)) -2-: 282 if (intercept_d) -3-: 283 if (opcode_readstatus) -4-: 284 if (opcode_readjedec) -5-: 285 if (opcode_readsfdp)

Branches:
-1--2--3--4--5-StatusTests
1 - - - - Covered T4,T1,T2
0 1 1 - - Covered T6,T7,T23
0 1 0 - - Covered T6,T7,T23
0 1 - 1 - Covered T6,T7,T23
0 1 - 0 - Covered T6,T7,T23
0 1 - - 1 Covered T7,T24,T18
0 1 - - 0 Covered T6,T7,T23
0 0 - - - Covered T1,T9,T3


LineNo. Expression -1-: 298 if ((!rst_ni)) -2-: 300 if (module_active)

Branches:
-1--2-StatusTests
1 - Covered T4,T1,T2
0 1 Covered T9,T15,T10
0 0 Covered T1,T3,T8


LineNo. Expression -1-: 315 case (st) -2-: 317 if (((module_active && data_valid_i) && cmd_info_d.valid)) -3-: 321 case (1'b1) -4-: 323 if (in_flashmode) -5-: 325 if (cfg_intercept_en_status_i) -6-: 334 if (in_flashmode) -7-: 336 if (cfg_intercept_en_jedec_i) -8-: 346 if (in_flashmode) -9-: 348 if (cfg_intercept_en_sfdp_i) -10-: 373 (opcode_en4b) ? -11-: 380 (opcode_wren) ? -12-: 390 if ((module_active && data_valid_i))

Branches:
-1--2--3--4--5--6--7--8--9--10--11--12-StatusTests
StIdle 1 opcode_readstatus 1 - - - - - - - - Covered T5,T44,T45
StIdle 1 opcode_readstatus 0 1 - - - - - - - Covered T6,T7,T23
StIdle 1 opcode_readstatus 0 0 - - - - - - - Covered T11,T24,T34
StIdle 1 opcode_readjedec - - 1 - - - - - - Covered T5,T44,T45
StIdle 1 opcode_readjedec - - 0 1 - - - - - Covered T6,T7,T23
StIdle 1 opcode_readjedec - - 0 0 - - - - - Covered T11,T6,T7
StIdle 1 opcode_readsfdp - - - - 1 - - - - Covered T5,T44,T45
StIdle 1 opcode_readsfdp - - - - 0 1 - - - Covered T7,T24,T18
StIdle 1 opcode_readsfdp - - - - 0 0 - - - Covered T6,T7,T23
StIdle 1 opcode_readcmd - - - - - - - - - Covered T9,T10,T5
StIdle 1 upload - - - - - - - - - Covered T5,T6,T7
StIdle 1 opcode_en4b opcode_ex4b - - - - - - 1 - - Covered T15,T6,T7
StIdle 1 opcode_en4b opcode_ex4b - - - - - - 0 - - Covered T19,T6,T7
StIdle 1 opcode_wren opcode_wrdi - - - - - - - 1 - Covered T15,T5,T6
StIdle 1 opcode_wren opcode_wrdi - - - - - - - 0 - Covered T15,T5,T6
StIdle 1 default - - - - - - - - - Covered T17,T5,T11
StIdle 0 - - - - - - - - - 1 Covered T9,T15,T17
StIdle 0 - - - - - - - - - 0 Covered T4,T1,T2
StStatus - - - - - - - - - - - Covered T5,T6,T7
StJedec - - - - - - - - - - - Covered T5,T6,T7
StSfdp - - - - - - - - - - - Covered T5,T7,T24
StReadCmd - - - - - - - - - - - Covered T9,T10,T5
StUpload - - - - - - - - - - - Covered T5,T6,T7
StAddr4B - - - - - - - - - - - Covered T15,T19,T6
StWrEn - - - - - - - - - - - Covered T15,T5,T6
StWait - - - - - - - - - - - Covered T9,T15,T17
default - - - - - - - - - - - Not Covered


Assert Coverage for Module : spi_cmdparse
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 4 4 100.00 4 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 4 4 100.00 4 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
CmdOnlySelDpKnown_A 386536807 335033634 0 0
OnlyOneDatapath_A 386536807 77406 0 0
SelDpKnown_A 386536807 335033634 0 0
StKnown_A 386536807 335033634 0 0


CmdOnlySelDpKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 386536807 335033634 0 0
T1 3059 3051 0 0
T3 3272 3263 0 0
T8 385 384 0 0
T9 171344 171072 0 0
T10 22753 22308 0 0
T12 82497 82496 0 0
T13 367079 325824 0 0
T14 473954 473952 0 0
T15 10327 9632 0 0
T16 417 416 0 0

OnlyOneDatapath_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 386536807 77406 0 0
T3 3272 0 0 0
T5 0 27 0 0
T6 0 177 0 0
T7 0 622 0 0
T8 385 0 0 0
T9 171344 26 0 0
T10 22753 8 0 0
T11 0 36 0 0
T12 82497 0 0 0
T15 10327 24 0 0
T16 417 0 0 0
T17 144 4 0 0
T19 0 18 0 0
T40 4160 0 0 0
T41 385 0 0 0
T137 0 8 0 0

SelDpKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 386536807 335033634 0 0
T1 3059 3051 0 0
T3 3272 3263 0 0
T8 385 384 0 0
T9 171344 171072 0 0
T10 22753 22308 0 0
T12 82497 82496 0 0
T13 367079 325824 0 0
T14 473954 473952 0 0
T15 10327 9632 0 0
T16 417 416 0 0

StKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 386536807 335033634 0 0
T1 3059 3051 0 0
T3 3272 3263 0 0
T8 385 384 0 0
T9 171344 171072 0 0
T10 22753 22308 0 0
T12 82497 82496 0 0
T13 367079 325824 0 0
T14 473954 473952 0 0
T15 10327 9632 0 0
T16 417 416 0 0

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