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



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

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
98.04 100.00 93.85 100.00 96.36 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
97.56 100.00 93.85 95.00 100.00 96.49 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
94.76 96.63 85.85 100.00 91.30 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



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

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
98.35 100.00 95.38 100.00 96.36 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
98.65 100.00 95.38 100.00 100.00 96.49 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
96.55 97.75 91.51 100.00 93.48 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

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
Conditions656295.38
Logical656295.38
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
1CoveredT2,T3,T17

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

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

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T3,T17
11CoveredT8,T9,T196

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

 LINE       144
 EXPRESSION (done_i | data_invalid_q)
             ---1--   -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT8,T9,T196
10CoveredT1,T2,T3

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

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT2,T3,T17
1CoveredT18,T6,T46

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

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

 LINE       194
 EXPRESSION (req_i && ((|sel_i)))
             --1--    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T3,T17
11CoveredT18,T46,T47

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0Not Covered
1CoveredT18,T46,T47

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

 LINE       213
 SUB-EXPRESSION (idx == MaxIdx)
                -------1-------
-1-StatusTests
0CoveredT2,T3,T17
1CoveredT2,T3,T17

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT2,T3,T17
10CoveredT2,T3,T17
11CoveredT18,T6,T46

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0Not Covered
1CoveredT18,T6,T46

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT2,T5,T18
1CoveredT2,T3,T17

 LINE       270
 EXPRESSION (ack ? StWaitFlash : StReqFlash)
             -1-
-1-StatusTests
0CoveredT2,T17,T5
1CoveredT2,T17,T5

 LINE       273
 EXPRESSION (ack ? StIdle : StReqFlash)
             -1-
-1-StatusTests
0CoveredT2,T17,T5
1CoveredT2,T17,T5

 LINE       302
 EXPRESSION (req_o && ack)
             --1--    -2-
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T17,T5
11CoveredT2,T17,T5

 LINE       304
 EXPRESSION (calc_req_o && calc_ack_i)
             -----1----    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T3,T17
11CoveredT2,T3,T17

 LINE       307
 EXPRESSION (scramble_req_o && scramble_ack_i)
             -------1------    -------2------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T17,T30
11CoveredT2,T17,T30

 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
101CoveredT2,T3,T17
110CoveredT2,T3,T17
111CoveredT2,T5,T18

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

 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 T2,T17,T30
StCalcMask 237 Covered T2,T3,T17
StCalcPlainEcc 215 Covered T2,T3,T17
StDisabled 193 Covered T11,T12,T13
StIdle 273 Covered T1,T2,T3
StPackData 197 Covered T2,T3,T17
StPostPack 218 Covered T18,T6,T46
StPrePack 195 Covered T18,T46,T47
StReqFlash 237 Covered T2,T17,T5
StScrambleData 244 Covered T2,T3,T17
StWaitFlash 270 Covered T2,T17,T5


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T2,T17,T30
StCalcMask->StScrambleData 244 Covered T2,T3,T17
StCalcPlainEcc->StCalcMask 237 Covered T2,T3,T17
StCalcPlainEcc->StReqFlash 237 Covered T2,T5,T18
StIdle->StDisabled 193 Covered T11,T12,T13
StIdle->StPackData 197 Covered T2,T3,T17
StIdle->StPrePack 195 Covered T18,T46,T47
StPackData->StCalcPlainEcc 215 Covered T2,T3,T17
StPackData->StPostPack 218 Covered T18,T6,T46
StPostPack->StCalcPlainEcc 231 Covered T18,T6,T46
StPrePack->StPackData 205 Covered T18,T46,T47
StReqFlash->StIdle 273 Covered T2,T17,T5
StReqFlash->StWaitFlash 270 Covered T2,T17,T5
StScrambleData->StCalcEcc 252 Covered T2,T17,T30
StWaitFlash->StIdle 280 Covered T2,T17,T5



