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



Module Instance : tb.dut.u_eflash.gen_flash_cores[0].u_core.gen_prog_data.u_prog

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
99.38 100.00 96.92 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
99.49 100.00 96.92 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
97.87 100.00 91.51 100.00 97.83 100.00 gen_flash_cores[0].u_core


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
u_data_intg_chk 100.00 100.00 100.00
u_enc 100.00 100.00
u_plain_enc 100.00 100.00
u_state_regs 100.00 100.00 100.00 100.00



Module Instance : tb.dut.u_eflash.gen_flash_cores[1].u_core.gen_prog_data.u_prog

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
99.38 100.00 96.92 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
98.65 100.00 96.92 95.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
96.55 100.00 84.91 100.00 97.83 100.00 gen_flash_cores[1].u_core


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
u_data_intg_chk 97.50 100.00 95.00
u_enc 100.00 100.00
u_plain_enc 100.00 100.00
u_state_regs 100.00 100.00 100.00 100.00

Line Coverage for Module : flash_phy_prog
Line No.TotalCoveredPercent
TOTAL9696100.00
CONT_ASSIGN11111100.00
CONT_ASSIGN12211100.00
CONT_ASSIGN12611100.00
ALWAYS13033100.00
CONT_ASSIGN13811100.00
CONT_ASSIGN14311100.00
CONT_ASSIGN14411100.00
CONT_ASSIGN14711100.00
CONT_ASSIGN14811100.00
ALWAYS15166100.00
ALWAYS16433100.00
ALWAYS1745151100.00
ALWAYS2991212100.00
CONT_ASSIGN31411100.00
ALWAYS32344100.00
CONT_ASSIGN33111100.00
CONT_ASSIGN35211100.00
CONT_ASSIGN35511100.00
CONT_ASSIGN36511100.00
CONT_ASSIGN36611100.00
ALWAYS36933100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_opentitan_top_earlgrey_flash_ctrl_0.1/rtl/flash_phy_prog.sv' or '../src/lowrisc_opentitan_top_earlgrey_flash_ctrl_0.1/rtl/flash_phy_prog.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
111 1 1
122 1 1
126 1 1
130 1 1
131 1 1
133 1 1
138 1 1
143 1 1
144 1 1
147 1 1
148 1 1
151 1 1
152 1 1
153 1 1
155 1 1
156 1 1
158 1 1
MISSING_ELSE
164 3 3
174 1 1
176 1 1
177 1 1
178 1 1
179 1 1
180 1 1
181 1 1
182 1 1
183 1 1
184 1 1
186 1 1
189 1 1
193 1 1
194 1 1
195 1 1
196 1 1
197 1 1
MISSING_ELSE
203 1 1
204 1 1
205 1 1
MISSING_ELSE
210 1 1
211 1 1
213 1 1
215 1 1
216 1 1
218 1 1
219 1 1
220 1 1
MISSING_ELSE
226 1 1
227 1 1
230 1 1
231 1 1
MISSING_ELSE
236 1 1
237 1 1
241 1 1
243 1 1
244 1 1
MISSING_ELSE
249 1 1
251 1 1
252 1 1
MISSING_ELSE
257 1 1
262 1 1
263 1 1
269 1 1
270 1 1
272 1 1
273 1 1
278 1 1
279 1 1
280 1 1
MISSING_ELSE
285 1 1
299 1 1
300 1 1
301 1 1
302 1 1
303 1 1
304 1 1
305 1 1
306 1 1
307 1 1
308 1 1
309 1 1
310 1 1
MISSING_ELSE
314 1 1
323 1 1
324 1 1
325 1 1
326 1 1
MISSING_ELSE
331 1 1
352 1 1
355 1 1
365 1 1
366 1 1
369 1 1
370 1 1
372 1 1


