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

Module : spi_fwm_txf_ctrl
SCORELINECONDTOGGLEFSMBRANCHASSERT
94.88 97.56 89.66 100.00 92.31

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

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.u_fwmode.u_txf_ctrl 94.88 97.56 89.66 100.00 92.31



Module Instance : tb.dut.u_fwmode.u_txf_ctrl

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
94.88 97.56 89.66 100.00 92.31


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
94.88 97.56 89.66 100.00 92.31


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
95.83 91.67 100.00 u_fwmode


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_fwm_txf_ctrl
Line No.TotalCoveredPercent
TOTAL828097.56
ALWAYS8033100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8611100.00
CONT_ASSIGN8811100.00
ALWAYS93383797.37
ALWAYS16266100.00
ALWAYS17444100.00
ALWAYS182111090.91
ALWAYS20433100.00
CONT_ASSIGN21311100.00
CONT_ASSIGN21811100.00
ALWAYS22333100.00
ALWAYS22844100.00
CONT_ASSIGN23211100.00
ALWAYS23544100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_spi_device_0.1/rtl/spi_fwm_txf_ctrl.sv' or '../src/lowrisc_ip_spi_device_0.1/rtl/spi_fwm_txf_ctrl.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
80 2 2
81 1 1
84 1 1
86 1 1
88 1 1
93 1 1
94 1 1
95 1 1
96 1 1
97 1 1
98 1 1
99 1 1
100 1 1
101 1 1
103 1 1
104 1 1
105 1 1
106 1 1
108 1 1
113 1 1
114 1 1
115 1 1
116 1 1
118 1 1
119 1 1
124 1 1
125 1 1
126 1 1
127 1 1
128 1 1
130 0 1
135 1 1
136 1 1
137 1 1
138 1 1
139 1 1
140 1 1
141 1 1
142 1 1
143 1 1
146 1 1
151 1 1
152 1 1
162 1 1
163 1 1
164 1 1
166 1 1
167 1 1
169 1 1
MISSING_ELSE
174 1 1
175 1 1
176 1 1
177 1 1
MISSING_ELSE
182 1 1
183 1 1
184 1 1
185 1 1
187 1 1
188 1 1
189 1 1
191 1 1
192 1 1
193 1 1
197 0 1
MISSING_ELSE
204 1 1
206 1 1
208 1 1
213 1 1
218 1 1
223 2 2
224 1 1
228 2 2
229 2 2
MISSING_ELSE
232 1 1
235 1 1
236 1 1
237 2 2
MISSING_ELSE


Cond Coverage for Module : spi_fwm_txf_ctrl
TotalCoveredPercent
Conditions292689.66
Logical292689.66
Non-Logical00
Event00

 LINE       84
 EXPRESSION (spi_mode_i == FwMode)
            -----------1----------
-1-StatusTests
0CoveredT4,T1,T5
1CoveredT1,T2,T3

 LINE       86
 EXPRESSION (rptr == wptr_q)
            --------1-------
-1-StatusTests
0CoveredT4,T1,T5
1CoveredT4,T1,T5

 LINE       104
 EXPRESSION (active && ((!sramf_empty)) && fifo_ready)
             ---1--    --------2-------    -----3----
-1--2--3-StatusTests
011CoveredT8,T23,T62
101CoveredT1,T2,T3
110CoveredT63,T64,T65
111CoveredT1,T2,T3

 LINE       139
 EXPRESSION (fifo_ready && ((!cnt_eq_end)))
             -----1----    -------2-------
