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
98.06 100.00 92.45 100.00 97.83 100.00 gen_flash_cores[0].u_core


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



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

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
99.38 100.00 96.92 100.00 100.00 100.00


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


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


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

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


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

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

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

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

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T10,T6
11CoveredT171,T7,T198

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

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

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

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT2,T10,T6
1CoveredT64,T47,T65

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

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

 LINE       194
 EXPRESSION (req_i && ((|sel_i)))
             --1--    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T10,T6
11CoveredT64,T47,T65

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0CoveredT13
1CoveredT64,T47,T65

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

 LINE       213
 SUB-EXPRESSION (idx == MaxIdx)
                -------1-------
-1-StatusTests
0CoveredT2,T10,T6
1CoveredT2,T10,T6

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT2,T10,T6
10CoveredT2,T10,T6
11CoveredT64,T47,T65

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0CoveredT13
1CoveredT64,T47,T65

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT2,T63,T43
1CoveredT2,T10,T6

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

 LINE       273
 EXPRESSION (ack ? StIdle : StReqFlash)
             -1-
-1-StatusTests
0CoveredT2,T6,T26
1CoveredT2,T10,T6

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

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

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

 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,T10,T6
110CoveredT2,T10,T6
111CoveredT2,T10,T6

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

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


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T2,T10,T6
StCalcMask->StScrambleData 244 Covered T2,T10,T6
StCalcPlainEcc->StCalcMask 237 Covered T2,T10,T6
StCalcPlainEcc->StReqFlash 237 Covered T2,T43,T64
StIdle->StDisabled 193 Covered T10,T11,T12
StIdle->StPackData 197 Covered T2,T10,T6
StIdle->StPrePack 195 Covered T64,T47,T65
StPackData->StCalcPlainEcc 215 Covered T2,T10,T6
StPackData->StPostPack 218 Covered T64,T47,T65
StPostPack->StCalcPlainEcc 231 Covered T64,T47,T65
StPrePack->StPackData 205 Covered T64,T47,T65
StReqFlash->StIdle 273 Covered T2,T10,T6
StReqFlash->StWaitFlash 270 Covered T2,T10,T6
StScrambleData->StCalcEcc 252 Covered T2,T10,T6
StWaitFlash->StIdle 280 Covered T2,T10,T6



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


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

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


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

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


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

Branches:
-1--2-StatusTests
1 - Covered T2,T10,T6
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,T10,T6
0 0 1 Covered T2,T10,T6
0 0 0 Covered T1,T2,T3


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

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


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

Branches:
-1--2--3--4--5--6--7--8--9--10--11--12--13--14--15--16-StatusTests
StIdle 1 - - - - - - - - - - - - - - Covered T10,T11,T12
StIdle 0 1 - - - - - - - - - - - - - Covered T64,T47,T65
StIdle 0 0 1 - - - - - - - - - - - - Covered T2,T10,T6
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T64,T47,T65
StPrePack - - - 0 - - - - - - - - - - - Covered T13
StPackData - - - - 1 - - - - - - - - - - Covered T2,T10,T6
StPackData - - - - 0 1 - - - - - - - - - Covered T64,T47,T65
StPackData - - - - 0 0 1 - - - - - - - - Covered T2,T10,T6
StPackData - - - - 0 0 0 - - - - - - - - Covered T2,T10,T6
StPostPack - - - - - - - 1 - - - - - - - Covered T64,T47,T65
StPostPack - - - - - - - 0 - - - - - - - Covered T13
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T2,T10,T6
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T2,T63,T43
StCalcMask - - - - - - - - - 1 - - - - - Covered T2,T10,T6
StCalcMask - - - - - - - - - 0 - - - - - Covered T2,T10,T6
StScrambleData - - - - - - - - - - 1 - - - - Covered T2,T10,T6
StScrambleData - - - - - - - - - - 0 - - - - Covered T2,T10,T6
StCalcEcc - - - - - - - - - - - - - - - Covered T2,T10,T6
StReqFlash - - - - - - - - - - - 1 1 - - Covered T2,T10,T6
StReqFlash - - - - - - - - - - - 1 0 - - Covered T2,T10,T6
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T2,T10,T6
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T2,T6,T26
StWaitFlash - - - - - - - - - - - - - - 1 Covered T2,T10,T6
StWaitFlash - - - - - - - - - - - - - - 0 Covered T2,T10,T6
StDisabled - - - - - - - - - - - - - - - Covered T10,T11,T12
default - - - - - - - - - - - - - - - Covered T15,T16,T17


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,T10,T6
0 0 1 - - Covered T2,T10,T6
0 0 0 1 - Covered T2,T10,T6
0 0 0 0 1 Covered T2,T10,T6
0 0 0 0 0 Covered T1,T2,T3


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

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


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

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


