Line Coverage for Module : 
prim_mubi4_sync ( parameter NumCopies=1,AsyncOn=1,StabilityCheck=1,ResetValue=9 ) 
Line Coverage for Module self-instances : 
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 6 | 6 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| ALWAYS | 117 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
95                              // hence this mux can be implemented behaviorally.
96         4/4                  assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
           Tests:       T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6 
97                            end
98                      
99                      // Note regarding SVAs below:
100                     //
101                     // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after
102                     // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed"
103                     // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page
104                     // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni
105                     // on the active clock edge. This causes the assertion to evaluate although the reset was actually
106                     // 0 when entering this simulation cycle.
107                     //
108                     // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may
109                     // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly
110                     // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock
111                     // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make
112                     // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no
113                     // sampling mismatches.
114                     `ifdef INC_ASSERT
115                           mubi4_t mubi_in_sva_q;
116                           always_ff @(posedge clk_i) begin
117        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
118                           end
119                           `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}})
120                           `ASSERT(OutputDelay_A,
121                                   rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}})
122                     `endif
123                         end else begin : gen_no_stable_chks
124                           assign mubi = mubi_sync;
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128                             mubi_in_sva_q <= mubi_i;
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Line Coverage for Module : 
prim_mubi4_sync ( parameter NumCopies=1,AsyncOn=0,StabilityCheck=0,ResetValue=9 ) 
Line Coverage for Module self-instances : 
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Line Coverage for Module : 
prim_mubi4_sync ( parameter NumCopies=6,AsyncOn=1,StabilityCheck=0,ResetValue=9 ) 
Line Coverage for Module self-instances : 
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 8 | 8 | 100.00 | 
| CONT_ASSIGN | 124 | 1 | 1 | 100.00 | 
| ALWAYS | 128 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
123                         end else begin : gen_no_stable_chks
124        1/1                assign mubi = mubi_sync;
           Tests:       T4 T5 T6 
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        6/6              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6 
Line Coverage for Module : 
prim_mubi4_sync ( parameter NumCopies=1,AsyncOn=1,StabilityCheck=0,ResetValue=9 ) 
Line Coverage for Module self-instances : 
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 3 | 3 | 100.00 | 
| CONT_ASSIGN | 124 | 1 | 1 | 100.00 | 
| ALWAYS | 128 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
123                         end else begin : gen_no_stable_chks
124        1/1                assign mubi = mubi_sync;
           Tests:       T4 T5 T6 
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Cond Coverage for Module : 
prim_mubi4_sync
 | Total | Covered | Percent | 
| Conditions | 8 | 8 | 100.00 | 
| Logical | 8 | 8 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
Branch Coverage for Module : 
prim_mubi4_sync
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
8 | 
8 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        -1-  
                                                        ==>  
                                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
Assert Coverage for Module : 
prim_mubi4_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
22540 | 
22540 | 
0 | 
0 | 
| T4 | 
28 | 
28 | 
0 | 
0 | 
| T5 | 
28 | 
28 | 
0 | 
0 | 
| T6 | 
28 | 
28 | 
0 | 
0 | 
| T32 | 
28 | 
28 | 
0 | 
0 | 
| T33 | 
28 | 
28 | 
0 | 
0 | 
| T34 | 
28 | 
28 | 
0 | 
0 | 
| T35 | 
28 | 
28 | 
0 | 
0 | 
| T36 | 
28 | 
28 | 
0 | 
0 | 
| T37 | 
28 | 
28 | 
0 | 
0 | 
| T38 | 
28 | 
28 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
1449661079 | 
1364742473 | 
0 | 
0 | 
| T4 | 
39486 | 
37515 | 
0 | 
0 | 
| T5 | 
66867 | 
64912 | 
0 | 
0 | 
| T6 | 
43404 | 
39280 | 
0 | 
0 | 
| T32 | 
83701 | 
81550 | 
0 | 
0 | 
| T33 | 
37738 | 
33551 | 
0 | 
0 | 
| T34 | 
56069 | 
50928 | 
0 | 
0 | 
| T35 | 
100962 | 
97678 | 
0 | 
0 | 
| T36 | 
97708 | 
94578 | 
0 | 
0 | 
| T37 | 
472869 | 
471985 | 
0 | 
0 | 
| T38 | 
739778 | 
737878 | 
0 | 
0 | 
gen_flops.gen_no_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
234376794 | 
218006244 | 
0 | 
14490 | 
| T4 | 
8868 | 
8370 | 
0 | 
18 | 
| T5 | 
6216 | 
5982 | 
0 | 
18 | 
| T6 | 
9804 | 
8814 | 
0 | 
18 | 
| T32 | 
8034 | 
7770 | 
0 | 
18 | 
| T33 | 
8760 | 
7728 | 
0 | 
18 | 
| T34 | 
12882 | 
11592 | 
0 | 
18 | 
| T35 | 
9660 | 
9288 | 
0 | 
18 | 
| T36 | 
9330 | 
8970 | 
0 | 
18 | 
| T37 | 
11016 | 
10980 | 
0 | 
18 | 
| T38 | 
17310 | 
17244 | 
0 | 
18 | 
gen_flops.gen_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
448801583 | 
420532421 | 
0 | 
16905 | 
| T4 | 
10598 | 
10001 | 
0 | 
21 | 
| T5 | 
23509 | 
22648 | 
0 | 
21 | 
| T6 | 
11710 | 
10527 | 
0 | 
21 | 
| T32 | 
29268 | 
28327 | 
0 | 
21 | 
| T33 | 
10040 | 
8843 | 
0 | 
21 | 
| T34 | 
14944 | 
13447 | 
0 | 
21 | 
| T35 | 
35187 | 
33857 | 
0 | 
21 | 
| T36 | 
33971 | 
32715 | 
0 | 
21 | 
| T37 | 
185936 | 
185497 | 
0 | 
21 | 
| T38 | 
292021 | 
291145 | 
0 | 
21 | 
gen_flops.gen_stable_chks.OutputIfUnstable_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
448801583 | 
125527 | 
0 | 
0 | 
| T4 | 
10598 | 
80 | 
0 | 
0 | 
| T5 | 
23509 | 
16 | 
0 | 
0 | 
| T6 | 
11710 | 
82 | 
0 | 
0 | 
| T22 | 
0 | 
105 | 
0 | 
0 | 
| T24 | 
0 | 
9 | 
0 | 
0 | 
| T25 | 
0 | 
37 | 
0 | 
0 | 
| T27 | 
0 | 
9 | 
0 | 
0 | 
| T32 | 
29268 | 
40 | 
0 | 
0 | 
| T33 | 
10040 | 
20 | 
0 | 
0 | 
| T34 | 
14944 | 
121 | 
0 | 
0 | 
| T35 | 
35187 | 
152 | 
0 | 
0 | 
| T36 | 
33971 | 
188 | 
0 | 
0 | 
| T37 | 
185936 | 
154 | 
0 | 
0 | 
| T38 | 
292021 | 
238 | 
0 | 
0 | 
| T103 | 
0 | 
165 | 
0 | 
0 | 
| T130 | 
0 | 
51 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
766482702 | 
726114954 | 
0 | 
0 | 
| T4 | 
20020 | 
19105 | 
0 | 
0 | 
| T5 | 
37142 | 
36243 | 
0 | 
0 | 
| T6 | 
21890 | 
19900 | 
0 | 
0 | 
| T32 | 
46399 | 
45414 | 
0 | 
0 | 
| T33 | 
18938 | 
16941 | 
0 | 
0 | 
| T34 | 
28243 | 
25850 | 
0 | 
0 | 
| T35 | 
56115 | 
54494 | 
0 | 
0 | 
| T36 | 
54407 | 
52854 | 
0 | 
0 | 
| T37 | 
275917 | 
275469 | 
0 | 
0 | 
| T38 | 
430447 | 
429450 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_io_step_down_req_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 6 | 6 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| ALWAYS | 117 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
95                              // hence this mux can be implemented behaviorally.
96         4/4                  assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
           Tests:       T4 T34 T35  | T4 T34 T35  | T4 T34 T35  | T4 T34 T35 
