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
99.06 100.00 95.28 100.00 100.00 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.69 100.00 98.46 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
98.91 100.00 98.46 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
Conditions656498.46
Logical656498.46
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,T2,T3

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

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

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT164,T165,T242

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

 LINE       144
 EXPRESSION (done_i | data_invalid_q)
             ---1--   -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT164,T165,T242
10CoveredT1,T2,T3

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

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT18,T38,T5

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

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

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

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0CoveredT9
1CoveredT38,T5,T53

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

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

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT1,T2,T16
10CoveredT1,T2,T3
11CoveredT18,T38,T5

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0CoveredT9
1CoveredT18,T38,T5

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT1,T18,T11
1CoveredT2,T3,T16

 LINE       270
 EXPRESSION (ack ? StWaitFlash : StReqFlash)
             -1-
-1-StatusTests
0CoveredT1,T4,T11
1CoveredT1,T2,T16

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

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

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

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

 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,T2,T16
110CoveredT1,T2,T3
111CoveredT1,T2,T16

 LINE       366
 EXPRESSION (txn_done ? '0 : (done ? ((done_cnt_q + 16'b1)) : done_cnt_q))
             ----1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,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 T2,T16,T4
StCalcMask 237 Covered T2,T3,T16
StCalcPlainEcc 215 Covered T1,T2,T3
StDisabled 193 Covered T10,T11,T12
StIdle 273 Covered T1,T2,T3
StPackData 197 Covered T1,T2,T3
StPostPack 218 Covered T18,T38,T5
StPrePack 195 Covered T38,T5,T53
StReqFlash 237 Covered T1,T2,T16
StScrambleData 244 Covered T2,T3,T16
StWaitFlash 270 Covered T1,T2,T16


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T2,T16,T4
StCalcMask->StScrambleData 244 Covered T2,T3,T16
StCalcPlainEcc->StCalcMask 237 Covered T2,T3,T16
StCalcPlainEcc->StReqFlash 237 Covered T1,T18,T11
StIdle->StDisabled 193 Covered T10,T11,T12
StIdle->StPackData 197 Covered T1,T2,T3
StIdle->StPrePack 195 Covered T38,T5,T53
StPackData->StCalcPlainEcc 215 Covered T1,T2,T3
StPackData->StPostPack 218 Covered T18,T38,T5
StPostPack->StCalcPlainEcc 231 Covered T18,T38,T5
StPrePack->StPackData 205 Covered T38,T5,T53
StReqFlash->StIdle 273 Covered T1,T18,T4
StReqFlash->StWaitFlash 270 Covered T1,T2,T16
StScrambleData->StCalcEcc 252 Covered T2,T16,T4
StWaitFlash->StIdle 280 Covered T1,T2,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,T2,T3
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
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,T2,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,T2,T3
0 0 1 Covered T1,T2,T3
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 T10,T11,T12
StIdle 0 1 - - - - - - - - - - - - - Covered T38,T5,T53
StIdle 0 0 1 - - - - - - - - - - - - Covered T1,T2,T3
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T38,T5,T53
StPrePack - - - 0 - - - - - - - - - - - Covered T9
StPackData - - - - 1 - - - - - - - - - - Covered T1,T2,T3
StPackData - - - - 0 1 - - - - - - - - - Covered T18,T38,T5
StPackData - - - - 0 0 1 - - - - - - - - Covered T1,T2,T3
StPackData - - - - 0 0 0 - - - - - - - - Covered T1,T2,T3
StPostPack - - - - - - - 1 - - - - - - - Covered T18,T38,T5
StPostPack - - - - - - - 0 - - - - - - - Covered T9
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T2,T3,T16
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T1,T18,T11
StCalcMask - - - - - - - - - 1 - - - - - Covered T2,T3,T16
StCalcMask - - - - - - - - - 0 - - - - - Covered T2,T3,T16
StScrambleData - - - - - - - - - - 1 - - - - Covered T2,T16,T4
StScrambleData - - - - - - - - - - 0 - - - - Covered T2,T3,T16
StCalcEcc - - - - - - - - - - - - - - - Covered T2,T16,T4
StReqFlash - - - - - - - - - - - 1 1 - - Covered T1,T2,T16
StReqFlash - - - - - - - - - - - 1 0 - - Covered T1,T4,T11
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T1,T18,T4
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T1,T4,T11
StWaitFlash - - - - - - - - - - - - - - 1 Covered T1,T2,T16
StWaitFlash - - - - - - - - - - - - - - 0 Covered T1,T2,T16
StDisabled - - - - - - - - - - - - - - - Covered T10,T11,T12
default - - - - - - - - - - - - - - - Covered T14,T9,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,T2,T16
0 0 1 - - Covered T2,T3,T16
0 0 0 1 - Covered T2,T16,T4
0 0 0 0 1 Covered T1,T2,T3
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,T2,T3
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 805191632 2452396 0 0
PostPackRule_A 805191632 1970 0 0
PrePackRule_A 805191632 1372 0 0
WidthCheck_A 2094 2094 0 0
u_state_regs_A 805191632 803484554 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805191632 2452396 0 0
T1 5062 2 0 0
T2 4266 1 0 0
T3 4178 0 0 0
T4 848070 2079 0 0
T5 0 2 0 0
T6 0 1029 0 0
T10 7886 0 0 0
T11 1671264 132160 0 0
T12 0 2 0 0
T13 0 65600 0 0
T16 3186 1 0 0
T17 6410 0 0 0
T18 4614 2 0 0
T19 2636 0 0 0
T24 0 2 0 0
T38 0 18 0 0
T53 0 21 0 0
T72 0 48 0 0
T84 0 33 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805191632 1970 0 0
T4 424035 0 0 0
T5 141948 1 0 0
T6 447487 0 0 0
T10 3943 0 0 0
T11 835632 0 0 0
T12 1275 0 0 0
T13 848804 0 0 0
T18 2307 1 0 0
T19 1318 0 0 0
T20 157513 0 0 0
T24 1853 0 0 0
T28 114179 0 0 0
T38 16334 10 0 0
T42 263351 0 0 0
T50 2729 0 0 0
T53 16660 18 0 0
T55 0 2 0 0
T60 0 2 0 0
T71 0 5 0 0
T84 0 34 0 0
T86 3254 0 0 0
T99 0 1 0 0
T231 0 2 0 0
T232 0 1 0 0
T244 0 1 0 0
T245 0 4 0 0
T246 0 1 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805191632 1372 0 0
T5 141948 1 0 0
T6 894974 0 0 0
T13 1697608 0 0 0
T20 315026 0 0 0
T24 3706 0 0 0
T38 16334 11 0 0
T42 526702 0 0 0
T50 5458 0 0 0
T53 33320 19 0 0
T55 0 2 0 0
T60 0 1 0 0
T71 0 4 0 0
T84 0 29 0 0
T86 3254 0 0 0
T116 0 8 0 0
T127 0 1 0 0
T232 0 1 0 0
T244 0 1 0 0
T245 0 4 0 0
T246 0 1 0 0
T247 0 1 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 2094 2094 0 0
T1 2 2 0 0
T2 2 2 0 0
T3 2 2 0 0
T4 2 2 0 0
T10 2 2 0 0
T11 2 2 0 0
T16 2 2 0 0
T17 2 2 0 0
T18 2 2 0 0
T19 2 2 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805191632 803484554 0 0
T1 5062 4884 0 0
T2 4266 4048 0 0
T3 4178 3886 0 0
T4 848070 847928 0 0
T10 7886 6684 0 0
T11 1671264 1671218 0 0
T16 3186 2862 0 0
T17 6410 5200 0 0
T18 4614 4458 0 0
T19 2636 2504 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,T2,T3

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

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

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT164,T165,T242

 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