Branch Coverage for Module : flash_phy_prog
Line No.TotalCoveredPercent
Branches 55 53 96.36
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 25 92.59
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 T2,T3,T17
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T2,T3,T17
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 T2,T5,T18
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 T2,T3,T17
0 0 1 Covered T2,T3,T17
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 T11,T12,T13
StIdle 0 1 - - - - - - - - - - - - - Covered T18,T46,T47
StIdle 0 0 1 - - - - - - - - - - - - Covered T2,T3,T17
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T18,T46,T47
StPrePack - - - 0 - - - - - - - - - - - Not Covered
StPackData - - - - 1 - - - - - - - - - - Covered T2,T3,T17
StPackData - - - - 0 1 - - - - - - - - - Covered T18,T6,T46
StPackData - - - - 0 0 1 - - - - - - - - Covered T2,T3,T17
StPackData - - - - 0 0 0 - - - - - - - - Covered T2,T3,T17
StPostPack - - - - - - - 1 - - - - - - - Covered T18,T6,T46
StPostPack - - - - - - - 0 - - - - - - - Not Covered
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T2,T3,T17
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T2,T5,T18
StCalcMask - - - - - - - - - 1 - - - - - Covered T2,T3,T17
StCalcMask - - - - - - - - - 0 - - - - - Covered T2,T3,T17
StScrambleData - - - - - - - - - - 1 - - - - Covered T2,T17,T30
StScrambleData - - - - - - - - - - 0 - - - - Covered T2,T3,T17
StCalcEcc - - - - - - - - - - - - - - - Covered T2,T17,T30
StReqFlash - - - - - - - - - - - 1 1 - - Covered T2,T17,T5
StReqFlash - - - - - - - - - - - 1 0 - - Covered T2,T17,T5
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T2,T17,T5
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T2,T17,T5
StWaitFlash - - - - - - - - - - - - - - 1 Covered T2,T5,T18
StWaitFlash - - - - - - - - - - - - - - 0 Covered T2,T17,T5
StDisabled - - - - - - - - - - - - - - - Covered T11,T12,T13
default - - - - - - - - - - - - - - - Covered T14,T15,T16


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 T2,T17,T5
0 0 1 - - Covered T2,T3,T17
0 0 0 1 - Covered T2,T17,T30
0 0 0 0 1 Covered T2,T3,T17
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 T2,T3,T17
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 778265414 2437739 0 0
PostPackRule_A 778265414 1892 0 0
PrePackRule_A 778265414 1350 0 0
WidthCheck_A 2122 2122 0 0
u_state_regs_A 778265414 776636618 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 778265414 2437739 0 0
T2 312568 717 0 0
T3 3306 0 0 0
T4 1156134 0 0 0
T5 193854 100 0 0
T6 0 2 0 0
T7 245876 0 0 0
T11 7746 0 0 0
T12 2480 0 0 0
T17 3296 0 0 0
T18 13544 6 0 0
T29 0 100 0 0
T30 0 5 0 0
T46 0 4 0 0
T47 0 1 0 0
T48 0 784 0 0
T60 2118 0 0 0
T61 0 2128 0 0
T62 0 121 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 778265414 1892 0 0
T6 4652 2 0 0
T13 1522 0 0 0
T18 13544 3 0 0
T24 0 15 0 0
T26 0 4 0 0
T29 195016 0 0 0
T30 7326 0 0 0
T32 152010 0 0 0
T40 0 12 0 0
T46 0 3 0 0
T47 0 1 0 0
T54 24364 0 0 0
T60 2118 0 0 0
T61 850522 0 0 0
T62 204378 0 0 0
T79 0 8 0 0
T91 0 5 0 0
T142 0 34 0 0
T146 0 4 0 0
T213 0 2 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 778265414 1350 0 0
T6 2326 0 0 0
T13 761 0 0 0
T18 6772 3 0 0
T19 1337 0 0 0
T20 421216 0 0 0
T24 0 9 0 0
T26 0 2 0 0
T29 97508 0 0 0
T30 3663 0 0 0
T32 76005 0 0 0
T39 56524 0 0 0
T40 0 11 0 0
T46 3063 2 0 0
T47 1824 1 0 0
T48 142620 0 0 0
T49 404756 0 0 0
T51 0 1 0 0
T53 99090 0 0 0
T54 12182 0 0 0
T60 1059 0 0 0
T61 425261 0 0 0
T62 102189 0 0 0
T79 6028 9 0 0
T91 0 12 0 0
T142 0 18 0 0
T145 1294 0 0 0
T146 0 3 0 0
T213 0 2 0 0
T214 0 1 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 2122 2122 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
T7 2 2 0 0
T11 2 2 0 0
T12 2 2 0 0
T17 2 2 0 0
T18 2 2 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 778265414 776636618 0 0
T1 3266 3074 0 0
T2 312568 312382 0 0
T3 3306 2984 0 0
T4 1156134 1155842 0 0
T5 193854 193740 0 0
T7 245876 245852 0 0
T11 7746 6314 0 0
T12 2480 2312 0 0
T17 3296 2994 0 0
T18 13544 13412 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
Conditions656193.85
Logical656193.85
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
1CoveredT2,T5,T18

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

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

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T5,T18
11CoveredT8,T215

 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