97                            end
98                      
99                      // Note regarding SVAs below:
100                     //
101                     // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after
102                     // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed"
103                     // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page
104                     // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni
105                     // on the active clock edge. This causes the assertion to evaluate although the reset was actually
106                     // 0 when entering this simulation cycle.
107                     //
108                     // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may
109                     // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly
110                     // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock
111                     // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make
112                     // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no
113                     // sampling mismatches.
114                     `ifdef INC_ASSERT
115                           mubi4_t mubi_in_sva_q;
116                           always_ff @(posedge clk_i) begin
117        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
118                           end
119                           `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}})
120                           `ASSERT(OutputDelay_A,
121                                   rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}})
122                     `endif
123                         end else begin : gen_no_stable_chks
124                           assign mubi = mubi_sync;
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128                             mubi_in_sva_q <= mubi_i;
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T34 T35 
Cond Coverage for Instance : tb.dut.u_io_step_down_req_sync
 | Total | Covered | Percent | 
| Conditions | 8 | 8 | 100.00 | 
| Logical | 8 | 8 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T34,T35 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T34,T35 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T34,T35 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T34,T35 | 
Branch Coverage for Instance : tb.dut.u_io_step_down_req_sync
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
8 | 
8 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        -1-  
                                                        ==>  
                                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T34,T35 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T34,T35 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T34,T35 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T34,T35 | 
| 0 | 
Covered | 
T4,T5,T6 | 
Assert Coverage for Instance : tb.dut.u_io_step_down_req_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
67850313 | 
63571675 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
4149 | 
4001 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
5146 | 
4984 | 
0 | 
0 | 
| T33 | 
1372 | 
1210 | 
0 | 
0 | 
| T34 | 
2062 | 
1858 | 
0 | 
0 | 
| T35 | 
6187 | 
5956 | 
0 | 
0 | 
| T36 | 
5973 | 
5756 | 
0 | 
0 | 
| T37 | 
35276 | 
35196 | 
0 | 
0 | 
| T38 | 
55403 | 
55240 | 
0 | 
0 | 
gen_flops.gen_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
67850313 | 
63564949 | 
0 | 
2415 | 
| T4 | 
1478 | 
1395 | 
0 | 
3 | 
| T5 | 
4149 | 
3998 | 
0 | 
3 | 
| T6 | 
1634 | 
1469 | 
0 | 
3 | 
| T32 | 
5146 | 
4981 | 
0 | 
3 | 
| T33 | 
1372 | 
1207 | 
0 | 
3 | 
| T34 | 
2062 | 
1855 | 
0 | 
3 | 
| T35 | 
6187 | 
5953 | 
0 | 
3 | 
| T36 | 
5973 | 
5753 | 
0 | 
3 | 
| T37 | 
35276 | 
35193 | 
0 | 
3 | 
| T38 | 
55403 | 
55237 | 
0 | 
3 | 
gen_flops.gen_stable_chks.OutputIfUnstable_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
67850313 | 
17708 | 
0 | 
0 | 
| T4 | 
1478 | 
19 | 
0 | 
0 | 
| T5 | 
4149 | 
0 | 
0 | 
0 | 
| T6 | 
1634 | 
0 | 
0 | 
0 | 
| T22 | 
0 | 
49 | 
0 | 
0 | 
| T24 | 
0 | 
4 | 
0 | 
0 | 
| T25 | 
0 | 
20 | 
0 | 
0 | 
| T27 | 
0 | 
4 | 
0 | 
0 | 
| T32 | 
5146 | 
0 | 
0 | 
0 | 
| T33 | 
1372 | 
0 | 
0 | 
0 | 
| T34 | 
2062 | 
37 | 
0 | 
0 | 
| T35 | 
6187 | 
64 | 
0 | 
0 | 
| T36 | 
5973 | 
49 | 
0 | 
0 | 
| T37 | 
35276 | 
38 | 
0 | 
0 | 
| T38 | 
55403 | 
0 | 
0 | 
0 | 
| T103 | 
0 | 
54 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_io_div2_div_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_io_div2_div_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_io_div4_div_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_io_div4_div_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_clkmgr_byp.u_io_ack_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 6 | 6 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| ALWAYS | 117 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
95                              // hence this mux can be implemented behaviorally.
96         4/4                  assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
           Tests:       T4 T34 T35  | T4 T34 T35  | T4 T34 T35  | T4 T34 T35 
97                            end
98                      
99                      // Note regarding SVAs below:
100                     //
101                     // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after
102                     // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed"
103                     // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page
104                     // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni
105                     // on the active clock edge. This causes the assertion to evaluate although the reset was actually
106                     // 0 when entering this simulation cycle.
107                     //
108                     // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may
109                     // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly
110                     // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock
111                     // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make
112                     // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no
113                     // sampling mismatches.
114                     `ifdef INC_ASSERT
115                           mubi4_t mubi_in_sva_q;
116                           always_ff @(posedge clk_i) begin
117        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
118                           end
119                           `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}})
120                           `ASSERT(OutputDelay_A,
121                                   rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}})
122                     `endif
123                         end else begin : gen_no_stable_chks
124                           assign mubi = mubi_sync;
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128                             mubi_in_sva_q <= mubi_i;
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T34 T35 
Cond Coverage for Instance : tb.dut.u_clkmgr_byp.u_io_ack_sync
 | Total | Covered | Percent | 
| Conditions | 8 | 8 | 100.00 | 
| Logical | 8 | 8 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T34,T35 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T34,T35 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T34,T35 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T34,T35 | 
Branch Coverage for Instance : tb.dut.u_clkmgr_byp.u_io_ack_sync
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
8 | 
8 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        -1-  
                                                        ==>  
                                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T34,T35 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T34,T35 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T34,T35 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T34,T35 | 
