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

Module : hmac_core
SCORELINECONDTOGGLEFSMBRANCHASSERT
93.77 97.17 88.24 100.00 89.66

Source File(s) :
/workspace/default/sim-vcs/../src/lowrisc_ip_hmac_0.1/rtl/hmac_core.sv

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.u_hmac 96.79 97.17 95.45 100.00 94.55



Module Instance : tb.dut.u_hmac

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
96.79 97.17 95.45 100.00 94.55


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
96.79 97.17 95.45 100.00 94.55


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
84.28 94.90 84.09 100.00 40.00 86.67 100.00 dut


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children

Line Coverage for Module : hmac_core
Line No.TotalCoveredPercent
TOTAL10610397.17
CONT_ASSIGN10911100.00
CONT_ASSIGN11011100.00
CONT_ASSIGN11111100.00
CONT_ASSIGN11211100.00
CONT_ASSIGN11411100.00
CONT_ASSIGN11611100.00
CONT_ASSIGN11711100.00
CONT_ASSIGN12011100.00
CONT_ASSIGN12211100.00
CONT_ASSIGN12311100.00
CONT_ASSIGN13011100.00
CONT_ASSIGN13511100.00
CONT_ASSIGN13711100.00
ALWAYS1458787.50
ALWAYS16066100.00
ALWAYS17044100.00
ALWAYS17866100.00
CONT_ASSIGN18711100.00
ALWAYS19033100.00
ALWAYS195646296.88
CONT_ASSIGN32911100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_hmac_0.1/rtl/hmac_core.sv' or '../src/lowrisc_ip_hmac_0.1/rtl/hmac_core.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
109 1 1
110 1 1
111 1 1
112 1 1
114 1 1
116 1 1
117 1 1
120 1 1
122 1 1
123 1 1
130 1 1
135 1 1
137 1 1
145 1 1
146 1 1
147 1 1
148 1 1
149 1 1
152 0 1
153 1 1
154 1 1
MISSING_ELSE
160 1 1
161 1 1
162 1 1
163 1 1
164 1 1
165 1 1
MISSING_ELSE
170 1 1
171 1 1
172 1 1
173 1 1
MISSING_ELSE
178 1 1
179 1 1
180 1 1
181 1 1
182 1 1
183 1 1
==> MISSING_ELSE
187 1 1
190 2 2
191 1 1
195 1 1
196 1 1
198 1 1
199 1 1
201 1 1
202 1 1
204 1 1
205 1 1
207 1 1
209 1 1
211 1 1
212 1 1
213 1 1
215 1 1
217 1 1
218 1 1
220 1 1
221 1 1
222 1 1
223 1 1
225 1 1
230 1 1
232 1 1
233 1 1
235 1 1
237 1 1
239 1 1
244 1 1
245 1 1
247 1 1
248 0 1
249 0 1
MISSING_ELSE
252 1 1
254 1 1
256 1 1
257 1 1
259 1 1
261 1 1
266 1 1
268 1 1
269 1 1
270 1 1
272 1 1
275 1 1
280 1 1
281 1 1
282 1 1
283 1 1
285 1 1
286 1 1
288 1 1
289 1 1
290 1 1
291 1 1
293 1 1
299 1 1
300 1 1
302 1 1
303 1 1
305 1 1
307 1 1
309 1 1
315 1 1
317 1 1
329 1 1


Cond Coverage for Module : hmac_core
TotalCoveredPercent
Conditions1029088.24
Logical1029088.24
Non-Logical00
Event00

 LINE       109
 EXPRESSION (hmac_en ? hash_start : reg_hash_start)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T11

 LINE       110
 EXPRESSION (hmac_en ? hash_continue : reg_hash_continue)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T11

 LINE       111
 EXPRESSION (hmac_en ? (reg_hash_process | hash_process) : reg_hash_process)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T11

 LINE       111
 SUB-EXPRESSION (reg_hash_process | hash_process)
                 --------1-------   ------2-----
-1--2-StatusTests
00CoveredT1,T2,T11
01CoveredT1,T2,T11
10CoveredT1,T2,T11

 LINE       112
 EXPRESSION (hmac_en ? hmac_hash_done : sha_hash_done)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T11

 LINE       120
 EXPRESSION (hmac_en ? ((st_q == StMsg) & sha_rready) : sha_rready)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T11

 LINE       120
 SUB-EXPRESSION ((st_q == StMsg) & sha_rready)
                 -------1-------   -----2----
