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

Module : prim_sha2_32
SCORELINECONDTOGGLEFSMBRANCHASSERT
54.20 58.00 45.07 59.52

Source File(s) :
/workspace/default/sim-vcs/../src/lowrisc_prim_sha2_0/rtl/prim_sha2_32.sv

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.u_prim_sha2_512 54.20 58.00 45.07 59.52



Module Instance : tb.dut.u_prim_sha2_512

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
54.20 58.00 45.07 59.52


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
70.71 80.38 53.67 76.00 72.77


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
83.30 94.02 77.27 100.00 40.00 88.51 100.00 dut


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_multimode_logic.u_prim_sha2_multimode 74.30 88.76 55.93 76.00 76.51


Since this is the module's only instance, the coverage report is the same as for the module.
Line Coverage for Module : prim_sha2_32
Line No.TotalCoveredPercent
TOTAL1005858.00
CONT_ASSIGN4211100.00
ALWAYS61874551.72
ALWAYS21033100.00
ALWAYS21533100.00
ALWAYS22033100.00
ALWAYS22533100.00
WARNING: The source file '/workspace/default/sim-vcs/../src/lowrisc_prim_sha2_0/rtl/prim_sha2_32.sv' or '../src/lowrisc_prim_sha2_0/rtl/prim_sha2_32.sv' was not found, so annotated line coverage report could not be generated.
Line No.CoveredStatements
42 1 1
61 1 1
62 1 1
63 1 1
64 1 1
65 1 1
66 1 1
67 1 1
70 2 2
71 1 1
73 1 1
74 1 1
75 1 1
77 0 1
78 0 1
79 0 1
80 0 1
82 1 1
84 1 1
85 1 1
87 1 1
88 1 1
89 1 1
90 1 1
MISSING_ELSE
92 1 1
94 1 1
96 1 1
99 0 1
100 0 1
102 0 1
103 0 1
106 0 1
107 0 1
108 0 1
109 0 1
110 0 1
112 0 1
113 0 1
==> MISSING_ELSE
115 0 1
117 0 1
118 0 1
119 0 1
121 0 1
122 0 1
124 0 1
126 0 1
127 0 1
128 0 1
129 0 1
130 0 1
==> MISSING_ELSE
132 0 1
134 0 1
==> MISSING_ELSE
==> MISSING_ELSE
137 1 1
139 1 1
140 1 1
141 1 1
142 1 1
144 0 1
145 0 1
146 0 1
147 0 1
148 0 1
149 0 1
==> MISSING_ELSE
151 1 1
152 0 1
153 1 1
155 0 1
156 0 1
157 0 1
158 0 1
==> MISSING_ELSE
160 1 1
161 0 1
MISSING_ELSE
MISSING_ELSE
166 1 1
167 1 1
168 1 1
169 0 1
171 1 1
175 2 2
176 2 2
177 1 1
180 2 2
181 2 2
182 1 1
210 2 2
211 1 1
215 2 2
216 1 1
220 2 2
221 1 1
225 2 2
226 1 1


Cond Coverage for Module : prim_sha2_32
TotalCoveredPercent
Conditions713245.07
Logical713245.07
Non-Logical00
Event00

 LINE       42
 EXPRESSION (hash_start_i | hash_continue_i)
             ------1-----   -------2-------
-1--2-StatusTests
00CoveredT1,T2,T3
01Not Covered
10CoveredT2,T3,T4

 LINE       70
 EXPRESSION (((!sha_en_i)) || hash_go)
             ------1------    ---2---
-1--2-StatusTests
00CoveredT2,T3,T4
01CoveredT2,T3,T4
10CoveredT1,T2,T3

 LINE       73
 EXPRESSION (sha_en_i && fifo_rvalid_i)
             ----1---    ------2------