| 0 | 
Covered | 
T4,T5,T6 | 
Assert Coverage for Instance : tb.dut.u_clkmgr_byp.u_io_ack_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_flops.gen_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36334374 | 
0 | 
2415 | 
| T4 | 
1478 | 
1395 | 
0 | 
3 | 
| T5 | 
1036 | 
997 | 
0 | 
3 | 
| T6 | 
1634 | 
1469 | 
0 | 
3 | 
| T32 | 
1339 | 
1295 | 
0 | 
3 | 
| T33 | 
1460 | 
1288 | 
0 | 
3 | 
| T34 | 
2147 | 
1932 | 
0 | 
3 | 
| T35 | 
1610 | 
1548 | 
0 | 
3 | 
| T36 | 
1555 | 
1495 | 
0 | 
3 | 
| T37 | 
1836 | 
1830 | 
0 | 
3 | 
| T38 | 
2885 | 
2874 | 
0 | 
3 | 
gen_flops.gen_stable_chks.OutputIfUnstable_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
10675 | 
0 | 
0 | 
| T4 | 
1478 | 
11 | 
0 | 
0 | 
| T5 | 
1036 | 
0 | 
0 | 
0 | 
| T6 | 
1634 | 
0 | 
0 | 
0 | 
| T22 | 
0 | 
32 | 
0 | 
0 | 
| T24 | 
0 | 
3 | 
0 | 
0 | 
| T27 | 
0 | 
4 | 
0 | 
0 | 
| T32 | 
1339 | 
0 | 
0 | 
0 | 
| T33 | 
1460 | 
0 | 
0 | 
0 | 
| T34 | 
2147 | 
21 | 
0 | 
0 | 
| T35 | 
1610 | 
22 | 
0 | 
0 | 
| T36 | 
1555 | 
55 | 
0 | 
0 | 
| T37 | 
1836 | 
3 | 
0 | 
0 | 
| T38 | 
2885 | 
0 | 
0 | 
0 | 
| T103 | 
0 | 
64 | 
0 | 
0 | 
| T130 | 
0 | 
51 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_clkmgr_byp.u_all_ack_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 6 | 6 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| ALWAYS | 117 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
95                              // hence this mux can be implemented behaviorally.
96         4/4                  assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
           Tests:       T4 T34 T35  | T4 T34 T35  | T4 T34 T35  | T4 T34 T35 
97                            end
98                      
99                      // Note regarding SVAs below:
100                     //
101                     // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after
102                     // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed"
103                     // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page
104                     // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni
105                     // on the active clock edge. This causes the assertion to evaluate although the reset was actually
106                     // 0 when entering this simulation cycle.
107                     //
108                     // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may
109                     // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly
110                     // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock
111                     // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make
112                     // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no
113                     // sampling mismatches.
114                     `ifdef INC_ASSERT
115                           mubi4_t mubi_in_sva_q;
116                           always_ff @(posedge clk_i) begin
117        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
118                           end
119                           `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}})
120                           `ASSERT(OutputDelay_A,
121                                   rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}})
122                     `endif
123                         end else begin : gen_no_stable_chks
124                           assign mubi = mubi_sync;
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128                             mubi_in_sva_q <= mubi_i;
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T34 T35 
Cond Coverage for Instance : tb.dut.u_clkmgr_byp.u_all_ack_sync
 | Total | Covered | Percent | 
| Conditions | 8 | 8 | 100.00 | 
| Logical | 8 | 8 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T34,T35 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T34,T35 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T34,T35 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T34,T35 | 
Branch Coverage for Instance : tb.dut.u_clkmgr_byp.u_all_ack_sync
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
8 | 
8 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        -1-  
                                                        ==>  
                                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T34,T35 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T34,T35 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T34,T35 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T34,T35 | 
