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.57 96.63 84.91 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
98.40 98.88 95.28 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

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
1CoveredT1,T3,T17

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

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

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T3,T17
11CoveredT165,T166,T167

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

 LINE       144
 EXPRESSION (done_i | data_invalid_q)
             ---1--   -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT165,T166,T167
10CoveredT1,T2,T3

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

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT1,T3,T17
1CoveredT1,T5,T25

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

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

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

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0Not Covered
1CoveredT1,T5,T25

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

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

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT1,T3,T17
10CoveredT1,T3,T17
11CoveredT1,T5,T25

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0Not Covered
1CoveredT1,T5,T25

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT1,T17,T5
1CoveredT3,T17,T43

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

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

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

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

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

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

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

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


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T3,T17,T43
StCalcMask->StScrambleData 244 Covered T3,T17,T43
StCalcPlainEcc->StCalcMask 237 Covered T3,T17,T43
StCalcPlainEcc->StReqFlash 237 Covered T1,T17,T5
StIdle->StDisabled 193 Covered T10,T11,T12
StIdle->StPackData 197 Covered T1,T3,T17
StIdle->StPrePack 195 Covered T1,T5,T25
StPackData->StCalcPlainEcc 215 Covered T1,T3,T17
StPackData->StPostPack 218 Covered T1,T5,T25
StPostPack->StCalcPlainEcc 231 Covered T1,T5,T25
StPrePack->StPackData 205 Covered T1,T5,T25
StReqFlash->StIdle 273 Covered T1,T3,T17
StReqFlash->StWaitFlash 270 Covered T1,T3,T17
StScrambleData->StCalcEcc 252 Covered T3,T17,T43
StWaitFlash->StIdle 280 Covered T1,T3,T17



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


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

Branches:
-1-StatusTests
1 Covered T1,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 T1,T3,T17
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,T17
0 0 1 Covered T1,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 T10,T11,T12
StIdle 0 1 - - - - - - - - - - - - - Covered T1,T5,T25
StIdle 0 0 1 - - - - - - - - - - - - Covered T1,T3,T17
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T1,T5,T25
StPrePack - - - 0 - - - - - - - - - - - Not Covered
StPackData - - - - 1 - - - - - - - - - - Covered T1,T3,T17
StPackData - - - - 0 1 - - - - - - - - - Covered T1,T5,T25
StPackData - - - - 0 0 1 - - - - - - - - Covered T1,T3,T17
StPackData - - - - 0 0 0 - - - - - - - - Covered T1,T3,T17
StPostPack - - - - - - - 1 - - - - - - - Covered T1,T5,T25
StPostPack - - - - - - - 0 - - - - - - - Not Covered
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T3,T17,T43
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T1,T17,T5
StCalcMask - - - - - - - - - 1 - - - - - Covered T3,T17,T43
StCalcMask - - - - - - - - - 0 - - - - - Covered T3,T17,T43
StScrambleData - - - - - - - - - - 1 - - - - Covered T3,T17,T43
StScrambleData - - - - - - - - - - 0 - - - - Covered T3,T17,T43
StCalcEcc - - - - - - - - - - - - - - - Covered T3,T17,T43
StReqFlash - - - - - - - - - - - 1 1 - - Covered T1,T3,T17
StReqFlash - - - - - - - - - - - 1 0 - - Covered T1,T3,T17
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T1,T3,T17
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T1,T3,T17
StWaitFlash - - - - - - - - - - - - - - 1 Covered T1,T3,T17
StWaitFlash - - - - - - - - - - - - - - 0 Covered T1,T3,T17
StDisabled - - - - - - - - - - - - - - - Covered T10,T11,T12
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,T17
0 0 1 - - Covered T3,T17,T43
0 0 0 1 - Covered T3,T17,T43
0 0 0 0 1 Covered T1,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 T1,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 769335168 2438366 0 0
PostPackRule_A 769335168 1944 0 0
PrePackRule_A 769335168 1438 0 0
WidthCheck_A 2116 2116 0 0
u_state_regs_A 769335168 767617400 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 769335168 2438366 0 0
T1 105524 49 0 0
T2 245094 0 0 0
T3 204740 491 0 0
T4 412484 0 0 0
T5 136566 2 0 0
T6 348338 0 0 0
T11 0 32768 0 0
T16 105968 0 0 0
T17 194110 100 0 0
T18 2172 0 0 0
T19 2434 0 0 0
T25 0 5 0 0
T27 0 124 0 0
T31 0 1 0 0
T32 0 2 0 0
T33 0 1 0 0
T43 0 929 0 0
T47 0 524 0 0
T53 0 74 0 0
T71 0 5 0 0
T84 0 1 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 769335168 1944 0 0
T1 105524 27 0 0
T2 245094 0 0 0
T3 204740 0 0 0
T4 412484 0 0 0
T5 136566 1 0 0
T6 348338 0 0 0
T16 105968 0 0 0
T17 194110 0 0 0
T18 2172 0 0 0
T19 2434 0 0 0
T25 0 4 0 0
T26 0 4 0 0
T28 0 16 0 0
T29 0 9 0 0
T71 0 9 0 0
T103 0 68 0 0
T138 0 1 0 0
T203 0 4 0 0
T211 0 1 0 0
T212 0 37 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 769335168 1438 0 0
T1 105524 17 0 0
T2 245094 0 0 0
T3 204740 0 0 0
T4 412484 0 0 0
T5 136566 2 0 0
T6 348338 0 0 0
T16 105968 0 0 0
T17 194110 0 0 0
T18 2172 0 0 0
T19 2434 0 0 0
T25 0 2 0 0
T26 0 2 0 0
T28 0 13 0 0
T29 0 8 0 0
T30 0 1 0 0
T71 0 4 0 0
T103 0 47 0 0
T138 0 1 0 0
T203 0 3 0 0
T212 0 28 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 2116 2116 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
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 769335168 767617400 0 0
T1 105524 105408 0 0
T2 245094 245062 0 0
T3 204740 204564 0 0
T4 412484 412360 0 0
T5 136566 136380 0 0
T6 348338 348028 0 0
T16 105968 105806 0 0
T17 194110 193998 0 0
T18 2172 2046 0 0
T19 2434 2330 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
1CoveredT1,T3,T17

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

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

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T3,T17
11CoveredT20,T21,T110

 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,T21,T110