01CoveredT164,T165,T242
10CoveredT1,T2,T3

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

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT18,T38,T5

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

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

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

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0CoveredT9
1CoveredT38,T5,T53

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

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

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT1,T2,T16
10CoveredT1,T2,T3
11CoveredT18,T38,T5

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0CoveredT9
1CoveredT18,T38,T5

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT1,T18,T11
1CoveredT2,T3,T16

 LINE       270
 EXPRESSION (ack ? StWaitFlash : StReqFlash)
             -1-
-1-StatusTests
0CoveredT4,T11,T12
1CoveredT1,T2,T16

 LINE       273
 EXPRESSION (ack ? StIdle : StReqFlash)
             -1-
-1-StatusTests
0CoveredT4,T11,T38
1CoveredT1,T18,T4

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

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

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

 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,T2,T16
110CoveredT1,T2,T3
111CoveredT1,T2,T16

 LINE       366
 EXPRESSION (txn_done ? '0 : (done ? ((done_cnt_q + 16'b1)) : done_cnt_q))
             ----1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,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 T2,T16,T4
StCalcMask 237 Covered T2,T3,T16
StCalcPlainEcc 215 Covered T1,T2,T3
StDisabled 193 Covered T10,T11,T12
StIdle 273 Covered T1,T2,T3
StPackData 197 Covered T1,T2,T3
StPostPack 218 Covered T18,T38,T5
StPrePack 195 Covered T38,T5,T53
StReqFlash 237 Covered T1,T2,T16
StScrambleData 244 Covered T2,T3,T16
StWaitFlash 270 Covered T1,T2,T16


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T2,T16,T4
StCalcMask->StScrambleData 244 Covered T2,T3,T16
StCalcPlainEcc->StCalcMask 237 Covered T2,T3,T16
StCalcPlainEcc->StReqFlash 237 Covered T1,T18,T11
StIdle->StDisabled 193 Covered T10,T11,T12
StIdle->StPackData 197 Covered T1,T2,T3
StIdle->StPrePack 195 Covered T38,T5,T53
StPackData->StCalcPlainEcc 215 Covered T1,T2,T3
StPackData->StPostPack 218 Covered T18,T38,T5
StPostPack->StCalcPlainEcc 231 Covered T18,T38,T5
StPrePack->StPackData 205 Covered T38,T5,T53
StReqFlash->StIdle 273 Covered T1,T18,T4
StReqFlash->StWaitFlash 270 Covered T1,T2,T16
StScrambleData->StCalcEcc 252 Covered T2,T16,T4
StWaitFlash->StIdle 280 Covered T1,T2,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,T2,T3
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
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,T2,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,T2,T3
0 0 1 Covered T1,T2,T3
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 T10,T11,T12
StIdle 0 1 - - - - - - - - - - - - - Covered T38,T5,T53
StIdle 0 0 1 - - - - - - - - - - - - Covered T1,T2,T3
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T38,T5,T53
StPrePack - - - 0 - - - - - - - - - - - Covered T9
StPackData - - - - 1 - - - - - - - - - - Covered T1,T2,T3
StPackData - - - - 0 1 - - - - - - - - - Covered T18,T38,T5
StPackData - - - - 0 0 1 - - - - - - - - Covered T1,T2,T3
StPackData - - - - 0 0 0 - - - - - - - - Covered T1,T2,T3
StPostPack - - - - - - - 1 - - - - - - - Covered T18,T38,T5
StPostPack - - - - - - - 0 - - - - - - - Covered T9
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T2,T3,T16
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T1,T18,T11
StCalcMask - - - - - - - - - 1 - - - - - Covered T2,T3,T16
StCalcMask - - - - - - - - - 0 - - - - - Covered T2,T3,T16
StScrambleData - - - - - - - - - - 1 - - - - Covered T2,T16,T4
StScrambleData - - - - - - - - - - 0 - - - - Covered T2,T3,T16
StCalcEcc - - - - - - - - - - - - - - - Covered T2,T16,T4
StReqFlash - - - - - - - - - - - 1 1 - - Covered T1,T2,T16
StReqFlash - - - - - - - - - - - 1 0 - - Covered T4,T11,T12
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T1,T18,T4
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T4,T11,T38
StWaitFlash - - - - - - - - - - - - - - 1 Covered T1,T2,T16
StWaitFlash - - - - - - - - - - - - - - 0 Covered T1,T2,T16
StDisabled - - - - - - - - - - - - - - - Covered T10,T11,T12
default - - - - - - - - - - - - - - - Covered T14,T9,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,T2,T16
0 0 1 - - Covered T2,T3,T16
0 0 0 1 - Covered T2,T16,T4
0 0 0 0 1 Covered T1,T2,T3
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,T2,T3
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 402595816 1245566 0 0
PostPackRule_A 402595816 974 0 0
PrePackRule_A 402595816 685 0 0
WidthCheck_A 1047 1047 0 0
u_state_regs_A 402595816 401742277 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 402595816 1245566 0 0
T1 2531 1 0 0
T2 2133 1 0 0
T3 2089 0 0 0
T4 424035 880 0 0
T5 0 1 0 0
T10 3943 0 0 0
T11 835632 66560 0 0
T12 0 2 0 0
T16 1593 1 0 0
T17 3205 0 0 0
T18 2307 2 0 0
T19 1318 0 0 0
T24 0 2 0 0
T38 0 9 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 402595816 974 0 0
T4 424035 0 0 0
T5 70974 1 0 0
T10 3943 0 0 0
T11 835632 0 0 0
T12 1275 0 0 0
T18 2307 1 0 0
T19 1318 0 0 0
T28 114179 0 0 0
T38 8167 5 0 0
T53 0 6 0 0
T55 0 2 0 0
T71 0 2 0 0
T84 0 13 0 0
T86 1627 0 0 0
T231 0 1 0 0
T244 0 1 0 0
T245 0 2 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 402595816 685 0 0
T5 70974 1 0 0
T6 447487 0 0 0
T13 848804 0 0 0
T20 157513 0 0 0
T24 1853 0 0 0
T38 8167 6 0 0
T42 263351 0 0 0
T50 2729 0 0 0
T53 16660 5 0 0
T55 0 2 0 0
T71 0 2 0 0
T84 0 16 0 0
T86 1627 0 0 0
T116 0 3 0 0
T232 0 1 0 0
T244 0 1 0 0
T245 0 1 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1047 1047 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T10 1 1 0 0
T11 1 1 0 0
T16 1 1 0 0
T17 1 1 0 0
T18 1 1 0 0
T19 1 1 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 402595816 401742277 0 0
T1 2531 2442 0 0
T2 2133 2024 0 0
T3 2089 1943 0 0
T4 424035 423964 0 0
T10 3943 3342 0 0
T11 835632 835609 0 0
T16 1593 1431 0 0
T17 3205 2600 0 0
T18 2307 2229 0 0
T19 1318 1252 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
Conditions656498.46
Logical656498.46
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,T4,T11

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

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

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T4,T11
11CoveredT243

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

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

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

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT1,T4,T11
1CoveredT38,T53,T84

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

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

 LINE       194
 EXPRESSION (req_i && ((|sel_i)))
             --1--    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T4,T11
