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

Module : hmac
SCORELINECONDTOGGLEFSMBRANCHASSERT
97.91 100.00 90.66 100.00 100.00 96.77 100.00

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

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut 98.42 100.00 93.75 100.00 100.00 96.77 100.00



Module Instance : tb.dut

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
98.42 100.00 93.75 100.00 100.00 96.77 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
93.60 95.94 94.34 100.00 79.49 92.33 99.49


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
tb


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_alert_tx[0].u_prim_alert_sender 100.00 100.00
hmac_csr_assert 100.00 100.00
intr_hw_fifo_empty 100.00 100.00 100.00 100.00 100.00
intr_hw_hmac_done 100.00 100.00 100.00 100.00 100.00
intr_hw_hmac_err 100.00 100.00 100.00 100.00 100.00
tlul_assert_device 100.00 100.00 100.00 100.00
u_hmac 96.68 99.41 93.90 100.00 93.41
u_msg_fifo 100.00 100.00 100.00 100.00 100.00
u_packer 100.00 100.00 100.00 100.00 100.00
u_prim_sha2_512 84.82 94.62 89.47 68.00 87.18
u_reg 98.28 94.86 97.83 100.00 98.72 100.00
u_tlul_adapter 88.52 94.12 86.85 80.25 92.86

Line Coverage for Module : hmac
Line No.TotalCoveredPercent
TOTAL195195100.00
CONT_ASSIGN13511100.00
CONT_ASSIGN13611100.00
CONT_ASSIGN13711100.00
CONT_ASSIGN13811100.00
ALWAYS1501515100.00
ALWAYS19233100.00
CONT_ASSIGN19911100.00
CONT_ASSIGN20011100.00
ALWAYS20477100.00
ALWAYS21933100.00
ALWAYS2311919100.00
CONT_ASSIGN27711100.00
CONT_ASSIGN28211100.00
CONT_ASSIGN28311100.00
CONT_ASSIGN28511100.00
ALWAYS28755100.00
CONT_ASSIGN30111100.00
ALWAYS30433100.00
CONT_ASSIGN30811100.00
ALWAYS31077100.00
CONT_ASSIGN32511100.00
CONT_ASSIGN32611100.00
CONT_ASSIGN32711100.00
CONT_ASSIGN32911100.00
CONT_ASSIGN33011100.00
CONT_ASSIGN33111100.00
CONT_ASSIGN33211100.00
CONT_ASSIGN33311100.00
CONT_ASSIGN33411100.00
CONT_ASSIGN33511100.00
CONT_ASSIGN33711100.00
CONT_ASSIGN33811100.00
CONT_ASSIGN33911100.00
CONT_ASSIGN34011100.00
CONT_ASSIGN34311100.00
CONT_ASSIGN34411100.00
CONT_ASSIGN34911100.00
CONT_ASSIGN35011100.00
CONT_ASSIGN35111100.00
CONT_ASSIGN35211100.00
ALWAYS35566100.00
ALWAYS36544100.00
ALWAYS40466100.00
CONT_ASSIGN45311100.00
CONT_ASSIGN46011100.00
CONT_ASSIGN46811100.00
CONT_ASSIGN47011100.00
ALWAYS47355100.00
CONT_ASSIGN51411100.00
CONT_ASSIGN51711100.00
CONT_ASSIGN52311100.00
CONT_ASSIGN52811100.00
CONT_ASSIGN52911100.00
CONT_ASSIGN53111100.00
CONT_ASSIGN53211100.00
CONT_ASSIGN53311100.00
ALWAYS53899100.00
CONT_ASSIGN61311100.00
ALWAYS61833100.00
ALWAYS62633100.00
ALWAYS6311010100.00
CONT_ASSIGN64811100.00
CONT_ASSIGN64911100.00
CONT_ASSIGN65611100.00
CONT_ASSIGN65711100.00
CONT_ASSIGN76711100.00
CONT_ASSIGN79611100.00
CONT_ASSIGN79711100.00
CONT_ASSIGN79811100.00
CONT_ASSIGN80311100.00
CONT_ASSIGN80811100.00
ALWAYS81166100.00
CONT_ASSIGN82711100.00
ALWAYS83377100.00
CONT_ASSIGN87611100.00
CONT_ASSIGN88011100.00
ALWAYS88233100.00
CONT_ASSIGN88811100.00
ALWAYS91066100.00
ALWAYS91766100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_hmac_0.1/rtl/hmac.sv' or '../src/lowrisc_ip_hmac_0.1/rtl/hmac.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
135 1 1
136 1 1
137 1 1
138 1 1
150 1 1
151 1 1
153 1 1
155 1 1
157 1 1
158 1 1
160 1 1
MISSING_ELSE
165 1 1
166 1 1
167 1 1
MISSING_ELSE
172 1 1
176 1 1
MISSING_ELSE
181 1 1
182 1 1
183 1 1
==> MISSING_ELSE
192 1 1
193 1 1
195 1 1
199 1 1
200 1 1
204 1 1
205 1 1
206 1 1
207 1 1
209 1 1
210 1 1
212 1 1
MISSING_ELSE
MISSING_ELSE
219 2 2
220 1 1
231 1 1
232 1 1
234 1 1
236 1 1
240 1 1
242 1 1
243 1 1
244 1 1
246 1 1
249 1 1
252 1 1
MISSING_ELSE
256 1 1
257 1 1
261 1 1
262 1 1
266 1 1
267 1 1
270 1 1
271 1 1
277 1 1
282 1 1
283 1 1
285 1 1
287 1 1
289 1 1
290 1 1
291 1 1
292 1 1
301 1 1
304 2 2
305 1 1
308 1 1
310 1 1
312 1 1
313 1 1
314 1 1
315 1 1
316 1 1
317 1 1
325 1 1
326 1 1
327 1 1
329 1 1
330 1 1
331 1 1
332 1 1
333 1 1
334 1 1
335 1 1
337 1 1
338 1 1
339 1 1
340 1 1
343 1 1
344 1 1
349 1 1
350 1 1
351 1 1
352 1 1
355 1 1
356 1 1
357 1 1
358 1 1
359 1 1
360 1 1
MISSING_ELSE
365 1 1
366 1 1
397 1 1
398 1 1
MISSING_ELSE
404 1 1
405 1 1
406 1 1
407 1 1
408 1 1
409 1 1
MISSING_ELSE
453 1 1
460 1 1
468 1 1
470 1 1
473 1 1
474 1 1
475 1 1
477 1 1
478 1 1
514 1 1
517 1 1
523 1 1
528 1 1
529 1 1
531 1 1
532 1 1
533 1 1
538 1 1
539 1 1
541 1 1
542 1 1
543 1 1
545 1 1
546 1 1
548 1 1
549 1 1
==> MISSING_ELSE
MISSING_ELSE
613 1 1
618 1 1
619 1 1
620 1 1
626 2 2
627 1 1
631 1 1
632 1 1
633 1 1
634 1 1
MISSING_ELSE
636 1 1
637 1 1
MISSING_ELSE
MISSING_ELSE
641 1 1
642 1 1
643 1 1
644 1 1
MISSING_ELSE
648 1 1
649 1 1
656 1 1
657 1 1
767 1 1
796 1 1
797 1 1
798 1 1
803 1 1
808 1 1
811 1 1
812 1 1
813 1 1
814 1 1
815 1 1
MISSING_ELSE
819 1 1
827 1 1
833 1 1
835 1 1
838 1 1
842 1 1
846 1 1
850 1 1
854 1 1
876 1 1
880 1 1
882 1 1
883 1 1
885 1 1
888 1 1
910 2 2
911 2 2
912 2 2
MISSING_ELSE
917 2 2
918 2 2
919 2 2
MISSING_ELSE


Cond Coverage for Module : hmac
TotalCoveredPercent
Conditions18216590.66
Logical18216590.66
Non-Logical00
Event00

 LINE       240
 EXPRESSION (digest_size == SHA2_256)
            ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       244
 EXPRESSION ((digest_size == SHA2_384) || (digest_size == SHA2_512))
             ------------1------------    ------------2------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T2,T3
10CoveredT1,T2,T3

 LINE       244
 SUB-EXPRESSION (digest_size == SHA2_384)
                ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       244
 SUB-EXPRESSION (digest_size == SHA2_512)
                ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       246
 EXPRESSION (reg2hw.digest[(2 * i)].qe ? prim_sha2_pkg::conv_endian32(reg2hw.digest[(2 * i)].q, digest_swap) : digest[i][63:32])
             ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT4,T5,T31

 LINE       249
 EXPRESSION (reg2hw.digest[((2 * i) + 1)].qe ? prim_sha2_pkg::conv_endian32(reg2hw.digest[((2 * i) + 1)].q, digest_swap) : digest[i][31:0])
             ---------------1---------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT4,T5,T31

 LINE       252
 EXPRESSION (reg2hw.digest[(2 * i)].qe | reg2hw.digest[((2 * i) + 1)].qe)
             ------------1------------   ---------------2---------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT4,T5,T31