01CoveredT8,T215
10CoveredT2,T4,T7

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

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT2,T5,T18
1CoveredT18,T6,T46

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

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

 LINE       194
 EXPRESSION (req_i && ((|sel_i)))
             --1--    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T5,T18
11CoveredT46,T79,T51

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0Not Covered
1CoveredT46,T79,T51

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

 LINE       213
 SUB-EXPRESSION (idx == MaxIdx)
                -------1-------
-1-StatusTests
0CoveredT2,T5,T18
1CoveredT2,T5,T18

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT2,T5,T18
10CoveredT2,T5,T18
11CoveredT18,T6,T46

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0Not Covered
1CoveredT18,T6,T46

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT5,T18,T6
1CoveredT2,T30,T61

 LINE       270
 EXPRESSION (ack ? StWaitFlash : StReqFlash)
             -1-
-1-StatusTests
0CoveredT2,T5,T18
1CoveredT2,T5,T18

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

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

 LINE       304
 EXPRESSION (calc_req_o && calc_ack_i)
             -----1----    -----2----
-1--2-StatusTests
01CoveredT2,T30,T61
10CoveredT2,T30,T61
11CoveredT2,T30,T61

 LINE       307
 EXPRESSION (scramble_req_o && scramble_ack_i)
             -------1------    -------2------
-1--2-StatusTests
01CoveredT2,T30,T61
10CoveredT2,T30,T61
11CoveredT2,T30,T61

 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
101CoveredT2,T5,T18
110CoveredT2,T5,T18
111CoveredT2,T5,T18

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

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

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 T2,T30,T61
StCalcMask 237 Covered T2,T30,T61
StCalcPlainEcc 215 Covered T2,T5,T18
StDisabled 193 Covered T11,T12,T13
StIdle 273 Covered T1,T2,T3
StPackData 197 Covered T2,T5,T18
StPostPack 218 Covered T18,T6,T46
StPrePack 195 Covered T46,T79,T51
StReqFlash 237 Covered T2,T5,T18
StScrambleData 244 Covered T2,T30,T61
StWaitFlash 270 Covered T2,T5,T18


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T2,T30,T61
StCalcMask->StScrambleData 244 Covered T2,T30,T61
StCalcPlainEcc->StCalcMask 237 Covered T2,T30,T61
StCalcPlainEcc->StReqFlash 237 Covered T5,T18,T6
StIdle->StDisabled 193 Covered T11,T12,T13
StIdle->StPackData 197 Covered T2,T5,T18
StIdle->StPrePack 195 Covered T46,T79,T51
StPackData->StCalcPlainEcc 215 Covered T2,T5,T18
StPackData->StPostPack 218 Covered T18,T6,T46
StPostPack->StCalcPlainEcc 231 Covered T18,T6,T46
StPrePack->StPackData 205 Covered T46,T79,T51
StReqFlash->StIdle 273 Covered T2,T5,T18
StReqFlash->StWaitFlash 270 Covered T2,T5,T18
StScrambleData->StCalcEcc 252 Covered T2,T30,T61
StWaitFlash->StIdle 280 Covered T2,T5,T18