| 0 | 
Covered | 
T4,T5,T6 | 
Assert Coverage for Instance : tb.dut.u_clkmgr_byp.u_all_ack_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_flops.gen_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36334374 | 
0 | 
2415 | 
| T4 | 
1478 | 
1395 | 
0 | 
3 | 
| T5 | 
1036 | 
997 | 
0 | 
3 | 
| T6 | 
1634 | 
1469 | 
0 | 
3 | 
| T32 | 
1339 | 
1295 | 
0 | 
3 | 
| T33 | 
1460 | 
1288 | 
0 | 
3 | 
| T34 | 
2147 | 
1932 | 
0 | 
3 | 
| T35 | 
1610 | 
1548 | 
0 | 
3 | 
| T36 | 
1555 | 
1495 | 
0 | 
3 | 
| T37 | 
1836 | 
1830 | 
0 | 
3 | 
| T38 | 
2885 | 
2874 | 
0 | 
3 | 
gen_flops.gen_stable_chks.OutputIfUnstable_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
12370 | 
0 | 
0 | 
| T4 | 
1478 | 
19 | 
0 | 
0 | 
| T5 | 
1036 | 
0 | 
0 | 
0 | 
| T6 | 
1634 | 
0 | 
0 | 
0 | 
| T22 | 
0 | 
24 | 
0 | 
0 | 
| T24 | 
0 | 
2 | 
0 | 
0 | 
| T25 | 
0 | 
17 | 
0 | 
0 | 
| T27 | 
0 | 
1 | 
0 | 
0 | 
| T32 | 
1339 | 
0 | 
0 | 
0 | 
| T33 | 
1460 | 
0 | 
0 | 
0 | 
| T34 | 
2147 | 
18 | 
0 | 
0 | 
| T35 | 
1610 | 
22 | 
0 | 
0 | 
| T36 | 
1555 | 
31 | 
0 | 
0 | 
| T37 | 
1836 | 
43 | 
0 | 
0 | 
| T38 | 
2885 | 
0 | 
0 | 
0 | 
| T103 | 
0 | 
47 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_main_root_ctrl.u_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_main_root_ctrl.u_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
73397848 | 
0 | 
0 | 
| T4 | 
1541 | 
1500 | 
0 | 
0 | 
| T5 | 
4322 | 
4296 | 
0 | 
0 | 
| T6 | 
1702 | 
1562 | 
0 | 
0 | 
| T32 | 
5361 | 
5335 | 
0 | 
0 | 
| T33 | 
1437 | 
1311 | 
0 | 
0 | 
| T34 | 
2147 | 
2035 | 
0 | 
0 | 
| T35 | 
6445 | 
6319 | 
0 | 
0 | 
| T36 | 
6222 | 
6096 | 
0 | 
0 | 
| T37 | 
36747 | 
36707 | 
0 | 
0 | 
| T38 | 
57712 | 
57600 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
73397848 | 
0 | 
0 | 
| T4 | 
1541 | 
1500 | 
0 | 
0 | 
| T5 | 
4322 | 
4296 | 
0 | 
0 | 
| T6 | 
1702 | 
1562 | 
0 | 
0 | 
| T32 | 
5361 | 
5335 | 
0 | 
0 | 
| T33 | 
1437 | 
1311 | 
0 | 
0 | 
| T34 | 
2147 | 
2035 | 
0 | 
0 | 
| T35 | 
6445 | 
6319 | 
0 | 
0 | 
| T36 | 
6222 | 
6096 | 
0 | 
0 | 
| T37 | 
36747 | 
36707 | 
0 | 
0 | 
| T38 | 
57712 | 
57600 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_io_root_ctrl.u_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_io_root_ctrl.u_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
67850313 | 
65717444 | 
0 | 
0 | 
| T4 | 
1478 | 
1439 | 
0 | 
0 | 
| T5 | 
4149 | 
4124 | 
0 | 
0 | 
| T6 | 
1634 | 
1499 | 
0 | 
0 | 
| T32 | 
5146 | 
5121 | 
0 | 
0 | 
| T33 | 
1372 | 
1251 | 
0 | 
0 | 
| T34 | 
2062 | 
1954 | 
0 | 
0 | 
| T35 | 
6187 | 
6066 | 
0 | 
0 | 
| T36 | 
5973 | 
5852 | 
0 | 
0 | 
| T37 | 
35276 | 
35237 | 
0 | 
0 | 
| T38 | 
55403 | 
55295 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
67850313 | 
65717444 | 
0 | 
0 | 
| T4 | 
1478 | 
1439 | 
0 | 
0 | 
| T5 | 
4149 | 
4124 | 
0 | 
0 | 
| T6 | 
1634 | 
1499 | 
0 | 
0 | 
| T32 | 
5146 | 
5121 | 
0 | 
0 | 
| T33 | 
1372 | 
1251 | 
0 | 
0 | 
| T34 | 
2062 | 
1954 | 
0 | 
0 | 
| T35 | 
6187 | 
6066 | 
0 | 
0 | 
| T36 | 
5973 | 
5852 | 
0 | 
0 | 
| T37 | 
35276 | 
35237 | 
0 | 
0 | 
| T38 | 
55403 | 
55295 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_io_div2_root_ctrl.u_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_io_div2_root_ctrl.u_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
33014455 | 
33014455 | 
0 | 
0 | 
| T4 | 
820 | 
820 | 
0 | 
0 | 
| T5 | 
2062 | 
2062 | 
0 | 
0 | 
| T6 | 
750 | 
750 | 
0 | 
0 | 
| T32 | 
2561 | 
2561 | 
0 | 
0 | 
| T33 | 
626 | 
626 | 
0 | 
0 | 
| T34 | 
1023 | 
1023 | 
0 | 
0 | 
| T35 | 
3300 | 
3300 | 
0 | 
0 | 
| T36 | 
3339 | 
3339 | 
0 | 
0 | 
| T37 | 
18835 | 
18835 | 
0 | 
0 | 
| T38 | 
27648 | 
27648 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
33014455 | 
33014455 | 
0 | 
0 | 
| T4 | 
820 | 
820 | 
0 | 
0 | 
| T5 | 
2062 | 
2062 | 
0 | 
0 | 
| T6 | 
750 | 
750 | 
0 | 
0 | 
| T32 | 
2561 | 
2561 | 
0 | 
0 | 
| T33 | 
626 | 
626 | 
0 | 
0 | 
| T34 | 
1023 | 
1023 | 
0 | 
0 | 
| T35 | 
3300 | 
3300 | 
0 | 
0 | 
| T36 | 
3339 | 
3339 | 
0 | 
0 | 
| T37 | 
18835 | 
18835 | 
0 | 
0 | 
| T38 | 
27648 | 
27648 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_io_div4_root_ctrl.u_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_io_div4_root_ctrl.u_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
16506839 | 
16506839 | 
0 | 
0 | 
| T4 | 
410 | 
410 | 
0 | 
0 | 
| T5 | 
1031 | 
1031 | 
0 | 
0 | 
| T6 | 
375 | 
375 | 
0 | 
0 | 
| T32 | 
1280 | 
1280 | 
0 | 
0 | 
| T33 | 
313 | 
313 | 
0 | 
0 | 
| T34 | 
511 | 
511 | 
0 | 
0 | 
| T35 | 
1649 | 
1649 | 
0 | 
0 | 
| T36 | 
1669 | 
1669 | 
0 | 
0 | 
| T37 | 
9416 | 
9416 | 
0 | 
0 | 
| T38 | 
13824 | 
13824 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
16506839 | 
16506839 | 
0 | 
0 | 
| T4 | 
410 | 
410 | 
0 | 
0 | 
| T5 | 
1031 | 
1031 | 
0 | 
0 | 
| T6 | 
375 | 
375 | 
0 | 
0 | 
| T32 | 
1280 | 
1280 | 
0 | 
0 | 
| T33 | 
313 | 
313 | 
0 | 
0 | 
| T34 | 
511 | 
511 | 
0 | 
0 | 
| T35 | 
1649 | 
1649 | 
0 | 
0 | 
| T36 | 
1669 | 
1669 | 
0 | 
0 | 
| T37 | 
9416 | 
9416 | 
0 | 
0 | 
| T38 | 
13824 | 
13824 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_usb_root_ctrl.u_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_usb_root_ctrl.u_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
36202211 | 
35105016 | 
0 | 
0 | 
| T4 | 
739 | 
720 | 
0 | 
0 | 
| T5 | 
2074 | 
2062 | 
0 | 
0 | 
| T6 | 
817 | 
750 | 
0 | 
0 | 
| T32 | 
2573 | 
2561 | 
0 | 
0 | 
| T33 | 
682 | 
622 | 
0 | 
0 | 
| T34 | 
1030 | 
977 | 
0 | 
0 | 
| T35 | 
3094 | 
3034 | 
0 | 
0 | 
| T36 | 
2986 | 
2926 | 
0 | 
0 | 
| T37 | 
17639 | 
17620 | 
0 | 
0 | 
| T38 | 
27702 | 
27649 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
36202211 | 
35105016 | 
0 | 
0 | 
| T4 | 
739 | 
720 | 
0 | 
0 | 
| T5 | 
2074 | 
2062 | 
0 | 
0 | 
| T6 | 
817 | 
750 | 
0 | 
0 | 
| T32 | 
2573 | 
2561 | 
0 | 
0 | 
| T33 | 
682 | 
622 | 
0 | 
0 | 
| T34 | 
1030 | 
977 | 
0 | 
0 | 
| T35 | 
3094 | 
3034 | 
0 | 
0 | 
| T36 | 
2986 | 
2926 | 
0 | 
0 | 
| T37 | 
17639 | 
17620 | 
0 | 
0 | 
| T38 | 
27702 | 
27649 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_calib_rdy_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 8 | 8 | 100.00 | 
| CONT_ASSIGN | 124 | 1 | 1 | 100.00 | 
| ALWAYS | 128 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
123                         end else begin : gen_no_stable_chks
124        1/1                assign mubi = mubi_sync;
           Tests:       T4 T5 T6 
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        6/6              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_calib_rdy_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_flops.gen_no_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36334374 | 
0 | 
2415 | 
| T4 | 
1478 | 
1395 | 
0 | 
3 | 
| T5 | 
1036 | 
997 | 
0 | 
3 | 
| T6 | 
1634 | 
1469 | 
0 | 
3 | 
| T32 | 
1339 | 
1295 | 
0 | 
3 | 
| T33 | 
1460 | 
1288 | 
0 | 
3 | 
| T34 | 
2147 | 
1932 | 
0 | 
3 | 
| T35 | 
1610 | 
1548 | 
0 | 
3 | 
| T36 | 
1555 | 
1495 | 
0 | 
3 | 
| T37 | 
1836 | 
1830 | 
0 | 
3 | 
| T38 | 
2885 | 
2874 | 
0 | 
3 | 
 
Line Coverage for Instance : tb.dut.u_io_meas.u_calib_rdy_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 3 | 3 | 100.00 | 
| CONT_ASSIGN | 124 | 1 | 1 | 100.00 | 
| ALWAYS | 128 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
123                         end else begin : gen_no_stable_chks
124        1/1                assign mubi = mubi_sync;
           Tests:       T4 T5 T6 
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_io_meas.u_calib_rdy_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_flops.gen_no_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36334374 | 
0 | 
2415 | 
| T4 | 
1478 | 
1395 | 
0 | 
3 | 
| T5 | 
1036 | 
997 | 
0 | 
3 | 
| T6 | 
1634 | 
1469 | 
0 | 
3 | 
| T32 | 
1339 | 
1295 | 
0 | 
3 | 
| T33 | 
1460 | 
1288 | 
0 | 
3 | 
| T34 | 
2147 | 
1932 | 
0 | 
3 | 
| T35 | 
1610 | 
1548 | 
0 | 
3 | 
| T36 | 
1555 | 
1495 | 
0 | 
3 | 
| T37 | 
1836 | 
1830 | 
0 | 
3 | 
| T38 | 
2885 | 
2874 | 
0 | 
3 | 
 
