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

Module : usb_fs_nb_out_pe
SCORELINECONDTOGGLEFSMBRANCHASSERT
43.24 54.84 20.16 0.00 41.18 100.00

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

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.usbdev_impl.u_usb_fs_nb_pe.u_usb_fs_nb_out_pe 43.24 54.84 20.16 0.00 41.18 100.00



Module Instance : tb.dut.usbdev_impl.u_usb_fs_nb_pe.u_usb_fs_nb_out_pe

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
43.24 54.84 20.16 0.00 41.18 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
43.24 54.84 20.16 0.00 41.18 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
72.22 100.00 16.67 100.00 u_usb_fs_nb_pe


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 : usb_fs_nb_out_pe
Line No.TotalCoveredPercent
TOTAL1246854.84
CONT_ASSIGN8511100.00
CONT_ASSIGN12611100.00
CONT_ASSIGN12711100.00
CONT_ASSIGN12911100.00
CONT_ASSIGN13511100.00
CONT_ASSIGN13911100.00
CONT_ASSIGN14311100.00
CONT_ASSIGN14711100.00
CONT_ASSIGN15211100.00
CONT_ASSIGN15811100.00
CONT_ASSIGN15911100.00
CONT_ASSIGN16611100.00
CONT_ASSIGN16711100.00
CONT_ASSIGN17011100.00
CONT_ASSIGN17111100.00
CONT_ASSIGN17311100.00
ALWAYS1796466.67
ALWAYS1914375.00
ALWAYS207541120.37
CONT_ASSIGN32111100.00
ALWAYS32433100.00
CONT_ASSIGN33411100.00
ALWAYS33733100.00
ALWAYS3456466.67
ALWAYS3575480.00
ALWAYS3679666.67
ALWAYS38433100.00
ALWAYS3966466.67
CONT_ASSIGN41211100.00
ALWAYS4156466.67
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_usb_fs_nb_pe_0.1/rtl/usb_fs_nb_out_pe.sv' or '../src/lowrisc_ip_usb_fs_nb_pe_0.1/rtl/usb_fs_nb_out_pe.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
85 1 1
126 1 1
127 1 1
129 1 1
135 1 1
139 1 1
143 1 1
147 1 1
152 1 1
158 1 1
159 1 1
166 1 1
167 1 1
170 1 1
171 1 1
173 1 1
179 1 1
180 1 1
182 1 1
183 0 1
184 1 1
185 0 1
MISSING_ELSE
191 1 1
192 1 1
194 1 1
195 0 1
MISSING_ELSE
207 1 1
208 1 1
209 1 1
210 1 1
211 1 1
212 1 1
213 1 1
214 1 1
216 1 1
220 1 1
221 0 1
222 0 1
224 1 1
232 0 1
234 0 1
235 0 1
236 0 1
237 0 1
239 0 1
244 0 1
248 0 1
249 0 1
252 0 1
253 0 1
254 0 1
255 0 1
256 0 1
258 0 1
259 0 1
260 0 1
261 0 1
263 0 1
268 0 1
269 0 1
271 0 1
273 0 1
275 0 1
276 0 1
278 0 1
279 0 1
280 0 1
284 0 1
285 0 1
286 0 1
287 0 1
288 0 1
290 0 1
291 0 1
292 0 1
299 0 1
301 0 1
303 0 1
306 0 1
307 0 1
321 1 1
324 1 1
325 1 1
327 1 1
334 1 1
337 1 1
338 1 1
340 1 1
345 1 1
347 1 1
348 0 1
349 1 1
350 0 1
MISSING_ELSE
353 1 1
357 1 1
358 1 1
359 1 1
360 0 1
362 1 1
367 1 1
368 1 1
369 1 1
370 1 1
372 1 1
373 0 1
374 0 1
375 0 1
377 1 1
384 1 1
385 1 1
387 1 1
396 1 1
397 1 1
399 1 1
400 1 1
401 0 1
402 0 1
==> MISSING_ELSE
412 1 1
415 1 1
416 1 1
418 1 1
419 0 1
420 1 1
421 0 1
MISSING_ELSE


Cond Coverage for Module : usb_fs_nb_out_pe
TotalCoveredPercent
Conditions1242520.16
Logical1242520.16
Non-Logical00
Event00

 LINE       129
 EXPRESSION (rx_pkt_end_i && rx_pkt_valid_i && (rx_pid_type == UsbPidTypeToken) && (rx_addr_i == dev_addr_i))
             ------1-----    -------2------    ----------------3---------------    ------------4------------