10CoveredT4,T5,T31

 LINE       256
 EXPRESSION (digest_size_started_q == SHA2_256)
            -----------------1-----------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       262
 EXPRESSION ((digest_size_started_q == SHA2_384) || (digest_size_started_q == SHA2_512))
             -----------------1-----------------    -----------------2-----------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T2,T3
10CoveredT1,T2,T3

 LINE       262
 SUB-EXPRESSION (digest_size_started_q == SHA2_384)
                -----------------1-----------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       262
 SUB-EXPRESSION (digest_size_started_q == SHA2_512)
                -----------------1-----------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       301
 EXPRESSION (hash_start_or_continue ? digest_size : digest_size_started_q)
             -----------1----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       337
 EXPRESSION (reg2hw.cmd.hash_start.qe & reg2hw.cmd.hash_start.q)
             ------------1-----------   -----------2-----------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       338
 EXPRESSION (reg2hw.cmd.hash_stop.qe & reg2hw.cmd.hash_stop.q)
             -----------1-----------   -----------2----------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T4,T5

 LINE       339
 EXPRESSION (reg2hw.cmd.hash_continue.qe & reg2hw.cmd.hash_continue.q)
             -------------1-------------   -------------2------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T4,T5

 LINE       340
 EXPRESSION (reg2hw.cmd.hash_process.qe & reg2hw.cmd.hash_process.q)
             -------------1------------   ------------2------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       349
 EXPRESSION (reg_hash_start & sha_en & ((~cfg_block)) & ((~invalid_config)))
             -------1------   ---2--   -------3------   ---------4---------
-1--2--3--4-StatusTests
0111CoveredT1,T2,T3
1011CoveredT2,T42,T43
1101CoveredT2,T42,T44
1110CoveredT1,T2,T3
1111CoveredT1,T2,T3

 LINE       350
 EXPRESSION (reg_hash_continue & sha_en & ((~cfg_block)) & ((~invalid_config)))
             --------1--------   ---2--   -------3------   ---------4---------
-1--2--3--4-StatusTests
0111CoveredT1,T2,T3
1011Not Covered
1101Not Covered
1110Not Covered
1111CoveredT1,T4,T5

 LINE       351
 EXPRESSION (reg_hash_process & sha_en & cfg_block & ((~invalid_config)))
             --------1-------   ---2--   ----3----   ---------4---------
-1--2--3--4-StatusTests
0111CoveredT1,T2,T3
1011Not Covered
1101Not Covered
1110Not Covered
1111CoveredT1,T2,T3

 LINE       352
 EXPRESSION (hash_start | hash_continue)
             -----1----   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

 LINE       359
 EXPRESSION (reg_hash_done || reg_hash_stop)
             ------1------    ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

 LINE       397
 EXPRESSION (((!cfg_block)) && reg2hw.cfg.hmac_en.qe)
             -------1------    ----------2----------