11CoveredT38,T53,T84

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0CoveredT9
1CoveredT38,T53,T84

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

 LINE       213
 SUB-EXPRESSION (idx == MaxIdx)
                -------1-------
-1-StatusTests
0CoveredT1,T4,T11
1CoveredT1,T4,T11

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT1,T4,T11
10CoveredT1,T4,T11
11CoveredT38,T53,T84

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0CoveredT9
1CoveredT38,T53,T84

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT1,T11,T38
1CoveredT4,T11,T13

 LINE       270
 EXPRESSION (ack ? StWaitFlash : StReqFlash)
             -1-
-1-StatusTests
0CoveredT1,T4,T11
1CoveredT1,T4,T11

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

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

 LINE       304
 EXPRESSION (calc_req_o && calc_ack_i)
             -----1----    -----2----
-1--2-StatusTests
01CoveredT2,T4,T11
10CoveredT4,T11,T13
11CoveredT4,T11,T13

 LINE       307
 EXPRESSION (scramble_req_o && scramble_ack_i)
             -------1------    -------2------
-1--2-StatusTests
01CoveredT2,T4,T11
10CoveredT4,T11,T13
11CoveredT4,T11,T13

 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,T4,T11
110CoveredT1,T4,T11
111CoveredT1,T4,T11

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

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

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 T4,T130,T149
StCalcMask 237 Covered T4,T130,T149
StCalcPlainEcc 215 Covered T1,T4,T11
StDisabled 193 Covered T10,T11,T12
StIdle 273 Covered T1,T2,T3
StPackData 197 Covered T1,T4,T11
StPostPack 218 Covered T38,T53,T84
StPrePack 195 Covered T38,T53,T84
StReqFlash 237 Covered T1,T4,T11
StScrambleData 244 Covered T4,T130,T149
StWaitFlash 270 Covered T1,T4,T11


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T4,T130,T149
StCalcMask->StScrambleData 244 Covered T4,T130,T149
StCalcPlainEcc->StCalcMask 237 Covered T4,T130,T149
StCalcPlainEcc->StReqFlash 237 Covered T1,T11,T38
StIdle->StDisabled 193 Covered T10,T11,T12
StIdle->StPackData 197 Covered T1,T4,T11
StIdle->StPrePack 195 Covered T38,T53,T84
StPackData->StCalcPlainEcc 215 Covered T1,T4,T11
StPackData->StPostPack 218 Covered T38,T53,T84
StPostPack->StCalcPlainEcc 231 Covered T38,T53,T84
StPrePack->StPackData 205 Covered T38,T53,T84
StReqFlash->StIdle 273 Covered T1,T4,T11
StReqFlash->StWaitFlash 270 Covered T1,T4,T11
StScrambleData->StCalcEcc 252 Covered T4,T130,T149
StWaitFlash->StIdle 280 Covered T1,T4,T11



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,T4,T11
0 Covered T1,T2,T3


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