-1--2-StatusTests
01CoveredT1,T2,T11
10CoveredT1,T2,T11
11CoveredT1,T2,T11

 LINE       120
 SUB-EXPRESSION (st_q == StMsg)
                -------1-------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       122
 EXPRESSION (((!hmac_en)) ? fifo_rvalid : hmac_sha_rvalid)
             ------1-----
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T3

 LINE       123
 EXPRESSION 
 Number  Term
      1  ((!hmac_en)) ? fifo_rdata : ((sel_rdata == SelIPad) ? ('{data:i_pad[((BlockSize - 1) - (32 * pad_index))-:32], mask:'1}) : ((sel_rdata == SelOPad) ? ('{data:o_pad[((BlockSize - 1) - (32 * pad_index))-:32], mask:'1}) : ((sel_rdata == SelFifo) ? fifo_rdata : ('{(*adjust*)default:'0, (*adjust*)default:'0})))))
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T3

 LINE       123
 SUB-EXPRESSION 
 Number  Term
      1  (sel_rdata == SelIPad) ? ('{data:i_pad[((BlockSize - 1) - (32 * pad_index))-:32], mask:'1}) : ((sel_rdata == SelOPad) ? ('{data:o_pad[((BlockSize - 1) - (32 * pad_index))-:32], mask:'1}) : ((sel_rdata == SelFifo) ? fifo_rdata : ('{(*adjust*)default:'0, (*adjust*)default:'0}))))
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       123
 SUB-EXPRESSION (sel_rdata == SelIPad)
                -----------1----------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       123
 SUB-EXPRESSION 
 Number  Term
      1  (sel_rdata == SelOPad) ? ('{data:o_pad[((BlockSize - 1) - (32 * pad_index))-:32], mask:'1}) : ((sel_rdata == SelFifo) ? fifo_rdata : ('{(*adjust*)default:'0, (*adjust*)default:'0})))
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       123
 SUB-EXPRESSION (sel_rdata == SelOPad)
                -----------1----------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       123
 SUB-EXPRESSION ((sel_rdata == SelFifo) ? fifo_rdata : ('{(*adjust*)default:'0, (*adjust*)default:'0}))
                 -----------1----------
-1-StatusTests
0Not Covered
1CoveredT1,T2,T11

 LINE       123
 SUB-EXPRESSION (sel_rdata == SelFifo)
                -----------1----------
-1-StatusTests
0Not Covered
1CoveredT1,T2,T11

 LINE       130
 EXPRESSION 
 Number  Term
      1  ((!hmac_en)) ? message_length : ((sel_msglen == SelIPadMsg) ? ((message_length + BlockSize64)) : ((sel_msglen == SelOPadMsg) ? ((BlockSize64 + 64'h0000000000000100)) : '0)))
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T3

 LINE       130
 SUB-EXPRESSION ((sel_msglen == SelIPadMsg) ? ((message_length + BlockSize64)) : ((sel_msglen == SelOPadMsg) ? ((BlockSize64 + 64'h0000000000000100)) : '0))
                 -------------1------------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       130
 SUB-EXPRESSION (sel_msglen == SelIPadMsg)
                -------------1------------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       130
 SUB-EXPRESSION ((sel_msglen == SelOPadMsg) ? ((BlockSize64 + 64'h0000000000000100)) : '0)
                 -------------1------------
-1-StatusTests
0Not Covered
1CoveredT1,T2,T11

 LINE       130
 SUB-EXPRESSION (sel_msglen == SelOPadMsg)
                -------------1------------
-1-StatusTests
0Not Covered
1CoveredT1,T2,T11

 LINE       135
 EXPRESSION (txcount[BlockSizeBits:0] == BlockSizeBSB)
            ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       137
 EXPRESSION (sha_rready && sha_rvalid)
             -----1----    -----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10Not Covered
11CoveredT1,T2,T3

 LINE       164
 EXPRESSION (hmac_hash_done || reg_hash_start || reg_hash_continue)
             -------1------    -------2------    --------3--------
-1--2--3-StatusTests
000CoveredT1,T2,T3
001Not Covered
010CoveredT1,T2,T3
100CoveredT1,T2,T11

 LINE       182
 EXPRESSION (fifo_wsel && fifo_wvalid)
             ----1----    -----2-----
-1--2-StatusTests
01Not Covered
10Not Covered
11CoveredT1,T2,T11

 LINE       187
 EXPRESSION ((round_q == Inner) ? SelIPadMsg : SelOPadMsg)
             ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T3

 LINE       187
 SUB-EXPRESSION (round_q == Inner)
                ---------1--------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       217
 EXPRESSION (hmac_en && reg_hash_start)
             ---1---    -------2------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T11
11CoveredT1,T2,T11

 LINE       245
 EXPRESSION (round_q == Outer)
            ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       247
 EXPRESSION ((round_q == Inner) && reg_hash_continue)
             ---------1--------    --------2--------
-1--2-StatusTests
01Not Covered
10CoveredT1,T2,T11
11Not Covered

 LINE       247
 SUB-EXPRESSION (round_q == Inner)
                ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       252
 EXPRESSION ((((round_q == Inner) && reg_hash_process_flag) || (round_q == Outer)) && (txcount >= sha_message_length))
             ----------------------------------1----------------------------------    ---------------2---------------
-1--2-StatusTests
01CoveredT1,T11,T21
10CoveredT1,T2,T11
11CoveredT1,T2,T11

 LINE       252
 SUB-EXPRESSION (((round_q == Inner) && reg_hash_process_flag) || (round_q == Outer))
                 ----------------------1----------------------    ---------2--------
-1--2-StatusTests
00CoveredT1,T2,T11
01CoveredT1,T2,T11
10CoveredT1,T2,T11

 LINE       252
 SUB-EXPRESSION ((round_q == Inner) && reg_hash_process_flag)
                 ---------1--------    ----------2----------
-1--2-StatusTests
01CoveredT1,T2,T11
10CoveredT1,T2,T11
11CoveredT1,T2,T11

 LINE       252
 SUB-EXPRESSION (round_q == Inner)
                ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       252
 SUB-EXPRESSION (round_q == Outer)
                ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       257
 EXPRESSION (round_q == Outer)
            ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       269
 EXPRESSION (round_q == Outer)
            ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       285
 EXPRESSION (fifo_wready && (fifo_wdata_sel == 3'h7))
             -----1-----    ------------2-----------
-1--2-StatusTests
01Not Covered
10CoveredT1,T2,T11
11CoveredT1,T2,T11

 LINE       285
 SUB-EXPRESSION (fifo_wdata_sel == 3'h7)
                ------------1-----------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       329
 EXPRESSION ((st_q == StIdle) && ( ! (reg_hash_start || reg_hash_continue) ))
             --------1-------    ---------------------2---------------------
-1--2-StatusTests
01CoveredT1,T2,T11
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       329
 SUB-EXPRESSION (st_q == StIdle)
                --------1-------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       329
 SUB-EXPRESSION ( ! (reg_hash_start || reg_hash_continue) )
                    ------------------1------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       329
 SUB-EXPRESSION (reg_hash_start || reg_hash_continue)
                 -------1------    --------2--------
-1--2-StatusTests
00CoveredT1,T2,T3
01Not Covered
10CoveredT1,T2,T3

FSM Coverage for Module : hmac_core
Summary for FSM :: st_q
TotalCoveredPercent
States 7 7 100.00 (Not included in score)
Transitions 8 8 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: st_q
statesLine No.CoveredTests
StDone 270 Covered T1,T2,T11
StIPad 218 Covered T1,T2,T11
StIdle 225 Covered T1,T2,T3
StMsg 233 Covered T1,T2,T11
StOPad 286 Covered T1,T2,T11
StPushToMsgFifo 272 Covered T1,T2,T11
StWaitResp 254 Covered T1,T2,T11


transitionsLine No.CoveredTests
StDone->StIdle 315 Covered T1,T2,T11
StIPad->StMsg 233 Covered T1,T2,T11
StIdle->StIPad 218 Covered T1,T2,T11
StMsg->StWaitResp 254 Covered T1,T2,T11
StOPad->StMsg 303 Covered T1,T2,T11
StPushToMsgFifo->StOPad 286 Covered T1,T2,T11
StWaitResp->StDone 270 Covered T1,T2,T11
StWaitResp->StPushToMsgFifo 272 Covered T1,T2,T11



Branch Coverage for Module : hmac_core
Line No.TotalCoveredPercent
Branches 58 52 89.66
TERNARY 109 2 2 100.00
TERNARY 110 2 2 100.00
TERNARY 111 2 2 100.00
TERNARY 112 2 2 100.00
TERNARY 120 2 2 100.00
TERNARY 122 2 2 100.00
TERNARY 123 5 4 80.00
TERNARY 130 4 3 75.00
TERNARY 187 2 2 100.00
IF 145 5 4 80.00
IF 160 4 4 100.00
IF 170 3 3 100.00
IF 178 4 3 75.00
IF 190 2 2 100.00
CASE 215 17 15 88.24

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

LineNo. Expression -1-: 109 (hmac_en) ?

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


LineNo. Expression -1-: 110 (hmac_en) ?

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


LineNo. Expression -1-: 111 (hmac_en) ?

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


LineNo. Expression -1-: 112 (hmac_en) ?

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


LineNo. Expression -1-: 120 (hmac_en) ?

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


LineNo. Expression -1-: 122 ((!hmac_en)) ?

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


LineNo. Expression -1-: 123 ((!hmac_en)) ? -2-: 123 ((sel_rdata == SelIPad)) ? -3-: 123 ((sel_rdata == SelOPad)) ? -4-: 123 ((sel_rdata == SelFifo)) ?

Branches:
-1--2--3--4-StatusTests
1 - - - Covered T1,T2,T3
0 1 - - Covered T1,T2,T11
0 0 1 - Covered T1,T2,T11
0 0 0 1 Covered T1,T2,T11
0 0 0 0 Not Covered


LineNo. Expression -1-: 130 ((!hmac_en)) ? -2-: 130 ((sel_msglen == SelIPadMsg)) ? -3-: 130 ((sel_msglen == SelOPadMsg)) ?

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


LineNo. Expression -1-: 187 ((round_q == Inner)) ?

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


LineNo. Expression -1-: 145 if ((!rst_ni)) -2-: 147 if (clr_txcount) -3-: 149 if (load_txcount) -4-: 153 if (inc_txcount)

Branches:
-1--2--3--4-StatusTests
1 - - - Covered T1,T2,T3
0 1 - - Covered T1,T2,T11
0 0 1 - Not Covered
0 0 0 1 Covered T1,T2,T3
0 0 0 0 Covered T1,T2,T3


LineNo. Expression -1-: 160 if ((!rst_ni)) -2-: 162 if (reg_hash_process) -3-: 164 if (((hmac_hash_done || reg_hash_start) || reg_hash_continue))

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-: 170 if ((!rst_ni)) -2-: 172 if (update_round)

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


LineNo. Expression -1-: 178 if ((!rst_ni)) -2-: 180 if (clr_fifo_wdata_sel) -3-: 182 if ((fifo_wsel && fifo_wvalid))

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


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

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


LineNo. Expression -1-: 215 case (st_q) -2-: 217 if ((hmac_en && reg_hash_start)) -3-: 232 if (txcnt_eq_blksz) -4-: 247 if (((round_q == Inner) && reg_hash_continue)) -5-: 252 if (((((round_q == Inner) && reg_hash_process_flag) || (round_q == Outer)) && (txcount >= sha_message_length))) -6-: 268 if (sha_hash_done) -7-: 269 if ((round_q == Outer)) -8-: 285 if ((fifo_wready && (fifo_wdata_sel == 3'h7))) -9-: 302 if (txcnt_eq_blksz)

Branches:
-1--2--3--4--5--6--7--8--9-StatusTests
StIdle 1 - - - - - - - Covered T1,T2,T11
StIdle 0 - - - - - - - Covered T1,T2,T3
StIPad - 1 - - - - - - Covered T1,T2,T11
StIPad - 0 - - - - - - Covered T1,T2,T11
StMsg - - 1 - - - - - Not Covered
StMsg - - 0 - - - - - Covered T1,T2,T11
StMsg - - - 1 - - - - Covered T1,T2,T11
StMsg - - - 0 - - - - Covered T1,T2,T11
StWaitResp - - - - 1 1 - - Covered T1,T2,T11
StWaitResp - - - - 1 0 - - Covered T1,T2,T11
StWaitResp - - - - 0 - - - Covered T1,T2,T11
StPushToMsgFifo - - - - - - 1 - Covered T1,T2,T11
StPushToMsgFifo - - - - - - 0 - Covered T1,T2,T11
StOPad - - - - - - - 1 Covered T1,T2,T11
StOPad - - - - - - - 0 Covered T1,T2,T11
StDone - - - - - - - - Covered T1,T2,T11
default - - - - - - - - Not Covered

Line Coverage for Instance : tb.dut.u_hmac
Line No.TotalCoveredPercent
TOTAL10610397.17
CONT_ASSIGN10911100.00
CONT_ASSIGN11011100.00
CONT_ASSIGN11111100.00
CONT_ASSIGN11211100.00
CONT_ASSIGN11411100.00
CONT_ASSIGN11611100.00
CONT_ASSIGN11711100.00
CONT_ASSIGN12011100.00
CONT_ASSIGN12211100.00
CONT_ASSIGN12311100.00
CONT_ASSIGN13011100.00
CONT_ASSIGN13511100.00
CONT_ASSIGN13711100.00
ALWAYS1458787.50
ALWAYS16066100.00
ALWAYS17044100.00
ALWAYS17866100.00
CONT_ASSIGN18711100.00
ALWAYS19033100.00
ALWAYS195646296.88
CONT_ASSIGN32911100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_hmac_0.1/rtl/hmac_core.sv' or '../src/lowrisc_ip_hmac_0.1/rtl/hmac_core.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
109 1 1
110 1 1
111 1 1
112 1 1
114 1 1
116 1 1
117 1 1
120 1 1
122 1 1
123 1 1
130 1 1
135 1 1
137 1 1
145 1 1
146 1 1
147 1 1
148 1 1
149 1 1
152 0 1
153 1 1
154 1 1
MISSING_ELSE
160 1 1
161 1 1
162 1 1
163 1 1
164 1 1
165 1 1
MISSING_ELSE
170 1 1
171 1 1
172 1 1
173 1 1
MISSING_ELSE
178 1 1
179 1 1
180 1 1
181 1 1
182 1 1
183 1 1
==> MISSING_ELSE
187 1 1
190 2 2
191 1 1
195 1 1
196 1 1
198 1 1
199 1 1
201 1 1
202 1 1
204 1 1
205 1 1
207 1 1
209 1 1
211 1 1
212 1 1
213 1 1
215 1 1
217 1 1
218 1 1
220 1 1
221 1 1
222 1 1
223 1 1
225 1 1
230 1 1
232 1 1
233 1 1
235 1 1
237 1 1
239 1 1
244 1 1
245 1 1
247 1 1
248 0 1
249 0 1
MISSING_ELSE
252 1 1
254 1 1
256 1 1
257 1 1
259 1 1
261 1 1
266 1 1
268 1 1
269 1 1
270 1 1
272 1 1
275 1 1
280 1 1
281 1 1
282 1 1
283 1 1
285 1 1
286 1 1
288 1 1
289 1 1
290 1 1
291 1 1
293 1 1
299 1 1
300 1 1
302 1 1
303 1 1
305 1 1
307 1 1
309 1 1
315 1 1
317 1 1
Exclude Annotation: VC_COV_UNR
329 1 1


Cond Coverage for Instance : tb.dut.u_hmac
TotalCoveredPercent
Conditions888495.45
Logical888495.45
Non-Logical00
Event00

 LINE       109
 EXPRESSION (hmac_en ? hash_start : reg_hash_start)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T11

 LINE       110
 EXPRESSION (hmac_en ? hash_continue : reg_hash_continue)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T11

 LINE       111
 EXPRESSION (hmac_en ? (reg_hash_process | hash_process) : reg_hash_process)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T11

 LINE       111
 SUB-EXPRESSION (reg_hash_process | hash_process)
                 --------1-------   ------2-----
-1--2-StatusTests
00CoveredT1,T2,T11
01CoveredT1,T2,T11
10CoveredT1,T2,T11

 LINE       112
 EXPRESSION (hmac_en ? hmac_hash_done : sha_hash_done)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T11

 LINE       120
 EXPRESSION (hmac_en ? ((st_q == StMsg) & sha_rready) : sha_rready)
             ---1---
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T11

 LINE       120
 SUB-EXPRESSION ((st_q == StMsg) & sha_rready)
                 -------1-------   -----2----
-1--2-StatusTests
01CoveredT1,T2,T11
10CoveredT1,T2,T11
11CoveredT1,T2,T11

 LINE       120
 SUB-EXPRESSION (st_q == StMsg)
                -------1-------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       122
 EXPRESSION (((!hmac_en)) ? fifo_rvalid : hmac_sha_rvalid)
             ------1-----
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T3

 LINE       123
 EXPRESSION 
 Number  Term
      1  ((!hmac_en)) ? fifo_rdata : ((sel_rdata == SelIPad) ? ('{data:i_pad[((BlockSize - 1) - (32 * pad_index))-:32], mask:'1}) : ((sel_rdata == SelOPad) ? ('{data:o_pad[((BlockSize - 1) - (32 * pad_index))-:32], mask:'1}) : ((sel_rdata == SelFifo) ? fifo_rdata : ('{(*adjust*)default:'0, (*adjust*)default:'0})))))
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T3

 LINE       123
 SUB-EXPRESSION 
 Number  Term
      1  (sel_rdata == SelIPad) ? ('{data:i_pad[((BlockSize - 1) - (32 * pad_index))-:32], mask:'1}) : ((sel_rdata == SelOPad) ? ('{data:o_pad[((BlockSize - 1) - (32 * pad_index))-:32], mask:'1}) : ((sel_rdata == SelFifo) ? fifo_rdata : ('{(*adjust*)default:'0, (*adjust*)default:'0}))))
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       123
 SUB-EXPRESSION (sel_rdata == SelIPad)
                -----------1----------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       123
 SUB-EXPRESSION 
 Number  Term
      1  (sel_rdata == SelOPad) ? ('{data:o_pad[((BlockSize - 1) - (32 * pad_index))-:32], mask:'1}) : ((sel_rdata == SelFifo) ? fifo_rdata : ('{(*adjust*)default:'0, (*adjust*)default:'0})))
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       123
 SUB-EXPRESSION (sel_rdata == SelOPad)
                -----------1----------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       123
 SUB-EXPRESSION ((sel_rdata == SelFifo) ? fifo_rdata : ('{(*adjust*)default:'0, (*adjust*)default:'0}))
                 -----------1----------
-1-StatusTestsExclude Annotation
0Excluded VC_COV_UNR
1CoveredT1,T2,T11

 LINE       123
 SUB-EXPRESSION (sel_rdata == SelFifo)
                -----------1----------
-1-StatusTestsExclude Annotation
0Excluded VC_COV_UNR
1CoveredT1,T2,T11

 LINE       130
 EXPRESSION 
 Number  Term
      1  ((!hmac_en)) ? message_length : ((sel_msglen == SelIPadMsg) ? ((message_length + BlockSize64)) : ((sel_msglen == SelOPadMsg) ? ((BlockSize64 + 64'h0000000000000100)) : '0)))
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T3

 LINE       130
 SUB-EXPRESSION ((sel_msglen == SelIPadMsg) ? ((message_length + BlockSize64)) : ((sel_msglen == SelOPadMsg) ? ((BlockSize64 + 64'h0000000000000100)) : '0))
                 -------------1------------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       130
 SUB-EXPRESSION (sel_msglen == SelIPadMsg)
                -------------1------------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       130
 SUB-EXPRESSION ((sel_msglen == SelOPadMsg) ? ((BlockSize64 + 64'h0000000000000100)) : '0)
                 -------------1------------
-1-StatusTestsExclude Annotation
0Excluded VC_COV_UNR
1CoveredT1,T2,T11

 LINE       130
 SUB-EXPRESSION (sel_msglen == SelOPadMsg)
                -------------1------------
-1-StatusTestsExclude Annotation
0Excluded VC_COV_UNR
1CoveredT1,T2,T11

 LINE       135
 EXPRESSION (txcount[BlockSizeBits:0] == BlockSizeBSB)
            ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       137
 EXPRESSION (sha_rready && sha_rvalid)
             -----1----    -----2----
 Exclude Annotation: [UNR] sha_rready=1 requires sha_rvalid=1.
-1--2-StatusTests
01ExcludedT1,T2,T3
10Excluded
11ExcludedT1,T2,T3

 LINE       164
 EXPRESSION (hmac_hash_done || reg_hash_start || reg_hash_continue)
             -------1------    -------2------    --------3--------
-1--2--3-StatusTests
000CoveredT1,T2,T3
001Not Covered
010CoveredT1,T2,T3
100CoveredT1,T2,T11

 LINE       182
 EXPRESSION (fifo_wsel && fifo_wvalid)
             ----1----    -----2-----
-1--2-StatusTestsExclude Annotation
01Excluded VC_COV_UNR
10Excluded VC_COV_UNR
11CoveredT1,T2,T11

 LINE       187
 EXPRESSION ((round_q == Inner) ? SelIPadMsg : SelOPadMsg)
             ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T3

 LINE       187
 SUB-EXPRESSION (round_q == Inner)
                ---------1--------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       217
 EXPRESSION (hmac_en && reg_hash_start)
             ---1---    -------2------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T11
11CoveredT1,T2,T11

 LINE       245
 EXPRESSION (round_q == Outer)
            ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       247
 EXPRESSION ((round_q == Inner) && reg_hash_continue)
             ---------1--------    --------2--------
-1--2-StatusTests
01Not Covered
10CoveredT1,T2,T11
11Not Covered

 LINE       247
 SUB-EXPRESSION (round_q == Inner)
                ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       252
 EXPRESSION ((((round_q == Inner) && reg_hash_process_flag) || (round_q == Outer)) && (txcount >= sha_message_length))
             ----------------------------------1----------------------------------    ---------------2---------------
-1--2-StatusTests
01CoveredT1,T11,T21
10CoveredT1,T2,T11
11CoveredT1,T2,T11

 LINE       252
 SUB-EXPRESSION (((round_q == Inner) && reg_hash_process_flag) || (round_q == Outer))
                 ----------------------1----------------------    ---------2--------
-1--2-StatusTests
00CoveredT1,T2,T11
01CoveredT1,T2,T11
10CoveredT1,T2,T11

 LINE       252
 SUB-EXPRESSION ((round_q == Inner) && reg_hash_process_flag)
                 ---------1--------    ----------2----------
-1--2-StatusTests
01CoveredT1,T2,T11
10CoveredT1,T2,T11
11CoveredT1,T2,T11

 LINE       252
 SUB-EXPRESSION (round_q == Inner)
                ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       252
 SUB-EXPRESSION (round_q == Outer)
                ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       257
 EXPRESSION (round_q == Outer)
            ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       269
 EXPRESSION (round_q == Outer)
            ---------1--------
-1-StatusTests
0CoveredT1,T2,T11
1CoveredT1,T2,T11

 LINE       285
 EXPRESSION (fifo_wready && (fifo_wdata_sel == 3'h7))
             -----1-----    ------------2-----------
 Exclude Annotation: [UNR] tl_adapter with outstanding=1 drains fifo faster than it pushes. So it cannot have fifo full condition
 LINE       285
 EXPRESSION (fifo_wready && (fifo_wdata_sel == 3'h7))
 Exclude Annotation: [UNR] tl_adapter with outstanding=1 drains fifo faster than it pushes. So it cannot have fifo full condition
-1--2-StatusTests
01Excluded
10ExcludedT1,T2,T11
11ExcludedT1,T2,T11

 LINE       285
 SUB-EXPRESSION (fifo_wdata_sel == 3'h7)
                ------------1-----------
-1-StatusTests
0ExcludedT1,T2,T11
1ExcludedT1,T2,T11

 LINE       329
 EXPRESSION ((st_q == StIdle) && ( ! (reg_hash_start || reg_hash_continue) ))
             --------1-------    ---------------------2---------------------
-1--2-StatusTests
01CoveredT1,T2,T11
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       329
 SUB-EXPRESSION (st_q == StIdle)
                --------1-------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       329
 SUB-EXPRESSION ( ! (reg_hash_start || reg_hash_continue) )
                    ------------------1------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       329
 SUB-EXPRESSION (reg_hash_start || reg_hash_continue)
                 -------1------    --------2--------
-1--2-StatusTests
00CoveredT1,T2,T3
01Not Covered
10CoveredT1,T2,T3

FSM Coverage for Instance : tb.dut.u_hmac
Summary for FSM :: st_q
TotalCoveredPercent
States 7 7 100.00 (Not included in score)
Transitions 8 8 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: st_q
statesLine No.CoveredTests
StDone 270 Covered T1,T2,T11
StIPad 218 Covered T1,T2,T11
StIdle 225 Covered T1,T2,T3
StMsg 233 Covered T1,T2,T11
StOPad 286 Covered T1,T2,T11
StPushToMsgFifo 272 Covered T1,T2,T11
StWaitResp 254 Covered T1,T2,T11


transitionsLine No.CoveredTests
StDone->StIdle 315 Covered T1,T2,T11
StIPad->StMsg 233 Covered T1,T2,T11
StIdle->StIPad 218 Covered T1,T2,T11
StMsg->StWaitResp 254 Covered T1,T2,T11
StOPad->StMsg 303 Covered T1,T2,T11
StPushToMsgFifo->StOPad 286 Covered T1,T2,T11
StWaitResp->StDone 270 Covered T1,T2,T11
StWaitResp->StPushToMsgFifo 272 Covered T1,T2,T11



Branch Coverage for Instance : tb.dut.u_hmac
Line No.TotalCoveredPercent
Branches 55 52 94.55
TERNARY 109 2 2 100.00
TERNARY 110 2 2 100.00
TERNARY 111 2 2 100.00
TERNARY 112 2 2 100.00
TERNARY 120 2 2 100.00
TERNARY 122 2 2 100.00
TERNARY 123 4 4 100.00
TERNARY 130 3 3 100.00
TERNARY 187 2 2 100.00
IF 145 5 4 80.00
IF 160 4 4 100.00
IF 170 3 3 100.00
IF 178 3 3 100.00
IF 190 2 2 100.00
CASE 215 17 15 88.24

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

LineNo. Expression -1-: 109 (hmac_en) ?

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


LineNo. Expression -1-: 110 (hmac_en) ?

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


LineNo. Expression -1-: 111 (hmac_en) ?

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


LineNo. Expression -1-: 112 (hmac_en) ?

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


LineNo. Expression -1-: 120 (hmac_en) ?

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


LineNo. Expression -1-: 122 ((!hmac_en)) ?

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


LineNo. Expression -1-: 123 ((!hmac_en)) ? -2-: 123 ((sel_rdata == SelIPad)) ? -3-: 123 ((sel_rdata == SelOPad)) ? -4-: 123 ((sel_rdata == SelFifo)) ?

Branches:
-1--2--3--4-StatusTestsExclude Annotation
1 - - - Covered T1,T2,T3
0 1 - - Covered T1,T2,T11
0 0 1 - Covered T1,T2,T11
0 0 0 1 Covered T1,T2,T11
0 0 0 0 Excluded VC_COV_UNR


LineNo. Expression -1-: 130 ((!hmac_en)) ? -2-: 130 ((sel_msglen == SelIPadMsg)) ? -3-: 130 ((sel_msglen == SelOPadMsg)) ?

Branches:
-1--2--3-StatusTestsExclude Annotation
1 - - Covered T1,T2,T3
0 1 - Covered T1,T2,T11
0 0 1 Covered T1,T2,T11
0 0 0 Excluded VC_COV_UNR


LineNo. Expression -1-: 187 ((round_q == Inner)) ?

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


LineNo. Expression -1-: 145 if ((!rst_ni)) -2-: 147 if (clr_txcount) -3-: 149 if (load_txcount) -4-: 153 if (inc_txcount)

Branches:
-1--2--3--4-StatusTests
1 - - - Covered T1,T2,T3
0 1 - - Covered T1,T2,T11
0 0 1 - Not Covered
0 0 0 1 Covered T1,T2,T3
0 0 0 0 Covered T1,T2,T3


LineNo. Expression -1-: 160 if ((!rst_ni)) -2-: 162 if (reg_hash_process) -3-: 164 if (((hmac_hash_done || reg_hash_start) || reg_hash_continue))

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-: 170 if ((!rst_ni)) -2-: 172 if (update_round)

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


LineNo. Expression -1-: 178 if ((!rst_ni)) -2-: 180 if (clr_fifo_wdata_sel) -3-: 182 if ((fifo_wsel && fifo_wvalid))

Branches:
-1--2--3-StatusTestsExclude Annotation
1 - - Covered T1,T2,T3
0 1 - Covered T1,T2,T3
0 0 1 Covered T1,T2,T11
0 0 0 Excluded VC_COV_UNR


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

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


LineNo. Expression -1-: 215 case (st_q) -2-: 217 if ((hmac_en && reg_hash_start)) -3-: 232 if (txcnt_eq_blksz) -4-: 247 if (((round_q == Inner) && reg_hash_continue)) -5-: 252 if (((((round_q == Inner) && reg_hash_process_flag) || (round_q == Outer)) && (txcount >= sha_message_length))) -6-: 268 if (sha_hash_done) -7-: 269 if ((round_q == Outer)) -8-: 285 if ((fifo_wready && (fifo_wdata_sel == 3'h7))) -9-: 302 if (txcnt_eq_blksz)

Branches:
-1--2--3--4--5--6--7--8--9-StatusTests
StIdle 1 - - - - - - - Covered T1,T2,T11
StIdle 0 - - - - - - - Covered T1,T2,T3
StIPad - 1 - - - - - - Covered T1,T2,T11
StIPad - 0 - - - - - - Covered T1,T2,T11
StMsg - - 1 - - - - - Not Covered
StMsg - - 0 - - - - - Covered T1,T2,T11
StMsg - - - 1 - - - - Covered T1,T2,T11
StMsg - - - 0 - - - - Covered T1,T2,T11
StWaitResp - - - - 1 1 - - Covered T1,T2,T11
StWaitResp - - - - 1 0 - - Covered T1,T2,T11
StWaitResp - - - - 0 - - - Covered T1,T2,T11
StPushToMsgFifo - - - - - - 1 - Covered T1,T2,T11
StPushToMsgFifo - - - - - - 0 - Covered T1,T2,T11
StOPad - - - - - - - 1 Covered T1,T2,T11
StOPad - - - - - - - 0 Covered T1,T2,T11
StDone - - - - - - - - Covered T1,T2,T11
default - - - - - - - - Not Covered

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