Line Coverage for Instance : tb.dut.u_io_div2_meas.u_calib_rdy_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 3 | 3 | 100.00 | 
| CONT_ASSIGN | 124 | 1 | 1 | 100.00 | 
| ALWAYS | 128 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
123                         end else begin : gen_no_stable_chks
124        1/1                assign mubi = mubi_sync;
           Tests:       T4 T5 T6 
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_io_div2_meas.u_calib_rdy_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_flops.gen_no_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36334374 | 
0 | 
2415 | 
| T4 | 
1478 | 
1395 | 
0 | 
3 | 
| T5 | 
1036 | 
997 | 
0 | 
3 | 
| T6 | 
1634 | 
1469 | 
0 | 
3 | 
| T32 | 
1339 | 
1295 | 
0 | 
3 | 
| T33 | 
1460 | 
1288 | 
0 | 
3 | 
| T34 | 
2147 | 
1932 | 
0 | 
3 | 
| T35 | 
1610 | 
1548 | 
0 | 
3 | 
| T36 | 
1555 | 
1495 | 
0 | 
3 | 
| T37 | 
1836 | 
1830 | 
0 | 
3 | 
| T38 | 
2885 | 
2874 | 
0 | 
3 | 
 
Line Coverage for Instance : tb.dut.u_io_div4_meas.u_calib_rdy_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 3 | 3 | 100.00 | 
| CONT_ASSIGN | 124 | 1 | 1 | 100.00 | 
| ALWAYS | 128 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
123                         end else begin : gen_no_stable_chks
124        1/1                assign mubi = mubi_sync;
           Tests:       T4 T5 T6 
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_io_div4_meas.u_calib_rdy_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_flops.gen_no_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36334374 | 
0 | 
2415 | 
| T4 | 
1478 | 
1395 | 
0 | 
3 | 
| T5 | 
1036 | 
997 | 
0 | 
3 | 
| T6 | 
1634 | 
1469 | 
0 | 
3 | 
| T32 | 
1339 | 
1295 | 
0 | 
3 | 
| T33 | 
1460 | 
1288 | 
0 | 
3 | 
| T34 | 
2147 | 
1932 | 
0 | 
3 | 
| T35 | 
1610 | 
1548 | 
0 | 
3 | 
| T36 | 
1555 | 
1495 | 
0 | 
3 | 
| T37 | 
1836 | 
1830 | 
0 | 
3 | 
| T38 | 
2885 | 
2874 | 
0 | 
3 | 
 
Line Coverage for Instance : tb.dut.u_main_meas.u_calib_rdy_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 3 | 3 | 100.00 | 
| CONT_ASSIGN | 124 | 1 | 1 | 100.00 | 
| ALWAYS | 128 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
123                         end else begin : gen_no_stable_chks
124        1/1                assign mubi = mubi_sync;
           Tests:       T4 T5 T6 
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_main_meas.u_calib_rdy_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_flops.gen_no_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36334374 | 
0 | 
2415 | 
| T4 | 
1478 | 
1395 | 
0 | 
3 | 
| T5 | 
1036 | 
997 | 
0 | 
3 | 
| T6 | 
1634 | 
1469 | 
0 | 
3 | 
| T32 | 
1339 | 
1295 | 
0 | 
3 | 
| T33 | 
1460 | 
1288 | 
0 | 
3 | 
| T34 | 
2147 | 
1932 | 
0 | 
3 | 
| T35 | 
1610 | 
1548 | 
0 | 
3 | 
| T36 | 
1555 | 
1495 | 
0 | 
3 | 
| T37 | 
1836 | 
1830 | 
0 | 
3 | 
| T38 | 
2885 | 
2874 | 
0 | 
3 | 
 
Line Coverage for Instance : tb.dut.u_usb_meas.u_calib_rdy_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 3 | 3 | 100.00 | 
| CONT_ASSIGN | 124 | 1 | 1 | 100.00 | 
| ALWAYS | 128 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
123                         end else begin : gen_no_stable_chks
124        1/1                assign mubi = mubi_sync;
           Tests:       T4 T5 T6 
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_usb_meas.u_calib_rdy_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_flops.gen_no_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36334374 | 
0 | 
2415 | 
| T4 | 
1478 | 
1395 | 
0 | 
3 | 
| T5 | 
1036 | 
997 | 
0 | 
3 | 
| T6 | 
1634 | 
1469 | 
0 | 
3 | 
| T32 | 
1339 | 
1295 | 
0 | 
3 | 
| T33 | 
1460 | 
1288 | 
0 | 
3 | 
| T34 | 
2147 | 
1932 | 
0 | 
3 | 
| T35 | 
1610 | 
1548 | 
0 | 
3 | 
| T36 | 
1555 | 
1495 | 
0 | 
3 | 
| T37 | 
1836 | 
1830 | 
0 | 
3 | 
| T38 | 
2885 | 
2874 | 
0 | 
3 | 
 
Line Coverage for Instance : tb.dut.u_clk_io_div4_peri_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_clk_io_div4_peri_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_clk_io_div2_peri_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_clk_io_div2_peri_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_clk_io_peri_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_clk_io_peri_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_clk_usb_peri_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_clk_usb_peri_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
39062799 | 
36341246 | 
0 | 
0 | 
| T4 | 
1478 | 
1398 | 
0 | 
0 | 
| T5 | 
1036 | 
1000 | 
0 | 
0 | 
| T6 | 
1634 | 
1472 | 
0 | 
0 | 
| T32 | 
1339 | 
1298 | 
0 | 
0 | 
| T33 | 
1460 | 
1291 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
1610 | 
1551 | 
0 | 
0 | 
| T36 | 
1555 | 
1498 | 
0 | 
0 | 
| T37 | 
1836 | 
1833 | 
0 | 
0 | 
| T38 | 
2885 | 
2877 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_clk_main_aes_trans.u_idle_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 6 | 6 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| ALWAYS | 117 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
95                              // hence this mux can be implemented behaviorally.
96         4/4                  assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
           Tests:       T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6 
97                            end
98                      
99                      // Note regarding SVAs below:
100                     //
101                     // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after
102                     // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed"
103                     // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page
104                     // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni
105                     // on the active clock edge. This causes the assertion to evaluate although the reset was actually
106                     // 0 when entering this simulation cycle.
107                     //
108                     // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may
109                     // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly
110                     // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock
111                     // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make
112                     // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no
113                     // sampling mismatches.
114                     `ifdef INC_ASSERT
115                           mubi4_t mubi_in_sva_q;
116                           always_ff @(posedge clk_i) begin
117        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
118                           end
119                           `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}})
120                           `ASSERT(OutputDelay_A,
121                                   rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}})
122                     `endif
123                         end else begin : gen_no_stable_chks
124                           assign mubi = mubi_sync;
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128                             mubi_in_sva_q <= mubi_i;
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Cond Coverage for Instance : tb.dut.u_clk_main_aes_trans.u_idle_sync
 | Total | Covered | Percent | 
| Conditions | 8 | 8 | 100.00 | 
| Logical | 8 | 8 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
Branch Coverage for Instance : tb.dut.u_clk_main_aes_trans.u_idle_sync
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
8 | 
8 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        -1-  
                                                        ==>  
                                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