Branch Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[1].u_core.gen_prog_data.u_prog
Line No.TotalCoveredPercent
Branches 55 53 96.36
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 25 92.59
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 T2,T5,T18
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T2,T5,T18
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 T2,T5,T18
0 1 Covered T2,T4,T7
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 T2,T5,T18
0 0 1 Covered T2,T5,T18
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 T11,T12,T13
StIdle 0 1 - - - - - - - - - - - - - Covered T46,T79,T51
StIdle 0 0 1 - - - - - - - - - - - - Covered T2,T5,T18
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T46,T79,T51
StPrePack - - - 0 - - - - - - - - - - - Not Covered
StPackData - - - - 1 - - - - - - - - - - Covered T2,T5,T18
StPackData - - - - 0 1 - - - - - - - - - Covered T18,T6,T46
StPackData - - - - 0 0 1 - - - - - - - - Covered T2,T5,T18
StPackData - - - - 0 0 0 - - - - - - - - Covered T2,T5,T18
StPostPack - - - - - - - 1 - - - - - - - Covered T18,T6,T46
StPostPack - - - - - - - 0 - - - - - - - Not Covered
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T2,T30,T61
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T5,T18,T6
StCalcMask - - - - - - - - - 1 - - - - - Covered T2,T30,T61
StCalcMask - - - - - - - - - 0 - - - - - Covered T2,T30,T61
StScrambleData - - - - - - - - - - 1 - - - - Covered T2,T30,T61
StScrambleData - - - - - - - - - - 0 - - - - Covered T2,T30,T61
StCalcEcc - - - - - - - - - - - - - - - Covered T2,T30,T61
StReqFlash - - - - - - - - - - - 1 1 - - Covered T2,T5,T18
StReqFlash - - - - - - - - - - - 1 0 - - Covered T2,T5,T18
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T2,T5,T18
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T2,T5,T18
StWaitFlash - - - - - - - - - - - - - - 1 Covered T2,T5,T18
StWaitFlash - - - - - - - - - - - - - - 0 Covered T2,T5,T18
StDisabled - - - - - - - - - - - - - - - Covered T11,T12,T13
default - - - - - - - - - - - - - - - Covered T14,T15,T16


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 T2,T5,T18
0 0 1 - - Covered T2,T30,T61
0 0 0 1 - Covered T2,T30,T61
0 0 0 0 1 Covered T2,T5,T18
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 T2,T5,T18
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 389132707 1206341 0 0
PostPackRule_A 389132707 970 0 0
PrePackRule_A 389132707 677 0 0
WidthCheck_A 1061 1061 0 0
u_state_regs_A 389132707 388318309 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 389132707 1206341 0 0
T2 156284 208 0 0
T3 1653 0 0 0
T4 578067 0 0 0
T5 96927 55 0 0
T6 0 1 0 0
T7 122938 0 0 0
T11 3873 0 0 0
T12 1240 0 0 0
T17 1648 0 0 0
T18 6772 3 0 0
T29 0 43 0 0
T30 0 3 0 0
T46 0 2 0 0
T47 0 1 0 0
T48 0 468 0 0
T60 1059 0 0 0
T61 0 1000 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 389132707 970 0 0
T6 2326 1 0 0
T13 761 0 0 0
T18 6772 1 0 0
T24 0 8 0 0
T29 97508 0 0 0
T30 3663 0 0 0
T32 76005 0 0 0
T40 0 5 0 0
T46 0 1 0 0
T47 0 1 0 0
T54 12182 0 0 0
T60 1059 0 0 0
T61 425261 0 0 0
T62 102189 0 0 0
T79 0 5 0 0
T142 0 20 0 0
T146 0 2 0 0
T213 0 2 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 389132707 677 0 0
T19 1337 0 0 0
T20 421216 0 0 0
T24 0 6 0 0
T26 0 2 0 0
T39 56524 0 0 0
T40 0 7 0 0
T46 3063 1 0 0
T47 1824 0 0 0
T48 142620 0 0 0
T49 404756 0 0 0
T51 0 1 0 0
T53 99090 0 0 0
T79 6028 6 0 0
T91 0 6 0 0
T142 0 10 0 0
T145 1294 0 0 0
T146 0 1 0 0
T213 0 2 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1061 1061 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
T7 1 1 0 0
T11 1 1 0 0
T12 1 1 0 0
T17 1 1 0 0
T18 1 1 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 389132707 388318309 0 0
T1 1633 1537 0 0
T2 156284 156191 0 0
T3 1653 1492 0 0
T4 578067 577921 0 0
T5 96927 96870 0 0
T7 122938 122926 0 0
T11 3873 3157 0 0
T12 1240 1156 0 0
T17 1648 1497 0 0
T18 6772 6706 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
Conditions656295.38
Logical656295.38
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
1CoveredT2,T3,T17

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

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

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T3,T17
11CoveredT8,T9,T196

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

 LINE       144
 EXPRESSION (done_i | data_invalid_q)
             ---1--   -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT8,T9,T196