Cond Coverage for Module : flash_phy_prog
TotalCoveredPercent
Conditions656396.92
Logical656396.92
Non-Logical00
Event00

 LINE       111
 EXPRESSION ((data_sel == Actual) ? data_i[(flash_phy_pkg::BusWidth - 1):0] : ({flash_phy_pkg::BusWidth {1'b1}}))
             ----------1---------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T3,T16

 LINE       111
 SUB-EXPRESSION (data_sel == Actual)
                ----------1---------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T3,T16

 LINE       126
 EXPRESSION (data_invalid_q | (pack_valid & ((~data_intg_ok))))
             -------1------   ----------------2---------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT125,T126,T127
10CoveredT125,T126,T127

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T3,T16
11CoveredT125,T126,T127

 LINE       143
 EXPRESSION (ack_i | data_invalid_q)
             --1--   -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01Not Covered
10CoveredT1,T2,T3

 LINE       144
 EXPRESSION (done_i | data_invalid_q)
             ---1--   -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT125,T126,T127
10CoveredT1,T2,T3

 LINE       148
 EXPRESSION ((idx > '0) ? (idx_sub_one == sel_i) : 1'b0)
             -----1----
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T3,T16

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT1,T3,T16
1CoveredT6,T27,T53

 LINE       153
 EXPRESSION (pack_valid && (idx == MaxIdx))
             -----1----    -------2-------
-1--2-StatusTests
01CoveredT1,T3,T16
10CoveredT1,T3,T16
11CoveredT1,T3,T16

 LINE       153
 SUB-EXPRESSION (idx == MaxIdx)
                -------1-------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T3,T16

 LINE       194
 EXPRESSION (req_i && ((|sel_i)))
             --1--    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T3,T16
11CoveredT27,T53,T21

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0CoveredT11,T12
1CoveredT27,T53,T21

 LINE       213
 EXPRESSION (req_i && (idx == MaxIdx))
             --1--    -------2-------
-1--2-StatusTests
01CoveredT1,T3,T16
10CoveredT1,T3,T16
11CoveredT1,T3,T16

 LINE       213
 SUB-EXPRESSION (idx == MaxIdx)
                -------1-------
-1-StatusTests
0CoveredT1,T3,T16
1CoveredT1,T3,T16

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT1,T3,T16
10CoveredT1,T3,T16
11CoveredT27,T53,T21

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0CoveredT11,T12
1CoveredT27,T53,T21

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT1,T16,T17
1CoveredT3,T10,T19

 LINE       270
 EXPRESSION (ack ? StWaitFlash : StReqFlash)
             -1-
-1-StatusTests
0CoveredT1,T16,T18
1CoveredT1,T3,T16

 LINE       273
 EXPRESSION (ack ? StIdle : StReqFlash)
             -1-
-1-StatusTests
0CoveredT1,T16,T18
1CoveredT1,T16,T18

 LINE       302
 EXPRESSION (req_o && ack)
             --1--    -2-
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T16,T18
11CoveredT1,T3,T16

 LINE       304
 EXPRESSION (calc_req_o && calc_ack_i)
             -----1----    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT3,T10,T19
11CoveredT3,T10,T19

 LINE       307
 EXPRESSION (scramble_req_o && scramble_ack_i)
             -------1------    -------2------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT3,T10,T19
11CoveredT3,T10,T19

 LINE       355
 EXPRESSION (ecc_i ? ecc_data : ({{flash_phy_pkg::EccWidth {1'b1}}, ecc_data_in}))
             --1--
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       365
 EXPRESSION (req_i && ack_o && last_i)
             --1--    --2--    ---3--
-1--2--3-StatusTests
011Not Covered
101CoveredT1,T3,T16
110CoveredT1,T3,T16
111CoveredT1,T3,T16

 LINE       366
 EXPRESSION (txn_done ? '0 : (done ? ((done_cnt_q + 16'b1)) : done_cnt_q))
             ----1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T3,T16

 LINE       366
 SUB-EXPRESSION (done ? ((done_cnt_q + 16'b1)) : done_cnt_q)
                 --1-
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

FSM Coverage for Module : flash_phy_prog
Summary for FSM :: state_q
TotalCoveredPercent
States 11 11 100.00 (Not included in score)
Transitions 15 15 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: state_q
statesLine No.CoveredTests
StCalcEcc 252 Covered T3,T10,T19
StCalcMask 237 Covered T3,T10,T19
StCalcPlainEcc 215 Covered T1,T3,T16
StDisabled 193 Covered T9,T6,T10
StIdle 273 Covered T1,T2,T3
StPackData 197 Covered T1,T3,T16
StPostPack 218 Covered T27,T53,T21
StPrePack 195 Covered T27,T53,T21
StReqFlash 237 Covered T1,T3,T16
StScrambleData 244 Covered T3,T10,T19
StWaitFlash 270 Covered T1,T3,T16


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T3,T10,T19
StCalcMask->StScrambleData 244 Covered T3,T10,T19
StCalcPlainEcc->StCalcMask 237 Covered T3,T10,T19
StCalcPlainEcc->StReqFlash 237 Covered T1,T16,T17
StIdle->StDisabled 193 Covered T9,T6,T10
StIdle->StPackData 197 Covered T1,T3,T16
StIdle->StPrePack 195 Covered T27,T53,T21
StPackData->StCalcPlainEcc 215 Covered T1,T3,T16
StPackData->StPostPack 218 Covered T27,T53,T21
StPostPack->StCalcPlainEcc 231 Covered T27,T53,T21
StPrePack->StPackData 205 Covered T27,T53,T21
StReqFlash->StIdle 273 Covered T1,T16,T18
StReqFlash->StWaitFlash 270 Covered T1,T3,T16
StScrambleData->StCalcEcc 252 Covered T3,T10,T19
StWaitFlash->StIdle 280 Covered T1,T3,T16



Branch Coverage for Module : flash_phy_prog
Line No.TotalCoveredPercent
Branches 55 55 100.00
TERNARY 111 2 2 100.00
TERNARY 148 2 2 100.00
TERNARY 355 2 2 100.00
TERNARY 366 3 3 100.00
IF 130 2 2 100.00
IF 151 4 4 100.00
IF 164 2 2 100.00
CASE 186 27 27 100.00
IF 299 6 6 100.00
IF 323 3 3 100.00
IF 369 2 2 100.00

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

LineNo. Expression -1-: 111 ((data_sel == Actual)) ?

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


LineNo. Expression -1-: 148 ((idx > '0)) ?

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


LineNo. Expression -1-: 355 (ecc_i) ?

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


LineNo. Expression -1-: 366 (txn_done) ? -2-: 366 (done) ?

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


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

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


LineNo. Expression -1-: 151 if ((!rst_ni)) -2-: 153 if ((pack_valid && (idx == MaxIdx))) -3-: 156 if (pack_valid)

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


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

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


LineNo. Expression -1-: 186 case (state_q) -2-: 189 if (prim_mubi_pkg::mubi4_test_true_loose(disable_i)) -3-: 194 if ((req_i && (|sel_i))) -4-: 196 if (req_i) -5-: 204 if ((idx == align_next)) -6-: 213 if ((req_i && (idx == MaxIdx))) -7-: 216 if ((req_i && last_i)) -8-: 219 if (req_i) -9-: 230 if ((idx == MaxIdx)) -10-: 237 (scramble_i) ? -11-: 243 if (calc_ack_i) -12-: 251 if (scramble_ack_i) -13-: 269 if (last_i) -14-: 270 (ack) ? -15-: 273 (ack) ? -16-: 278 if (done)

Branches:
-1--2--3--4--5--6--7--8--9--10--11--12--13--14--15--16-StatusTests
StIdle 1 - - - - - - - - - - - - - - Covered T9,T6,T10
StIdle 0 1 - - - - - - - - - - - - - Covered T27,T53,T21
StIdle 0 0 1 - - - - - - - - - - - - Covered T1,T3,T16
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T27,T53,T21
StPrePack - - - 0 - - - - - - - - - - - Covered T11,T12
StPackData - - - - 1 - - - - - - - - - - Covered T1,T3,T16
StPackData - - - - 0 1 - - - - - - - - - Covered T27,T53,T21
StPackData - - - - 0 0 1 - - - - - - - - Covered T1,T3,T16
StPackData - - - - 0 0 0 - - - - - - - - Covered T1,T3,T16
StPostPack - - - - - - - 1 - - - - - - - Covered T27,T53,T21
StPostPack - - - - - - - 0 - - - - - - - Covered T11,T12
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T3,T10,T19
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T1,T16,T17
StCalcMask - - - - - - - - - 1 - - - - - Covered T3,T10,T19
StCalcMask - - - - - - - - - 0 - - - - - Covered T3,T10,T19
StScrambleData - - - - - - - - - - 1 - - - - Covered T3,T10,T19
StScrambleData - - - - - - - - - - 0 - - - - Covered T3,T10,T19
StCalcEcc - - - - - - - - - - - - - - - Covered T3,T10,T19
StReqFlash - - - - - - - - - - - 1 1 - - Covered T1,T3,T16
StReqFlash - - - - - - - - - - - 1 0 - - Covered T1,T16,T18
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T1,T16,T18
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T1,T16,T18
StWaitFlash - - - - - - - - - - - - - - 1 Covered T1,T3,T16
StWaitFlash - - - - - - - - - - - - - - 0 Covered T1,T3,T16
StDisabled - - - - - - - - - - - - - - - Covered T9,T6,T10
default - - - - - - - - - - - - - - - Covered T13,T14,T15


LineNo. Expression -1-: 299 if ((!rst_ni)) -2-: 302 if ((req_o && ack)) -3-: 304 if ((calc_req_o && calc_ack_i)) -4-: 307 if ((scramble_req_o && scramble_ack_i)) -5-: 309 if (pack_valid)

Branches:
-1--2--3--4--5-StatusTests
1 - - - - Covered T1,T2,T3
0 1 - - - Covered T1,T3,T16
0 0 1 - - Covered T3,T10,T19
0 0 0 1 - Covered T3,T10,T19
0 0 0 0 1 Covered T1,T3,T16
0 0 0 0 0 Covered T1,T2,T3


LineNo. Expression -1-: 323 if ((!rst_ni)) -2-: 325 if (plain_ecc_en)

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


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

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


Assert Coverage for Module : flash_phy_prog
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 5 5 100.00 5 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 5 5 100.00 5 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OneDonePerTxn_A 808980186 2440615 0 0
PostPackRule_A 808980186 1742 0 0
PrePackRule_A 808980186 1268 0 0
WidthCheck_A 2050 2050 0 0
u_state_regs_A 808980186 807257126 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 808980186 2440615 0 0
T1 355720 1345 0 0
T2 234478 0 0 0
T3 3960 1 0 0
T4 106008 0 0 0
T5 1727098 0 0 0
T6 1766 0 0 0
T9 7690 0 0 0
T10 0 65920 0 0
T16 112780 32 0 0
T17 5286 1 0 0
T18 978240 8608 0 0
T19 0 6 0 0
T21 0 4 0 0
T24 0 1625 0 0
T27 0 44 0 0
T37 0 4 0 0
T53 0 2 0 0
T70 0 1251 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 808980186 1742 0 0
T21 0 4 0 0
T22 5800 0 0 0
T23 18778 0 0 0
T24 440444 0 0 0
T27 301830 6 0 0
T32 96686 0 0 0
T37 0 5 0 0
T39 0 1 0 0
T50 1484 0 0 0
T53 5374 1 0 0
T61 0 5 0 0
T62 0 12 0 0
T70 326656 0 0 0
T72 0 8 0 0
T74 0 5 0 0
T81 3044 0 0 0
T82 4088 0 0 0
T94 0 26 0 0
T146 0 32 0 0
T156 0 3 0 0
T197 0 2 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 808980186 1268 0 0
T21 0 2 0 0
T22 5800 0 0 0
T23 18778 0 0 0
T24 440444 0 0 0
T27 301830 7 0 0
T32 96686 0 0 0
T37 0 9 0 0
T50 1484 0 0 0
T53 5374 2 0 0
T61 0 4 0 0
T62 0 11 0 0
T70 326656 0 0 0
T72 0 6 0 0
T74 0 3 0 0
T81 3044 0 0 0
T82 4088 0 0 0
T94 0 34 0 0
T146 0 19 0 0
T156 0 4 0 0
T196 0 1 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 2050 2050 0 0
T1 2 2 0 0
T2 2 2 0 0
T3 2 2 0 0
T4 2 2 0 0
T5 2 2 0 0
T6 2 2 0 0
T9 2 2 0 0
T16 2 2 0 0
T17 2 2 0 0
T18 2 2 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 808980186 807257126 0 0
T1 355720 355706 0 0
T2 234478 234454 0 0
T3 3960 3582 0 0
T4 106008 105870 0 0
T5 1727098 1726760 0 0
T6 1766 1642 0 0
T9 7690 6226 0 0
T16 112780 112680 0 0
T17 5286 5002 0 0
T18 978240 978224 0 0

Line Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[0].u_core.gen_prog_data.u_prog
Line No.TotalCoveredPercent
TOTAL9696100.00
CONT_ASSIGN11111100.00
CONT_ASSIGN12211100.00
CONT_ASSIGN12611100.00
ALWAYS13033100.00
CONT_ASSIGN13811100.00
CONT_ASSIGN14311100.00
CONT_ASSIGN14411100.00
CONT_ASSIGN14711100.00
CONT_ASSIGN14811100.00
ALWAYS15166100.00
ALWAYS16433100.00
ALWAYS1745151100.00
ALWAYS2991212100.00
CONT_ASSIGN31411100.00
ALWAYS32344100.00
CONT_ASSIGN33111100.00
CONT_ASSIGN35211100.00
CONT_ASSIGN35511100.00
CONT_ASSIGN36511100.00
CONT_ASSIGN36611100.00
ALWAYS36933100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_opentitan_top_earlgrey_flash_ctrl_0.1/rtl/flash_phy_prog.sv' or '../src/lowrisc_opentitan_top_earlgrey_flash_ctrl_0.1/rtl/flash_phy_prog.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
111 1 1
122 1 1
126 1 1
130 1 1
131 1 1
133 1 1
138 1 1
143 1 1
144 1 1
147 1 1
148 1 1
151 1 1
152 1 1
153 1 1
155 1 1
156 1 1
158 1 1
MISSING_ELSE
164 3 3
174 1 1
176 1 1
177 1 1
178 1 1
179 1 1
180 1 1
181 1 1
182 1 1
183 1 1
184 1 1
186 1 1
189 1 1
193 1 1
194 1 1
195 1 1
196 1 1
197 1 1
MISSING_ELSE
203 1 1
204 1 1
205 1 1
MISSING_ELSE
210 1 1
211 1 1
213 1 1
215 1 1
216 1 1
218 1 1
219 1 1
220 1 1
MISSING_ELSE
226 1 1
227 1 1
230 1 1
231 1 1
MISSING_ELSE
236 1 1
237 1 1
241 1 1
243 1 1
244 1 1
MISSING_ELSE
249 1 1
251 1 1
252 1 1
MISSING_ELSE
257 1 1
262 1 1
263 1 1
269 1 1
270 1 1
272 1 1
273 1 1
278 1 1
279 1 1
280 1 1
MISSING_ELSE
285 1 1
299 1 1
300 1 1
301 1 1
302 1 1
303 1 1
304 1 1
305 1 1
306 1 1
307 1 1
308 1 1
309 1 1
310 1 1
MISSING_ELSE
314 1 1
323 1 1
324 1 1
325 1 1
326 1 1
MISSING_ELSE
331 1 1
352 1 1
355 1 1
365 1 1
366 1 1
369 1 1
370 1 1
372 1 1


Cond Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[0].u_core.gen_prog_data.u_prog
TotalCoveredPercent
Conditions656396.92
Logical656396.92
Non-Logical00
Event00

 LINE       111
 EXPRESSION ((data_sel == Actual) ? data_i[(flash_phy_pkg::BusWidth - 1):0] : ({flash_phy_pkg::BusWidth {1'b1}}))
             ----------1---------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T3,T16

 LINE       111
 SUB-EXPRESSION (data_sel == Actual)
                ----------1---------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T3,T16

 LINE       126
 EXPRESSION (data_invalid_q | (pack_valid & ((~data_intg_ok))))
             -------1------   ----------------2---------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT125,T126,T127
10CoveredT125,T126,T127

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T3,T16
11CoveredT125,T126,T127

 LINE       143
 EXPRESSION (ack_i | data_invalid_q)
             --1--   -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01Not Covered
10CoveredT1,T2,T3

 LINE       144
 EXPRESSION (done_i | data_invalid_q)
             ---1--   -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT125,T126,T127
10CoveredT1,T2,T3

 LINE       148
 EXPRESSION ((idx > '0) ? (idx_sub_one == sel_i) : 1'b0)
             -----1----
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T3,T16

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT1,T3,T16
1CoveredT27,T37,T94

 LINE       153
 EXPRESSION (pack_valid && (idx == MaxIdx))
             -----1----    -------2-------
-1--2-StatusTests
01CoveredT1,T3,T16
10CoveredT1,T3,T16
11CoveredT1,T3,T16

 LINE       153
 SUB-EXPRESSION (idx == MaxIdx)
                -------1-------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T3,T16

 LINE       194
 EXPRESSION (req_i && ((|sel_i)))
             --1--    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T3,T16
11CoveredT27,T53,T37

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0CoveredT11,T12
1CoveredT27,T53,T37

 LINE       213
 EXPRESSION (req_i && (idx == MaxIdx))
             --1--    -------2-------
-1--2-StatusTests
01CoveredT1,T3,T16
10CoveredT1,T3,T16
11CoveredT1,T3,T16

 LINE       213
 SUB-EXPRESSION (idx == MaxIdx)
                -------1-------
-1-StatusTests
0CoveredT1,T3,T16
1CoveredT1,T3,T16

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT1,T3,T16
10CoveredT1,T3,T16
11CoveredT27,T37,T94

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0CoveredT11,T12
1CoveredT27,T37,T94

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT1,T16,T17
1CoveredT3,T10,T19

 LINE       270
 EXPRESSION (ack ? StWaitFlash : StReqFlash)
             -1-
-1-StatusTests
0CoveredT1,T16,T27
1CoveredT1,T3,T16

 LINE       273
 EXPRESSION (ack ? StIdle : StReqFlash)
             -1-
-1-StatusTests
0CoveredT1,T16,T27
1CoveredT1,T16,T10

 LINE       302
 EXPRESSION (req_o && ack)
             --1--    -2-
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T16,T27
11CoveredT1,T3,T16

 LINE       304
 EXPRESSION (calc_req_o && calc_ack_i)
             -----1----    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT3,T10,T19
11CoveredT3,T10,T19

 LINE       307
 EXPRESSION (scramble_req_o && scramble_ack_i)
             -------1------    -------2------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT3,T10,T19
11CoveredT3,T10,T19

 LINE       355
 EXPRESSION (ecc_i ? ecc_data : ({{flash_phy_pkg::EccWidth {1'b1}}, ecc_data_in}))
             --1--
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       365
 EXPRESSION (req_i && ack_o && last_i)
             --1--    --2--    ---3--
-1--2--3-StatusTests
011Not Covered
101CoveredT1,T3,T16
110CoveredT1,T3,T16
111CoveredT1,T3,T16

 LINE       366
 EXPRESSION (txn_done ? '0 : (done ? ((done_cnt_q + 16'b1)) : done_cnt_q))
             ----1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T3,T16

 LINE       366
 SUB-EXPRESSION (done ? ((done_cnt_q + 16'b1)) : done_cnt_q)
                 --1-
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

FSM Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[0].u_core.gen_prog_data.u_prog
Summary for FSM :: state_q
TotalCoveredPercent
States 11 11 100.00 (Not included in score)
Transitions 15 15 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: state_q
statesLine No.CoveredTests
StCalcEcc 252 Covered T3,T10,T19
StCalcMask 237 Covered T3,T10,T19
StCalcPlainEcc 215 Covered T1,T3,T16
StDisabled 193 Covered T9,T6,T10
StIdle 273 Covered T1,T2,T3
StPackData 197 Covered T1,T3,T16
StPostPack 218 Covered T27,T37,T94
StPrePack 195 Covered T27,T53,T37
StReqFlash 237 Covered T1,T3,T16
StScrambleData 244 Covered T3,T10,T19
StWaitFlash 270 Covered T1,T3,T16


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T3,T10,T19
StCalcMask->StScrambleData 244 Covered T3,T10,T19
StCalcPlainEcc->StCalcMask 237 Covered T3,T10,T19
StCalcPlainEcc->StReqFlash 237 Covered T1,T16,T17
StIdle->StDisabled 193 Covered T9,T6,T10
StIdle->StPackData 197 Covered T1,T3,T16
StIdle->StPrePack 195 Covered T27,T53,T37
StPackData->StCalcPlainEcc 215 Covered T1,T3,T16
StPackData->StPostPack 218 Covered T27,T37,T94
StPostPack->StCalcPlainEcc 231 Covered T27,T37,T94
StPrePack->StPackData 205 Covered T27,T53,T37
StReqFlash->StIdle 273 Covered T1,T16,T10
StReqFlash->StWaitFlash 270 Covered T1,T3,T16
StScrambleData->StCalcEcc 252 Covered T3,T10,T19
StWaitFlash->StIdle 280 Covered T1,T3,T16



Branch Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[0].u_core.gen_prog_data.u_prog
Line No.TotalCoveredPercent
Branches 55 55 100.00
TERNARY 111 2 2 100.00
TERNARY 148 2 2 100.00
TERNARY 355 2 2 100.00
TERNARY 366 3 3 100.00
IF 130 2 2 100.00
IF 151 4 4 100.00
IF 164 2 2 100.00
CASE 186 27 27 100.00
IF 299 6 6 100.00
IF 323 3 3 100.00
IF 369 2 2 100.00

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

LineNo. Expression -1-: 111 ((data_sel == Actual)) ?

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


LineNo. Expression -1-: 148 ((idx > '0)) ?

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


LineNo. Expression -1-: 355 (ecc_i) ?

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


LineNo. Expression -1-: 366 (txn_done) ? -2-: 366 (done) ?

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


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

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


LineNo. Expression -1-: 151 if ((!rst_ni)) -2-: 153 if ((pack_valid && (idx == MaxIdx))) -3-: 156 if (pack_valid)

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


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

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


LineNo. Expression -1-: 186 case (state_q) -2-: 189 if (prim_mubi_pkg::mubi4_test_true_loose(disable_i)) -3-: 194 if ((req_i && (|sel_i))) -4-: 196 if (req_i) -5-: 204 if ((idx == align_next)) -6-: 213 if ((req_i && (idx == MaxIdx))) -7-: 216 if ((req_i && last_i)) -8-: 219 if (req_i) -9-: 230 if ((idx == MaxIdx)) -10-: 237 (scramble_i) ? -11-: 243 if (calc_ack_i) -12-: 251 if (scramble_ack_i) -13-: 269 if (last_i) -14-: 270 (ack) ? -15-: 273 (ack) ? -16-: 278 if (done)

Branches:
-1--2--3--4--5--6--7--8--9--10--11--12--13--14--15--16-StatusTests
StIdle 1 - - - - - - - - - - - - - - Covered T9,T6,T10
StIdle 0 1 - - - - - - - - - - - - - Covered T27,T53,T37
StIdle 0 0 1 - - - - - - - - - - - - Covered T1,T3,T16
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T27,T53,T37
StPrePack - - - 0 - - - - - - - - - - - Covered T11,T12
StPackData - - - - 1 - - - - - - - - - - Covered T1,T3,T16
StPackData - - - - 0 1 - - - - - - - - - Covered T27,T37,T94
StPackData - - - - 0 0 1 - - - - - - - - Covered T1,T3,T16
StPackData - - - - 0 0 0 - - - - - - - - Covered T1,T3,T16
StPostPack - - - - - - - 1 - - - - - - - Covered T27,T37,T94
StPostPack - - - - - - - 0 - - - - - - - Covered T11,T12
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T3,T10,T19
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T1,T16,T17
StCalcMask - - - - - - - - - 1 - - - - - Covered T3,T10,T19
StCalcMask - - - - - - - - - 0 - - - - - Covered T3,T10,T19
StScrambleData - - - - - - - - - - 1 - - - - Covered T3,T10,T19
StScrambleData - - - - - - - - - - 0 - - - - Covered T3,T10,T19
StCalcEcc - - - - - - - - - - - - - - - Covered T3,T10,T19
StReqFlash - - - - - - - - - - - 1 1 - - Covered T1,T3,T16
StReqFlash - - - - - - - - - - - 1 0 - - Covered T1,T16,T27
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T1,T16,T10
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T1,T16,T27
StWaitFlash - - - - - - - - - - - - - - 1 Covered T1,T3,T16
StWaitFlash - - - - - - - - - - - - - - 0 Covered T1,T3,T16
StDisabled - - - - - - - - - - - - - - - Covered T9,T6,T10
default - - - - - - - - - - - - - - - Covered T13,T14,T15


LineNo. Expression -1-: 299 if ((!rst_ni)) -2-: 302 if ((req_o && ack)) -3-: 304 if ((calc_req_o && calc_ack_i)) -4-: 307 if ((scramble_req_o && scramble_ack_i)) -5-: 309 if (pack_valid)

Branches:
-1--2--3--4--5-StatusTests
1 - - - - Covered T1,T2,T3
0 1 - - - Covered T1,T3,T16
0 0 1 - - Covered T3,T10,T19
0 0 0 1 - Covered T3,T10,T19
0 0 0 0 1 Covered T1,T3,T16
0 0 0 0 0 Covered T1,T2,T3


LineNo. Expression -1-: 323 if ((!rst_ni)) -2-: 325 if (plain_ecc_en)

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


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

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


Assert Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[0].u_core.gen_prog_data.u_prog
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 5 5 100.00 5 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 5 5 100.00 5 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OneDonePerTxn_A 404490093 1241354 0 0
PostPackRule_A 404490093 857 0 0
PrePackRule_A 404490093 627 0 0
WidthCheck_A 1025 1025 0 0
u_state_regs_A 404490093 403628563 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 404490093 1241354 0 0
T1 177860 749 0 0
T2 117239 0 0 0
T3 1980 1 0 0
T4 53004 0 0 0
T5 863549 0 0 0
T6 883 0 0 0
T9 3845 0 0 0
T10 0 33152 0 0
T16 56390 32 0 0
T17 2643 1 0 0
T18 489120 0 0 0
T19 0 1 0 0
T24 0 996 0 0
T27 0 5 0 0
T53 0 1 0 0
T70 0 569 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 404490093 857 0 0
T22 2900 0 0 0
T23 9389 0 0 0
T24 220222 0 0 0
T27 150915 3 0 0
T32 48343 0 0 0
T37 0 4 0 0
T39 0 1 0 0
T50 742 0 0 0
T53 2687 0 0 0
T61 0 5 0 0
T62 0 8 0 0
T70 163328 0 0 0
T72 0 3 0 0
T81 1522 0 0 0
T82 2044 0 0 0
T94 0 11 0 0
T146 0 17 0 0
T156 0 1 0 0
T197 0 2 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 404490093 627 0 0
T22 2900 0 0 0
T23 9389 0 0 0
T24 220222 0 0 0
T27 150915 2 0 0
T32 48343 0 0 0
T37 0 6 0 0
T50 742 0 0 0
T53 2687 1 0 0
T61 0 4 0 0
T62 0 8 0 0
T70 163328 0 0 0
T72 0 3 0 0
T81 1522 0 0 0
T82 2044 0 0 0
T94 0 17 0 0
T146 0 10 0 0
T156 0 2 0 0
T196 0 1 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1025 1025 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T9 1 1 0 0
T16 1 1 0 0
T17 1 1 0 0
T18 1 1 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 404490093 403628563 0 0
T1 177860 177853 0 0
T2 117239 117227 0 0
T3 1980 1791 0 0
T4 53004 52935 0 0
T5 863549 863380 0 0
T6 883 821 0 0
T9 3845 3113 0 0
T16 56390 56340 0 0
T17 2643 2501 0 0
T18 489120 489112 0 0

Line Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[1].u_core.gen_prog_data.u_prog
Line No.TotalCoveredPercent
TOTAL9696100.00
CONT_ASSIGN11111100.00
CONT_ASSIGN12211100.00
CONT_ASSIGN12611100.00
ALWAYS13033100.00
CONT_ASSIGN13811100.00
CONT_ASSIGN14311100.00
CONT_ASSIGN14411100.00
CONT_ASSIGN14711100.00
CONT_ASSIGN14811100.00
ALWAYS15166100.00
ALWAYS16433100.00
ALWAYS1745151100.00
ALWAYS2991212100.00
CONT_ASSIGN31411100.00
ALWAYS32344100.00
CONT_ASSIGN33111100.00
CONT_ASSIGN35211100.00
CONT_ASSIGN35511100.00
CONT_ASSIGN36511100.00
CONT_ASSIGN36611100.00
ALWAYS36933100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_opentitan_top_earlgrey_flash_ctrl_0.1/rtl/flash_phy_prog.sv' or '../src/lowrisc_opentitan_top_earlgrey_flash_ctrl_0.1/rtl/flash_phy_prog.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
111 1 1
122 1 1
126 1 1
130 1 1
131 1 1
133 1 1
138 1 1
143 1 1
144 1 1
147 1 1
148 1 1
151 1 1
152 1 1
153 1 1
155 1 1
156 1 1
158 1 1
MISSING_ELSE
164 3 3
174 1 1
176 1 1
177 1 1
178 1 1
179 1 1
180 1 1
181 1 1
182 1 1
183 1 1
184 1 1
186 1 1
189 1 1
193 1 1
194 1 1
195 1 1
196 1 1
197 1 1
MISSING_ELSE
203 1 1
204 1 1
205 1 1
MISSING_ELSE
210 1 1
211 1 1
213 1 1
215 1 1
216 1 1
218 1 1
219 1 1
220 1 1
MISSING_ELSE
226 1 1
227 1 1
230 1 1
231 1 1
MISSING_ELSE
236 1 1
237 1 1
241 1 1
243 1 1
244 1 1
MISSING_ELSE
249 1 1
251 1 1
252 1 1
MISSING_ELSE
257 1 1
262 1 1
263 1 1
269 1 1
270 1 1
272 1 1
273 1 1
278 1 1
279 1 1
280 1 1
MISSING_ELSE
285 1 1
299 1 1
300 1 1
301 1 1
302 1 1
303 1 1
304 1 1
305 1 1
306 1 1
307 1 1
308 1 1
309 1 1
310 1 1
MISSING_ELSE
314 1 1
323 1 1
324 1 1
325 1 1
326 1 1
MISSING_ELSE
331 1 1
352 1 1
355 1 1
365 1 1
366 1 1
369 1 1
370 1 1
372 1 1


Cond Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[1].u_core.gen_prog_data.u_prog
TotalCoveredPercent
Conditions656396.92
Logical656396.92
Non-Logical00
Event00

 LINE       111
 EXPRESSION ((data_sel == Actual) ? data_i[(flash_phy_pkg::BusWidth - 1):0] : ({flash_phy_pkg::BusWidth {1'b1}}))
             ----------1---------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T18,T6

 LINE       111
 SUB-EXPRESSION (data_sel == Actual)
                ----------1---------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T18,T6

 LINE       126
 EXPRESSION (data_invalid_q | (pack_valid & ((~data_intg_ok))))
             -------1------   ----------------2---------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT20,T198
10CoveredT20,T198

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T18,T6
11CoveredT20,T198

 LINE       143
 EXPRESSION (ack_i | data_invalid_q)
             --1--   -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01Not Covered
10CoveredT1,T2,T3

 LINE       144
 EXPRESSION (done_i | data_invalid_q)
             ---1--   -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT20,T198
10CoveredT1,T2,T3

 LINE       148
 EXPRESSION ((idx > '0) ? (idx_sub_one == sel_i) : 1'b0)
             -----1----
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T18,T6

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT1,T18,T6
1CoveredT6,T27,T53

 LINE       153
 EXPRESSION (pack_valid && (idx == MaxIdx))
             -----1----    -------2-------
-1--2-StatusTests
01CoveredT1,T18,T6
10CoveredT1,T18,T6
11CoveredT1,T18,T6

 LINE       153
 SUB-EXPRESSION (idx == MaxIdx)
                -------1-------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T18,T6

 LINE       194
 EXPRESSION (req_i && ((|sel_i)))
             --1--    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T18,T6
11CoveredT27,T53,T21

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0CoveredT11,T12
1CoveredT27,T53,T21

 LINE       213
 EXPRESSION (req_i && (idx == MaxIdx))
             --1--    -------2-------
-1--2-StatusTests
01CoveredT1,T18,T6
10CoveredT1,T18,T6
11CoveredT1,T18,T6

 LINE       213
 SUB-EXPRESSION (idx == MaxIdx)
                -------1-------
-1-StatusTests
0CoveredT1,T18,T6
1CoveredT1,T18,T6

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT1,T18,T6
10CoveredT1,T18,T6
11CoveredT27,T53,T21

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0CoveredT11,T12
1CoveredT27,T53,T21

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT1,T18,T6
1CoveredT10,T19,T25

 LINE       270
 EXPRESSION (ack ? StWaitFlash : StReqFlash)
             -1-
-1-StatusTests
0CoveredT1,T18,T27
1CoveredT1,T18,T10

 LINE       273
 EXPRESSION (ack ? StIdle : StReqFlash)
             -1-
-1-StatusTests
0CoveredT1,T18,T6
1CoveredT1,T18,T6

 LINE       302
 EXPRESSION (req_o && ack)
             --1--    -2-
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T18,T6
11CoveredT1,T18,T6

 LINE       304
 EXPRESSION (calc_req_o && calc_ack_i)
             -----1----    -----2----
-1--2-StatusTests
01CoveredT3,T4,T10
10CoveredT10,T19,T25
11CoveredT10,T19,T25

 LINE       307
 EXPRESSION (scramble_req_o && scramble_ack_i)
             -------1------    -------2------
-1--2-StatusTests
01CoveredT3,T10,T19
10CoveredT10,T19,T25
11CoveredT10,T19,T25

 LINE       355
 EXPRESSION (ecc_i ? ecc_data : ({{flash_phy_pkg::EccWidth {1'b1}}, ecc_data_in}))
             --1--
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       365
 EXPRESSION (req_i && ack_o && last_i)
             --1--    --2--    ---3--
-1--2--3-StatusTests
011Not Covered
101CoveredT1,T18,T10
110CoveredT1,T18,T6
111CoveredT1,T18,T10

 LINE       366
 EXPRESSION (txn_done ? '0 : (done ? ((done_cnt_q + 16'b1)) : done_cnt_q))
             ----1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T18,T10

 LINE       366
 SUB-EXPRESSION (done ? ((done_cnt_q + 16'b1)) : done_cnt_q)
                 --1-
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT2,T3,T4

FSM Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[1].u_core.gen_prog_data.u_prog
Summary for FSM :: state_q
TotalCoveredPercent
States 11 11 100.00 (Not included in score)
Transitions 15 15 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: state_q
statesLine No.CoveredTests
StCalcEcc 252 Covered T19,T25,T195
StCalcMask 237 Covered T19,T25,T195
StCalcPlainEcc 215 Covered T1,T18,T6
StDisabled 193 Covered T9,T10,T81
StIdle 273 Covered T1,T2,T3
StPackData 197 Covered T1,T18,T6
StPostPack 218 Covered T27,T53,T21
StPrePack 195 Covered T27,T53,T21
StReqFlash 237 Covered T1,T18,T6
StScrambleData 244 Covered T19,T25,T195
StWaitFlash 270 Covered T1,T18,T10


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T19,T25,T195
StCalcMask->StScrambleData 244 Covered T19,T25,T195
StCalcPlainEcc->StCalcMask 237 Covered T19,T25,T195
StCalcPlainEcc->StReqFlash 237 Covered T1,T18,T6
StIdle->StDisabled 193 Covered T9,T10,T81
StIdle->StPackData 197 Covered T1,T18,T6
StIdle->StPrePack 195 Covered T27,T53,T21
StPackData->StCalcPlainEcc 215 Covered T1,T18,T6
StPackData->StPostPack 218 Covered T27,T53,T21
StPostPack->StCalcPlainEcc 231 Covered T27,T53,T21
StPrePack->StPackData 205 Covered T27,T53,T21
StReqFlash->StIdle 273 Covered T1,T18,T6
StReqFlash->StWaitFlash 270 Covered T1,T18,T10
StScrambleData->StCalcEcc 252 Covered T19,T25,T195
StWaitFlash->StIdle 280 Covered T1,T18,T10



Branch Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[1].u_core.gen_prog_data.u_prog
Line No.TotalCoveredPercent
Branches 55 55 100.00
TERNARY 111 2 2 100.00
TERNARY 148 2 2 100.00
TERNARY 355 2 2 100.00
TERNARY 366 3 3 100.00
IF 130 2 2 100.00
IF 151 4 4 100.00
IF 164 2 2 100.00
CASE 186 27 27 100.00
IF 299 6 6 100.00
IF 323 3 3 100.00
IF 369 2 2 100.00

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

LineNo. Expression -1-: 111 ((data_sel == Actual)) ?

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


LineNo. Expression -1-: 148 ((idx > '0)) ?

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


LineNo. Expression -1-: 355 (ecc_i) ?

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


LineNo. Expression -1-: 366 (txn_done) ? -2-: 366 (done) ?

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


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

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


LineNo. Expression -1-: 151 if ((!rst_ni)) -2-: 153 if ((pack_valid && (idx == MaxIdx))) -3-: 156 if (pack_valid)

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


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

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


LineNo. Expression -1-: 186 case (state_q) -2-: 189 if (prim_mubi_pkg::mubi4_test_true_loose(disable_i)) -3-: 194 if ((req_i && (|sel_i))) -4-: 196 if (req_i) -5-: 204 if ((idx == align_next)) -6-: 213 if ((req_i && (idx == MaxIdx))) -7-: 216 if ((req_i && last_i)) -8-: 219 if (req_i) -9-: 230 if ((idx == MaxIdx)) -10-: 237 (scramble_i) ? -11-: 243 if (calc_ack_i) -12-: 251 if (scramble_ack_i) -13-: 269 if (last_i) -14-: 270 (ack) ? -15-: 273 (ack) ? -16-: 278 if (done)

Branches:
-1--2--3--4--5--6--7--8--9--10--11--12--13--14--15--16-StatusTests
StIdle 1 - - - - - - - - - - - - - - Covered T9,T10,T81
StIdle 0 1 - - - - - - - - - - - - - Covered T27,T53,T21
StIdle 0 0 1 - - - - - - - - - - - - Covered T1,T18,T6
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T27,T53,T21
StPrePack - - - 0 - - - - - - - - - - - Covered T11,T12
StPackData - - - - 1 - - - - - - - - - - Covered T1,T18,T6
StPackData - - - - 0 1 - - - - - - - - - Covered T27,T53,T21
StPackData - - - - 0 0 1 - - - - - - - - Covered T1,T18,T6
StPackData - - - - 0 0 0 - - - - - - - - Covered T1,T18,T6
StPostPack - - - - - - - 1 - - - - - - - Covered T27,T53,T21
StPostPack - - - - - - - 0 - - - - - - - Covered T11,T12
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T10,T19,T25
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T1,T18,T6
StCalcMask - - - - - - - - - 1 - - - - - Covered T10,T19,T25
StCalcMask - - - - - - - - - 0 - - - - - Covered T10,T19,T25
StScrambleData - - - - - - - - - - 1 - - - - Covered T10,T19,T25
StScrambleData - - - - - - - - - - 0 - - - - Covered T10,T19,T25
StCalcEcc - - - - - - - - - - - - - - - Covered T10,T19,T25
StReqFlash - - - - - - - - - - - 1 1 - - Covered T1,T18,T10
StReqFlash - - - - - - - - - - - 1 0 - - Covered T1,T18,T27
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T1,T18,T6
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T1,T18,T6
StWaitFlash - - - - - - - - - - - - - - 1 Covered T1,T18,T10
StWaitFlash - - - - - - - - - - - - - - 0 Covered T1,T18,T10
StDisabled - - - - - - - - - - - - - - - Covered T9,T10,T81
default - - - - - - - - - - - - - - - Covered T13,T14,T15


LineNo. Expression -1-: 299 if ((!rst_ni)) -2-: 302 if ((req_o && ack)) -3-: 304 if ((calc_req_o && calc_ack_i)) -4-: 307 if ((scramble_req_o && scramble_ack_i)) -5-: 309 if (pack_valid)

Branches:
-1--2--3--4--5-StatusTests
1 - - - - Covered T1,T2,T3
0 1 - - - Covered T1,T18,T6
0 0 1 - - Covered T10,T19,T25
0 0 0 1 - Covered T10,T19,T25
0 0 0 0 1 Covered T1,T18,T6
0 0 0 0 0 Covered T1,T2,T3


LineNo. Expression -1-: 323 if ((!rst_ni)) -2-: 325 if (plain_ecc_en)

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


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

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


Assert Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[1].u_core.gen_prog_data.u_prog
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 5 5 100.00 5 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 5 5 100.00 5 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OneDonePerTxn_A 404490093 1199261 0 0
PostPackRule_A 404490093 885 0 0
PrePackRule_A 404490093 641 0 0
WidthCheck_A 1025 1025 0 0
u_state_regs_A 404490093 403628563 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 404490093 1199261 0 0
T1 177860 596 0 0
T2 117239 0 0 0
T3 1980 0 0 0
T4 53004 0 0 0
T5 863549 0 0 0
T6 883 0 0 0
T9 3845 0 0 0
T10 0 32768 0 0
T16 56390 0 0 0
T17 2643 0 0 0
T18 489120 8608 0 0
T19 0 5 0 0
T21 0 4 0 0
T24 0 629 0 0
T27 0 39 0 0
T37 0 4 0 0
T53 0 1 0 0
T70 0 682 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 404490093 885 0 0
T21 0 4 0 0
T22 2900 0 0 0
T23 9389 0 0 0
T24 220222 0 0 0
T27 150915 3 0 0
T32 48343 0 0 0
T37 0 1 0 0
T50 742 0 0 0
T53 2687 1 0 0
T62 0 4 0 0
T70 163328 0 0 0
T72 0 5 0 0
T74 0 5 0 0
T81 1522 0 0 0
T82 2044 0 0 0
T94 0 15 0 0
T146 0 15 0 0
T156 0 2 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 404490093 641 0 0
T21 0 2 0 0
T22 2900 0 0 0
T23 9389 0 0 0
T24 220222 0 0 0
T27 150915 5 0 0
T32 48343 0 0 0
T37 0 3 0 0
T50 742 0 0 0
T53 2687 1 0 0
T62 0 3 0 0
T70 163328 0 0 0
T72 0 3 0 0
T74 0 3 0 0
T81 1522 0 0 0
T82 2044 0 0 0
T94 0 17 0 0
T146 0 9 0 0
T156 0 2 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1025 1025 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T9 1 1 0 0
T16 1 1 0 0
T17 1 1 0 0
T18 1 1 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 404490093 403628563 0 0
T1 177860 177853 0 0
T2 117239 117227 0 0
T3 1980 1791 0 0
T4 53004 52935 0 0
T5 863549 863380 0 0
T6 883 821 0 0
T9 3845 3113 0 0
T16 56390 56340 0 0
T17 2643 2501 0 0
T18 489120 489112 0 0

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