Assert Coverage for 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 784305124 2441148 0 0
PostPackRule_A 784305124 1948 0 0
PrePackRule_A 784305124 1387 0 0
WidthCheck_A 2126 2126 0 0
u_state_regs_A 784305124 782690032 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 784305124 2441148 0 0
T2 379624 100 0 0
T3 2720 0 0 0
T4 227502 0 0 0
T5 154380 0 0 0
T6 796970 1908 0 0
T10 2140 2 0 0
T14 0 65920 0 0
T18 5140 0 0 0
T19 7452 0 0 0
T20 2438 0 0 0
T25 0 1 0 0
T26 0 1242 0 0
T27 0 1 0 0
T43 0 753 0 0
T46 0 130 0 0
T47 0 2 0 0
T53 968 0 0 0
T54 0 630 0 0
T64 0 75 0 0
T76 0 100 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 784305124 1948 0 0
T27 4010 0 0 0
T28 3062 0 0 0
T42 0 1 0 0
T46 347094 0 0 0
T47 6200 1 0 0
T54 698010 0 0 0
T64 73806 44 0 0
T65 14892 3 0 0
T71 0 6 0 0
T72 0 2 0 0
T73 0 12 0 0
T76 326160 0 0 0
T91 6876 0 0 0
T98 1868 0 0 0
T146 0 2 0 0
T150 0 2 0 0
T163 0 1 0 0
T242 0 1 0 0
T243 0 3 0 0
T244 0 1 0 0
T245 0 3 0 0
T246 0 2 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 784305124 1387 0 0
T27 4010 0 0 0
T28 3062 0 0 0
T46 347094 0 0 0
T47 6200 1 0 0
T54 698010 0 0 0
T64 73806 31 0 0
T65 14892 2 0 0
T71 0 6 0 0
T72 0 2 0 0
T73 0 9 0 0
T76 326160 0 0 0
T91 6876 0 0 0
T98 1868 0 0 0
T146 0 1 0 0
T150 0 1 0 0
T154 0 5 0 0
T163 0 1 0 0
T242 0 2 0 0
T243 0 2 0 0
T245 0 1 0 0
T246 0 1 0 0
T247 0 4 0 0
T248 0 1 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 2126 2126 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
T10 2 2 0 0
T18 2 2 0 0
T19 2 2 0 0
T20 2 2 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 784305124 782690032 0 0
T1 3050 2864 0 0
T2 379624 379426 0 0
T3 2720 2552 0 0
T4 227502 227478 0 0
T5 154380 154126 0 0
T6 796970 796868 0 0
T10 2140 1966 0 0
T18 5140 4970 0 0
T19 7452 5994 0 0
T20 2438 2312 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
1CoveredT2,T10,T6

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

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

 LINE       126
 SUB-EXPRESSION (pack_valid & ((~data_intg_ok)))
                 -----1----   --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T10,T6
11CoveredT171,T7,T198

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

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

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

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT2,T10,T6
1CoveredT64,T65,T71

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

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

 LINE       194
 EXPRESSION (req_i && ((|sel_i)))
             --1--    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T10,T6