Assert Coverage for Instance : tb.dut.u_clk_main_aes_trans.u_idle_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71081469 | 
0 | 
0 | 
| T4 | 
1541 | 
1457 | 
0 | 
0 | 
| T5 | 
4322 | 
4167 | 
0 | 
0 | 
| T6 | 
1702 | 
1533 | 
0 | 
0 | 
| T32 | 
5361 | 
5192 | 
0 | 
0 | 
| T33 | 
1437 | 
1268 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
6445 | 
6205 | 
0 | 
0 | 
| T36 | 
6222 | 
5996 | 
0 | 
0 | 
| T37 | 
36747 | 
36664 | 
0 | 
0 | 
| T38 | 
57712 | 
57543 | 
0 | 
0 | 
gen_flops.gen_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71074681 | 
0 | 
2415 | 
| T4 | 
1541 | 
1454 | 
0 | 
3 | 
| T5 | 
4322 | 
4164 | 
0 | 
3 | 
| T6 | 
1702 | 
1530 | 
0 | 
3 | 
| T32 | 
5361 | 
5189 | 
0 | 
3 | 
| T33 | 
1437 | 
1265 | 
0 | 
3 | 
| T34 | 
2147 | 
1932 | 
0 | 
3 | 
| T35 | 
6445 | 
6202 | 
0 | 
3 | 
| T36 | 
6222 | 
5993 | 
0 | 
3 | 
| T37 | 
36747 | 
36661 | 
0 | 
3 | 
| T38 | 
57712 | 
57540 | 
0 | 
3 | 
gen_flops.gen_stable_chks.OutputIfUnstable_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
21285 | 
0 | 
0 | 
| T4 | 
1541 | 
10 | 
0 | 
0 | 
| T5 | 
4322 | 
4 | 
0 | 
0 | 
| T6 | 
1702 | 
20 | 
0 | 
0 | 
| T32 | 
5361 | 
13 | 
0 | 
0 | 
| T33 | 
1437 | 
5 | 
0 | 
0 | 
| T34 | 
2147 | 
11 | 
0 | 
0 | 
| T35 | 
6445 | 
7 | 
0 | 
0 | 
| T36 | 
6222 | 
12 | 
0 | 
0 | 
| T37 | 
36747 | 
18 | 
0 | 
0 | 
| T38 | 
57712 | 
58 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_clk_main_aes_trans.u_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_clk_main_aes_trans.u_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71081469 | 
0 | 
0 | 
| T4 | 
1541 | 
1457 | 
0 | 
0 | 
| T5 | 
4322 | 
4167 | 
0 | 
0 | 
| T6 | 
1702 | 
1533 | 
0 | 
0 | 
| T32 | 
5361 | 
5192 | 
0 | 
0 | 
| T33 | 
1437 | 
1268 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
6445 | 
6205 | 
0 | 
0 | 
| T36 | 
6222 | 
5996 | 
0 | 
0 | 
| T37 | 
36747 | 
36664 | 
0 | 
0 | 
| T38 | 
57712 | 
57543 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71081469 | 
0 | 
0 | 
| T4 | 
1541 | 
1457 | 
0 | 
0 | 
| T5 | 
4322 | 
4167 | 
0 | 
0 | 
| T6 | 
1702 | 
1533 | 
0 | 
0 | 
| T32 | 
5361 | 
5192 | 
0 | 
0 | 
| T33 | 
1437 | 
1268 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
6445 | 
6205 | 
0 | 
0 | 
| T36 | 
6222 | 
5996 | 
0 | 
0 | 
| T37 | 
36747 | 
36664 | 
0 | 
0 | 
| T38 | 
57712 | 
57543 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_clk_main_hmac_trans.u_idle_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 6 | 6 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| ALWAYS | 117 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
95                              // hence this mux can be implemented behaviorally.
96         4/4                  assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
           Tests:       T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6 
97                            end
98                      
99                      // Note regarding SVAs below:
100                     //
101                     // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after
102                     // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed"
103                     // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page
104                     // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni
105                     // on the active clock edge. This causes the assertion to evaluate although the reset was actually
106                     // 0 when entering this simulation cycle.
107                     //
108                     // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may
109                     // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly
110                     // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock
111                     // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make
112                     // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no
113                     // sampling mismatches.
114                     `ifdef INC_ASSERT
115                           mubi4_t mubi_in_sva_q;
116                           always_ff @(posedge clk_i) begin
117        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
118                           end
119                           `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}})
120                           `ASSERT(OutputDelay_A,
121                                   rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}})
122                     `endif
123                         end else begin : gen_no_stable_chks
124                           assign mubi = mubi_sync;
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128                             mubi_in_sva_q <= mubi_i;
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Cond Coverage for Instance : tb.dut.u_clk_main_hmac_trans.u_idle_sync
 | Total | Covered | Percent | 
| Conditions | 8 | 8 | 100.00 | 
| Logical | 8 | 8 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
Branch Coverage for Instance : tb.dut.u_clk_main_hmac_trans.u_idle_sync
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
8 | 
8 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        -1-  
                                                        ==>  
                                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
Assert Coverage for Instance : tb.dut.u_clk_main_hmac_trans.u_idle_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71081469 | 
0 | 
0 | 
| T4 | 
1541 | 
1457 | 
0 | 
0 | 
| T5 | 
4322 | 
4167 | 
0 | 
0 | 
| T6 | 
1702 | 
1533 | 
0 | 
0 | 
| T32 | 
5361 | 
5192 | 
0 | 
0 | 
| T33 | 
1437 | 
1268 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
6445 | 
6205 | 
0 | 
0 | 
| T36 | 
6222 | 
5996 | 
0 | 
0 | 
| T37 | 
36747 | 
36664 | 
0 | 
0 | 
| T38 | 
57712 | 
57543 | 
0 | 
0 | 
gen_flops.gen_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71074681 | 
0 | 
2415 | 
| T4 | 
1541 | 
1454 | 
0 | 
3 | 
| T5 | 
4322 | 
4164 | 
0 | 
3 | 
| T6 | 
1702 | 
1530 | 
0 | 
3 | 
| T32 | 
5361 | 
5189 | 
0 | 
3 | 
| T33 | 
1437 | 
1265 | 
0 | 
3 | 
| T34 | 
2147 | 
1932 | 
0 | 
3 | 
| T35 | 
6445 | 
6202 | 
0 | 
3 | 
| T36 | 
6222 | 
5993 | 
0 | 
3 | 
| T37 | 
36747 | 
36661 | 
0 | 
3 | 
| T38 | 
57712 | 
57540 | 
0 | 
3 | 
gen_flops.gen_stable_chks.OutputIfUnstable_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
21125 | 
0 | 
0 | 
| T4 | 
1541 | 
5 | 
0 | 
0 | 
| T5 | 
4322 | 
4 | 
0 | 
0 | 
| T6 | 
1702 | 
26 | 
0 | 
0 | 
| T32 | 
5361 | 
9 | 
0 | 
0 | 
| T33 | 
1437 | 
5 | 
0 | 
0 | 
| T34 | 
2147 | 
11 | 
0 | 
0 | 
| T35 | 
6445 | 
17 | 
0 | 
0 | 
| T36 | 
6222 | 
15 | 
0 | 
0 | 
| T37 | 
36747 | 
20 | 
0 | 
0 | 
| T38 | 
57712 | 
61 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_clk_main_hmac_trans.u_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_clk_main_hmac_trans.u_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71081469 | 
0 | 
0 | 
| T4 | 
1541 | 
1457 | 
0 | 
0 | 
| T5 | 
4322 | 
4167 | 
0 | 
0 | 
| T6 | 
1702 | 
1533 | 
0 | 
0 | 
| T32 | 
5361 | 
5192 | 
0 | 
0 | 
| T33 | 
1437 | 
1268 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
6445 | 
6205 | 
0 | 
0 | 
| T36 | 
6222 | 
5996 | 
0 | 
0 | 
| T37 | 
36747 | 
36664 | 
0 | 
0 | 
| T38 | 
57712 | 
57543 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71081469 | 
0 | 
0 | 
| T4 | 
1541 | 
1457 | 
0 | 
0 | 
| T5 | 
4322 | 
4167 | 
0 | 
0 | 
| T6 | 
1702 | 
1533 | 
0 | 
0 | 
| T32 | 
5361 | 
5192 | 
0 | 
0 | 
| T33 | 
1437 | 
1268 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
6445 | 
6205 | 
0 | 
0 | 
| T36 | 
6222 | 
5996 | 
0 | 
0 | 
| T37 | 
36747 | 
36664 | 
0 | 
0 | 
| T38 | 
57712 | 
57543 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_clk_main_kmac_trans.u_idle_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 6 | 6 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| ALWAYS | 117 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
95                              // hence this mux can be implemented behaviorally.
96         4/4                  assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
           Tests:       T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6 