-1--2-StatusTests
01Not Covered
10CoveredT2,T3,T4
11CoveredT2,T3,T4

 LINE       74
 EXPRESSION (gen_multimode_logic.word_part_count_q == 2'b0)
            -----------------------1-----------------------
-1-StatusTests
0Not Covered
1CoveredT2,T3,T4

 LINE       75
 EXPRESSION (gen_multimode_logic.digest_mode_flag_q != SHA2_256)
            --------------------------1-------------------------
-1-StatusTests
0CoveredT2,T3,T4
1Not Covered

 LINE       89
 EXPRESSION (hash_process_i || gen_multimode_logic.process_flag_q)
             -------1------    -----------------2----------------
-1--2-StatusTests
00CoveredT2,T3,T4
01CoveredT2,T3,T5
10CoveredT2,T3,T4

 LINE       92
 EXPRESSION (sha_ready == 1'b1)
            ---------1---------
-1-StatusTests
0CoveredT2,T3,T4
1CoveredT2,T3,T4

 LINE       99
 EXPRESSION (gen_multimode_logic.word_part_count_q == 2'b1)
            -----------------------1-----------------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       112
 EXPRESSION (hash_process_i || gen_multimode_logic.process_flag_q)
             -------1------    -----------------2----------------
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       115
 EXPRESSION (sha_ready == 1'b1)
            ---------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       124
 EXPRESSION (gen_multimode_logic.word_part_count_q == 2'b10)
            ------------------------1-----------------------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       129
 EXPRESSION (hash_process_i || gen_multimode_logic.process_flag_q)
             -------1------    -----------------2----------------
-1--2-StatusTests
00Not Covered
01Not Covered
10Not Covered

 LINE       132
 EXPRESSION (sha_ready == 1'b1)
            ---------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       140
 EXPRESSION ((gen_multimode_logic.word_part_count_q == 2'b0) && (hash_process_i || gen_multimode_logic.process_flag_q))
             -----------------------1-----------------------    ---------------------------2--------------------------
-1--2-StatusTests
01Not Covered
10CoveredT2,T3,T4
11CoveredT2,T3,T4

 LINE       140
 SUB-EXPRESSION (gen_multimode_logic.word_part_count_q == 2'b0)
                -----------------------1-----------------------
-1-StatusTests
0Not Covered
1CoveredT2,T3,T4

 LINE       140
 SUB-EXPRESSION (hash_process_i || gen_multimode_logic.process_flag_q)
                 -------1------    -----------------2----------------
-1--2-StatusTests
00CoveredT2,T3,T4
01CoveredT2,T3,T4
10CoveredT2,T3,T4

 LINE       142
 EXPRESSION ((gen_multimode_logic.word_part_count_q == 2'b1) && (hash_process_i || gen_multimode_logic.process_flag_q))
             -----------------------1-----------------------    ---------------------------2--------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       142
 SUB-EXPRESSION (gen_multimode_logic.word_part_count_q == 2'b1)
                -----------------------1-----------------------
-1-StatusTests
0CoveredT2,T3,T4
1Not Covered

 LINE       142
 SUB-EXPRESSION (hash_process_i || gen_multimode_logic.process_flag_q)
                 -------1------    -----------------2----------------
-1--2-StatusTests
00CoveredT2,T3,T4
01Not Covered
10Not Covered

 LINE       148
 EXPRESSION (sha_ready == 1'b1)
            ---------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       151
 EXPRESSION (gen_multimode_logic.word_part_count_q == 2'b1)
            -----------------------1-----------------------
-1-StatusTests
0CoveredT2,T3,T4
1Not Covered

 LINE       153
 EXPRESSION ((gen_multimode_logic.word_part_count_q == 2'b10) && (hash_process_i || gen_multimode_logic.process_flag_q))
             ------------------------1-----------------------    ---------------------------2--------------------------
-1--2-StatusTests
01Not Covered
10Not Covered
11Not Covered

 LINE       153
 SUB-EXPRESSION (gen_multimode_logic.word_part_count_q == 2'b10)
                ------------------------1-----------------------
-1-StatusTests
0CoveredT2,T3,T4
1Not Covered

 LINE       153
 SUB-EXPRESSION (hash_process_i || gen_multimode_logic.process_flag_q)
                 -------1------    -----------------2----------------
-1--2-StatusTests
00CoveredT2,T3,T4
01Not Covered
10Not Covered

 LINE       157
 EXPRESSION (sha_ready == 1'b1)
            ---------1---------
-1-StatusTests
0Not Covered
1Not Covered

 LINE       160
 EXPRESSION (gen_multimode_logic.word_part_count_q == 2'b10)
            ------------------------1-----------------------
-1-StatusTests
0CoveredT2,T3,T4
1Not Covered

 LINE       166
 EXPRESSION (gen_multimode_logic.word_part_reset || hash_go || ((!sha_en_i)))
             -----------------1-----------------    ---2---    ------3------
-1--2--3-StatusTests
000CoveredT2,T3,T4
001CoveredT1,T2,T3
010CoveredT2,T3,T4
100Not Covered

 LINE       180
 EXPRESSION (((!sha_en_i)) || hash_go)
             ------1------    ---2---
-1--2-StatusTests
00CoveredT2,T3,T4
01CoveredT2,T3,T4
10CoveredT1,T2,T3

Branch Coverage for Module : prim_sha2_32
Line No.TotalCoveredPercent
Branches 42 25 59.52
IF 70 2 2 100.00
IF 73 23 7 30.43
IF 166 3 2 66.67
IF 175 3 3 100.00
IF 180 3 3 100.00
IF 210 2 2 100.00
IF 215 2 2 100.00
IF 220 2 2 100.00
IF 225 2 2 100.00

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

LineNo. Expression -1-: 70 if (((!sha_en_i) || hash_go))

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


LineNo. Expression -1-: 73 if ((sha_en_i && fifo_rvalid_i)) -2-: 74 if ((gen_multimode_logic.word_part_count_q == 2'b0)) -3-: 75 if ((gen_multimode_logic.digest_mode_flag_q != SHA2_256)) -4-: 89 if ((hash_process_i || gen_multimode_logic.process_flag_q)) -5-: 92 if ((sha_ready == 1'b1)) -6-: 99 if ((gen_multimode_logic.word_part_count_q == 2'b1)) -7-: 112 if ((hash_process_i || gen_multimode_logic.process_flag_q)) -8-: 115 if ((sha_ready == 1'b1)) -9-: 124 if ((gen_multimode_logic.word_part_count_q == 2'b10)) -10-: 129 if ((hash_process_i || gen_multimode_logic.process_flag_q)) -11-: 132 if ((sha_ready == 1'b1)) -12-: 137 if (sha_en_i) -13-: 140 if (((gen_multimode_logic.word_part_count_q == 2'b0) && (hash_process_i || gen_multimode_logic.process_flag_q))) -14-: 142 if (((gen_multimode_logic.word_part_count_q == 2'b1) && (hash_process_i || gen_multimode_logic.process_flag_q))) -15-: 148 if ((sha_ready == 1'b1)) -16-: 151 if ((gen_multimode_logic.word_part_count_q == 2'b1)) -17-: 153 if (((gen_multimode_logic.word_part_count_q == 2'b10) && (hash_process_i || gen_multimode_logic.process_flag_q))) -18-: 157 if ((sha_ready == 1'b1)) -19-: 160 if ((gen_multimode_logic.word_part_count_q == 2'b10))

Branches:
-1--2--3--4--5--6--7--8--9--10--11--12--13--14--15--16--17--18--19-StatusTests
1 1 1 - - - - - - - - - - - - - - - - Not Covered
1 1 0 1 - - - - - - - - - - - - - - - Covered T2,T3,T4
1 1 0 0 - - - - - - - - - - - - - - - Covered T2,T3,T4
1 1 0 - 1 - - - - - - - - - - - - - - Covered T2,T3,T4
1 1 0 - 0 - - - - - - - - - - - - - - Covered T2,T3,T4
1 0 - - - 1 1 - - - - - - - - - - - - Not Covered
1 0 - - - 1 0 - - - - - - - - - - - - Not Covered
1 0 - - - 1 - 1 - - - - - - - - - - - Not Covered
1 0 - - - 1 - 0 - - - - - - - - - - - Not Covered
1 0 - - - 0 - - 1 1 - - - - - - - - - Not Covered
1 0 - - - 0 - - 1 0 - - - - - - - - - Not Covered
1 0 - - - 0 - - 1 - 1 - - - - - - - - Not Covered
1 0 - - - 0 - - 1 - 0 - - - - - - - - Not Covered
1 0 - - - 0 - - 0 - - - - - - - - - - Not Covered
0 - - - - - - - - - - 1 1 - - - - - - Covered T2,T3,T4
0 - - - - - - - - - - 1 0 1 1 - - - - Not Covered
0 - - - - - - - - - - 1 0 1 0 - - - - Not Covered
0 - - - - - - - - - - 1 0 0 - 1 - - - Not Covered
0 - - - - - - - - - - 1 0 0 - 0 1 1 - Not Covered
0 - - - - - - - - - - 1 0 0 - 0 1 0 - Not Covered
0 - - - - - - - - - - 1 0 0 - 0 0 - 1 Not Covered
0 - - - - - - - - - - 1 0 0 - 0 0 - 0 Covered T2,T3,T4
0 - - - - - - - - - - 0 - - - - - - - Covered T1,T2,T3


LineNo. Expression -1-: 166 if (((gen_multimode_logic.word_part_reset || hash_go) || (!sha_en_i))) -2-: 168 if (gen_multimode_logic.word_part_inc)

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


LineNo. Expression -1-: 175 if (hash_go) -2-: 176 if (hash_done_o)

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


LineNo. Expression -1-: 180 if (((!sha_en_i) || hash_go)) -2-: 181 if (hash_process_i)

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


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

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


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

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


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

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


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

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

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