11CoveredT64,T65,T71

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0CoveredT13
1CoveredT64,T65,T71

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

 LINE       213
 SUB-EXPRESSION (idx == MaxIdx)
                -------1-------
-1-StatusTests
0CoveredT2,T10,T6
1CoveredT2,T10,T6

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT2,T10,T6
10CoveredT2,T10,T6
11CoveredT64,T65,T71

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0CoveredT13
1CoveredT64,T65,T71

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT2,T43,T64
1CoveredT2,T10,T6

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

 LINE       273
 EXPRESSION (ack ? StIdle : StReqFlash)
             -1-
-1-StatusTests
0CoveredT2,T6,T26
1CoveredT2,T10,T6

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

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

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

 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,T10,T6
110CoveredT2,T10,T6
111CoveredT2,T10,T6

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

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


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T2,T10,T6
StCalcMask->StScrambleData 244 Covered T2,T10,T6
StCalcPlainEcc->StCalcMask 237 Covered T2,T10,T6
StCalcPlainEcc->StReqFlash 237 Covered T2,T43,T64
StIdle->StDisabled 193 Covered T10,T11,T12
StIdle->StPackData 197 Covered T2,T10,T6
StIdle->StPrePack 195 Covered T64,T65,T71
StPackData->StCalcPlainEcc 215 Covered T2,T10,T6
StPackData->StPostPack 218 Covered T64,T65,T71
StPostPack->StCalcPlainEcc 231 Covered T64,T65,T71
StPrePack->StPackData 205 Covered T64,T65,T71
StReqFlash->StIdle 273 Covered T2,T10,T6
StReqFlash->StWaitFlash 270 Covered T2,T10,T6
StScrambleData->StCalcEcc 252 Covered T2,T10,T6
StWaitFlash->StIdle 280 Covered T2,T10,T6



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


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

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


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

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


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

Branches:
-1--2-StatusTests
1 - Covered T2,T10,T6
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,T10,T6
0 0 1 Covered T2,T10,T6
0 0 0 Covered T1,T2,T3


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

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


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

Branches:
-1--2--3--4--5--6--7--8--9--10--11--12--13--14--15--16-StatusTests
StIdle 1 - - - - - - - - - - - - - - Covered T10,T11,T12
StIdle 0 1 - - - - - - - - - - - - - Covered T64,T65,T71
StIdle 0 0 1 - - - - - - - - - - - - Covered T2,T10,T6
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T64,T65,T71
StPrePack - - - 0 - - - - - - - - - - - Covered T13
StPackData - - - - 1 - - - - - - - - - - Covered T2,T10,T6
StPackData - - - - 0 1 - - - - - - - - - Covered T64,T65,T71
StPackData - - - - 0 0 1 - - - - - - - - Covered T2,T10,T6
StPackData - - - - 0 0 0 - - - - - - - - Covered T2,T10,T6
StPostPack - - - - - - - 1 - - - - - - - Covered T64,T65,T71
StPostPack - - - - - - - 0 - - - - - - - Covered T13
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T2,T10,T6
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T2,T43,T64
StCalcMask - - - - - - - - - 1 - - - - - Covered T2,T10,T6
StCalcMask - - - - - - - - - 0 - - - - - Covered T2,T10,T6
StScrambleData - - - - - - - - - - 1 - - - - Covered T2,T10,T6
StScrambleData - - - - - - - - - - 0 - - - - Covered T2,T10,T6
StCalcEcc - - - - - - - - - - - - - - - Covered T2,T10,T6
StReqFlash - - - - - - - - - - - 1 1 - - Covered T2,T10,T6
StReqFlash - - - - - - - - - - - 1 0 - - Covered T2,T10,T6
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T2,T10,T6
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T2,T6,T26
StWaitFlash - - - - - - - - - - - - - - 1 Covered T2,T10,T6
StWaitFlash - - - - - - - - - - - - - - 0 Covered T2,T10,T6
StDisabled - - - - - - - - - - - - - - - Covered T10,T11,T12
default - - - - - - - - - - - - - - - Covered T15,T16,T17


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,T10,T6
0 0 1 - - Covered T2,T10,T6
0 0 0 1 - Covered T2,T10,T6
0 0 0 0 1 Covered T2,T10,T6
0 0 0 0 0 Covered T1,T2,T3


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

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


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

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