10CoveredT1,T2,T3

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

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT2,T3,T17
1CoveredT18,T6,T46

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

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

 LINE       194
 EXPRESSION (req_i && ((|sel_i)))
             --1--    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T3,T17
11CoveredT18,T46,T47

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0Not Covered
1CoveredT18,T46,T47

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

 LINE       213
 SUB-EXPRESSION (idx == MaxIdx)
                -------1-------
-1-StatusTests
0CoveredT2,T3,T17
1CoveredT2,T3,T17

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT2,T3,T17
10CoveredT2,T3,T17
11CoveredT18,T6,T46

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0Not Covered
1CoveredT18,T6,T46

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT2,T5,T18
1CoveredT2,T3,T17

 LINE       270
 EXPRESSION (ack ? StWaitFlash : StReqFlash)
             -1-
-1-StatusTests
0CoveredT2,T17,T5
1CoveredT2,T17,T5

 LINE       273
 EXPRESSION (ack ? StIdle : StReqFlash)
             -1-
-1-StatusTests
0CoveredT2,T17,T5
1CoveredT2,T17,T5

 LINE       302
 EXPRESSION (req_o && ack)
             --1--    -2-
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T17,T5
11CoveredT2,T17,T5

 LINE       304
 EXPRESSION (calc_req_o && calc_ack_i)
             -----1----    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T3,T17
11CoveredT2,T3,T17

 LINE       307
 EXPRESSION (scramble_req_o && scramble_ack_i)
             -------1------    -------2------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T17,T30
11CoveredT2,T17,T30

 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
101CoveredT2,T3,T17
110CoveredT2,T3,T17
111CoveredT2,T5,T18

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

 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 T2,T17,T30
StCalcMask 237 Covered T2,T3,T17
StCalcPlainEcc 215 Covered T2,T3,T17
StDisabled 193 Covered T11,T12,T13
StIdle 273 Covered T1,T2,T3
StPackData 197 Covered T2,T3,T17
StPostPack 218 Covered T18,T6,T46
StPrePack 195 Covered T18,T46,T47
StReqFlash 237 Covered T2,T17,T5
StScrambleData 244 Covered T2,T3,T17
StWaitFlash 270 Covered T2,T17,T5


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T2,T17,T30
StCalcMask->StScrambleData 244 Covered T2,T3,T17
StCalcPlainEcc->StCalcMask 237 Covered T2,T3,T17
StCalcPlainEcc->StReqFlash 237 Covered T2,T5,T18
StIdle->StDisabled 193 Covered T11,T12,T13
StIdle->StPackData 197 Covered T2,T3,T17
StIdle->StPrePack 195 Covered T18,T46,T47
StPackData->StCalcPlainEcc 215 Covered T2,T3,T17
StPackData->StPostPack 218 Covered T18,T6,T46
StPostPack->StCalcPlainEcc 231 Covered T18,T6,T46
StPrePack->StPackData 205 Covered T18,T46,T47
StReqFlash->StIdle 273 Covered T2,T17,T5
StReqFlash->StWaitFlash 270 Covered T2,T17,T5
StScrambleData->StCalcEcc 252 Covered T2,T17,T30
StWaitFlash->StIdle 280 Covered T2,T17,T5