-1--2-StatusTests
01Not Covered
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       185
 EXPRESSION (pos == '0)
            -----1-----
-1-StatusTests
0Not Covered
1CoveredT1,T2,T3

 LINE       187
 EXPRESSION (rptr[(PtrW - 2):SDW] != sramf_limit)
            ------------------1------------------
-1-StatusTests
0CoveredT1,T11,T8
1CoveredT1,T2,T3

 LINE       204
 EXPRESSION (wptr[(PtrW - 1)] == rptr[(PtrW - 1)])
            -------------------1------------------
-1-StatusTests
0CoveredT1,T11,T8
1CoveredT4,T1,T5

 LINE       213
 EXPRESSION ((wptr_q[(PtrW - 1):SDW] == rptr[(PtrW - 1):SDW]) ? (wptr_q[(SDW - 1):0] == pos) : (pos == '0))
             ------------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT4,T1,T5

 LINE       213
 SUB-EXPRESSION (wptr_q[(PtrW - 1):SDW] == rptr[(PtrW - 1):SDW])
                ------------------------1-----------------------
-1-StatusTests
0CoveredT4,T1,T5
1CoveredT4,T1,T5

 LINE       213
 SUB-EXPRESSION (wptr_q[(SDW - 1):0] == pos)
                --------------1-------------
-1-StatusTests
0Not Covered
1CoveredT4,T1,T5

 LINE       213
 SUB-EXPRESSION (pos == '0)
                -----1-----
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       232
 EXPRESSION (txf_sel ? sram_rdata_q : sram_rdata)
             ---1---
-1-StatusTests
0CoveredT4,T1,T5
1CoveredT1,T2,T3

 LINE       237
 EXPRESSION (pos == i[(SDW - 1):0])
            -----------1-----------
-1-StatusTests
0CoveredT4,T1,T5
1CoveredT4,T1,T5

FSM Coverage for Module : spi_fwm_txf_ctrl
Summary for FSM :: st
TotalCoveredPercent
States 5 5 100.00 (Not included in score)
Transitions 5 5 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: st
statesLine No.CoveredTests
StIdle 108 Covered T4,T1,T5
StLatch 114 Covered T1,T2,T3
StPush 125 Covered T1,T2,T3
StRead 105 Covered T1,T2,T3
StUpdate 136 Covered T1,T2,T3


transitionsLine No.CoveredTests
StIdle->StRead 105 Covered T1,T2,T3
StLatch->StPush 125 Covered T1,T2,T3
StPush->StUpdate 136 Covered T1,T2,T3
StRead->StLatch 114 Covered T1,T2,T3
StUpdate->StIdle 151 Covered T1,T2,T3



Branch Coverage for Module : spi_fwm_txf_ctrl
Line No.TotalCoveredPercent
Branches 39 36 92.31
TERNARY 213 2 2 100.00
TERNARY 232 2 2 100.00
IF 80 2 2 100.00
CASE 101 12 10 83.33
IF 162 4 4 100.00
IF 174 3 3 100.00
IF 182 5 4 80.00
IF 204 2 2 100.00
IF 223 2 2 100.00
IF 228 3 3 100.00
IF 237 2 2 100.00

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

LineNo. Expression -1-: 213 ((wptr_q[(PtrW - 1):SDW] == rptr[(PtrW - 1):SDW])) ?

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


LineNo. Expression -1-: 232 (txf_sel) ?

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


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

Branches:
-1-StatusTests
1 Covered T4,T1,T5
0 Covered T4,T1,T2


LineNo. Expression -1-: 101 case (st) -2-: 104 if (((active && (!sramf_empty)) && fifo_ready)) -3-: 113 if (sram_gnt) -4-: 124 if (sram_rvalid) -5-: 135 if (abort) -6-: 137 if ((!fifo_ready)) -7-: 139 if ((fifo_ready && (!cnt_eq_end)))

Branches:
-1--2--3--4--5--6--7-StatusTests
StIdle 1 - - - - - Covered T1,T2,T3
StIdle 0 - - - - - Covered T4,T1,T5
StRead - 1 - - - - Covered T1,T2,T3
StRead - 0 - - - - Covered T38,T44,T47
StLatch - - 1 - - - Covered T1,T2,T3
StLatch - - 0 - - - Not Covered
StPush - - - 1 - - Covered T53,T63,T66
StPush - - - 0 1 - Covered T1,T2,T11
StPush - - - 0 0 1 Covered T1,T2,T3
StPush - - - 0 0 0 Covered T1,T2,T3
StUpdate - - - - - - Covered T1,T2,T3
default - - - - - - Not Covered


LineNo. Expression -1-: 162 if ((!rst_ni)) -2-: 164 if (cnt_rst) -3-: 167 if (cnt_incr)

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


LineNo. Expression -1-: 174 if ((!rst_ni)) -2-: 176 if (latch_wptr)

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


LineNo. Expression -1-: 182 if ((!rst_ni)) -2-: 184 if (update_rptr) -3-: 185 if ((pos == '0)) -4-: 187 if ((rptr[(PtrW - 2):SDW] != sramf_limit))

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


LineNo. Expression -1-: 204 if ((wptr[(PtrW - 1)] == rptr[(PtrW - 1)]))

Branches:
-1-StatusTests
1 Covered T4,T1,T5
0 Covered T1,T11,T8


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

Branches:
-1-StatusTests
1 Covered T4,T1,T5
0 Covered T4,T1,T2


LineNo. Expression -1-: 228 if ((!rst_ni)) -2-: 229 if (sram_rvalid)

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


LineNo. Expression -1-: 237 if ((pos == i[(SDW - 1):0]))

Branches:
-1-StatusTests
1 Covered T4,T1,T5
0 Covered T4,T1,T5

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