10CoveredT1,T2,T3

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

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT1,T3,T17
1CoveredT1,T25,T71

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

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

 LINE       194
 EXPRESSION (req_i && ((|sel_i)))
             --1--    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T3,T17
11CoveredT1,T25,T71

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0Not Covered
1CoveredT1,T25,T71

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

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

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT1,T3,T17
10CoveredT1,T3,T17
11CoveredT1,T25,T71

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0Not Covered
1CoveredT1,T25,T71

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT1,T17,T43
1CoveredT3,T53,T11

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

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

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

 LINE       304
 EXPRESSION (calc_req_o && calc_ack_i)
             -----1----    -----2----
-1--2-StatusTests
01CoveredT3,T6,T16
10CoveredT3,T53,T11
11CoveredT3,T53,T11

 LINE       307
 EXPRESSION (scramble_req_o && scramble_ack_i)
             -------1------    -------2------
-1--2-StatusTests
01CoveredT3,T6,T16
10CoveredT3,T53,T11
11CoveredT3,T53,T11

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

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

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

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


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



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


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

Branches:
-1-StatusTests
1 Covered T1,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 T1,T3,T17
0 1 Covered T2,T3,T6
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,T17
0 0 1 Covered T1,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 T10,T11,T12
StIdle 0 1 - - - - - - - - - - - - - Covered T1,T25,T71
StIdle 0 0 1 - - - - - - - - - - - - Covered T1,T3,T17
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T1,T25,T71
StPrePack - - - 0 - - - - - - - - - - - Not Covered
StPackData - - - - 1 - - - - - - - - - - Covered T1,T3,T17
StPackData - - - - 0 1 - - - - - - - - - Covered T1,T25,T71
StPackData - - - - 0 0 1 - - - - - - - - Covered T1,T3,T17
StPackData - - - - 0 0 0 - - - - - - - - Covered T1,T3,T17
StPostPack - - - - - - - 1 - - - - - - - Covered T1,T25,T71
StPostPack - - - - - - - 0 - - - - - - - Not Covered
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T3,T53,T11
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T1,T17,T43
StCalcMask - - - - - - - - - 1 - - - - - Covered T3,T53,T11
StCalcMask - - - - - - - - - 0 - - - - - Covered T3,T53,T11
StScrambleData - - - - - - - - - - 1 - - - - Covered T3,T53,T11
StScrambleData - - - - - - - - - - 0 - - - - Covered T3,T53,T11
StCalcEcc - - - - - - - - - - - - - - - Covered T3,T53,T11
StReqFlash - - - - - - - - - - - 1 1 - - Covered T1,T3,T17
StReqFlash - - - - - - - - - - - 1 0 - - Covered T1,T3,T17
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T1,T3,T17
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T1,T3,T17
StWaitFlash - - - - - - - - - - - - - - 1 Covered T1,T3,T17
StWaitFlash - - - - - - - - - - - - - - 0 Covered T1,T3,T17
StDisabled - - - - - - - - - - - - - - - Covered T10,T11,T12
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,T17
0 0 1 - - Covered T3,T53,T11
0 0 0 1 - Covered T3,T53,T11
0 0 0 0 1 Covered T1,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 T1,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[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 384667584 1207101 0 0
PostPackRule_A 384667584 949 0 0
PrePackRule_A 384667584 737 0 0
WidthCheck_A 1058 1058 0 0
u_state_regs_A 384667584 383808700 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 384667584 1207101 0 0
T1 52762 27 0 0
T2 122547 0 0 0
T3 102370 264 0 0
T4 206242 0 0 0
T5 68283 0 0 0
T6 174169 0 0 0
T11 0 32768 0 0
T16 52984 0 0 0
T17 97055 51 0 0
T18 1086 0 0 0
T19 1217 0 0 0
T25 0 5 0 0
T43 0 473 0 0
T47 0 242 0 0
T53 0 74 0 0
T71 0 5 0 0
T84 0 1 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 384667584 949 0 0
T1 52762 12 0 0
T2 122547 0 0 0
T3 102370 0 0 0
T4 206242 0 0 0
T5 68283 0 0 0
T6 174169 0 0 0
T16 52984 0 0 0
T17 97055 0 0 0
T18 1086 0 0 0
T19 1217 0 0 0
T25 0 3 0 0
T26 0 2 0 0
T28 0 7 0 0
T29 0 4 0 0
T71 0 5 0 0
T103 0 36 0 0
T138 0 1 0 0
T203 0 4 0 0
T212 0 15 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 384667584 737 0 0
T1 52762 9 0 0
T2 122547 0 0 0
T3 102370 0 0 0
T4 206242 0 0 0
T5 68283 0 0 0
T6 174169 0 0 0
T16 52984 0 0 0
T17 97055 0 0 0
T18 1086 0 0 0
T19 1217 0 0 0
T25 0 1 0 0
T26 0 1 0 0
T28 0 6 0 0
T29 0 5 0 0
T30 0 1 0 0
T71 0 1 0 0
T103 0 26 0 0
T203 0 3 0 0
T212 0 12 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1058 1058 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
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 384667584 383808700 0 0
T1 52762 52704 0 0
T2 122547 122531 0 0
T3 102370 102282 0 0
T4 206242 206180 0 0
T5 68283 68190 0 0
T6 174169 174014 0 0
T16 52984 52903 0 0
T17 97055 96999 0 0
T18 1086 1023 0 0
T19 1217 1165 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
1CoveredT1,T3,T17

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

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

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T3,T17
11CoveredT165,T166,T167

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

 LINE       144
 EXPRESSION (done_i | data_invalid_q)
             ---1--   -------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT165,T166,T167
10CoveredT1,T2,T3

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

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT1,T3,T17
1CoveredT1,T5,T25

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

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

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

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0Not Covered
1CoveredT1,T5,T25

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

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

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT1,T3,T17
10CoveredT1,T3,T17
11CoveredT1,T5,T25

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0Not Covered
1CoveredT1,T5,T25

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT1,T17,T5
1CoveredT3,T17,T43

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

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

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

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

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

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

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

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


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T3,T17,T43
StCalcMask->StScrambleData 244 Covered T3,T17,T43
StCalcPlainEcc->StCalcMask 237 Covered T3,T17,T43
StCalcPlainEcc->StReqFlash 237 Covered T1,T17,T5
StIdle->StDisabled 193 Covered T10,T11,T12
StIdle->StPackData 197 Covered T1,T3,T17
StIdle->StPrePack 195 Covered T1,T5,T25
StPackData->StCalcPlainEcc 215 Covered T1,T3,T17
StPackData->StPostPack 218 Covered T1,T5,T25
StPostPack->StCalcPlainEcc 231 Covered T1,T5,T25
StPrePack->StPackData 205 Covered T1,T5,T25
StReqFlash->StIdle 273 Covered T1,T3,T17
StReqFlash->StWaitFlash 270 Covered T1,T3,T17
StScrambleData->StCalcEcc 252 Covered T3,T17,T43
StWaitFlash->StIdle 280 Covered T1,T3,T17



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


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

Branches:
-1-StatusTests
1 Covered T1,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 T1,T3,T17
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,T17
0 0 1 Covered T1,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 T10,T11,T12
StIdle 0 1 - - - - - - - - - - - - - Covered T1,T5,T25
StIdle 0 0 1 - - - - - - - - - - - - Covered T1,T3,T17
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T1,T5,T25
StPrePack - - - 0 - - - - - - - - - - - Not Covered
StPackData - - - - 1 - - - - - - - - - - Covered T1,T3,T17
StPackData - - - - 0 1 - - - - - - - - - Covered T1,T5,T25
StPackData - - - - 0 0 1 - - - - - - - - Covered T1,T3,T17
StPackData - - - - 0 0 0 - - - - - - - - Covered T1,T3,T17
StPostPack - - - - - - - 1 - - - - - - - Covered T1,T5,T25
StPostPack - - - - - - - 0 - - - - - - - Not Covered
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T3,T17,T43
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T1,T17,T5
StCalcMask - - - - - - - - - 1 - - - - - Covered T3,T17,T43
StCalcMask - - - - - - - - - 0 - - - - - Covered T3,T17,T43
StScrambleData - - - - - - - - - - 1 - - - - Covered T3,T17,T43
StScrambleData - - - - - - - - - - 0 - - - - Covered T3,T17,T43
StCalcEcc - - - - - - - - - - - - - - - Covered T3,T17,T43
StReqFlash - - - - - - - - - - - 1 1 - - Covered T1,T3,T17
StReqFlash - - - - - - - - - - - 1 0 - - Covered T1,T3,T17
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T1,T3,T17
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T1,T3,T17
StWaitFlash - - - - - - - - - - - - - - 1 Covered T1,T3,T17
StWaitFlash - - - - - - - - - - - - - - 0 Covered T1,T3,T17
StDisabled - - - - - - - - - - - - - - - Covered T10,T11,T12
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,T17
0 0 1 - - Covered T3,T17,T43
0 0 0 1 - Covered T3,T17,T43
0 0 0 0 1 Covered T1,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 T1,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 384667584 1231265 0 0
PostPackRule_A 384667584 995 0 0
PrePackRule_A 384667584 701 0 0
WidthCheck_A 1058 1058 0 0
u_state_regs_A 384667584 383808700 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 384667584 1231265 0 0
T1 52762 22 0 0
T2 122547 0 0 0
T3 102370 227 0 0
T4 206242 0 0 0
T5 68283 2 0 0
T6 174169 0 0 0
T16 52984 0 0 0
T17 97055 49 0 0
T18 1086 0 0 0
T19 1217 0 0 0
T27 0 124 0 0
T31 0 1 0 0
T32 0 2 0 0
T33 0 1 0 0
T43 0 456 0 0
T47 0 282 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 384667584 995 0 0
T1 52762 15 0 0
T2 122547 0 0 0
T3 102370 0 0 0
T4 206242 0 0 0
T5 68283 1 0 0
T6 174169 0 0 0
T16 52984 0 0 0
T17 97055 0 0 0
T18 1086 0 0 0
T19 1217 0 0 0
T25 0 1 0 0
T26 0 2 0 0
T28 0 9 0 0
T29 0 5 0 0
T71 0 4 0 0
T103 0 32 0 0
T211 0 1 0 0
T212 0 22 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 384667584 701 0 0
T1 52762 8 0 0
T2 122547 0 0 0
T3 102370 0 0 0
T4 206242 0 0 0
T5 68283 2 0 0
T6 174169 0 0 0
T16 52984 0 0 0
T17 97055 0 0 0
T18 1086 0 0 0
T19 1217 0 0 0
T25 0 1 0 0
T26 0 1 0 0
T28 0 7 0 0
T29 0 3 0 0
T71 0 3 0 0
T103 0 21 0 0
T138 0 1 0 0
T212 0 16 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1058 1058 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
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 384667584 383808700 0 0
T1 52762 52704 0 0
T2 122547 122531 0 0
T3 102370 102282 0 0
T4 206242 206180 0 0
T5 68283 68190 0 0
T6 174169 174014 0 0
T16 52984 52903 0 0
T17 97055 96999 0 0
T18 1086 1023 0 0
T19 1217 1165 0 0

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