97                            end
98                      
99                      // Note regarding SVAs below:
100                     //
101                     // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after
102                     // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed"
103                     // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page
104                     // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni
105                     // on the active clock edge. This causes the assertion to evaluate although the reset was actually
106                     // 0 when entering this simulation cycle.
107                     //
108                     // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may
109                     // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly
110                     // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock
111                     // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make
112                     // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no
113                     // sampling mismatches.
114                     `ifdef INC_ASSERT
115                           mubi4_t mubi_in_sva_q;
116                           always_ff @(posedge clk_i) begin
117        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
118                           end
119                           `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}})
120                           `ASSERT(OutputDelay_A,
121                                   rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}})
122                     `endif
123                         end else begin : gen_no_stable_chks
124                           assign mubi = mubi_sync;
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128                             mubi_in_sva_q <= mubi_i;
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Cond Coverage for Instance : tb.dut.u_clk_main_kmac_trans.u_idle_sync
 | Total | Covered | Percent | 
| Conditions | 8 | 8 | 100.00 | 
| Logical | 8 | 8 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
Branch Coverage for Instance : tb.dut.u_clk_main_kmac_trans.u_idle_sync
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
8 | 
8 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        -1-  
                                                        ==>  
                                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
Assert Coverage for Instance : tb.dut.u_clk_main_kmac_trans.u_idle_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71081469 | 
0 | 
0 | 
| T4 | 
1541 | 
1457 | 
0 | 
0 | 
| T5 | 
4322 | 
4167 | 
0 | 
0 | 
| T6 | 
1702 | 
1533 | 
0 | 
0 | 
| T32 | 
5361 | 
5192 | 
0 | 
0 | 
| T33 | 
1437 | 
1268 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
6445 | 
6205 | 
0 | 
0 | 
| T36 | 
6222 | 
5996 | 
0 | 
0 | 
| T37 | 
36747 | 
36664 | 
0 | 
0 | 
| T38 | 
57712 | 
57543 | 
0 | 
0 | 
gen_flops.gen_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71074681 | 
0 | 
2415 | 
| T4 | 
1541 | 
1454 | 
0 | 
3 | 
| T5 | 
4322 | 
4164 | 
0 | 
3 | 
| T6 | 
1702 | 
1530 | 
0 | 
3 | 
| T32 | 
5361 | 
5189 | 
0 | 
3 | 
| T33 | 
1437 | 
1265 | 
0 | 
3 | 
| T34 | 
2147 | 
1932 | 
0 | 
3 | 
| T35 | 
6445 | 
6202 | 
0 | 
3 | 
| T36 | 
6222 | 
5993 | 
0 | 
3 | 
| T37 | 
36747 | 
36661 | 
0 | 
3 | 
| T38 | 
57712 | 
57540 | 
0 | 
3 | 
gen_flops.gen_stable_chks.OutputIfUnstable_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
21139 | 
0 | 
0 | 
| T4 | 
1541 | 
8 | 
0 | 
0 | 
| T5 | 
4322 | 
4 | 
0 | 
0 | 
| T6 | 
1702 | 
16 | 
0 | 
0 | 
| T32 | 
5361 | 
9 | 
0 | 
0 | 
| T33 | 
1437 | 
5 | 
0 | 
0 | 
| T34 | 
2147 | 
5 | 
0 | 
0 | 
| T35 | 
6445 | 
9 | 
0 | 
0 | 
| T36 | 
6222 | 
13 | 
0 | 
0 | 
| T37 | 
36747 | 
17 | 
0 | 
0 | 
| T38 | 
57712 | 
56 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_clk_main_kmac_trans.u_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_clk_main_kmac_trans.u_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71081469 | 
0 | 
0 | 
| T4 | 
1541 | 
1457 | 
0 | 
0 | 
| T5 | 
4322 | 
4167 | 
0 | 
0 | 
| T6 | 
1702 | 
1533 | 
0 | 
0 | 
| T32 | 
5361 | 
5192 | 
0 | 
0 | 
| T33 | 
1437 | 
1268 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
6445 | 
6205 | 
0 | 
0 | 
| T36 | 
6222 | 
5996 | 
0 | 
0 | 
| T37 | 
36747 | 
36664 | 
0 | 
0 | 
| T38 | 
57712 | 
57543 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71081469 | 
0 | 
0 | 
| T4 | 
1541 | 
1457 | 
0 | 
0 | 
| T5 | 
4322 | 
4167 | 
0 | 
0 | 
| T6 | 
1702 | 
1533 | 
0 | 
0 | 
| T32 | 
5361 | 
5192 | 
0 | 
0 | 
| T33 | 
1437 | 
1268 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
6445 | 
6205 | 
0 | 
0 | 
| T36 | 
6222 | 
5996 | 
0 | 
0 | 
| T37 | 
36747 | 
36664 | 
0 | 
0 | 
| T38 | 
57712 | 
57543 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_clk_main_otbn_trans.u_idle_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 6 | 6 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 96 | 1 | 1 | 100.00 | 
| ALWAYS | 117 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
95                              // hence this mux can be implemented behaviorally.
96         4/4                  assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
           Tests:       T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6 