Assert Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[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 392152562 1234599 0 0
PostPackRule_A 392152562 961 0 0
PrePackRule_A 392152562 671 0 0
WidthCheck_A 1063 1063 0 0
u_state_regs_A 392152562 391345016 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 392152562 1234599 0 0
T2 189812 52 0 0
T3 1360 0 0 0
T4 113751 0 0 0
T5 77190 0 0 0
T6 398485 1031 0 0
T10 1070 2 0 0
T14 0 33152 0 0
T18 2570 0 0 0
T19 3726 0 0 0
T20 1219 0 0 0
T26 0 660 0 0
T27 0 1 0 0
T43 0 564 0 0
T46 0 130 0 0
T53 484 0 0 0
T64 0 37 0 0
T76 0 47 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 392152562 961 0 0
T27 2005 0 0 0
T28 1531 0 0 0
T46 173547 0 0 0
T47 3100 0 0 0
T54 349005 0 0 0
T64 36903 20 0 0
T65 7446 3 0 0
T71 0 5 0 0
T73 0 5 0 0
T76 163080 0 0 0
T91 3438 0 0 0
T98 934 0 0 0
T146 0 2 0 0
T163 0 1 0 0
T243 0 1 0 0
T244 0 1 0 0
T245 0 1 0 0
T246 0 2 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 392152562 671 0 0
T27 2005 0 0 0
T28 1531 0 0 0
T46 173547 0 0 0
T47 3100 0 0 0
T54 349005 0 0 0
T64 36903 14 0 0
T65 7446 2 0 0
T71 0 4 0 0
T73 0 4 0 0
T76 163080 0 0 0
T91 3438 0 0 0
T98 934 0 0 0
T146 0 1 0 0
T154 0 3 0 0
T163 0 1 0 0
T245 0 1 0 0
T246 0 1 0 0
T247 0 4 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1063 1063 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
T10 1 1 0 0
T18 1 1 0 0
T19 1 1 0 0
T20 1 1 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 392152562 391345016 0 0
T1 1525 1432 0 0
T2 189812 189713 0 0
T3 1360 1276 0 0
T4 113751 113739 0 0
T5 77190 77063 0 0
T6 398485 398434 0 0
T10 1070 983 0 0
T18 2570 2485 0 0
T19 3726 2997 0 0
T20 1219 1156 0 0

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


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

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

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

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

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

 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,T9
10CoveredT2,T3,T4

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

 LINE       148
 SUB-EXPRESSION (idx_sub_one == sel_i)
                -----------1----------
-1-StatusTests
0CoveredT2,T6,T25
1CoveredT64,T47,T42

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

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

 LINE       194
 EXPRESSION (req_i && ((|sel_i)))
             --1--    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT2,T6,T25
11CoveredT64,T47,T242

 LINE       204
 EXPRESSION (idx == align_next)
            ---------1---------
-1-StatusTests
0CoveredT13
1CoveredT64,T47,T242

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

 LINE       213
 SUB-EXPRESSION (idx == MaxIdx)
                -------1-------
-1-StatusTests
0CoveredT2,T6,T25
1CoveredT2,T6,T25

 LINE       216
 EXPRESSION (req_i && last_i)
             --1--    ---2--
-1--2-StatusTests
01CoveredT2,T6,T25
10CoveredT2,T6,T25
11CoveredT64,T47,T42

 LINE       230
 EXPRESSION (idx == MaxIdx)
            -------1-------
-1-StatusTests
0CoveredT13
1CoveredT64,T47,T42

 LINE       237
 EXPRESSION (scramble_i ? StCalcMask : StReqFlash)
             -----1----
-1-StatusTests
0CoveredT2,T63,T64
1CoveredT6,T25,T26

 LINE       270
 EXPRESSION (ack ? StWaitFlash : StReqFlash)
             -1-
-1-StatusTests
0CoveredT2,T6,T26
1CoveredT2,T6,T25

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

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

 LINE       304
 EXPRESSION (calc_req_o && calc_ack_i)
             -----1----    -----2----
-1--2-StatusTests
01CoveredT5,T6,T25
10CoveredT6,T25,T26
11CoveredT6,T25,T26

 LINE       307
 EXPRESSION (scramble_req_o && scramble_ack_i)
             -------1------    -------2------
-1--2-StatusTests
01CoveredT5,T6,T25
10CoveredT6,T25,T26
11CoveredT6,T25,T26

 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,T6,T25
110CoveredT2,T6,T25
111CoveredT2,T6,T25

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

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

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

State, Transition and Sequence Details for FSM :: state_q
statesLine No.CoveredTests
StCalcEcc 252 Covered T6,T25,T26
StCalcMask 237 Covered T6,T25,T26
StCalcPlainEcc 215 Covered T2,T6,T25
StDisabled 193 Covered T10,T11,T12
StIdle 273 Covered T1,T2,T3
StPackData 197 Covered T2,T6,T25
StPostPack 218 Covered T64,T47,T42
StPrePack 195 Covered T64,T47,T242
StReqFlash 237 Covered T2,T6,T25
StScrambleData 244 Covered T6,T25,T26
StWaitFlash 270 Covered T2,T6,T25


transitionsLine No.CoveredTests
StCalcEcc->StReqFlash 257 Covered T6,T25,T26
StCalcMask->StScrambleData 244 Covered T6,T25,T26
StCalcPlainEcc->StCalcMask 237 Covered T6,T25,T26
StCalcPlainEcc->StReqFlash 237 Covered T2,T64,T76
StIdle->StDisabled 193 Covered T10,T11,T12
StIdle->StPackData 197 Covered T2,T6,T25
StIdle->StPrePack 195 Covered T64,T47,T242
StPackData->StCalcPlainEcc 215 Covered T2,T6,T25
StPackData->StPostPack 218 Covered T64,T47,T42
StPostPack->StCalcPlainEcc 231 Covered T64,T47,T42
StPrePack->StPackData 205 Covered T64,T47,T242
StReqFlash->StIdle 273 Covered T2,T6,T26
StReqFlash->StWaitFlash 270 Covered T2,T6,T25
StScrambleData->StCalcEcc 252 Covered T6,T25,T26
StWaitFlash->StIdle 280 Covered T2,T6,T25



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


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

Branches:
-1-StatusTests
1 Covered T2,T6,T25
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,T6,T25
0 1 Covered T2,T3,T4
0 0 Covered T1,T2,T3


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

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


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

Branches:
-1--2--3-StatusTests
1 - - Covered T1,T2,T3
0 1 - Covered T2,T6,T25
0 0 1 Covered T2,T6,T25
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 T64,T47,T242
StIdle 0 0 1 - - - - - - - - - - - - Covered T2,T6,T25
StIdle 0 0 0 - - - - - - - - - - - - Covered T1,T2,T3
StPrePack - - - 1 - - - - - - - - - - - Covered T64,T47,T242
StPrePack - - - 0 - - - - - - - - - - - Covered T13
StPackData - - - - 1 - - - - - - - - - - Covered T2,T6,T25
StPackData - - - - 0 1 - - - - - - - - - Covered T64,T47,T42
StPackData - - - - 0 0 1 - - - - - - - - Covered T2,T6,T25
StPackData - - - - 0 0 0 - - - - - - - - Covered T2,T6,T25
StPostPack - - - - - - - 1 - - - - - - - Covered T64,T47,T42
StPostPack - - - - - - - 0 - - - - - - - Covered T13
StCalcPlainEcc - - - - - - - - 1 - - - - - - Covered T6,T25,T26
StCalcPlainEcc - - - - - - - - 0 - - - - - - Covered T2,T63,T64
StCalcMask - - - - - - - - - 1 - - - - - Covered T6,T25,T26
StCalcMask - - - - - - - - - 0 - - - - - Covered T6,T25,T26
StScrambleData - - - - - - - - - - 1 - - - - Covered T6,T25,T26
StScrambleData - - - - - - - - - - 0 - - - - Covered T6,T25,T26
StCalcEcc - - - - - - - - - - - - - - - Covered T6,T25,T26
StReqFlash - - - - - - - - - - - 1 1 - - Covered T2,T6,T25
StReqFlash - - - - - - - - - - - 1 0 - - Covered T2,T6,T26
StReqFlash - - - - - - - - - - - 0 - 1 - Covered T2,T6,T26
StReqFlash - - - - - - - - - - - 0 - 0 - Covered T2,T6,T26
StWaitFlash - - - - - - - - - - - - - - 1 Covered T2,T6,T25
StWaitFlash - - - - - - - - - - - - - - 0 Covered T2,T6,T25
StDisabled - - - - - - - - - - - - - - - Covered T10,T11,T12
default - - - - - - - - - - - - - - - Covered T15,T16,T17


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,T6,T25
0 0 1 - - Covered T6,T25,T26
0 0 0 1 - Covered T6,T25,T26
0 0 0 0 1 Covered T2,T6,T25
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,T6,T25
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 392152562 1206549 0 0
PostPackRule_A 392152562 987 0 0
PrePackRule_A 392152562 716 0 0
WidthCheck_A 1063 1063 0 0
u_state_regs_A 392152562 391345016 0 0


OneDonePerTxn_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 392152562 1206549 0 0
T2 189812 48 0 0
T3 1360 0 0 0
T4 113751 0 0 0
T5 77190 0 0 0
T6 398485 877 0 0
T10 1070 0 0 0
T14 0 32768 0 0
T18 2570 0 0 0
T19 3726 0 0 0
T20 1219 0 0 0
T25 0 1 0 0
T26 0 582 0 0
T43 0 189 0 0
T47 0 2 0 0
T53 484 0 0 0
T54 0 630 0 0
T64 0 38 0 0
T76 0 53 0 0

PostPackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 392152562 987 0 0
T27 2005 0 0 0
T28 1531 0 0 0
T42 0 1 0 0
T46 173547 0 0 0
T47 3100 1 0 0
T54 349005 0 0 0
T64 36903 24 0 0
T65 7446 0 0 0
T71 0 1 0 0
T72 0 2 0 0
T73 0 7 0 0
T76 163080 0 0 0
T91 3438 0 0 0
T98 934 0 0 0
T150 0 2 0 0
T242 0 1 0 0
T243 0 2 0 0
T245 0 2 0 0

PrePackRule_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 392152562 716 0 0
T27 2005 0 0 0
T28 1531 0 0 0
T46 173547 0 0 0
T47 3100 1 0 0
T54 349005 0 0 0
T64 36903 17 0 0
T65 7446 0 0 0
T71 0 2 0 0
T72 0 2 0 0
T73 0 5 0 0
T76 163080 0 0 0
T91 3438 0 0 0
T98 934 0 0 0
T150 0 1 0 0
T154 0 2 0 0
T242 0 2 0 0
T243 0 2 0 0
T248 0 1 0 0

WidthCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1063 1063 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
T10 1 1 0 0
T18 1 1 0 0
T19 1 1 0 0
T20 1 1 0 0

u_state_regs_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 392152562 391345016 0 0
T1 1525 1432 0 0
T2 189812 189713 0 0
T3 1360 1276 0 0
T4 113751 113739 0 0
T5 77190 77063 0 0
T6 398485 398434 0 0
T10 1070 983 0 0
T18 2570 2485 0 0
T19 3726 2997 0 0
T20 1219 1156 0 0

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