-1--2-StatusTests
01CoveredT2,T21,T8
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       453
 EXPRESSION (fifo_empty_q & ((~fifo_empty)))
             ------1-----   -------2-------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       460
 EXPRESSION 
 Number  Term
      1  fifo_full ? 1'b1 : (fifo_empty_negedge ? 1'b0 : ((reg_hash_start || reg_hash_continue || reg_hash_process || reg_hash_stop) ? 1'b0 : fifo_full_seen_q)))
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       460
 SUB-EXPRESSION (fifo_empty_negedge ? 1'b0 : ((reg_hash_start || reg_hash_continue || reg_hash_process || reg_hash_stop) ? 1'b0 : fifo_full_seen_q))
                 ---------1--------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       460
 SUB-EXPRESSION ((reg_hash_start || reg_hash_continue || reg_hash_process || reg_hash_stop) ? 1'b0 : fifo_full_seen_q)
                 -------------------------------------1------------------------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       460
 SUB-EXPRESSION (reg_hash_start || reg_hash_continue || reg_hash_process || reg_hash_stop)
                 -------1------    --------2--------    --------3-------    ------4------
-1--2--3--4-StatusTests
0000CoveredT1,T2,T3
0001CoveredT1,T4,T5
0010CoveredT1,T2,T3
0100CoveredT1,T4,T5
1000CoveredT1,T2,T3

 LINE       468
 EXPRESSION (((~msg_allowed)) || ((~fifo_full_seen_q)))
             --------1-------    ----------2----------
-1--2-StatusTests
00CoveredT16,T9,T10
01CoveredT1,T2,T3
10CoveredT1,T2,T3

 LINE       470
 EXPRESSION (fifo_empty_gate ? 1'b0 : fifo_empty)
             -------1-------
-1-StatusTests
0CoveredT16,T9,T10
1CoveredT1,T2,T3

 LINE       514
 EXPRESSION (msg_fifo_req & ((~msg_fifo_we)))
             ------1-----   --------2-------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11Not Covered

 LINE       517
 EXPRESSION (msg_fifo_req & ((~hmac_fifo_wsel)) & packer_ready)
             ------1-----   ---------2---------   ------3-----
-1--2--3-StatusTests
011CoveredT1,T2,T3
101Not Covered
110UnreachableT16,T9,T10
111CoveredT1,T2,T3

 LINE       533
 EXPRESSION ((hmac_fifo_wsel && fifo_wready) ? hmac_fifo_wvalid : reg_fifo_wvalid)
             ---------------1---------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       533
 SUB-EXPRESSION (hmac_fifo_wsel && fifo_wready)
                 -------1------    -----2-----
-1--2-StatusTests
01CoveredT1,T2,T3
10Not Covered
11CoveredT1,T2,T3

 LINE       543
 EXPRESSION (digest_size == SHA2_256)
            ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT3,T7,T4

 LINE       546
 EXPRESSION ((digest_size == SHA2_384) || (digest_size == SHA2_512))
             ------------1------------    ------------2------------
-1--2-StatusTests
00Not Covered
01CoveredT1,T2,T3
10CoveredT1,T3,T7

 LINE       546
 SUB-EXPRESSION (digest_size == SHA2_384)
                ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T3,T7

 LINE       546
 SUB-EXPRESSION (digest_size == SHA2_512)
                ------------1------------
-1-StatusTests
0CoveredT1,T3,T7
1CoveredT1,T2,T3

 LINE       560
 EXPRESSION (fifo_wvalid & sha_en)
             -----1-----   ---2--
-1--2-StatusTests
01CoveredT1,T2,T3
10Not Covered
11CoveredT1,T2,T3

 LINE       613
 EXPRESSION (msg_fifo_req & msg_fifo_we & ((~hmac_fifo_wsel)) & msg_allowed)
             ------1-----   -----2-----   ---------3---------   -----4-----
-1--2--3--4-StatusTests
0111CoveredT1,T2,T3
1011Not Covered
1101Not Covered
1110CoveredT1,T2,T3
1111CoveredT1,T2,T3

 LINE       643
 EXPRESSION (msg_write && sha_en && packer_ready)
             ----1----    ---2--    ------3-----
-1--2--3-StatusTests
011CoveredT1,T2,T3
101Not Covered
110UnreachableT16,T9,T10
111CoveredT1,T2,T3

 LINE       663
 EXPRESSION (msg_write & sha_en)
             ----1----   ---2--
-1--2-StatusTests
01CoveredT1,T2,T3
10Not Covered
11CoveredT1,T2,T3

 LINE       663
 EXPRESSION (fifo_wready & ((~hmac_fifo_wsel)))
             -----1-----   ---------2---------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       767
 SUB-EXPRESSION (reg2hw.alert_test.q & reg2hw.alert_test.qe)
                 ---------1---------   ----------2---------
-1--2-StatusTests
01CoveredT17,T18,T19
10CoveredT1,T2,T3
11CoveredT17,T18,T19

 LINE       796
 EXPRESSION ((reg_hash_start | reg_hash_continue) & ((~sha_en)))
             ------------------1-----------------   -----2-----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT2,T42,T44

 LINE       796
 SUB-EXPRESSION (reg_hash_start | reg_hash_continue)
                 -------1------   --------2--------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

 LINE       797
 EXPRESSION ((reg_hash_start | reg_hash_continue) & cfg_block)
             ------------------1-----------------   ----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT2,T42,T44

 LINE       797
 SUB-EXPRESSION (reg_hash_start | reg_hash_continue)
                 -------1------   --------2--------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

 LINE       798
 EXPRESSION (msg_fifo_req & ((~msg_allowed)))
             ------1-----   --------2-------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       803
 EXPRESSION ((digest_size == SHA2_None) | ((key_length == Key_None) && hmac_en) | ((key_length == Key_1024) && (digest_size == SHA2_256) && hmac_en))
             -------------1------------   ------------------2------------------   ---------------------------------3--------------------------------
-1--2--3-StatusTests
000CoveredT1,T2,T3
001CoveredT1,T2,T3
010CoveredT1,T2,T3
100CoveredT1,T2,T3

 LINE       803
 SUB-EXPRESSION (digest_size == SHA2_None)
                -------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       803
 SUB-EXPRESSION ((key_length == Key_None) && hmac_en)
                 ------------1-----------    ---2---
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       803
 SUB-EXPRESSION (key_length == Key_None)
                ------------1-----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       803
 SUB-EXPRESSION ((key_length == Key_1024) && (digest_size == SHA2_256) && hmac_en)
                 ------------1-----------    ------------2------------    ---3---
-1--2--3-StatusTests
011CoveredT1,T2,T3
101CoveredT1,T2,T3
110CoveredT1,T43,T22
111CoveredT1,T2,T3

 LINE       803
 SUB-EXPRESSION (key_length == Key_1024)
                ------------1-----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       803
 SUB-EXPRESSION (digest_size == SHA2_256)
                ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       808
 EXPRESSION ((reg_hash_start || reg_hash_continue) & invalid_config)
             ------------------1------------------   -------2------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       808
 SUB-EXPRESSION (reg_hash_start || reg_hash_continue)
                 -------1------    --------2--------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

 LINE       827
 EXPRESSION 
 Number  Term
      1  ((~reg2hw.intr_state.hmac_err.q)) & 
      2  (hash_start_sha_disabled | update_seckey_inprocess | hash_start_active | msg_push_not_allowed | invalid_config_atstart))
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       827
 SUB-EXPRESSION (hash_start_sha_disabled | update_seckey_inprocess | hash_start_active | msg_push_not_allowed | invalid_config_atstart)
                 -----------1-----------   -----------2-----------   --------3--------   ----------4---------   -----------5----------
-1--2--3--4--5-StatusTests
00000CoveredT1,T2,T3
00001CoveredT1,T2,T3
00010CoveredT1,T2,T3
00100CoveredT2,T42,T44
01000CoveredT2,T20,T8
10000CoveredT2,T42,T43

 LINE       876
 EXPRESSION (((!reg_fifo_wvalid)) && ((!fifo_rvalid)) && hmac_core_idle && sha_core_idle)
             ----------1---------    --------2-------    -------3------    ------4------
-1--2--3--4-StatusTests
0111Not Covered
1011Not Covered
1101CoveredT1,T2,T3
1110CoveredT1,T2,T7
1111CoveredT1,T2,T3

 LINE       911
 EXPRESSION (hash_process || reg_hash_stop)
             ------1-----    ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

 LINE       919
 EXPRESSION (hash_process || reg_hash_stop)
             ------1-----    ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

Toggle Coverage for Module : hmac
TotalCoveredPercent
Totals 30 30 100.00
Total Bits 346 346 100.00
Total Bits 0->1 173 173 100.00
Total Bits 1->0 173 173 100.00

Ports 30 30 100.00
Port Bits 346 346 100.00
Port Bits 0->1 173 173 100.00
Port Bits 1->0 173 173 100.00

Port Details
NameToggleToggle 1->0TestsToggle 0->1TestsDirection
clk_i Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
rst_ni Yes Yes T45,T46,T24 Yes T1,T2,T3 INPUT
tl_i.d_ready Yes Yes T2,T7,T15 Yes T1,T2,T3 INPUT
tl_i.a_user.data_intg[6:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_user.cmd_intg[6:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_user.instr_type[3:0] Yes Yes T7,T17,T4 Yes T7,T17,T4 INPUT
tl_i.a_user.rsvd[4:0] Unreachable Unreachable Unreachable INPUT
tl_i.a_data[31:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_mask[3:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_address[31:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_source[7:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_size[1:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_param[2:0] Unreachable Unreachable Unreachable INPUT
tl_i.a_opcode[2:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_valid Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_o.a_ready Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
tl_o.d_error Yes Yes T14,T47,T48 Yes T14,T47,T48 OUTPUT
tl_o.d_user.data_intg[6:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
tl_o.d_user.rsp_intg[5:0] Yes Yes *T1,*T2,*T3 Yes T1,T2,T3 OUTPUT
tl_o.d_user.rsp_intg[6] Unreachable Unreachable Unreachable OUTPUT
tl_o.d_data[31:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
tl_o.d_sink Unreachable Unreachable Unreachable OUTPUT
tl_o.d_source[7:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
tl_o.d_size[1:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
tl_o.d_param[2:0] Unreachable Unreachable Unreachable OUTPUT
tl_o.d_opcode[0] Yes Yes *T1,*T2,*T3 Yes T1,T2,T3 OUTPUT
tl_o.d_opcode[2:1] Unreachable Unreachable Unreachable OUTPUT
tl_o.d_valid Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
alert_rx_i[0].ack_n Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
alert_rx_i[0].ack_p Yes Yes T17,T18,T19 Yes T17,T18,T19 INPUT
alert_rx_i[0].ping_n Unreachable Unreachable Unreachable INPUT
alert_rx_i[0].ping_p Unreachable Unreachable Unreachable INPUT
alert_tx_o[0].alert_n Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
alert_tx_o[0].alert_p Yes Yes T17,T18,T19 Yes T17,T18,T19 OUTPUT
intr_hmac_done_o Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
intr_fifo_empty_o Yes Yes T9,T10,T11 Yes T9,T10,T11 OUTPUT
intr_hmac_err_o Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
idle_o[3:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT

*Tests covering at least one bit in the range

FSM Coverage for Module : hmac
Summary for FSM :: done_state_q
TotalCoveredPercent
States 4 4 100.00 (Not included in score)
Transitions 5 5 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: done_state_q
statesLine No.CoveredTests
DoneAwaitCmd 167 Covered T1,T2,T3
DoneAwaitHashComplete 176 Covered T1,T4,T5
DoneAwaitHashDone 157 Covered T1,T2,T3
DoneAwaitMessageComplete 160 Covered T1,T4,T5


transitionsLine No.CoveredTests
DoneAwaitCmd->DoneAwaitHashDone 157 Covered T1,T2,T3
DoneAwaitCmd->DoneAwaitMessageComplete 160 Covered T1,T4,T5
DoneAwaitHashComplete->DoneAwaitCmd 183 Covered T1,T4,T5
DoneAwaitHashDone->DoneAwaitCmd 167 Covered T1,T2,T3
DoneAwaitMessageComplete->DoneAwaitHashComplete 176 Covered T1,T4,T5



Branch Coverage for Module : hmac
Line No.TotalCoveredPercent
Branches 93 90 96.77
TERNARY 301 2 2 100.00
TERNARY 460 4 4 100.00
TERNARY 470 2 2 100.00
TERNARY 533 2 2 100.00
CASE 153 10 8 80.00
IF 192 2 2 100.00
IF 205 3 3 100.00
IF 219 2 2 100.00
IF 240 6 6 100.00
IF 256 3 3 100.00
CASE 289 4 4 100.00
IF 304 2 2 100.00
CASE 312 6 6 100.00
IF 355 4 4 100.00
IF 365 3 3 100.00
IF 404 4 4 100.00
IF 473 2 2 100.00
IF 541 4 3 75.00
IF 626 2 2 100.00
IF 632 5 5 100.00
IF 641 3 3 100.00
IF 812 2 2 100.00
CASE 835 6 6 100.00
IF 882 2 2 100.00
IF 910 4 4 100.00
IF 917 4 4 100.00

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

LineNo. Expression -1-: 301 (hash_start_or_continue) ?

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


LineNo. Expression -1-: 460 (fifo_full) ? -2-: 460 (fifo_empty_negedge) ? -3-: 460 ((((reg_hash_start || reg_hash_continue) || reg_hash_process) || reg_hash_stop)) ?

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-: 470 (fifo_empty_gate) ?

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


LineNo. Expression -1-: 533 ((hmac_fifo_wsel && fifo_wready)) ?

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


LineNo. Expression -1-: 153 case (done_state_q) -2-: 155 if (sha_hash_process) -3-: 158 if (reg_hash_stop) -4-: 165 if (reg_hash_done) -5-: 172 if (digest_on_blk) -6-: 181 if ((!hash_running))

Branches:
-1--2--3--4--5--6-StatusTests
DoneAwaitCmd 1 - - - - Covered T1,T2,T3
DoneAwaitCmd 0 1 - - - Covered T1,T4,T5
DoneAwaitCmd 0 0 - - - Covered T1,T2,T3
DoneAwaitHashDone - - 1 - - Covered T1,T2,T3
DoneAwaitHashDone - - 0 - - Covered T1,T2,T3
DoneAwaitMessageComplete - - - 1 - Covered T1,T4,T5
DoneAwaitMessageComplete - - - 0 - Covered T1,T4,T5
DoneAwaitHashComplete - - - - 1 Covered T1,T4,T5
DoneAwaitHashComplete - - - - 0 Not Covered
default - - - - - Not Covered


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

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


LineNo. Expression -1-: 205 if (wipe_secret) -2-: 207 if ((!cfg_block))

Branches:
-1--2-StatusTests
1 - Covered T22,T23,T24
0 1 Covered T1,T2,T3
0 0 Covered T1,T2,T3


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

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


LineNo. Expression -1-: 240 if ((digest_size == SHA2_256)) -2-: 244 if (((digest_size == SHA2_384) || (digest_size == SHA2_512))) -3-: 246 (reg2hw.digest[(2 * i)].qe) ? -4-: 249 (reg2hw.digest[((2 * i) + 1)].qe) ?

Branches:
-1--2--3--4-StatusTests
1 - - - Covered T1,T2,T3
0 1 1 - Covered T4,T5,T31
0 1 0 - Covered T1,T2,T3
0 1 - 1 Covered T4,T5,T31
0 1 - 0 Covered T1,T2,T3
0 0 - - Covered T1,T2,T3


LineNo. Expression -1-: 256 if ((digest_size_started_q == SHA2_256)) -2-: 262 if (((digest_size_started_q == SHA2_384) || (digest_size_started_q == SHA2_512)))

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


LineNo. Expression -1-: 289 case (digest_size_supplied)

Branches:
-1-StatusTests
SHA2_256 Covered T1,T2,T3
SHA2_384 Covered T1,T2,T3
SHA2_512 Covered T1,T2,T3
default Covered T1,T2,T3


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

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


LineNo. Expression -1-: 312 case (key_length_supplied)

Branches:
-1-StatusTests
Key_128 Covered T1,T2,T3
Key_256 Covered T1,T2,T3
Key_384 Covered T1,T2,T3
Key_512 Covered T1,T2,T3
Key_1024 Covered T1,T2,T3
default Covered T1,T2,T3


LineNo. Expression -1-: 355 if ((!rst_ni)) -2-: 357 if (hash_start_or_continue) -3-: 359 if ((reg_hash_done || reg_hash_stop))

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-: 365 if ((!rst_ni)) -2-: 397 if (((!cfg_block) && reg2hw.cfg.hmac_en.qe))

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


LineNo. Expression -1-: 404 if ((!rst_ni)) -2-: 406 if (hash_start_or_continue) -3-: 408 if (packer_flush_done)

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-: 473 if ((!rst_ni))

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


LineNo. Expression -1-: 541 if (hmac_fifo_wsel) -2-: 543 if ((digest_size == SHA2_256)) -3-: 546 if (((digest_size == SHA2_384) || (digest_size == SHA2_512)))

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


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

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


LineNo. Expression -1-: 632 if ((!cfg_block)) -2-: 633 if (reg2hw.msg_length_lower.qe) -3-: 636 if (reg2hw.msg_length_upper.qe)

Branches:
-1--2--3-StatusTests
1 1 - Covered T1,T4,T5
1 0 - Covered T1,T2,T3
1 - 1 Covered T1,T4,T5
1 - 0 Covered T1,T2,T3
0 - - Covered T1,T2,T3


LineNo. Expression -1-: 641 if (hash_start) -2-: 643 if (((msg_write && sha_en) && packer_ready))

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


LineNo. Expression -1-: 812 if (cfg_block)

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


LineNo. Expression -1-: 835 case (1'b1)

Branches:
-1-StatusTests
invalid_config_atstart Covered T1,T2,T3
hash_start_sha_disabled Covered T2,T42,T43
hash_start_active Covered T2,T42,T44
msg_push_not_allowed Covered T1,T2,T3
update_seckey_inprocess Covered T2,T20,T8
default Covered T1,T2,T3


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

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


LineNo. Expression -1-: 910 if ((!rst_ni)) -2-: 911 if ((hash_process || reg_hash_stop)) -3-: 912 if (reg_hash_done)

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-: 917 if ((!rst_ni)) -2-: 918 if (hash_start_or_continue) -3-: 919 if ((hash_process || reg_hash_stop))

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


Assert Coverage for Module : hmac
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 13 13 100.00 13 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 13 13 100.00 13 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
AlertKnownO_A 1535981541 1535899406 0 0
FpvSecCmRegWeOnehotCheck_A 1535981541 80 0 0
IntrFifoEmptyOKnown 1535981541 1535899406 0 0
IntrHmacDoneOKnown 1535981541 1535899406 0 0
TlOAReadyKnown 1535981541 1535899406 0 0
TlODValidKnown 1535981541 1535899406 0 0
ValidHashProcessAssert 1535981541 108155 0 0
ValidHmacEnConditionAssert 1535981541 8052 0 0
ValidWriteAssert 1535981541 57708421 0 0
gen_assert_wmask_bytealign[0].unnamed$$_0 1535981541 57708421 0 0
gen_assert_wmask_bytealign[1].unnamed$$_0 1535981541 57708421 0 0
gen_assert_wmask_bytealign[2].unnamed$$_0 1535981541 57708421 0 0
gen_assert_wmask_bytealign[3].unnamed$$_0 1535981541 57708421 0 0


AlertKnownO_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 1535899406 0 0
T1 13339 13259 0 0
T2 105058 105050 0 0
T3 225497 225426 0 0
T4 428988 428928 0 0
T6 1334 1268 0 0
T7 14265 14190 0 0
T15 381101 381016 0 0
T17 1202 1107 0 0
T18 855 788 0 0
T19 1353 1289 0 0

FpvSecCmRegWeOnehotCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 80 0 0
T11 80378 0 0 0
T45 3552 10 0 0
T46 308660 0 0 0
T49 0 10 0 0
T50 0 20 0 0
T51 0 30 0 0
T52 0 10 0 0
T53 249423 0 0 0
T54 2227 0 0 0
T55 117541 0 0 0
T56 193170 0 0 0
T57 289677 0 0 0
T58 102763 0 0 0
T59 2113 0 0 0

IntrFifoEmptyOKnown
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 1535899406 0 0
T1 13339 13259 0 0
T2 105058 105050 0 0
T3 225497 225426 0 0
T4 428988 428928 0 0
T6 1334 1268 0 0
T7 14265 14190 0 0
T15 381101 381016 0 0
T17 1202 1107 0 0
T18 855 788 0 0
T19 1353 1289 0 0

IntrHmacDoneOKnown
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 1535899406 0 0
T1 13339 13259 0 0
T2 105058 105050 0 0
T3 225497 225426 0 0
T4 428988 428928 0 0
T6 1334 1268 0 0
T7 14265 14190 0 0
T15 381101 381016 0 0
T17 1202 1107 0 0
T18 855 788 0 0
T19 1353 1289 0 0

TlOAReadyKnown
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 1535899406 0 0
T1 13339 13259 0 0
T2 105058 105050 0 0
T3 225497 225426 0 0
T4 428988 428928 0 0
T6 1334 1268 0 0
T7 14265 14190 0 0
T15 381101 381016 0 0
T17 1202 1107 0 0
T18 855 788 0 0
T19 1353 1289 0 0

TlODValidKnown
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 1535899406 0 0
T1 13339 13259 0 0
T2 105058 105050 0 0
T3 225497 225426 0 0
T4 428988 428928 0 0
T6 1334 1268 0 0
T7 14265 14190 0 0
T15 381101 381016 0 0
T17 1202 1107 0 0
T18 855 788 0 0
T19 1353 1289 0 0

ValidHashProcessAssert
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 108155 0 0
T1 13339 17 0 0
T2 105058 6 0 0
T3 225497 13 0 0
T4 428988 23 0 0
T6 1334 1 0 0
T7 14265 6 0 0
T8 0 386 0 0
T15 381101 225 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 135 0 0
T21 0 135 0 0

ValidHmacEnConditionAssert
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 8052 0 0
T1 13339 19 0 0
T2 105058 25 0 0
T3 225497 1 0 0
T4 428988 1 0 0
T5 0 23 0 0
T6 1334 1 0 0
T7 14265 8 0 0
T15 381101 1 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 1 0 0
T21 0 1 0 0

ValidWriteAssert
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 57708421 0 0
T1 13339 879 0 0
T2 105058 36125 0 0
T3 225497 42694 0 0
T4 428988 82250 0 0
T5 0 20426 0 0
T6 1334 0 0 0
T7 14265 349 0 0
T8 0 294223 0 0
T15 381101 10148 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 6067 0 0
T21 0 6101 0 0

gen_assert_wmask_bytealign[0].unnamed$$_0
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 57708421 0 0
T1 13339 879 0 0
T2 105058 36125 0 0
T3 225497 42694 0 0
T4 428988 82250 0 0
T5 0 20426 0 0
T6 1334 0 0 0
T7 14265 349 0 0
T8 0 294223 0 0
T15 381101 10148 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 6067 0 0
T21 0 6101 0 0

gen_assert_wmask_bytealign[1].unnamed$$_0
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 57708421 0 0
T1 13339 879 0 0
T2 105058 36125 0 0
T3 225497 42694 0 0
T4 428988 82250 0 0
T5 0 20426 0 0
T6 1334 0 0 0
T7 14265 349 0 0
T8 0 294223 0 0
T15 381101 10148 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 6067 0 0
T21 0 6101 0 0

gen_assert_wmask_bytealign[2].unnamed$$_0
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 57708421 0 0
T1 13339 879 0 0
T2 105058 36125 0 0
T3 225497 42694 0 0
T4 428988 82250 0 0
T5 0 20426 0 0
T6 1334 0 0 0
T7 14265 349 0 0
T8 0 294223 0 0
T15 381101 10148 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 6067 0 0
T21 0 6101 0 0

gen_assert_wmask_bytealign[3].unnamed$$_0
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 57708421 0 0
T1 13339 879 0 0
T2 105058 36125 0 0
T3 225497 42694 0 0
T4 428988 82250 0 0
T5 0 20426 0 0
T6 1334 0 0 0
T7 14265 349 0 0
T8 0 294223 0 0
T15 381101 10148 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 6067 0 0
T21 0 6101 0 0

Line Coverage for Instance : tb.dut
Line No.TotalCoveredPercent
TOTAL195195100.00
CONT_ASSIGN13511100.00
CONT_ASSIGN13611100.00
CONT_ASSIGN13711100.00
CONT_ASSIGN13811100.00
ALWAYS1501515100.00
ALWAYS19233100.00
CONT_ASSIGN19911100.00
CONT_ASSIGN20011100.00
ALWAYS20477100.00
ALWAYS21933100.00
ALWAYS2311919100.00
CONT_ASSIGN27711100.00
CONT_ASSIGN28211100.00
CONT_ASSIGN28311100.00
CONT_ASSIGN28511100.00
ALWAYS28755100.00
CONT_ASSIGN30111100.00
ALWAYS30433100.00
CONT_ASSIGN30811100.00
ALWAYS31077100.00
CONT_ASSIGN32511100.00
CONT_ASSIGN32611100.00
CONT_ASSIGN32711100.00
CONT_ASSIGN32911100.00
CONT_ASSIGN33011100.00
CONT_ASSIGN33111100.00
CONT_ASSIGN33211100.00
CONT_ASSIGN33311100.00
CONT_ASSIGN33411100.00
CONT_ASSIGN33511100.00
CONT_ASSIGN33711100.00
CONT_ASSIGN33811100.00
CONT_ASSIGN33911100.00
CONT_ASSIGN34011100.00
CONT_ASSIGN34311100.00
CONT_ASSIGN34411100.00
CONT_ASSIGN34911100.00
CONT_ASSIGN35011100.00
CONT_ASSIGN35111100.00
CONT_ASSIGN35211100.00
ALWAYS35566100.00
ALWAYS36544100.00
ALWAYS40466100.00
CONT_ASSIGN45311100.00
CONT_ASSIGN46011100.00
CONT_ASSIGN46811100.00
CONT_ASSIGN47011100.00
ALWAYS47355100.00
CONT_ASSIGN51411100.00
CONT_ASSIGN51711100.00
CONT_ASSIGN52311100.00
CONT_ASSIGN52811100.00
CONT_ASSIGN52911100.00
CONT_ASSIGN53111100.00
CONT_ASSIGN53211100.00
CONT_ASSIGN53311100.00
ALWAYS53899100.00
CONT_ASSIGN61311100.00
ALWAYS61833100.00
ALWAYS62633100.00
ALWAYS6311010100.00
CONT_ASSIGN64811100.00
CONT_ASSIGN64911100.00
CONT_ASSIGN65611100.00
CONT_ASSIGN65711100.00
CONT_ASSIGN76711100.00
CONT_ASSIGN79611100.00
CONT_ASSIGN79711100.00
CONT_ASSIGN79811100.00
CONT_ASSIGN80311100.00
CONT_ASSIGN80811100.00
ALWAYS81166100.00
CONT_ASSIGN82711100.00
ALWAYS83377100.00
CONT_ASSIGN87611100.00
CONT_ASSIGN88011100.00
ALWAYS88233100.00
CONT_ASSIGN88811100.00
ALWAYS91066100.00
ALWAYS91766100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_ip_hmac_0.1/rtl/hmac.sv' or '../src/lowrisc_ip_hmac_0.1/rtl/hmac.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
135 1 1
136 1 1
137 1 1
138 1 1
150 1 1
151 1 1
153 1 1
155 1 1
157 1 1
158 1 1
160 1 1
MISSING_ELSE
165 1 1
166 1 1
167 1 1
MISSING_ELSE
172 1 1
176 1 1
MISSING_ELSE
181 1 1
182 1 1
183 1 1
==> MISSING_ELSE
192 1 1
193 1 1
195 1 1
199 1 1
200 1 1
204 1 1
205 1 1
206 1 1
207 1 1
209 1 1
210 1 1
212 1 1
MISSING_ELSE
MISSING_ELSE
219 2 2
220 1 1
231 1 1
232 1 1
234 1 1
236 1 1
240 1 1
242 1 1
243 1 1
244 1 1
246 1 1
249 1 1
252 1 1
MISSING_ELSE
256 1 1
257 1 1
261 1 1
262 1 1
266 1 1
267 1 1
270 1 1
271 1 1
277 1 1
282 1 1
283 1 1
285 1 1
287 1 1
289 1 1
290 1 1
291 1 1
292 1 1
301 1 1
304 2 2
305 1 1
308 1 1
310 1 1
312 1 1
313 1 1
314 1 1
315 1 1
316 1 1
317 1 1
325 1 1
326 1 1
327 1 1
329 1 1
330 1 1
331 1 1
332 1 1
333 1 1
334 1 1
335 1 1
337 1 1
338 1 1
339 1 1
340 1 1
343 1 1
344 1 1
349 1 1
350 1 1
351 1 1
352 1 1
355 1 1
356 1 1
357 1 1
358 1 1
359 1 1
360 1 1
MISSING_ELSE
365 1 1
366 1 1
397 1 1
398 1 1
MISSING_ELSE
404 1 1
405 1 1
406 1 1
407 1 1
408 1 1
409 1 1
MISSING_ELSE
453 1 1
460 1 1
468 1 1
470 1 1
473 1 1
474 1 1
475 1 1
477 1 1
478 1 1
514 1 1
517 1 1
523 1 1
528 1 1
529 1 1
531 1 1
532 1 1
533 1 1
538 1 1
539 1 1
541 1 1
542 1 1
543 1 1
545 1 1
546 1 1
548 1 1
549 1 1
==> MISSING_ELSE
MISSING_ELSE
613 1 1
618 1 1
619 1 1
620 1 1
626 2 2
627 1 1
631 1 1
632 1 1
633 1 1
634 1 1
MISSING_ELSE
636 1 1
637 1 1
MISSING_ELSE
MISSING_ELSE
641 1 1
642 1 1
643 1 1
644 1 1
MISSING_ELSE
648 1 1
649 1 1
656 1 1
657 1 1
767 1 1
796 1 1
797 1 1
798 1 1
803 1 1
808 1 1
811 1 1
812 1 1
813 1 1
814 1 1
815 1 1
MISSING_ELSE
819 1 1
827 1 1
833 1 1
835 1 1
838 1 1
842 1 1
846 1 1
850 1 1
854 1 1
876 1 1
880 1 1
882 1 1
883 1 1
885 1 1
888 1 1
910 2 2
911 2 2
912 2 2
MISSING_ELSE
917 2 2
918 2 2
919 2 2
MISSING_ELSE


Cond Coverage for Instance : tb.dut
TotalCoveredPercent
Conditions17616593.75
Logical17616593.75
Non-Logical00
Event00

 LINE       240
 EXPRESSION (digest_size == SHA2_256)
            ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       244
 EXPRESSION ((digest_size == SHA2_384) || (digest_size == SHA2_512))
             ------------1------------    ------------2------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T2,T3
10CoveredT1,T2,T3

 LINE       244
 SUB-EXPRESSION (digest_size == SHA2_384)
                ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       244
 SUB-EXPRESSION (digest_size == SHA2_512)
                ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       246
 EXPRESSION (reg2hw.digest[(2 * i)].qe ? prim_sha2_pkg::conv_endian32(reg2hw.digest[(2 * i)].q, digest_swap) : digest[i][63:32])
             ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT4,T5,T31

 LINE       249
 EXPRESSION (reg2hw.digest[((2 * i) + 1)].qe ? prim_sha2_pkg::conv_endian32(reg2hw.digest[((2 * i) + 1)].q, digest_swap) : digest[i][31:0])
             ---------------1---------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT4,T5,T31

 LINE       252
 EXPRESSION (reg2hw.digest[(2 * i)].qe | reg2hw.digest[((2 * i) + 1)].qe)
             ------------1------------   ---------------2---------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT4,T5,T31
10CoveredT4,T5,T31

 LINE       256
 EXPRESSION (digest_size_started_q == SHA2_256)
            -----------------1-----------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       262
 EXPRESSION ((digest_size_started_q == SHA2_384) || (digest_size_started_q == SHA2_512))
             -----------------1-----------------    -----------------2-----------------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T2,T3
10CoveredT1,T2,T3

 LINE       262
 SUB-EXPRESSION (digest_size_started_q == SHA2_384)
                -----------------1-----------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       262
 SUB-EXPRESSION (digest_size_started_q == SHA2_512)
                -----------------1-----------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       301
 EXPRESSION (hash_start_or_continue ? digest_size : digest_size_started_q)
             -----------1----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       337
 EXPRESSION (reg2hw.cmd.hash_start.qe & reg2hw.cmd.hash_start.q)
             ------------1-----------   -----------2-----------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       338
 EXPRESSION (reg2hw.cmd.hash_stop.qe & reg2hw.cmd.hash_stop.q)
             -----------1-----------   -----------2----------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T4,T5

 LINE       339
 EXPRESSION (reg2hw.cmd.hash_continue.qe & reg2hw.cmd.hash_continue.q)
             -------------1-------------   -------------2------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T4,T5

 LINE       340
 EXPRESSION (reg2hw.cmd.hash_process.qe & reg2hw.cmd.hash_process.q)
             -------------1------------   ------------2------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       349
 EXPRESSION (reg_hash_start & sha_en & ((~cfg_block)) & ((~invalid_config)))
             -------1------   ---2--   -------3------   ---------4---------
-1--2--3--4-StatusTests
0111CoveredT1,T2,T3
1011CoveredT2,T42,T43
1101CoveredT2,T42,T44
1110CoveredT1,T2,T3
1111CoveredT1,T2,T3

 LINE       350
 EXPRESSION (reg_hash_continue & sha_en & ((~cfg_block)) & ((~invalid_config)))
             --------1--------   ---2--   -------3------   ---------4---------
-1--2--3--4-StatusTests
0111CoveredT1,T2,T3
1011Not Covered
1101Not Covered
1110Not Covered
1111CoveredT1,T4,T5

 LINE       351
 EXPRESSION (reg_hash_process & sha_en & cfg_block & ((~invalid_config)))
             --------1-------   ---2--   ----3----   ---------4---------
-1--2--3--4-StatusTests
0111CoveredT1,T2,T3
1011Not Covered
1101Not Covered
1110Not Covered
1111CoveredT1,T2,T3

 LINE       352
 EXPRESSION (hash_start | hash_continue)
             -----1----   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

 LINE       359
 EXPRESSION (reg_hash_done || reg_hash_stop)
             ------1------    ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

 LINE       397
 EXPRESSION (((!cfg_block)) && reg2hw.cfg.hmac_en.qe)
             -------1------    ----------2----------
-1--2-StatusTests
01CoveredT2,T21,T8
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       453
 EXPRESSION (fifo_empty_q & ((~fifo_empty)))
             ------1-----   -------2-------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       460
 EXPRESSION 
 Number  Term
      1  fifo_full ? 1'b1 : (fifo_empty_negedge ? 1'b0 : ((reg_hash_start || reg_hash_continue || reg_hash_process || reg_hash_stop) ? 1'b0 : fifo_full_seen_q)))
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       460
 SUB-EXPRESSION (fifo_empty_negedge ? 1'b0 : ((reg_hash_start || reg_hash_continue || reg_hash_process || reg_hash_stop) ? 1'b0 : fifo_full_seen_q))
                 ---------1--------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       460
 SUB-EXPRESSION ((reg_hash_start || reg_hash_continue || reg_hash_process || reg_hash_stop) ? 1'b0 : fifo_full_seen_q)
                 -------------------------------------1------------------------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       460
 SUB-EXPRESSION (reg_hash_start || reg_hash_continue || reg_hash_process || reg_hash_stop)
                 -------1------    --------2--------    --------3-------    ------4------
-1--2--3--4-StatusTests
0000CoveredT1,T2,T3
0001CoveredT1,T4,T5
0010CoveredT1,T2,T3
0100CoveredT1,T4,T5
1000CoveredT1,T2,T3

 LINE       468
 EXPRESSION (((~msg_allowed)) || ((~fifo_full_seen_q)))
             --------1-------    ----------2----------
-1--2-StatusTests
00CoveredT16,T9,T10
01CoveredT1,T2,T3
10CoveredT1,T2,T3

 LINE       470
 EXPRESSION (fifo_empty_gate ? 1'b0 : fifo_empty)
             -------1-------
-1-StatusTests
0CoveredT16,T9,T10
1CoveredT1,T2,T3

 LINE       514
 EXPRESSION (msg_fifo_req & ((~msg_fifo_we)))
             ------1-----   --------2-------
-1--2-StatusTestsExclude Annotation
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11Excluded VC_COV_UNR

 LINE       517
 EXPRESSION (msg_fifo_req & ((~hmac_fifo_wsel)) & packer_ready)
             ------1-----   ---------2---------   ------3-----
-1--2--3-StatusTests
011CoveredT1,T2,T3
101Not Covered
110UnreachableT16,T9,T10
111CoveredT1,T2,T3

 LINE       533
 EXPRESSION ((hmac_fifo_wsel && fifo_wready) ? hmac_fifo_wvalid : reg_fifo_wvalid)
             ---------------1---------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       533
 SUB-EXPRESSION (hmac_fifo_wsel && fifo_wready)
                 -------1------    -----2-----
-1--2-StatusTests
01CoveredT1,T2,T3
10Not Covered
11CoveredT1,T2,T3

 LINE       543
 EXPRESSION (digest_size == SHA2_256)
            ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT3,T7,T4

 LINE       546
 EXPRESSION ((digest_size == SHA2_384) || (digest_size == SHA2_512))
             ------------1------------    ------------2------------
-1--2-StatusTests
00Not Covered
01CoveredT1,T2,T3
10CoveredT1,T3,T7

 LINE       546
 SUB-EXPRESSION (digest_size == SHA2_384)
                ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T3,T7

 LINE       546
 SUB-EXPRESSION (digest_size == SHA2_512)
                ------------1------------
-1-StatusTests
0CoveredT1,T3,T7
1CoveredT1,T2,T3

 LINE       560
 EXPRESSION (fifo_wvalid & sha_en)
             -----1-----   ---2--
-1--2-StatusTestsExclude Annotation
01CoveredT1,T2,T3
10Excluded VC_COV_UNR
11CoveredT1,T2,T3

 LINE       613
 EXPRESSION (msg_fifo_req & msg_fifo_we & ((~hmac_fifo_wsel)) & msg_allowed)
             ------1-----   -----2-----   ---------3---------   -----4-----
-1--2--3--4-StatusTestsExclude Annotation
0111CoveredT1,T2,T3
1011Excluded VC_COV_UNR
1101Excluded VC_COV_UNR
1110CoveredT1,T2,T3
1111CoveredT1,T2,T3

 LINE       643
 EXPRESSION (msg_write && sha_en && packer_ready)
             ----1----    ---2--    ------3-----
-1--2--3-StatusTests
011CoveredT1,T2,T3
101Not Covered
110UnreachableT16,T9,T10
111CoveredT1,T2,T3

 LINE       663
 EXPRESSION (msg_write & sha_en)
             ----1----   ---2--
-1--2-StatusTestsExclude Annotation
01CoveredT1,T2,T3
10Excluded VC_COV_UNR
11CoveredT1,T2,T3

 LINE       663
 EXPRESSION (fifo_wready & ((~hmac_fifo_wsel)))
             -----1-----   ---------2---------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       767
 SUB-EXPRESSION (reg2hw.alert_test.q & reg2hw.alert_test.qe)
                 ---------1---------   ----------2---------
-1--2-StatusTests
01CoveredT17,T18,T19
10CoveredT1,T2,T3
11CoveredT17,T18,T19

 LINE       796
 EXPRESSION ((reg_hash_start | reg_hash_continue) & ((~sha_en)))
             ------------------1-----------------   -----2-----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT2,T42,T44

 LINE       796
 SUB-EXPRESSION (reg_hash_start | reg_hash_continue)
                 -------1------   --------2--------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

 LINE       797
 EXPRESSION ((reg_hash_start | reg_hash_continue) & cfg_block)
             ------------------1-----------------   ----2----
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT2,T42,T44

 LINE       797
 SUB-EXPRESSION (reg_hash_start | reg_hash_continue)
                 -------1------   --------2--------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

 LINE       798
 EXPRESSION (msg_fifo_req & ((~msg_allowed)))
             ------1-----   --------2-------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       803
 EXPRESSION ((digest_size == SHA2_None) | ((key_length == Key_None) && hmac_en) | ((key_length == Key_1024) && (digest_size == SHA2_256) && hmac_en))
             -------------1------------   ------------------2------------------   ---------------------------------3--------------------------------
-1--2--3-StatusTests
000CoveredT1,T2,T3
001CoveredT1,T2,T3
010CoveredT1,T2,T3
100CoveredT1,T2,T3

 LINE       803
 SUB-EXPRESSION (digest_size == SHA2_None)
                -------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       803
 SUB-EXPRESSION ((key_length == Key_None) && hmac_en)
                 ------------1-----------    ---2---
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       803
 SUB-EXPRESSION (key_length == Key_None)
                ------------1-----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       803
 SUB-EXPRESSION ((key_length == Key_1024) && (digest_size == SHA2_256) && hmac_en)
                 ------------1-----------    ------------2------------    ---3---
-1--2--3-StatusTests
011CoveredT1,T2,T3
101CoveredT1,T2,T3
110CoveredT1,T43,T22
111CoveredT1,T2,T3

 LINE       803
 SUB-EXPRESSION (key_length == Key_1024)
                ------------1-----------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       803
 SUB-EXPRESSION (digest_size == SHA2_256)
                ------------1------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       808
 EXPRESSION ((reg_hash_start || reg_hash_continue) & invalid_config)
             ------------------1------------------   -------2------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       808
 SUB-EXPRESSION (reg_hash_start || reg_hash_continue)
                 -------1------    --------2--------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

 LINE       827
 EXPRESSION 
 Number  Term
      1  ((~reg2hw.intr_state.hmac_err.q)) & 
      2  (hash_start_sha_disabled | update_seckey_inprocess | hash_start_active | msg_push_not_allowed | invalid_config_atstart))
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T3

 LINE       827
 SUB-EXPRESSION (hash_start_sha_disabled | update_seckey_inprocess | hash_start_active | msg_push_not_allowed | invalid_config_atstart)
                 -----------1-----------   -----------2-----------   --------3--------   ----------4---------   -----------5----------
-1--2--3--4--5-StatusTests
00000CoveredT1,T2,T3
00001CoveredT1,T2,T3
00010CoveredT1,T2,T3
00100CoveredT2,T42,T44
01000CoveredT2,T20,T8
10000CoveredT2,T42,T43

 LINE       876
 EXPRESSION (((!reg_fifo_wvalid)) && ((!fifo_rvalid)) && hmac_core_idle && sha_core_idle)
             ----------1---------    --------2-------    -------3------    ------4------
-1--2--3--4-StatusTestsExclude Annotation
0111Excluded VC_COV_UNR
1011Not Covered
1101CoveredT1,T2,T3
1110CoveredT1,T2,T7
1111CoveredT1,T2,T3

 LINE       911
 EXPRESSION (hash_process || reg_hash_stop)
             ------1-----    ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

 LINE       919
 EXPRESSION (hash_process || reg_hash_stop)
             ------1-----    ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T4,T5
10CoveredT1,T2,T3

Toggle Coverage for Instance : tb.dut
TotalCoveredPercent
Totals 30 30 100.00
Total Bits 346 346 100.00
Total Bits 0->1 173 173 100.00
Total Bits 1->0 173 173 100.00

Ports 30 30 100.00
Port Bits 346 346 100.00
Port Bits 0->1 173 173 100.00
Port Bits 1->0 173 173 100.00

Port Details
NameToggleToggle 1->0TestsToggle 0->1TestsDirection
clk_i Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
rst_ni Yes Yes T45,T46,T24 Yes T1,T2,T3 INPUT
tl_i.d_ready Yes Yes T2,T7,T15 Yes T1,T2,T3 INPUT
tl_i.a_user.data_intg[6:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_user.cmd_intg[6:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_user.instr_type[3:0] Yes Yes T7,T17,T4 Yes T7,T17,T4 INPUT
tl_i.a_user.rsvd[4:0] Unreachable Unreachable Unreachable INPUT
tl_i.a_data[31:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_mask[3:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_address[31:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_source[7:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_size[1:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_param[2:0] Unreachable Unreachable Unreachable INPUT
tl_i.a_opcode[2:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_i.a_valid Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
tl_o.a_ready Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
tl_o.d_error Yes Yes T14,T47,T48 Yes T14,T47,T48 OUTPUT
tl_o.d_user.data_intg[6:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
tl_o.d_user.rsp_intg[5:0] Yes Yes *T1,*T2,*T3 Yes T1,T2,T3 OUTPUT
tl_o.d_user.rsp_intg[6] Unreachable Unreachable Unreachable OUTPUT
tl_o.d_data[31:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
tl_o.d_sink Unreachable Unreachable Unreachable OUTPUT
tl_o.d_source[7:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
tl_o.d_size[1:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
tl_o.d_param[2:0] Unreachable Unreachable Unreachable OUTPUT
tl_o.d_opcode[0] Yes Yes *T1,*T2,*T3 Yes T1,T2,T3 OUTPUT
tl_o.d_opcode[2:1] Unreachable Unreachable Unreachable OUTPUT
tl_o.d_valid Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
alert_rx_i[0].ack_n Yes Yes T1,T2,T3 Yes T1,T2,T3 INPUT
alert_rx_i[0].ack_p Yes Yes T17,T18,T19 Yes T17,T18,T19 INPUT
alert_rx_i[0].ping_n Unreachable Unreachable Unreachable INPUT
alert_rx_i[0].ping_p Unreachable Unreachable Unreachable INPUT
alert_tx_o[0].alert_n Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
alert_tx_o[0].alert_p Yes Yes T17,T18,T19 Yes T17,T18,T19 OUTPUT
intr_hmac_done_o Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
intr_fifo_empty_o Yes Yes T9,T10,T11 Yes T9,T10,T11 OUTPUT
intr_hmac_err_o Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT
idle_o[3:0] Yes Yes T1,T2,T3 Yes T1,T2,T3 OUTPUT

*Tests covering at least one bit in the range

FSM Coverage for Instance : tb.dut
Summary for FSM :: done_state_q
TotalCoveredPercent
States 4 4 100.00 (Not included in score)
Transitions 5 5 100.00
Sequences 0 0

State, Transition and Sequence Details for FSM :: done_state_q
statesLine No.CoveredTests
DoneAwaitCmd 167 Covered T1,T2,T3
DoneAwaitHashComplete 176 Covered T1,T4,T5
DoneAwaitHashDone 157 Covered T1,T2,T3
DoneAwaitMessageComplete 160 Covered T1,T4,T5


transitionsLine No.CoveredTests
DoneAwaitCmd->DoneAwaitHashDone 157 Covered T1,T2,T3
DoneAwaitCmd->DoneAwaitMessageComplete 160 Covered T1,T4,T5
DoneAwaitHashComplete->DoneAwaitCmd 183 Covered T1,T4,T5
DoneAwaitHashDone->DoneAwaitCmd 167 Covered T1,T2,T3
DoneAwaitMessageComplete->DoneAwaitHashComplete 176 Covered T1,T4,T5



Branch Coverage for Instance : tb.dut
Line No.TotalCoveredPercent
Branches 93 90 96.77
TERNARY 301 2 2 100.00
TERNARY 460 4 4 100.00
TERNARY 470 2 2 100.00
TERNARY 533 2 2 100.00
CASE 153 10 8 80.00
IF 192 2 2 100.00
IF 205 3 3 100.00
IF 219 2 2 100.00
IF 240 6 6 100.00
IF 256 3 3 100.00
CASE 289 4 4 100.00
IF 304 2 2 100.00
CASE 312 6 6 100.00
IF 355 4 4 100.00
IF 365 3 3 100.00
IF 404 4 4 100.00
IF 473 2 2 100.00
IF 541 4 3 75.00
IF 626 2 2 100.00
IF 632 5 5 100.00
IF 641 3 3 100.00
IF 812 2 2 100.00
CASE 835 6 6 100.00
IF 882 2 2 100.00
IF 910 4 4 100.00
IF 917 4 4 100.00

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

LineNo. Expression -1-: 301 (hash_start_or_continue) ?

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


LineNo. Expression -1-: 460 (fifo_full) ? -2-: 460 (fifo_empty_negedge) ? -3-: 460 ((((reg_hash_start || reg_hash_continue) || reg_hash_process) || reg_hash_stop)) ?

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-: 470 (fifo_empty_gate) ?

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


LineNo. Expression -1-: 533 ((hmac_fifo_wsel && fifo_wready)) ?

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


LineNo. Expression -1-: 153 case (done_state_q) -2-: 155 if (sha_hash_process) -3-: 158 if (reg_hash_stop) -4-: 165 if (reg_hash_done) -5-: 172 if (digest_on_blk) -6-: 181 if ((!hash_running))

Branches:
-1--2--3--4--5--6-StatusTests
DoneAwaitCmd 1 - - - - Covered T1,T2,T3
DoneAwaitCmd 0 1 - - - Covered T1,T4,T5
DoneAwaitCmd 0 0 - - - Covered T1,T2,T3
DoneAwaitHashDone - - 1 - - Covered T1,T2,T3
DoneAwaitHashDone - - 0 - - Covered T1,T2,T3
DoneAwaitMessageComplete - - - 1 - Covered T1,T4,T5
DoneAwaitMessageComplete - - - 0 - Covered T1,T4,T5
DoneAwaitHashComplete - - - - 1 Covered T1,T4,T5
DoneAwaitHashComplete - - - - 0 Not Covered
default - - - - - Not Covered


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

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


LineNo. Expression -1-: 205 if (wipe_secret) -2-: 207 if ((!cfg_block))

Branches:
-1--2-StatusTests
1 - Covered T22,T23,T24
0 1 Covered T1,T2,T3
0 0 Covered T1,T2,T3


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

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


LineNo. Expression -1-: 240 if ((digest_size == SHA2_256)) -2-: 244 if (((digest_size == SHA2_384) || (digest_size == SHA2_512))) -3-: 246 (reg2hw.digest[(2 * i)].qe) ? -4-: 249 (reg2hw.digest[((2 * i) + 1)].qe) ?

Branches:
-1--2--3--4-StatusTests
1 - - - Covered T1,T2,T3
0 1 1 - Covered T4,T5,T31
0 1 0 - Covered T1,T2,T3
0 1 - 1 Covered T4,T5,T31
0 1 - 0 Covered T1,T2,T3
0 0 - - Covered T1,T2,T3


LineNo. Expression -1-: 256 if ((digest_size_started_q == SHA2_256)) -2-: 262 if (((digest_size_started_q == SHA2_384) || (digest_size_started_q == SHA2_512)))

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


LineNo. Expression -1-: 289 case (digest_size_supplied)

Branches:
-1-StatusTests
SHA2_256 Covered T1,T2,T3
SHA2_384 Covered T1,T2,T3
SHA2_512 Covered T1,T2,T3
default Covered T1,T2,T3


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

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


LineNo. Expression -1-: 312 case (key_length_supplied)

Branches:
-1-StatusTests
Key_128 Covered T1,T2,T3
Key_256 Covered T1,T2,T3
Key_384 Covered T1,T2,T3
Key_512 Covered T1,T2,T3
Key_1024 Covered T1,T2,T3
default Covered T1,T2,T3


LineNo. Expression -1-: 355 if ((!rst_ni)) -2-: 357 if (hash_start_or_continue) -3-: 359 if ((reg_hash_done || reg_hash_stop))

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-: 365 if ((!rst_ni)) -2-: 397 if (((!cfg_block) && reg2hw.cfg.hmac_en.qe))

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


LineNo. Expression -1-: 404 if ((!rst_ni)) -2-: 406 if (hash_start_or_continue) -3-: 408 if (packer_flush_done)

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-: 473 if ((!rst_ni))

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


LineNo. Expression -1-: 541 if (hmac_fifo_wsel) -2-: 543 if ((digest_size == SHA2_256)) -3-: 546 if (((digest_size == SHA2_384) || (digest_size == SHA2_512)))

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


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

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


LineNo. Expression -1-: 632 if ((!cfg_block)) -2-: 633 if (reg2hw.msg_length_lower.qe) -3-: 636 if (reg2hw.msg_length_upper.qe)

Branches:
-1--2--3-StatusTests
1 1 - Covered T1,T4,T5
1 0 - Covered T1,T2,T3
1 - 1 Covered T1,T4,T5
1 - 0 Covered T1,T2,T3
0 - - Covered T1,T2,T3


LineNo. Expression -1-: 641 if (hash_start) -2-: 643 if (((msg_write && sha_en) && packer_ready))

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


LineNo. Expression -1-: 812 if (cfg_block)

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


LineNo. Expression -1-: 835 case (1'b1)

Branches:
-1-StatusTests
invalid_config_atstart Covered T1,T2,T3
hash_start_sha_disabled Covered T2,T42,T43
hash_start_active Covered T2,T42,T44
msg_push_not_allowed Covered T1,T2,T3
update_seckey_inprocess Covered T2,T20,T8
default Covered T1,T2,T3


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

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


LineNo. Expression -1-: 910 if ((!rst_ni)) -2-: 911 if ((hash_process || reg_hash_stop)) -3-: 912 if (reg_hash_done)

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-: 917 if ((!rst_ni)) -2-: 918 if (hash_start_or_continue) -3-: 919 if ((hash_process || reg_hash_stop))

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


Assert Coverage for Instance : tb.dut
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 13 13 100.00 13 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 13 13 100.00 13 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
AlertKnownO_A 1535981541 1535899406 0 0
FpvSecCmRegWeOnehotCheck_A 1535981541 80 0 0
IntrFifoEmptyOKnown 1535981541 1535899406 0 0
IntrHmacDoneOKnown 1535981541 1535899406 0 0
TlOAReadyKnown 1535981541 1535899406 0 0
TlODValidKnown 1535981541 1535899406 0 0
ValidHashProcessAssert 1535981541 108155 0 0
ValidHmacEnConditionAssert 1535981541 8052 0 0
ValidWriteAssert 1535981541 57708421 0 0
gen_assert_wmask_bytealign[0].unnamed$$_0 1535981541 57708421 0 0
gen_assert_wmask_bytealign[1].unnamed$$_0 1535981541 57708421 0 0
gen_assert_wmask_bytealign[2].unnamed$$_0 1535981541 57708421 0 0
gen_assert_wmask_bytealign[3].unnamed$$_0 1535981541 57708421 0 0


AlertKnownO_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 1535899406 0 0
T1 13339 13259 0 0
T2 105058 105050 0 0
T3 225497 225426 0 0
T4 428988 428928 0 0
T6 1334 1268 0 0
T7 14265 14190 0 0
T15 381101 381016 0 0
T17 1202 1107 0 0
T18 855 788 0 0
T19 1353 1289 0 0

FpvSecCmRegWeOnehotCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 80 0 0
T11 80378 0 0 0
T45 3552 10 0 0
T46 308660 0 0 0
T49 0 10 0 0
T50 0 20 0 0
T51 0 30 0 0
T52 0 10 0 0
T53 249423 0 0 0
T54 2227 0 0 0
T55 117541 0 0 0
T56 193170 0 0 0
T57 289677 0 0 0
T58 102763 0 0 0
T59 2113 0 0 0

IntrFifoEmptyOKnown
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 1535899406 0 0
T1 13339 13259 0 0
T2 105058 105050 0 0
T3 225497 225426 0 0
T4 428988 428928 0 0
T6 1334 1268 0 0
T7 14265 14190 0 0
T15 381101 381016 0 0
T17 1202 1107 0 0
T18 855 788 0 0
T19 1353 1289 0 0

IntrHmacDoneOKnown
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 1535899406 0 0
T1 13339 13259 0 0
T2 105058 105050 0 0
T3 225497 225426 0 0
T4 428988 428928 0 0
T6 1334 1268 0 0
T7 14265 14190 0 0
T15 381101 381016 0 0
T17 1202 1107 0 0
T18 855 788 0 0
T19 1353 1289 0 0

TlOAReadyKnown
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 1535899406 0 0
T1 13339 13259 0 0
T2 105058 105050 0 0
T3 225497 225426 0 0
T4 428988 428928 0 0
T6 1334 1268 0 0
T7 14265 14190 0 0
T15 381101 381016 0 0
T17 1202 1107 0 0
T18 855 788 0 0
T19 1353 1289 0 0

TlODValidKnown
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 1535899406 0 0
T1 13339 13259 0 0
T2 105058 105050 0 0
T3 225497 225426 0 0
T4 428988 428928 0 0
T6 1334 1268 0 0
T7 14265 14190 0 0
T15 381101 381016 0 0
T17 1202 1107 0 0
T18 855 788 0 0
T19 1353 1289 0 0

ValidHashProcessAssert
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 108155 0 0
T1 13339 17 0 0
T2 105058 6 0 0
T3 225497 13 0 0
T4 428988 23 0 0
T6 1334 1 0 0
T7 14265 6 0 0
T8 0 386 0 0
T15 381101 225 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 135 0 0
T21 0 135 0 0

ValidHmacEnConditionAssert
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 8052 0 0
T1 13339 19 0 0
T2 105058 25 0 0
T3 225497 1 0 0
T4 428988 1 0 0
T5 0 23 0 0
T6 1334 1 0 0
T7 14265 8 0 0
T15 381101 1 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 1 0 0
T21 0 1 0 0

ValidWriteAssert
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 57708421 0 0
T1 13339 879 0 0
T2 105058 36125 0 0
T3 225497 42694 0 0
T4 428988 82250 0 0
T5 0 20426 0 0
T6 1334 0 0 0
T7 14265 349 0 0
T8 0 294223 0 0
T15 381101 10148 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 6067 0 0
T21 0 6101 0 0

gen_assert_wmask_bytealign[0].unnamed$$_0
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 57708421 0 0
T1 13339 879 0 0
T2 105058 36125 0 0
T3 225497 42694 0 0
T4 428988 82250 0 0
T5 0 20426 0 0
T6 1334 0 0 0
T7 14265 349 0 0
T8 0 294223 0 0
T15 381101 10148 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 6067 0 0
T21 0 6101 0 0

gen_assert_wmask_bytealign[1].unnamed$$_0
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 57708421 0 0
T1 13339 879 0 0
T2 105058 36125 0 0
T3 225497 42694 0 0
T4 428988 82250 0 0
T5 0 20426 0 0
T6 1334 0 0 0
T7 14265 349 0 0
T8 0 294223 0 0
T15 381101 10148 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 6067 0 0
T21 0 6101 0 0

gen_assert_wmask_bytealign[2].unnamed$$_0
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 57708421 0 0
T1 13339 879 0 0
T2 105058 36125 0 0
T3 225497 42694 0 0
T4 428988 82250 0 0
T5 0 20426 0 0
T6 1334 0 0 0
T7 14265 349 0 0
T8 0 294223 0 0
T15 381101 10148 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 6067 0 0
T21 0 6101 0 0

gen_assert_wmask_bytealign[3].unnamed$$_0
NameAttemptsReal SuccessesFailuresIncomplete
Total 1535981541 57708421 0 0
T1 13339 879 0 0
T2 105058 36125 0 0
T3 225497 42694 0 0
T4 428988 82250 0 0
T5 0 20426 0 0
T6 1334 0 0 0
T7 14265 349 0 0
T8 0 294223 0 0
T15 381101 10148 0 0
T17 1202 0 0 0
T18 855 0 0 0
T19 1353 0 0 0
T20 0 6067 0 0
T21 0 6101 0 0

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