-1--2--3--4-StatusTests
0111Not Covered
1011Not Covered
1101Not Covered
1110Not Covered
1111Not Covered

 LINE       129
 SUB-EXPRESSION (rx_pid_type == UsbPidTypeToken)
                ----------------1---------------
-1-StatusTests
0CoveredT1
1Not Covered

 LINE       129
 SUB-EXPRESSION (rx_addr_i == dev_addr_i)
                ------------1------------
-1-StatusTests
0CoveredT1
1CoveredT1

 LINE       135
 EXPRESSION (token_received && (rx_pid == UsbPidOut))
             -------1------    ----------2----------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       135
 SUB-EXPRESSION (rx_pid == UsbPidOut)
                ----------1----------
-1-StatusTests
0CoveredT1
1Not Covered

 LINE       139
 EXPRESSION (token_received && (rx_pid == UsbPidSetup))
             -------1------    -----------2-----------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       139
 SUB-EXPRESSION (rx_pid == UsbPidSetup)
                -----------1-----------
-1-StatusTests
0CoveredT1
1Not Covered

 LINE       143
 EXPRESSION (rx_pkt_end_i && ((!rx_pkt_valid_i)))
             ------1-----    ---------2---------
-1--2-StatusTests
01CoveredT1
10Not Covered
11Not Covered

 LINE       147
 EXPRESSION (rx_pkt_end_i && rx_pkt_valid_i && ((rx_pid == UsbPidData0) || (rx_pid == UsbPidData1)))
             ------1-----    -------2------    --------------------------3-------------------------
-1--2--3-StatusTests
011Not Covered
101Not Covered
110Not Covered
111Not Covered

 LINE       147
 SUB-EXPRESSION ((rx_pid == UsbPidData0) || (rx_pid == UsbPidData1))
                 -----------1-----------    -----------2-----------
-1--2-StatusTests
00CoveredT1
01Not Covered
10Not Covered

 LINE       147
 SUB-EXPRESSION (rx_pid == UsbPidData0)
                -----------1-----------
-1-StatusTests
0CoveredT1
1Not Covered

 LINE       147
 SUB-EXPRESSION (rx_pid == UsbPidData1)
                -----------1-----------
-1-StatusTests
0CoveredT1
1Not Covered

 LINE       152
 EXPRESSION (rx_pkt_end_i && rx_pkt_valid_i && ( ! ((rx_pid == UsbPidData0) || (rx_pid == UsbPidData1)) ))
             ------1-----    -------2------    -----------------------------3----------------------------
-1--2--3-StatusTests
011Not Covered
101Not Covered
110Not Covered
111Not Covered

 LINE       152
 SUB-EXPRESSION ( ! ((rx_pid == UsbPidData0) || (rx_pid == UsbPidData1)) )
                    --------------------------1-------------------------
-1-StatusTests
0CoveredT1
1Not Covered

 LINE       152
 SUB-EXPRESSION ((rx_pid == UsbPidData0) || (rx_pid == UsbPidData1))
                 -----------1-----------    -----------2-----------
-1--2-StatusTests
00CoveredT1
01Not Covered
10Not Covered

 LINE       152
 SUB-EXPRESSION (rx_pid == UsbPidData0)
                -----------1-----------
-1-StatusTests
0CoveredT1
1Not Covered

 LINE       152
 SUB-EXPRESSION (rx_pid == UsbPidData1)
                -----------1-----------