Branch Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[0].u_core.gen_prog_data.u_prog
Line No.TotalCoveredPercent
Branches 55 53 96.36
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 25 92.59
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 T2,T3,T17
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T2,T3,T17
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 T2,T5,T18
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 T2,T3,T17
0 0 1 Covered T2,T3,T17
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 T11,T12,T13
StIdle 0 1 - - - - - - - - - - - - - Covered T18,T46,T47
StIdle 0 0 1 - - - - - - - - - - - - Covered T2,T3,T17
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T18,T46,T47
StPrePack - - - 0 - - - - - - - - - - - Not Covered
StPackData - - - - 1 - - - - - - - - - - Covered T2,T3,T17
StPackData - - - - 0 1 - - - - - - - - - Covered T18,T6,T46
StPackData - - - - 0 0 1 - - - - - - - - Covered T2,T3,T17
StPackData - - - - 0 0 0 - - - - - - - - Covered T2,T3,T17
StPostPack - - - - - - - 1 - - - - - - - Covered T18,T6,T46
StPostPack - - - - - - - 0 - - - - - - - Not Covered
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T2,T3,T17
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T2,T5,T18
StCalcMask - - - - - - - - - 1 - - - - - Covered T2,T3,T17
StCalcMask - - - - - - - - - 0 - - - - - Covered T2,T3,T17
StScrambleData - - - - - - - - - - 1 - - - - Covered T2,T17,T30
StScrambleData - - - - - - - - - - 0 - - - - Covered T2,T3,T17
StCalcEcc - - - - - - - - - - - - - - - Covered T2,T17,T30
StReqFlash - - - - - - - - - - - 1 1 - - Covered T2,T17,T5
StReqFlash - - - - - - - - - - - 1 0 - - Covered T2,T17,T5
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T2,T17,T5
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T2,T17,T5
StWaitFlash - - - - - - - - - - - - - - 1 Covered T2,T5,T18
StWaitFlash - - - - - - - - - - - - - - 0 Covered T2,T17,T5
StDisabled - - - - - - - - - - - - - - - Covered T11,T12,T13
default - - - - - - - - - - - - - - - Covered T14,T15,T16


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 T2,T17,T5
0 0 1 - - Covered T2,T3,T17
0 0 0 1 - Covered T2,T17,T30
0 0 0 0 1 Covered T2,T3,T17
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 T2,T3,T17
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 389132707 1231398 0 0
PostPackRule_A 389132707 922 0 0
PrePackRule_A 389132707 673 0 0
WidthCheck_A 1061 1061 0 0
u_state_regs_A 389132707 388318309 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 389132707 1231398 0 0
T2 156284 509 0 0
T3 1653 0 0 0
T4 578067 0 0 0
T5 96927 45 0 0
T6 0 1 0 0
T7 122938 0 0 0
T11 3873 0 0 0
T12 1240 0 0 0
T17 1648 0 0 0
T18 6772 3 0 0
T29 0 57 0 0
T30 0 2 0 0
T46 0 2 0 0
T48 0 316 0 0
T60 1059 0 0 0
T61 0 1128 0 0
T62 0 121 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 389132707 922 0 0
T6 2326 1 0 0
T13 761 0 0 0
T18 6772 2 0 0
T24 0 7 0 0
T26 0 4 0 0
T29 97508 0 0 0
T30 3663 0 0 0
T32 76005 0 0 0
T40 0 7 0 0
T46 0 2 0 0
T54 12182 0 0 0
T60 1059 0 0 0
T61 425261 0 0 0
T62 102189 0 0 0
T79 0 3 0 0
T91 0 5 0 0
T142 0 14 0 0
T146 0 2 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 389132707 673 0 0
T6 2326 0 0 0
T13 761 0 0 0
T18 6772 3 0 0
T24 0 3 0 0
T29 97508 0 0 0
T30 3663 0 0 0
T32 76005 0 0 0
T40 0 4 0 0
T46 0 1 0 0
T47 0 1 0 0
T54 12182 0 0 0
T60 1059 0 0 0
T61 425261 0 0 0
T62 102189 0 0 0
T79 0 3 0 0
T91 0 6 0 0
T142 0 8 0 0
T146 0 2 0 0
T214 0 1 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1061 1061 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
T7 1 1 0 0
T11 1 1 0 0
T12 1 1 0 0
T17 1 1 0 0
T18 1 1 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 389132707 388318309 0 0
T1 1633 1537 0 0
T2 156284 156191 0 0
T3 1653 1492 0 0
T4 578067 577921 0 0
T5 96927 96870 0 0
T7 122938 122926 0 0
T11 3873 3157 0 0
T12 1240 1156 0 0
T17 1648 1497 0 0
T18 6772 6706 0 0

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