97                            end
98                      
99                      // Note regarding SVAs below:
100                     //
101                     // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after
102                     // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed"
103                     // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page
104                     // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni
105                     // on the active clock edge. This causes the assertion to evaluate although the reset was actually
106                     // 0 when entering this simulation cycle.
107                     //
108                     // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may
109                     // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly
110                     // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock
111                     // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make
112                     // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no
113                     // sampling mismatches.
114                     `ifdef INC_ASSERT
115                           mubi4_t mubi_in_sva_q;
116                           always_ff @(posedge clk_i) begin
117        1/1                  mubi_in_sva_q <= mubi_i;
           Tests:       T4 T5 T6 
118                           end
119                           `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}})
120                           `ASSERT(OutputDelay_A,
121                                   rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}})
122                     `endif
123                         end else begin : gen_no_stable_chks
124                           assign mubi = mubi_sync;
125                     `ifdef INC_ASSERT
126                           mubi4_t mubi_in_sva_q;
127                           always_ff @(posedge clk_i) begin
128                             mubi_in_sva_q <= mubi_i;
129                           end
130                           `ASSERT(OutputDelay_A,
131                                   rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} ||
132                                                   $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1)))
133                     `endif
134                         end
135                       end else begin : gen_no_flops
136                     
137                         //VCS coverage off
138                         // pragma coverage off
139                     
140                         // This unused companion logic helps remove lint errors
141                         // for modules where clock and reset are used for assertions only
142                         // This logic will be removed for synthesis since it is unloaded.
143                         mubi4_t unused_logic;
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145                           if (!rst_ni) begin
146                              unused_logic <= MuBi4False;
147                           end else begin
148                              unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155                         assign mubi = MuBi4Width'(mubi_i);
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Cond Coverage for Instance : tb.dut.u_clk_main_otbn_trans.u_idle_sync
 | Total | Covered | Percent | 
| Conditions | 8 | 8 | 100.00 | 
| Logical | 8 | 8 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
| -1- | Status | Tests |                       
| 0 | Covered | T4,T5,T6 | 
| 1 | Covered | T4,T5,T6 | 
Branch Coverage for Instance : tb.dut.u_clk_main_otbn_trans.u_idle_sync
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
8 | 
8 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
96 | 
2 | 
2 | 
100.00 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        -1-  
                                                        ==>  
                                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
96                 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k];
                                                        
           Warning: the following expressions can not be annotated
           -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;  
           
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T4,T5,T6 | 
| 0 | 
Covered | 
T4,T5,T6 | 
Assert Coverage for Instance : tb.dut.u_clk_main_otbn_trans.u_idle_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71081469 | 
0 | 
0 | 
| T4 | 
1541 | 
1457 | 
0 | 
0 | 
| T5 | 
4322 | 
4167 | 
0 | 
0 | 
| T6 | 
1702 | 
1533 | 
0 | 
0 | 
| T32 | 
5361 | 
5192 | 
0 | 
0 | 
| T33 | 
1437 | 
1268 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
6445 | 
6205 | 
0 | 
0 | 
| T36 | 
6222 | 
5996 | 
0 | 
0 | 
| T37 | 
36747 | 
36664 | 
0 | 
0 | 
| T38 | 
57712 | 
57543 | 
0 | 
0 | 
gen_flops.gen_stable_chks.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71074681 | 
0 | 
2415 | 
| T4 | 
1541 | 
1454 | 
0 | 
3 | 
| T5 | 
4322 | 
4164 | 
0 | 
3 | 
| T6 | 
1702 | 
1530 | 
0 | 
3 | 
| T32 | 
5361 | 
5189 | 
0 | 
3 | 
| T33 | 
1437 | 
1265 | 
0 | 
3 | 
| T34 | 
2147 | 
1932 | 
0 | 
3 | 
| T35 | 
6445 | 
6202 | 
0 | 
3 | 
| T36 | 
6222 | 
5993 | 
0 | 
3 | 
| T37 | 
36747 | 
36661 | 
0 | 
3 | 
| T38 | 
57712 | 
57540 | 
0 | 
3 | 
gen_flops.gen_stable_chks.OutputIfUnstable_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
21225 | 
0 | 
0 | 
| T4 | 
1541 | 
8 | 
0 | 
0 | 
| T5 | 
4322 | 
4 | 
0 | 
0 | 
| T6 | 
1702 | 
20 | 
0 | 
0 | 
| T32 | 
5361 | 
9 | 
0 | 
0 | 
| T33 | 
1437 | 
5 | 
0 | 
0 | 
| T34 | 
2147 | 
18 | 
0 | 
0 | 
| T35 | 
6445 | 
11 | 
0 | 
0 | 
| T36 | 
6222 | 
13 | 
0 | 
0 | 
| T37 | 
36747 | 
15 | 
0 | 
0 | 
| T38 | 
57712 | 
63 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_clk_main_otbn_trans.u_scanmode_sync
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 2 | 2 | 100.00 | 
| ALWAYS | 145 | 0 | 0 |  | 
| CONT_ASSIGN | 155 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 168 | 1 | 1 | 100.00 | 
144                         always_ff @(posedge clk_i or negedge rst_ni) begin
145        unreachable        if (!rst_ni) begin
146        unreachable           unused_logic <= MuBi4False;
147                           end else begin
148        unreachable           unused_logic <= mubi_i;
149                           end
150                         end
151                     
152                         //VCS coverage on
153                         // pragma coverage on
154                     
155        1/1              assign mubi = MuBi4Width'(mubi_i);
           Tests:       T4 T5 T6 
156                     
157                         `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}})
158                       end
159                     
160                       for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs
161                         logic [MuBi4Width-1:0] mubi_out;
162                         for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits
163                           prim_buf u_prim_buf (
164                             .in_i(mubi[k]),
165                             .out_o(mubi_out[k])
166                           );
167                         end
168        1/1              assign mubi_o[j] = mubi4_t'(mubi_out);
           Tests:       T4 T5 T6 
Assert Coverage for Instance : tb.dut.u_clk_main_otbn_trans.u_scanmode_sync
Assertion Details
NumCopiesMustBeGreaterZero_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
805 | 
805 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T32 | 
1 | 
1 | 
0 | 
0 | 
| T33 | 
1 | 
1 | 
0 | 
0 | 
| T34 | 
1 | 
1 | 
0 | 
0 | 
| T35 | 
1 | 
1 | 
0 | 
0 | 
| T36 | 
1 | 
1 | 
0 | 
0 | 
| T37 | 
1 | 
1 | 
0 | 
0 | 
| T38 | 
1 | 
1 | 
0 | 
0 | 
OutputsKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71081469 | 
0 | 
0 | 
| T4 | 
1541 | 
1457 | 
0 | 
0 | 
| T5 | 
4322 | 
4167 | 
0 | 
0 | 
| T6 | 
1702 | 
1533 | 
0 | 
0 | 
| T32 | 
5361 | 
5192 | 
0 | 
0 | 
| T33 | 
1437 | 
1268 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
6445 | 
6205 | 
0 | 
0 | 
| T36 | 
6222 | 
5996 | 
0 | 
0 | 
| T37 | 
36747 | 
36664 | 
0 | 
0 | 
| T38 | 
57712 | 
57543 | 
0 | 
0 | 
gen_no_flops.OutputDelay_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
75706418 | 
71081469 | 
0 | 
0 | 
| T4 | 
1541 | 
1457 | 
0 | 
0 | 
| T5 | 
4322 | 
4167 | 
0 | 
0 | 
| T6 | 
1702 | 
1533 | 
0 | 
0 | 
| T32 | 
5361 | 
5192 | 
0 | 
0 | 
| T33 | 
1437 | 
1268 | 
0 | 
0 | 
| T34 | 
2147 | 
1935 | 
0 | 
0 | 
| T35 | 
6445 | 
6205 | 
0 | 
0 | 
| T36 | 
6222 | 
5996 | 
0 | 
0 | 
| T37 | 
36747 | 
36664 | 
0 | 
0 | 
| T38 | 
57712 | 
57543 | 
0 | 
0 |