-1-StatusTests
0CoveredT1
1Not Covered

 LINE       159
 EXPRESSION (ep_in_hw ? rx_endp_i : '0)
             ----1---
-1-StatusTests
0Not Covered
1CoveredT1

 LINE       170
 EXPRESSION (out_ep_enabled_i[out_ep_index_d] & ep_in_hw)
             ----------------1---------------   ----2---
-1--2-StatusTests
01CoveredT1
10Not Covered
11Not Covered

 LINE       173
 EXPRESSION (data_packet_received && ep_active && (rx_pid_i[3] != data_toggle_q[out_ep_index_d]))
             ----------1---------    ----2----    -----------------------3----------------------
-1--2--3-StatusTests
011Not Covered
101Not Covered
110Not Covered
111Not Covered

 LINE       173
 SUB-EXPRESSION (rx_pid_i[3] != data_toggle_q[out_ep_index_d])
                -----------------------1----------------------
-1-StatusTests
0CoveredT1
1Not Covered

 LINE       182
 EXPRESSION (setup_token_received && ep_active)
             ----------1---------    ----2----
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       184
 EXPRESSION (out_token_received && ep_active)
             ---------1--------    ----2----
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       220
 EXPRESSION (ep_active && (out_token_received || (setup_token_received && ep_is_control)))
             ----1----    -------------------------------2-------------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       220
 SUB-EXPRESSION (out_token_received || (setup_token_received && ep_is_control))
                 ---------1--------    -------------------2-------------------
-1--2-StatusTests
00CoveredT1
01Not Covered
10Not Covered

 LINE       220
 SUB-EXPRESSION (setup_token_received && ep_is_control)
                 ----------1---------    ------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       236
 EXPRESSION (timeout_cntdown_q == '0)
            ------------1------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       244
 EXPRESSION (((!ep_is_control)) && out_ep_iso_i[out_ep_index] && data_packet_received)
             ---------1--------    -------------2------------    ----------3---------
-1--2--3-StatusTests
011Not Covered
101Not Covered
110Not Covered
111Not Covered

 LINE       249
 EXPRESSION (bad_data_toggle && ((!out_ep_stall_i[out_ep_index])))
             -------1-------    ----------------2----------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       256
 EXPRESSION (invalid_packet_received || non_data_packet_received)
             -----------1-----------    ------------2-----------
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       273
 EXPRESSION (nak_out_transaction | out_ep_full_i[out_ep_index])
             ---------1---------   -------------2-------------
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       286
 EXPRESSION (nak_out_transaction | out_ep_full_i[out_ep_index])
             ---------1---------   -------------2-------------
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       301
 EXPRESSION (nak_out_transaction | out_ep_full_i[out_ep_index])
             ---------1---------   -------------2-------------
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       340
 EXPRESSION (link_reset_i ? StIdle : out_xact_state_next)
             ------1-----
-1-StatusTests
0CoveredT1
1Not Covered

 LINE       347
 EXPRESSION (setup_token_received && ep_active)
             ----------1---------    ----2----
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       387
 EXPRESSION ((out_xact_state == StRcvdDataStart) && rx_data_put_i)
             -----------------1-----------------    ------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       387
 SUB-EXPRESSION (out_xact_state == StRcvdDataStart)
                -----------------1-----------------
-1-StatusTests
0CoveredT1
1Not Covered

 LINE       399
 EXPRESSION ((out_xact_state == StIdle) || (out_xact_state == StRcvdOut))
             -------------1------------    --------------2--------------
-1--2-StatusTests
00Not Covered
01Not Covered
10CoveredT1

 LINE       399
 SUB-EXPRESSION (out_xact_state == StIdle)
                -------------1------------
-1-StatusTests
0Not Covered
1CoveredT1

 LINE       399
 SUB-EXPRESSION (out_xact_state == StRcvdOut)
                --------------1--------------
-1-StatusTests
0CoveredT1
1Not Covered

 LINE       401
 EXPRESSION (out_ep_data_put_o && out_ep_full_i[out_ep_index])
             --------1--------    -------------2-------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       412
 EXPRESSION (((!nak_out_transaction)) && ((~&out_ep_put_addr_o)) && out_ep_data_put_o)
             ------------1-----------    -----------2-----------    --------3--------
-1--2--3-StatusTests
011Not Covered
101Not Covered
110CoveredT1
111Not Covered

 LINE       418
 EXPRESSION (out_xact_state == StRcvdOut)
            --------------1--------------
-1-StatusTests
0CoveredT1
1Not Covered

 LINE       420
 EXPRESSION ((out_xact_state == StRcvdDataStart) && increment_addr)
             -----------------1-----------------    -------2------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       420
 SUB-EXPRESSION (out_xact_state == StRcvdDataStart)
                -----------------1-----------------
-1-StatusTests
0CoveredT1
1Not Covered

FSM Coverage for Module : usb_fs_nb_out_pe
Summary for FSM :: out_xact_state
TotalCoveredPercent
States 5 1 20.00 (Not included in score)
Transitions 8 0 0.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: out_xact_state
statesLine No.CoveredTests
StIdle 340 Covered T1
StRcvdDataEnd 261 Not Covered
StRcvdDataStart 235 Not Covered
StRcvdIsoDataEnd 248 Not Covered
StRcvdOut 221 Not Covered


transitionsLine No.CoveredTests
StIdle->StRcvdOut 221 Not Covered
StRcvdDataEnd->StIdle 340 Not Covered
StRcvdDataStart->StIdle 340 Not Covered
StRcvdDataStart->StRcvdDataEnd 261 Not Covered
StRcvdDataStart->StRcvdIsoDataEnd 248 Not Covered
StRcvdIsoDataEnd->StIdle 340 Not Covered
StRcvdOut->StIdle 340 Not Covered
StRcvdOut->StRcvdDataStart 235 Not Covered



Branch Coverage for Module : usb_fs_nb_out_pe
Line No.TotalCoveredPercent
Branches 51 21 41.18
TERNARY 159 2 1 50.00
IF 179 4 2 50.00
IF 191 3 2 66.67
CASE 216 18 1 5.56
IF 324 2 2 100.00
IF 337 3 2 66.67
IF 347 3 1 33.33
IF 357 3 2 66.67
IF 367 3 2 66.67
IF 384 2 2 100.00
IF 396 4 2 50.00
IF 415 4 2 50.00

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

LineNo. Expression -1-: 159 (ep_in_hw) ?

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


LineNo. Expression -1-: 179 if ((!rst_ni)) -2-: 182 if ((setup_token_received && ep_active)) -3-: 184 if ((out_token_received && ep_active))

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


LineNo. Expression -1-: 191 if ((!rst_ni)) -2-: 194 if (rx_data_put_i)

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


LineNo. Expression -1-: 216 case (out_xact_state) -2-: 220 if ((ep_active && (out_token_received || (setup_token_received && ep_is_control)))) -3-: 234 if (rx_pkt_start_i) -4-: 236 if ((timeout_cntdown_q == '0)) -5-: 244 if ((((!ep_is_control) && out_ep_iso_i[out_ep_index]) && data_packet_received)) -6-: 249 if ((bad_data_toggle && (!out_ep_stall_i[out_ep_index]))) -7-: 256 if ((invalid_packet_received || non_data_packet_received)) -8-: 260 if (data_packet_received) -9-: 271 if (current_xact_setup_q) -10-: 273 if ((nak_out_transaction | out_ep_full_i[out_ep_index])) -11-: 284 if (out_ep_stall_i[out_ep_index]) -12-: 286 if ((nak_out_transaction | out_ep_full_i[out_ep_index])) -13-: 301 if ((nak_out_transaction | out_ep_full_i[out_ep_index]))

Branches:
-1--2--3--4--5--6--7--8--9--10--11--12--13-StatusTests
StIdle 1 - - - - - - - - - - - Not Covered
StIdle 0 - - - - - - - - - - - Covered T1
StRcvdOut - 1 - - - - - - - - - - Not Covered
StRcvdOut - 0 1 - - - - - - - - - Not Covered
StRcvdOut - 0 0 - - - - - - - - - Not Covered
StRcvdDataStart - - - 1 - - - - - - - - Not Covered
StRcvdDataStart - - - 0 1 - - - - - - - Not Covered
StRcvdDataStart - - - 0 0 1 - - - - - - Not Covered
StRcvdDataStart - - - 0 0 0 1 - - - - - Not Covered
StRcvdDataStart - - - 0 0 0 0 - - - - - Not Covered
StRcvdDataEnd - - - - - - - 1 1 - - - Not Covered
StRcvdDataEnd - - - - - - - 1 0 - - - Not Covered
StRcvdDataEnd - - - - - - - 0 - 1 - - Not Covered
StRcvdDataEnd - - - - - - - 0 - 0 1 - Not Covered
StRcvdDataEnd - - - - - - - 0 - 0 0 - Not Covered
StRcvdIsoDataEnd - - - - - - - - - - - 1 Not Covered
StRcvdIsoDataEnd - - - - - - - - - - - 0 Not Covered
default - - - - - - - - - - - - Not Covered


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

Branches:
-1-StatusTests
1 Covered T1
0 Covered T1


LineNo. Expression -1-: 337 if ((!rst_ni)) -2-: 340 (link_reset_i) ?

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


LineNo. Expression -1-: 347 if ((setup_token_received && ep_active)) -2-: 349 if (new_pkt_end)

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


LineNo. Expression -1-: 357 if ((!rst_ni)) -2-: 359 if (link_reset_i)

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


LineNo. Expression -1-: 367 if ((!rst_ni)) -2-: 372 if (out_xact_start)

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


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

Branches:
-1-StatusTests
1 Covered T1
0 Covered T1


LineNo. Expression -1-: 396 if ((!rst_ni)) -2-: 399 if (((out_xact_state == StIdle) || (out_xact_state == StRcvdOut))) -3-: 401 if ((out_ep_data_put_o && out_ep_full_i[out_ep_index]))

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


LineNo. Expression -1-: 415 if ((!rst_ni)) -2-: 418 if ((out_xact_state == StRcvdOut)) -3-: 420 if (((out_xact_state == StRcvdDataStart) && increment_addr))

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


Assert Coverage for Module : usb_fs_nb_out_pe
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutXactStateValid_A 10725 9119 0 0


OutXactStateValid_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 10725 9119 0 0
T1 10725 9119 0 0

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