Branches:
-1-StatusTests
1 Covered T1,T4,T11
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,T4,T11
0 1 Covered T1,T2,T18
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,T4,T11
0 0 1 Covered T1,T4,T11
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 T10,T11,T12
StIdle 0 1 - - - - - - - - - - - - - Covered T38,T53,T84
StIdle 0 0 1 - - - - - - - - - - - - Covered T1,T4,T11
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T38,T53,T84
StPrePack - - - 0 - - - - - - - - - - - Covered T9
StPackData - - - - 1 - - - - - - - - - - Covered T1,T4,T11
StPackData - - - - 0 1 - - - - - - - - - Covered T38,T53,T84
StPackData - - - - 0 0 1 - - - - - - - - Covered T1,T4,T11
StPackData - - - - 0 0 0 - - - - - - - - Covered T1,T4,T11
StPostPack - - - - - - - 1 - - - - - - - Covered T38,T53,T84
StPostPack - - - - - - - 0 - - - - - - - Covered T9
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T4,T11,T13
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T1,T11,T38
StCalcMask - - - - - - - - - 1 - - - - - Covered T4,T11,T13
StCalcMask - - - - - - - - - 0 - - - - - Covered T4,T11,T13
StScrambleData - - - - - - - - - - 1 - - - - Covered T4,T11,T13
StScrambleData - - - - - - - - - - 0 - - - - Covered T4,T11,T13
StCalcEcc - - - - - - - - - - - - - - - Covered T4,T11,T13
StReqFlash - - - - - - - - - - - 1 1 - - Covered T1,T4,T11
StReqFlash - - - - - - - - - - - 1 0 - - Covered T1,T4,T11
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T1,T4,T11
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T1,T4,T11
StWaitFlash - - - - - - - - - - - - - - 1 Covered T1,T4,T11
StWaitFlash - - - - - - - - - - - - - - 0 Covered T1,T4,T11
StDisabled - - - - - - - - - - - - - - - Covered T10,T11,T12
default - - - - - - - - - - - - - - - Covered T14,T9,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,T4,T11
0 0 1 - - Covered T4,T11,T13
0 0 0 1 - Covered T4,T11,T13
0 0 0 0 1 Covered T1,T4,T11
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,T4,T11
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 402595816 1206830 0 0
PostPackRule_A 402595816 996 0 0
PrePackRule_A 402595816 687 0 0
WidthCheck_A 1047 1047 0 0
u_state_regs_A 402595816 401742277 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 402595816 1206830 0 0
T1 2531 1 0 0
T2 2133 0 0 0
T3 2089 0 0 0
T4 424035 1199 0 0
T5 0 1 0 0
T6 0 1029 0 0
T10 3943 0 0 0
T11 835632 65600 0 0
T13 0 65600 0 0
T16 1593 0 0 0
T17 3205 0 0 0
T18 2307 0 0 0
T19 1318 0 0 0
T38 0 9 0 0
T53 0 21 0 0
T72 0 48 0 0
T84 0 33 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 402595816 996 0 0
T5 70974 0 0 0
T6 447487 0 0 0
T13 848804 0 0 0
T20 157513 0 0 0
T24 1853 0 0 0
T38 8167 5 0 0
T42 263351 0 0 0
T50 2729 0 0 0
T53 16660 12 0 0
T60 0 2 0 0
T71 0 3 0 0
T84 0 21 0 0
T86 1627 0 0 0
T99 0 1 0 0
T231 0 1 0 0
T232 0 1 0 0
T245 0 2 0 0
T246 0 1 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 402595816 687 0 0
T5 70974 0 0 0
T6 447487 0 0 0
T13 848804 0 0 0
T20 157513 0 0 0
T24 1853 0 0 0
T38 8167 5 0 0
T42 263351 0 0 0
T50 2729 0 0 0
T53 16660 14 0 0
T60 0 1 0 0
T71 0 2 0 0
T84 0 13 0 0
T86 1627 0 0 0
T116 0 5 0 0
T127 0 1 0 0
T245 0 3 0 0
T246 0 1 0 0
T247 0 1 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1047 1047 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T10 1 1 0 0
T11 1 1 0 0
T16 1 1 0 0
T17 1 1 0 0
T18 1 1 0 0
T19 1 1 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 402595816 401742277 0 0
T1 2531 2442 0 0
T2 2133 2024 0 0
T3 2089 1943 0 0
T4 424035 423964 0 0
T10 3943 3342 0 0
T11 835632 835609 0 0
T16 1593 1431 0 0
T17 3205 2600 0 0
T18 2307 2229 0 0
T19 1318 1252 0 0

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