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

Module : dmi_jtag
SCORELINECONDTOGGLEFSMBRANCHASSERT
83.95 94.32 92.45 66.67 82.35

Source File(s) :
/workspace/default/sim-vcs/../src/pulp-platform_riscv-dbg_0.1_0/pulp_riscv_dbg/src/dmi_jtag.sv

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.dap 83.95 94.32 92.45 66.67 82.35



Module Instance : tb.dut.dap

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
83.95 94.32 92.45 66.67 82.35


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
85.23 98.36 92.76 66.00 94.02 75.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
85.57 100.00 55.32 85.05 100.00 87.50 dut


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
i_dmi_cdc 88.09 100.00 87.27 98.41 66.67
i_dmi_jtag_tap 92.87 100.00 100.00 65.79 98.57 100.00


Since this is the module's only instance, the coverage report is the same as for the module.
Line Coverage for Module : dmi_jtag
Line No.TotalCoveredPercent
TOTAL888394.32
CONT_ASSIGN6511100.00
ALWAYS7277100.00
ALWAYS9433100.00
CONT_ASSIGN13011100.00
CONT_ASSIGN13111100.00
CONT_ASSIGN13211100.00
CONT_ASSIGN13311100.00
ALWAYS141494489.80
CONT_ASSIGN26011100.00
ALWAYS2631212100.00
ALWAYS2871111100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/pulp-platform_riscv-dbg_0.1_0/pulp_riscv_dbg/src/dmi_jtag.sv' or '../src/pulp-platform_riscv-dbg_0.1_0/pulp_riscv_dbg/src/dmi_jtag.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
65 1 1
72 1 1
73 1 1
74 1 1
75 1 1
MISSING_ELSE
MISSING_ELSE
88 1 1
89 2 2
MISSING_ELSE
MISSING_ELSE
94 1 1
95 1 1
97 1 1
130 1 1
131 1 1
132 1 1
133 1 1
141 1 1
142 1 1
144 1 1
145 1 1
146 1 1
147 1 1
149 1 1
151 1 1
152 1 1
153 1 1
154 1 1
155 1 1
157 1 1
160 1 1
162 1 1
163 1 1
164 1 1
165 1 1
166 1 1
167 1 1
MISSING_ELSE
MISSING_ELSE
174 1 1
175 1 1
176 1 1
==> MISSING_ELSE
182 1 1
183 1 1
185 1 1
188 0 1
189 0 1
192 1 1
193 1 1
199 1 1
MISSING_ELSE
204 1 1
206 1 1
207 1 1
==> MISSING_ELSE
213 1 1
214 1 1
215 0 1
216 1 1
219 1 1
MISSING_ELSE
MISSING_ELSE
233 1 1
234 0 1
MISSING_ELSE
240 1 1
241 1 1
MISSING_ELSE
244 1 1
245 1 1
MISSING_ELSE
248 1 1
249 0 1
MISSING_ELSE
253 1 1
254 1 1
MISSING_ELSE
260 1 1
263 1 1
264 1 1
265 1 1
267 1 1
268 1 1
269 1 1
270 1 1
272 1 1
273 1 1
MISSING_ELSE
MISSING_ELSE
MISSING_ELSE
278 1 1
279 1 1
280 1 1
MISSING_ELSE
MISSING_ELSE
287 1 1
288 1 1
289 1 1
290 1 1
291 1 1
292 1 1
294 1 1
295 1 1
296 1 1
297 1 1
298 1 1


Cond Coverage for Module : dmi_jtag
TotalCoveredPercent
Conditions534992.45
Logical534992.45
Non-Logical00
Event00

 LINE       65
 EXPRESSION (jtag_dmi_clear || (dtmcs_select && update && dtmcs_q.dmihardreset))
             -------1------    ------------------------2-----------------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT5,T11,T24
10CoveredT9,T5,T6

 LINE       65
 SUB-EXPRESSION (dtmcs_select && update && dtmcs_q.dmihardreset)
                 ------1-----    ---2--    ----------3---------
-1--2--3-StatusTests
011CoveredT5,T11,T24
101CoveredT8,T4,T9
110CoveredT8,T4,T9
111CoveredT5,T11,T24

 LINE       133
 EXPRESSION ((state_q == Write) ? DTM_WRITE : DTM_READ)
             ---------1--------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       133
 SUB-EXPRESSION (state_q == Write)
                ---------1--------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       160
 EXPRESSION (dmi_select && update && (error_q == DMINoError))
             -----1----    ---2--    -----------3-----------
-1--2--3-StatusTests
011CoveredT8,T4,T9
101CoveredT1,T2,T3
110CoveredT4,T9,T5
111CoveredT1,T2,T3

 LINE       160
 SUB-EXPRESSION (error_q == DMINoError)
                -----------1-----------
-1-StatusTests
0CoveredT4,T9,T5
1CoveredT1,T2,T3

 LINE       164
 EXPRESSION (dtm_op_e'(dmi.op) == DTM_READ)
            ---------------1---------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT4,T9,T5

 LINE       166
 EXPRESSION (dtm_op_e'(dmi.op) == DTM_WRITE)
            ----------------1---------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       233
 EXPRESSION (update && (state_q != Idle))
             ---1--    --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11Not Covered

 LINE       233
 SUB-EXPRESSION (state_q != Idle)
                --------1--------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       240
 EXPRESSION (capture && (state_q inside {Read, WaitReadValid}))
             ---1---    -------------------2------------------
-1--2-StatusTests
01CoveredT4,T9,T5
10CoveredT1,T2,T3
11CoveredT4,T9,T5

 LINE       244
 EXPRESSION (error_dmi_busy && (error_q == DMINoError))
             -------1------    -----------2-----------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT4,T6,T10
11CoveredT4,T9,T5

 LINE       244
 SUB-EXPRESSION (error_q == DMINoError)
                -----------1-----------
-1-StatusTests
0CoveredT4,T9,T5
1CoveredT1,T2,T3

 LINE       248
 EXPRESSION (error_dmi_op_failed && (error_q == DMINoError))
             ---------1---------    -----------2-----------
-1--2-StatusTests
01CoveredT1,T2,T3
10Not Covered
11Not Covered

 LINE       248
 SUB-EXPRESSION (error_q == DMINoError)
                -----------1-----------
-1-StatusTests
0CoveredT4,T9,T5
1CoveredT1,T2,T3

 LINE       253
 EXPRESSION (update && dtmcs_q.dmireset && dtmcs_select)
             ---1--    --------2-------    ------3-----
-1--2--3-StatusTests
011CoveredT8,T4,T9
101CoveredT8,T4,T6
110CoveredT4,T9,T5
111CoveredT4,T9,T5

 LINE       269
 EXPRESSION ((error_q == DMINoError) && ((!error_dmi_busy)))
             -----------1-----------    ---------2---------
-1--2-StatusTests
01CoveredT4,T6,T10
10CoveredT4,T9,T5
11CoveredT1,T2,T3

 LINE       269
 SUB-EXPRESSION (error_q == DMINoError)
                -----------1-----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       272
 EXPRESSION ((error_q == DMIBusy) || error_dmi_busy)
             ----------1---------    -------2------
-1--2-StatusTests
00Not Covered
01CoveredT4,T9,T5
10CoveredT4,T6,T10

 LINE       272
 SUB-EXPRESSION (error_q == DMIBusy)
                ----------1---------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT4,T6,T10

FSM Coverage for Module : dmi_jtag
Summary for FSM :: error_q
TotalCoveredPercent
States 3 2 66.67 (Not included in score)
Transitions 4 2 50.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: error_q
states   Line No.   Covered   Tests   
DMIBusy 245 Covered T4,T9,T5
DMINoError 292 Covered T1,T2,T3
DMIOPFailed 249 Not Covered


transitions   Line No.   Covered   Tests   
DMIBusy->DMINoError 292 Covered T4,T9,T5
DMINoError->DMIBusy 245 Covered T4,T9,T5
DMINoError->DMIOPFailed 249 Not Covered
DMIOPFailed->DMINoError 292 Not Covered


Summary for FSM :: state_q
TotalCoveredPercent
States 5 5 100.00 (Not included in score)
Transitions 8 6 75.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: state_q
states   Line No.   Covered   Tests   
Idle 289 Covered T1,T2,T3
Read 165 Covered T4,T9,T5
WaitReadValid 176 Covered T4,T9,T5
WaitWriteValid 207 Covered T1,T2,T3
Write 167 Covered T1,T2,T3


transitions   Line No.   Covered   Tests   
Idle->Read 165 Covered T4,T9,T5
Idle->Write 167 Covered T1,T2,T3
Read->Idle 289 Not Covered
Read->WaitReadValid 176 Covered T4,T9,T5
WaitReadValid->Idle 289 Covered T4,T9,T5
WaitWriteValid->Idle 289 Covered T1,T2,T3
Write->Idle 289 Not Covered
Write->WaitWriteValid 207 Covered T1,T2,T3



Branch Coverage for Module : dmi_jtag
Line No.TotalCoveredPercent
Branches 51 42 82.35
TERNARY 133 2 2 100.00
IF 73 3 3 100.00
IF 88 3 3 100.00
IF 94 2 2 100.00
IF 151 30 21 70.00
IF 264 9 9 100.00
IF 287 2 2 100.00

WARNING: The source file /workspace/default/sim-vcs/../src/pulp-platform_riscv-dbg_0.1_0/pulp_riscv_dbg/src/dmi_jtag.sv' or '../src/pulp-platform_riscv-dbg_0.1_0/pulp_riscv_dbg/src/dmi_jtag.sv was not found/opened, so annotated branch coverage report could not be generated.

LineNo. Expression -1-: 133 ((state_q == Write)) ?

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


LineNo. Expression -1-: 73 if (capture) -2-: 74 if (dtmcs_select)

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


LineNo. Expression -1-: 88 if (shift) -2-: 89 if (dtmcs_select)

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


LineNo. Expression -1-: 94 if ((!trst_ni))

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


LineNo. Expression -1-: 151 if (dmi_clear) -2-: 157 case (state_q) -3-: 160 if (((dmi_select && update) && (error_q == DMINoError))) -4-: 164 if ((dtm_op_e'(dmi.op) == DTM_READ)) -5-: 166 if ((dtm_op_e'(dmi.op) == DTM_WRITE)) -6-: 175 if (dmi_req_ready) -7-: 182 if (dmi_resp_valid) -8-: 183 case (dmi_resp.resp) -9-: 206 if (dmi_req_ready) -10-: 213 if (dmi_resp_valid) -11-: 214 case (dmi_resp.resp) -12-: 225 if (dmi_resp_valid) -13-: 233 if ((update && (state_q != Idle))) -14-: 240 if ((capture && (state_q inside {Read, WaitReadValid}))) -15-: 244 if ((error_dmi_busy && (error_q == DMINoError))) -16-: 248 if ((error_dmi_op_failed && (error_q == DMINoError))) -17-: 253 if (((update && dtmcs_q.dmireset) && dtmcs_select))

Branches:
-1--2--3--4--5--6--7--8--9--10--11--12--13--14--15--16--17-StatusTests
1 - - - - - - - - - - - - - - - - Covered T9,T5,T6
0 Idle 1 1 - - - - - - - - - - - - - Covered T4,T9,T5
0 Idle 1 0 1 - - - - - - - - - - - - Covered T1,T2,T3
0 Idle 1 0 0 - - - - - - - - - - - - Covered T1,T2,T3
0 Idle 0 - - - - - - - - - - - - - - Covered T1,T2,T3
0 Read - - - 1 - - - - - - - - - - - Covered T4,T9,T5
0 Read - - - 0 - - - - - - - - - - - Not Covered
0 WaitReadValid - - - - 1 DTM_SUCCESS - - - - - - - - - Covered T4,T9,T5
0 WaitReadValid - - - - 1 DTM_ERR - - - - - - - - - Not Covered
0 WaitReadValid - - - - 1 DTM_BUSY - - - - - - - - - Covered T4,T6,T10
0 WaitReadValid - - - - 1 default - - - - - - - - - Not Covered
0 WaitReadValid - - - - 0 - - - - - - - - - - Covered T4,T9,T5
0 Write - - - - - - 1 - - - - - - - - Covered T1,T2,T3
0 Write - - - - - - 0 - - - - - - - - Not Covered
0 WaitWriteValid - - - - - - - 1 DTM_ERR - - - - - - Not Covered
0 WaitWriteValid - - - - - - - 1 DTM_BUSY - - - - - - Covered T4,T6,T10
0 WaitWriteValid - - - - - - - 1 default - - - - - - Covered T1,T2,T3
0 WaitWriteValid - - - - - - - 0 - - - - - - - Covered T1,T2,T3
0 default - - - - - - - - - 1 - - - - - Not Covered
0 default - - - - - - - - - 0 - - - - - Not Covered
0 - - - - - - - - - - - 1 - - - - Not Covered
0 - - - - - - - - - - - 0 - - - - Covered T1,T2,T3
0 - - - - - - - - - - - - 1 - - - Covered T4,T9,T5
0 - - - - - - - - - - - - 0 - - - Covered T1,T2,T3
0 - - - - - - - - - - - - - 1 - - Covered T4,T9,T5
0 - - - - - - - - - - - - - 0 - - Covered T1,T2,T3
0 - - - - - - - - - - - - - - 1 - Not Covered
0 - - - - - - - - - - - - - - 0 - Covered T1,T2,T3
0 - - - - - - - - - - - - - - - 1 Covered T4,T9,T5
0 - - - - - - - - - - - - - - - 0 Covered T1,T2,T3


LineNo. Expression -1-: 264 if (dmi_clear) -2-: 267 if (capture) -3-: 268 if (dmi_select) -4-: 269 if (((error_q == DMINoError) && (!error_dmi_busy))) -5-: 272 if (((error_q == DMIBusy) || error_dmi_busy)) -6-: 278 if (shift) -7-: 279 if (dmi_select)

Branches:
-1--2--3--4--5--6--7-StatusTests
1 - - - - - - Covered T1,T2,T3
0 1 1 1 - - - Covered T1,T2,T3
0 1 1 0 1 - - Covered T1,T2,T3
0 1 1 0 0 - - Covered T1,T2,T3
0 1 0 - - - - Covered T1,T2,T3
0 0 - - - - - Covered T1,T2,T3
0 - - - - 1 1 Covered T1,T2,T3
0 - - - - 1 0 Covered T1,T2,T3
0 - - - - 0 - Covered T1,T2,T3


LineNo. Expression -1-: 287 if ((!trst_ni))

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