Line Coverage for Module : 
prim_fifo_sync ( parameter Width=108,Pass=1,Depth=0,OutputZeroIfEmpty=1,Secure=0,DepthW=1 + Width=65,Pass=1,Depth=0,OutputZeroIfEmpty=1,Secure=0,DepthW=1 ) 
Line Coverage for Module self-instances : 
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 44 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 45 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 48 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 49 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 53 | 0 | 0 |  | 
43                          // device facing
44         1/1              assign rvalid_o = wvalid_i;
           Tests:       T1 T2 T3 
45         1/1              assign rdata_o = wdata_i;
           Tests:       T1 T2 T3 
46                      
47                          // host facing
48         1/1              assign wready_o = rready_i;
           Tests:       T1 T2 T3 
49         1/1              assign full_o = rready_i;
           Tests:       T1 T2 T3 
50                      
51                          // this avoids lint warnings
52                          logic unused_clr;
53         unreachable      assign unused_clr = clr_i;
Line Coverage for Module : 
prim_fifo_sync ( parameter Width=17,Pass=0,Depth=1,OutputZeroIfEmpty=1,Secure=0,DepthW=1,gen_normal_fifo.PtrW=1 ) 
Line Coverage for Module self-instances : 
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 15 | 15 | 100.00 | 
| ALWAYS | 69 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 81 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 82 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 100 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 101 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 108 | 1 | 1 | 100.00 | 
| ALWAYS | 111 | 2 | 2 | 100.00 | 
| CONT_ASSIGN | 116 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 133 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 134 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 138 | 1 | 1 | 100.00 | 
68                          always_ff @(posedge clk_i or negedge rst_ni) begin
69         1/1                if (!rst_ni) begin
           Tests:       T1 T2 T3 
70         1/1                  under_rst <= 1'b1;
           Tests:       T1 T2 T3 
71         1/1                end else if (under_rst) begin
           Tests:       T1 T2 T3 
72         1/1                  under_rst <= ~under_rst;
           Tests:       T1 T2 T3 
73                            end
                        MISSING_ELSE
74                          end
75                      
76                          logic empty;
77                      
78                          // full and not ready for write are two different concepts.
79                          // The latter can be '0' when under reset, while the former is an indication that no more
80                          // entries can be written.
81         1/1              assign wready_o = ~full_o & ~under_rst;
           Tests:       T1 T2 T3 
82         1/1              assign rvalid_o = ~empty & ~under_rst;
           Tests:       T1 T2 T3 
83                      
84                          prim_fifo_sync_cnt #(
85                            .Depth(Depth),
86                            .Secure(Secure)
87                          ) u_fifo_cnt (
88                            .clk_i,
89                            .rst_ni,
90                            .clr_i,
91                            .incr_wptr_i(fifo_incr_wptr),
92                            .incr_rptr_i(fifo_incr_rptr),
93                            .wptr_o(fifo_wptr),
94                            .rptr_o(fifo_rptr),
95                            .full_o,
96                            .empty_o(fifo_empty),
97                            .depth_o,
98                            .err_o
99                          );
100        1/1              assign fifo_incr_wptr = wvalid_i & wready_o & ~under_rst;
           Tests:       T1 T2 T3 
101        1/1              assign fifo_incr_rptr = rvalid_o & rready_i & ~under_rst;
           Tests:       T1 T2 T3 
102                     
103                         // the generate blocks below are needed to avoid lint errors due to array indexing
104                         // in the where the fifo only has one storage element
105                         logic [Depth-1:0][Width-1:0] storage;
106                         logic [Width-1:0] storage_rdata;
107                         if (Depth == 1) begin : gen_depth_eq1
108        1/1                assign storage_rdata = storage[0];
           Tests:       T2 T3 T4 
109                     
110                           always_ff @(posedge clk_i)
111        1/1                  if (fifo_incr_wptr) begin
           Tests:       T1 T2 T3 
112        1/1                    storage[0] <= wdata_i;
           Tests:       T2 T3 T4 
113                             end
                        MISSING_ELSE
114                     
115                           logic unused_ptrs;
116        1/1                assign unused_ptrs = ^{fifo_wptr, fifo_rptr};
           Tests:       T1 T2 T3 
117                     
118                         // fifo with more than one storage element
119                         end else begin : gen_depth_gt1
120                           assign storage_rdata = storage[fifo_rptr];
121                     
122                           always_ff @(posedge clk_i)
123                             if (fifo_incr_wptr) begin
124                               storage[fifo_wptr] <= wdata_i;
125                             end
126                         end
127                     
128                         logic [Width-1:0] rdata_int;
129                         if (Pass == 1'b1) begin : gen_pass
130                           assign rdata_int = (fifo_empty && wvalid_i) ? wdata_i : storage_rdata;
131                           assign empty = fifo_empty & ~wvalid_i;
132                         end else begin : gen_nopass
133        1/1                assign rdata_int = storage_rdata;
           Tests:       T2 T3 T4 
134        1/1                assign empty = fifo_empty;
           Tests:       T1 T2 T3 
135                         end
136                     
137                         if (OutputZeroIfEmpty == 1'b1) begin : gen_output_zero
138        1/1                assign rdata_o = empty ? Width'(0) : rdata_int;
           Tests:       T1 T2 T3 
Line Coverage for Module : 
prim_fifo_sync ( parameter Width=5,Pass=0,Depth=1,OutputZeroIfEmpty=1,Secure=0,DepthW=1,gen_normal_fifo.PtrW=1 ) 
Line Coverage for Module self-instances : 
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 15 | 15 | 100.00 | 
| ALWAYS | 69 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 81 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 82 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 100 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 101 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 108 | 1 | 1 | 100.00 | 
| ALWAYS | 111 | 2 | 2 | 100.00 | 
| CONT_ASSIGN | 116 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 133 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 134 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 138 | 1 | 1 | 100.00 | 
68                          always_ff @(posedge clk_i or negedge rst_ni) begin
69         1/1                if (!rst_ni) begin
           Tests:       T1 T2 T3 
70         1/1                  under_rst <= 1'b1;
           Tests:       T1 T2 T3 
71         1/1                end else if (under_rst) begin
           Tests:       T1 T2 T3 
72         1/1                  under_rst <= ~under_rst;
           Tests:       T1 T2 T3 
73                            end
                        MISSING_ELSE
74                          end
75                      
76                          logic empty;
77                      
78                          // full and not ready for write are two different concepts.
79                          // The latter can be '0' when under reset, while the former is an indication that no more
80                          // entries can be written.
81         1/1              assign wready_o = ~full_o & ~under_rst;
           Tests:       T1 T2 T3 
82         1/1              assign rvalid_o = ~empty & ~under_rst;
           Tests:       T1 T2 T3 
83                      
84                          prim_fifo_sync_cnt #(
85                            .Depth(Depth),
86                            .Secure(Secure)
87                          ) u_fifo_cnt (
88                            .clk_i,
89                            .rst_ni,
90                            .clr_i,
91                            .incr_wptr_i(fifo_incr_wptr),
92                            .incr_rptr_i(fifo_incr_rptr),
93                            .wptr_o(fifo_wptr),
94                            .rptr_o(fifo_rptr),
95                            .full_o,
96                            .empty_o(fifo_empty),
97                            .depth_o,
98                            .err_o
99                          );
100        1/1              assign fifo_incr_wptr = wvalid_i & wready_o & ~under_rst;
           Tests:       T1 T2 T3 
101        1/1              assign fifo_incr_rptr = rvalid_o & rready_i & ~under_rst;
           Tests:       T1 T2 T3 
102                     
103                         // the generate blocks below are needed to avoid lint errors due to array indexing
104                         // in the where the fifo only has one storage element
105                         logic [Depth-1:0][Width-1:0] storage;
106                         logic [Width-1:0] storage_rdata;
107                         if (Depth == 1) begin : gen_depth_eq1
108        1/1                assign storage_rdata = storage[0];
           Tests:       T2 T3 T4 
109                     
110                           always_ff @(posedge clk_i)
111        1/1                  if (fifo_incr_wptr) begin
           Tests:       T1 T2 T3 
112        1/1                    storage[0] <= wdata_i;
           Tests:       T2 T3 T4 
113                             end
                        MISSING_ELSE
114                     
115                           logic unused_ptrs;
116        1/1                assign unused_ptrs = ^{fifo_wptr, fifo_rptr};
           Tests:       T1 T2 T3 
117                     
118                         // fifo with more than one storage element
119                         end else begin : gen_depth_gt1
120                           assign storage_rdata = storage[fifo_rptr];
121                     
122                           always_ff @(posedge clk_i)
123                             if (fifo_incr_wptr) begin
124                               storage[fifo_wptr] <= wdata_i;
125                             end
126                         end
127                     
128                         logic [Width-1:0] rdata_int;
129                         if (Pass == 1'b1) begin : gen_pass
130                           assign rdata_int = (fifo_empty && wvalid_i) ? wdata_i : storage_rdata;
131                           assign empty = fifo_empty & ~wvalid_i;
132                         end else begin : gen_nopass
133        1/1                assign rdata_int = storage_rdata;
           Tests:       T2 T3 T4 
134        1/1                assign empty = fifo_empty;
           Tests:       T1 T2 T3 
135                         end
136                     
137                         if (OutputZeroIfEmpty == 1'b1) begin : gen_output_zero
138        1/1                assign rdata_o = empty ? Width'(0) : rdata_int;
           Tests:       T1 T2 T3 
Line Coverage for Module : 
prim_fifo_sync ( parameter Width=40,Pass=1,Depth=1,OutputZeroIfEmpty=1,Secure=0,DepthW=1,gen_normal_fifo.PtrW=1 ) 
Line Coverage for Module self-instances : 
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 15 | 15 | 100.00 | 
| ALWAYS | 69 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 81 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 82 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 100 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 101 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 108 | 1 | 1 | 100.00 | 
| ALWAYS | 111 | 2 | 2 | 100.00 | 
| CONT_ASSIGN | 116 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 130 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 131 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 138 | 1 | 1 | 100.00 | 
68                          always_ff @(posedge clk_i or negedge rst_ni) begin
69         1/1                if (!rst_ni) begin
           Tests:       T1 T2 T3 
70         1/1                  under_rst <= 1'b1;
           Tests:       T1 T2 T3 
71         1/1                end else if (under_rst) begin
           Tests:       T1 T2 T3 
72         1/1                  under_rst <= ~under_rst;
           Tests:       T1 T2 T3 
73                            end
                        MISSING_ELSE
74                          end
75                      
76                          logic empty;
77                      
78                          // full and not ready for write are two different concepts.
79                          // The latter can be '0' when under reset, while the former is an indication that no more
80                          // entries can be written.
81         1/1              assign wready_o = ~full_o & ~under_rst;
           Tests:       T1 T2 T3 
82         1/1              assign rvalid_o = ~empty & ~under_rst;
           Tests:       T1 T2 T3 
83                      
84                          prim_fifo_sync_cnt #(
85                            .Depth(Depth),
86                            .Secure(Secure)
87                          ) u_fifo_cnt (
88                            .clk_i,
89                            .rst_ni,
90                            .clr_i,
91                            .incr_wptr_i(fifo_incr_wptr),
92                            .incr_rptr_i(fifo_incr_rptr),
93                            .wptr_o(fifo_wptr),
94                            .rptr_o(fifo_rptr),
95                            .full_o,
96                            .empty_o(fifo_empty),
97                            .depth_o,
98                            .err_o
99                          );
100        1/1              assign fifo_incr_wptr = wvalid_i & wready_o & ~under_rst;
           Tests:       T1 T2 T3 
101        1/1              assign fifo_incr_rptr = rvalid_o & rready_i & ~under_rst;
           Tests:       T1 T2 T3 
102                     
103                         // the generate blocks below are needed to avoid lint errors due to array indexing
104                         // in the where the fifo only has one storage element
105                         logic [Depth-1:0][Width-1:0] storage;
106                         logic [Width-1:0] storage_rdata;
107                         if (Depth == 1) begin : gen_depth_eq1
108        1/1                assign storage_rdata = storage[0];
           Tests:       T2 T3 T4 
109                     
110                           always_ff @(posedge clk_i)
111        1/1                  if (fifo_incr_wptr) begin
           Tests:       T1 T2 T3 
112        1/1                    storage[0] <= wdata_i;
           Tests:       T2 T3 T4 
113                             end
                        MISSING_ELSE
114                     
115                           logic unused_ptrs;
116        1/1                assign unused_ptrs = ^{fifo_wptr, fifo_rptr};
           Tests:       T1 T2 T3 
117                     
118                         // fifo with more than one storage element
119                         end else begin : gen_depth_gt1
120                           assign storage_rdata = storage[fifo_rptr];
121                     
122                           always_ff @(posedge clk_i)
123                             if (fifo_incr_wptr) begin
124                               storage[fifo_wptr] <= wdata_i;
125                             end
126                         end
127                     
128                         logic [Width-1:0] rdata_int;
129                         if (Pass == 1'b1) begin : gen_pass
130        1/1                assign rdata_int = (fifo_empty && wvalid_i) ? wdata_i : storage_rdata;
           Tests:       T1 T2 T3 
131        1/1                assign empty = fifo_empty & ~wvalid_i;
           Tests:       T1 T2 T3 
132                         end else begin : gen_nopass
133                           assign rdata_int = storage_rdata;
134                           assign empty = fifo_empty;
135                         end
136                     
137                         if (OutputZeroIfEmpty == 1'b1) begin : gen_output_zero
138        1/1                assign rdata_o = empty ? Width'(0) : rdata_int;
           Tests:       T1 T2 T3 
Line Coverage for Module : 
prim_fifo_sync ( parameter Width=4,Pass=1,Depth=2,OutputZeroIfEmpty=1,Secure=0,DepthW=2,gen_normal_fifo.PtrW=1 ) 
Line Coverage for Module self-instances : 
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 14 | 14 | 100.00 | 
| ALWAYS | 69 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 81 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 82 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 100 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 101 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 120 | 1 | 1 | 100.00 | 
| ALWAYS | 123 | 2 | 2 | 100.00 | 
| CONT_ASSIGN | 130 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 131 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 138 | 1 | 1 | 100.00 | 
68                          always_ff @(posedge clk_i or negedge rst_ni) begin
69         1/1                if (!rst_ni) begin
           Tests:       T1 T2 T3 
70         1/1                  under_rst <= 1'b1;
           Tests:       T1 T2 T3 
71         1/1                end else if (under_rst) begin
           Tests:       T1 T2 T3 
72         1/1                  under_rst <= ~under_rst;
           Tests:       T1 T2 T3 
73                            end
                        MISSING_ELSE
74                          end
75                      
76                          logic empty;
77                      
78                          // full and not ready for write are two different concepts.
79                          // The latter can be '0' when under reset, while the former is an indication that no more
80                          // entries can be written.
81         1/1              assign wready_o = ~full_o & ~under_rst;
           Tests:       T1 T2 T3 
82         1/1              assign rvalid_o = ~empty & ~under_rst;
           Tests:       T1 T2 T3 
83                      
84                          prim_fifo_sync_cnt #(
85                            .Depth(Depth),
86                            .Secure(Secure)
87                          ) u_fifo_cnt (
88                            .clk_i,
89                            .rst_ni,
90                            .clr_i,
91                            .incr_wptr_i(fifo_incr_wptr),
92                            .incr_rptr_i(fifo_incr_rptr),
93                            .wptr_o(fifo_wptr),
94                            .rptr_o(fifo_rptr),
95                            .full_o,
96                            .empty_o(fifo_empty),
97                            .depth_o,
98                            .err_o
99                          );
100        1/1              assign fifo_incr_wptr = wvalid_i & wready_o & ~under_rst;
           Tests:       T1 T2 T3 
101        1/1              assign fifo_incr_rptr = rvalid_o & rready_i & ~under_rst;
           Tests:       T1 T2 T3 
102                     
103                         // the generate blocks below are needed to avoid lint errors due to array indexing
104                         // in the where the fifo only has one storage element
105                         logic [Depth-1:0][Width-1:0] storage;
106                         logic [Width-1:0] storage_rdata;
107                         if (Depth == 1) begin : gen_depth_eq1
108                           assign storage_rdata = storage[0];
109                     
110                           always_ff @(posedge clk_i)
111                             if (fifo_incr_wptr) begin
112                               storage[0] <= wdata_i;
113                             end
114                     
115                           logic unused_ptrs;
116                           assign unused_ptrs = ^{fifo_wptr, fifo_rptr};
117                     
118                         // fifo with more than one storage element
119                         end else begin : gen_depth_gt1
120        1/1                assign storage_rdata = storage[fifo_rptr];
           Tests:       T1 T2 T3 
121                     
122                           always_ff @(posedge clk_i)
123        1/1                  if (fifo_incr_wptr) begin
           Tests:       T1 T2 T3 
124        1/1                    storage[fifo_wptr] <= wdata_i;
           Tests:       T1 T2 T3 
125                             end
                        MISSING_ELSE
126                         end
127                     
128                         logic [Width-1:0] rdata_int;
129                         if (Pass == 1'b1) begin : gen_pass
130        1/1                assign rdata_int = (fifo_empty && wvalid_i) ? wdata_i : storage_rdata;
           Tests:       T1 T2 T3 
131        1/1                assign empty = fifo_empty & ~wvalid_i;
           Tests:       T1 T2 T3 
132                         end else begin : gen_nopass
133                           assign rdata_int = storage_rdata;
134                           assign empty = fifo_empty;
135                         end
136                     
137                         if (OutputZeroIfEmpty == 1'b1) begin : gen_output_zero
138        1/1                assign rdata_o = empty ? Width'(0) : rdata_int;
           Tests:       T1 T2 T3 
Cond Coverage for Module : 
prim_fifo_sync ( parameter Width=5,Pass=0,Depth=1,OutputZeroIfEmpty=1,Secure=0,DepthW=1,gen_normal_fifo.PtrW=1 ) 
Cond Coverage for Module self-instances : 
 | Total | Covered | Percent | 
| Conditions | 16 | 11 | 68.75 | 
| Logical | 16 | 11 | 68.75 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       81
 EXPRESSION (((~full_o)) & ((~gen_normal_fifo.under_rst)))
             -----1-----   ---------------2--------------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T2,T3,T4 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       82
 EXPRESSION (((~gen_normal_fifo.empty)) & ((~gen_normal_fifo.under_rst)))
             -------------1------------   ---------------2--------------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Not Covered |  | 
| 1 | 1 | Covered | T2,T3,T4 | 
 LINE       100
 EXPRESSION (wvalid_i & wready_o & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests |                       
| 0 | 1 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | 1 | Not Covered |  | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T2,T3,T4 | 
 LINE       101
 EXPRESSION (rvalid_o & rready_i & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests |                       
| 0 | 1 | 1 | Not Covered |  | 
| 1 | 0 | 1 | Covered | T2,T3,T4 | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T2,T3,T4 | 
 LINE       138
 EXPRESSION (gen_normal_fifo.empty ? (5'(0)) : gen_normal_fifo.rdata_int)
             ----------1----------
| -1- | Status | Tests |                       
| 0 | Covered | T2,T3,T4 | 
| 1 | Covered | T1,T2,T3 | 
Cond Coverage for Module : 
prim_fifo_sync ( parameter Width=40,Pass=1,Depth=1,OutputZeroIfEmpty=1,Secure=0,DepthW=1,gen_normal_fifo.PtrW=1 ) 
Cond Coverage for Module self-instances : 
 | Total | Covered | Percent | 
| Conditions | 24 | 18 | 75.00 | 
| Logical | 24 | 18 | 75.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       81
 EXPRESSION (((~full_o)) & ((~gen_normal_fifo.under_rst)))
             -----1-----   ---------------2--------------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T6,T23,T15 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       82
 EXPRESSION (((~gen_normal_fifo.empty)) & ((~gen_normal_fifo.under_rst)))
             -------------1------------   ---------------2--------------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Not Covered |  | 
| 1 | 1 | Covered | T2,T3,T4 | 
 LINE       100
 EXPRESSION (wvalid_i & wready_o & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests |                       
| 0 | 1 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | 1 | Not Covered |  | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T2,T3,T4 | 
 LINE       101
 EXPRESSION (rvalid_o & rready_i & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests |                       
| 0 | 1 | 1 | Not Covered |  | 
| 1 | 0 | 1 | Covered | T4,T6,T23 | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T2,T3,T4 | 
 LINE       130
 EXPRESSION ((gen_normal_fifo.fifo_empty && wvalid_i) ? wdata_i : gen_normal_fifo.storage_rdata)
             --------------------1-------------------
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T2,T3,T4 | 
 LINE       130
 SUB-EXPRESSION (gen_normal_fifo.fifo_empty && wvalid_i)
                 -------------1------------    ----2---
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Not Covered |  | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T2,T3,T4 | 
 LINE       131
 EXPRESSION (gen_normal_fifo.fifo_empty & ((~wvalid_i)))
             -------------1------------   ------2------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T6,T23,T15 | 
| 1 | 0 | Covered | T2,T3,T4 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       138
 EXPRESSION (gen_normal_fifo.empty ? (40'(0)) : gen_normal_fifo.rdata_int)
             ----------1----------
| -1- | Status | Tests |                       
| 0 | Covered | T2,T3,T4 | 
| 1 | Covered | T1,T2,T3 | 
Cond Coverage for Module : 
prim_fifo_sync ( parameter Width=17,Pass=0,Depth=1,OutputZeroIfEmpty=1,Secure=0,DepthW=1,gen_normal_fifo.PtrW=1 ) 
Cond Coverage for Module self-instances : 
 | Total | Covered | Percent | 
| Conditions | 16 | 11 | 68.75 | 
| Logical | 16 | 11 | 68.75 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       81
 EXPRESSION (((~full_o)) & ((~gen_normal_fifo.under_rst)))
             -----1-----   ---------------2--------------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T2,T3,T4 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       82
 EXPRESSION (((~gen_normal_fifo.empty)) & ((~gen_normal_fifo.under_rst)))
             -------------1------------   ---------------2--------------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Not Covered |  | 
| 1 | 1 | Covered | T2,T3,T4 | 
 LINE       100
 EXPRESSION (wvalid_i & wready_o & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests |                       
| 0 | 1 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | 1 | Not Covered |  | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T2,T3,T4 | 
 LINE       101
 EXPRESSION (rvalid_o & rready_i & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests |                       
| 0 | 1 | 1 | Not Covered |  | 
| 1 | 0 | 1 | Covered | T2,T3,T4 | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T2,T3,T4 | 
 LINE       138
 EXPRESSION (gen_normal_fifo.empty ? (17'(0)) : gen_normal_fifo.rdata_int)
             ----------1----------
| -1- | Status | Tests |                       
| 0 | Covered | T2,T3,T4 | 
| 1 | Covered | T1,T2,T3 | 
Cond Coverage for Module : 
prim_fifo_sync ( parameter Width=4,Pass=1,Depth=2,OutputZeroIfEmpty=1,Secure=0,DepthW=2,gen_normal_fifo.PtrW=1 ) 
Cond Coverage for Module self-instances : 
 | Total | Covered | Percent | 
| Conditions | 24 | 18 | 75.00 | 
| Logical | 24 | 18 | 75.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       81
 EXPRESSION (((~full_o)) & ((~gen_normal_fifo.under_rst)))
             -----1-----   ---------------2--------------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Not Covered |  | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       82
 EXPRESSION (((~gen_normal_fifo.empty)) & ((~gen_normal_fifo.under_rst)))
             -------------1------------   ---------------2--------------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Not Covered |  | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       100
 EXPRESSION (wvalid_i & wready_o & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests |                       
| 0 | 1 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | 1 | Not Covered |  | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T1,T2,T3 | 
 LINE       101
 EXPRESSION (rvalid_o & rready_i & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests |                       
| 0 | 1 | 1 | Not Covered |  | 
| 1 | 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T1,T2,T3 | 
 LINE       130
 EXPRESSION ((gen_normal_fifo.fifo_empty && wvalid_i) ? wdata_i : gen_normal_fifo.storage_rdata)
             --------------------1-------------------
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       130
 SUB-EXPRESSION (gen_normal_fifo.fifo_empty && wvalid_i)
                 -------------1------------    ----2---
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       131
 EXPRESSION (gen_normal_fifo.fifo_empty & ((~wvalid_i)))
             -------------1------------   ------2------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       138
 EXPRESSION (gen_normal_fifo.empty ? (4'(0)) : gen_normal_fifo.rdata_int)
             ----------1----------
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Module : 
prim_fifo_sync ( parameter Width=40,Pass=1,Depth=1,OutputZeroIfEmpty=1,Secure=0,DepthW=1,gen_normal_fifo.PtrW=1 + Width=4,Pass=1,Depth=2,OutputZeroIfEmpty=1,Secure=0,DepthW=2,gen_normal_fifo.PtrW=1 ) 
Branch Coverage for Module self-instances : 
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
9 | 
9 | 
100.00 | 
| TERNARY | 
130 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
138 | 
2 | 
2 | 
100.00 | 
| IF | 
69 | 
3 | 
3 | 
100.00 | 
| IF | 
111 | 
2 | 
2 | 
100.00 | 
130              assign rdata_int = (fifo_empty && wvalid_i) ? wdata_i : storage_rdata;
                                                             -1-  
                                                             ==>  
                                                             ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T1,T2,T3 | 
138              assign rdata_o = empty ? Width'(0) : rdata_int;
                                        -1-  
                                        ==>  
                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T1,T2,T3 | 
69               if (!rst_ni) begin
                 -1-  
70                 under_rst <= 1'b1;
                   ==>
71               end else if (under_rst) begin
                          -2-  
72                 under_rst <= ~under_rst;
                   ==>
73               end
                 MISSING_ELSE
                 ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
111                if (fifo_incr_wptr) begin
                   -1-     
112                  storage[0] <= wdata_i;
                     ==>
113                end
                   MISSING_ELSE
                   ==>
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T1,T2,T3 | 
Branch Coverage for Module : 
prim_fifo_sync ( parameter Width=17,Pass=0,Depth=1,OutputZeroIfEmpty=1,Secure=0,DepthW=1,gen_normal_fifo.PtrW=1 + Width=5,Pass=0,Depth=1,OutputZeroIfEmpty=1,Secure=0,DepthW=1,gen_normal_fifo.PtrW=1 ) 
Branch Coverage for Module self-instances : 
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
138 | 
2 | 
2 | 
100.00 | 
| IF | 
69 | 
3 | 
3 | 
100.00 | 
| IF | 
111 | 
2 | 
2 | 
100.00 | 
138              assign rdata_o = empty ? Width'(0) : rdata_int;
                                        -1-  
                                        ==>  
                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T2,T3,T4 | 
69               if (!rst_ni) begin
                 -1-  
70                 under_rst <= 1'b1;
                   ==>
71               end else if (under_rst) begin
                          -2-  
72                 under_rst <= ~under_rst;
                   ==>
73               end
                 MISSING_ELSE
                 ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
111                if (fifo_incr_wptr) begin
                   -1-     
112                  storage[0] <= wdata_i;
                     ==>
113                end
                   MISSING_ELSE
                   ==>
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T2,T3,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
Assert Coverage for Module : 
prim_fifo_sync
Assertion Details
DataKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
986537178 | 
56391934 | 
0 | 
0 | 
| T1 | 
24025 | 
1650 | 
0 | 
0 | 
| T2 | 
93820 | 
4941 | 
0 | 
0 | 
| T3 | 
257630 | 
22921 | 
0 | 
0 | 
| T4 | 
194510 | 
14939 | 
0 | 
0 | 
| T5 | 
302200 | 
19010 | 
0 | 
0 | 
| T6 | 
343530 | 
18010 | 
0 | 
0 | 
| T7 | 
34000 | 
972 | 
0 | 
0 | 
| T14 | 
89995 | 
0 | 
0 | 
0 | 
| T15 | 
0 | 
306 | 
0 | 
0 | 
| T22 | 
214890 | 
42028 | 
0 | 
0 | 
| T23 | 
109820 | 
5946 | 
0 | 
0 | 
| T24 | 
164540 | 
15736 | 
0 | 
0 | 
| T91 | 
0 | 
355 | 
0 | 
0 | 
DataKnown_AKnownEnable
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
986537178 | 
977941260 | 
0 | 
0 | 
| T1 | 
48050 | 
47420 | 
0 | 
0 | 
| T2 | 
93820 | 
91330 | 
0 | 
0 | 
| T3 | 
257630 | 
253060 | 
0 | 
0 | 
| T4 | 
194510 | 
190370 | 
0 | 
0 | 
| T5 | 
302200 | 
298590 | 
0 | 
0 | 
| T6 | 
343530 | 
339710 | 
0 | 
0 | 
| T7 | 
34000 | 
33100 | 
0 | 
0 | 
| T22 | 
214890 | 
214280 | 
0 | 
0 | 
| T23 | 
109820 | 
107040 | 
0 | 
0 | 
| T24 | 
164540 | 
162840 | 
0 | 
0 | 
DepthKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
986537178 | 
977941260 | 
0 | 
0 | 
| T1 | 
48050 | 
47420 | 
0 | 
0 | 
| T2 | 
93820 | 
91330 | 
0 | 
0 | 
| T3 | 
257630 | 
253060 | 
0 | 
0 | 
| T4 | 
194510 | 
190370 | 
0 | 
0 | 
| T5 | 
302200 | 
298590 | 
0 | 
0 | 
| T6 | 
343530 | 
339710 | 
0 | 
0 | 
| T7 | 
34000 | 
33100 | 
0 | 
0 | 
| T22 | 
214890 | 
214280 | 
0 | 
0 | 
| T23 | 
109820 | 
107040 | 
0 | 
0 | 
| T24 | 
164540 | 
162840 | 
0 | 
0 | 
RvalidKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
986537178 | 
977941260 | 
0 | 
0 | 
| T1 | 
48050 | 
47420 | 
0 | 
0 | 
| T2 | 
93820 | 
91330 | 
0 | 
0 | 
| T3 | 
257630 | 
253060 | 
0 | 
0 | 
| T4 | 
194510 | 
190370 | 
0 | 
0 | 
| T5 | 
302200 | 
298590 | 
0 | 
0 | 
| T6 | 
343530 | 
339710 | 
0 | 
0 | 
| T7 | 
34000 | 
33100 | 
0 | 
0 | 
| T22 | 
214890 | 
214280 | 
0 | 
0 | 
| T23 | 
109820 | 
107040 | 
0 | 
0 | 
| T24 | 
164540 | 
162840 | 
0 | 
0 | 
WreadyKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
986537178 | 
977941260 | 
0 | 
0 | 
| T1 | 
48050 | 
47420 | 
0 | 
0 | 
| T2 | 
93820 | 
91330 | 
0 | 
0 | 
| T3 | 
257630 | 
253060 | 
0 | 
0 | 
| T4 | 
194510 | 
190370 | 
0 | 
0 | 
| T5 | 
302200 | 
298590 | 
0 | 
0 | 
| T6 | 
343530 | 
339710 | 
0 | 
0 | 
| T7 | 
34000 | 
33100 | 
0 | 
0 | 
| T22 | 
214890 | 
214280 | 
0 | 
0 | 
| T23 | 
109820 | 
107040 | 
0 | 
0 | 
| T24 | 
164540 | 
162840 | 
0 | 
0 | 
gen_normal_fifo.depthShallNotExceedParamDepth
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
387565308 | 
16703098 | 
0 | 
0 | 
| T1 | 
4805 | 
1574 | 
0 | 
0 | 
| T2 | 
37528 | 
2329 | 
0 | 
0 | 
| T3 | 
103052 | 
7229 | 
0 | 
0 | 
| T4 | 
77804 | 
4239 | 
0 | 
0 | 
| T5 | 
120880 | 
5466 | 
0 | 
0 | 
| T6 | 
137412 | 
3260 | 
0 | 
0 | 
| T7 | 
13600 | 
936 | 
0 | 
0 | 
| T14 | 
53997 | 
0 | 
0 | 
0 | 
| T15 | 
0 | 
255 | 
0 | 
0 | 
| T22 | 
85956 | 
18904 | 
0 | 
0 | 
| T23 | 
43928 | 
1856 | 
0 | 
0 | 
| T24 | 
65816 | 
4604 | 
0 | 
0 | 
| T91 | 
0 | 
213 | 
0 | 
0 | 
gen_passthru_fifo.paramCheckPass
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
7692 | 
7692 | 
0 | 
0 | 
| T1 | 
6 | 
6 | 
0 | 
0 | 
| T2 | 
6 | 
6 | 
0 | 
0 | 
| T3 | 
6 | 
6 | 
0 | 
0 | 
| T4 | 
6 | 
6 | 
0 | 
0 | 
| T5 | 
6 | 
6 | 
0 | 
0 | 
| T6 | 
6 | 
6 | 
0 | 
0 | 
| T7 | 
6 | 
6 | 
0 | 
0 | 
| T22 | 
6 | 
6 | 
0 | 
0 | 
| T23 | 
6 | 
6 | 
0 | 
0 | 
| T24 | 
6 | 
6 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_reg_core.u_socket.fifo_h.reqfifo
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 44 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 45 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 48 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 49 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 53 | 0 | 0 |  | 
43                          // device facing
44         1/1              assign rvalid_o = wvalid_i;
           Tests:       T1 T2 T3 
45         1/1              assign rdata_o = wdata_i;
           Tests:       T1 T2 T3 
46                      
47                          // host facing
48         1/1              assign wready_o = rready_i;
           Tests:       T1 T2 T3 
49         1/1              assign full_o = rready_i;
           Tests:       T1 T2 T3 
50                      
51                          // this avoids lint warnings
52                          logic unused_clr;
53         unreachable      assign unused_clr = clr_i;
Assert Coverage for Instance : tb.dut.u_reg_core.u_socket.fifo_h.reqfifo
Assertion Details
DataKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
8185717 | 
0 | 
0 | 
| T1 | 
4805 | 
19 | 
0 | 
0 | 
| T2 | 
9382 | 
653 | 
0 | 
0 | 
| T3 | 
25763 | 
3923 | 
0 | 
0 | 
| T4 | 
19451 | 
2675 | 
0 | 
0 | 
| T5 | 
30220 | 
3386 | 
0 | 
0 | 
| T6 | 
34353 | 
3681 | 
0 | 
0 | 
| T7 | 
3400 | 
9 | 
0 | 
0 | 
| T22 | 
21489 | 
5781 | 
0 | 
0 | 
| T23 | 
10982 | 
392 | 
0 | 
0 | 
| T24 | 
16454 | 
2783 | 
0 | 
0 | 
DataKnown_AKnownEnable
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
DepthKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
RvalidKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
WreadyKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
gen_passthru_fifo.paramCheckPass
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
1282 | 
1282 | 
0 | 
0 | 
| T1 | 
1 | 
1 | 
0 | 
0 | 
| T2 | 
1 | 
1 | 
0 | 
0 | 
| T3 | 
1 | 
1 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T7 | 
1 | 
1 | 
0 | 
0 | 
| T22 | 
1 | 
1 | 
0 | 
0 | 
| T23 | 
1 | 
1 | 
0 | 
0 | 
| T24 | 
1 | 
1 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_reg_core.u_socket.fifo_h.rspfifo
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 44 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 45 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 48 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 49 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 53 | 0 | 0 |  | 
43                          // device facing
44         1/1              assign rvalid_o = wvalid_i;
           Tests:       T1 T2 T3 
45         1/1              assign rdata_o = wdata_i;
           Tests:       T1 T2 T3 
46                      
47                          // host facing
48         1/1              assign wready_o = rready_i;
           Tests:       T1 T2 T3 
49         1/1              assign full_o = rready_i;
           Tests:       T1 T2 T3 
50                      
51                          // this avoids lint warnings
52                          logic unused_clr;
53         unreachable      assign unused_clr = clr_i;
Assert Coverage for Instance : tb.dut.u_reg_core.u_socket.fifo_h.rspfifo
Assertion Details
DataKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
11843501 | 
0 | 
0 | 
| T1 | 
4805 | 
19 | 
0 | 
0 | 
| T2 | 
9382 | 
653 | 
0 | 
0 | 
| T3 | 
25763 | 
3923 | 
0 | 
0 | 
| T4 | 
19451 | 
2675 | 
0 | 
0 | 
| T5 | 
30220 | 
3386 | 
0 | 
0 | 
| T6 | 
34353 | 
3694 | 
0 | 
0 | 
| T7 | 
3400 | 
9 | 
0 | 
0 | 
| T22 | 
21489 | 
5781 | 
0 | 
0 | 
| T23 | 
10982 | 
1653 | 
0 | 
0 | 
| T24 | 
16454 | 
2783 | 
0 | 
0 | 
DataKnown_AKnownEnable
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
DepthKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
RvalidKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
WreadyKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
gen_passthru_fifo.paramCheckPass
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
1282 | 
1282 | 
0 | 
0 | 
| T1 | 
1 | 
1 | 
0 | 
0 | 
| T2 | 
1 | 
1 | 
0 | 
0 | 
| T3 | 
1 | 
1 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T7 | 
1 | 
1 | 
0 | 
0 | 
| T22 | 
1 | 
1 | 
0 | 
0 | 
| T23 | 
1 | 
1 | 
0 | 
0 | 
| T24 | 
1 | 
1 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_reg_core.u_socket.gen_dfifo[0].fifo_d.reqfifo
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 44 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 45 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 48 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 49 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 53 | 0 | 0 |  | 
43                          // device facing
44         1/1              assign rvalid_o = wvalid_i;
           Tests:       T1 T2 T3 
45         1/1              assign rdata_o = wdata_i;
           Tests:       T1 T2 T3 
46                      
47                          // host facing
48         1/1              assign wready_o = rready_i;
           Tests:       T1 T2 T3 
49         1/1              assign full_o = rready_i;
           Tests:       T1 T2 T3 
50                      
51                          // this avoids lint warnings
52                          logic unused_clr;
53         unreachable      assign unused_clr = clr_i;
Assert Coverage for Instance : tb.dut.u_reg_core.u_socket.gen_dfifo[0].fifo_d.reqfifo
Assertion Details
DataKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
915304 | 
0 | 
0 | 
| T2 | 
9382 | 
17 | 
0 | 
0 | 
| T3 | 
25763 | 
15 | 
0 | 
0 | 
| T4 | 
19451 | 
22 | 
0 | 
0 | 
| T5 | 
30220 | 
13 | 
0 | 
0 | 
| T6 | 
34353 | 
30 | 
0 | 
0 | 
| T7 | 
3400 | 
0 | 
0 | 
0 | 
| T14 | 
17999 | 
0 | 
0 | 
0 | 
| T15 | 
0 | 
9 | 
0 | 
0 | 
| T22 | 
21489 | 
404 | 
0 | 
0 | 
| T23 | 
10982 | 
7 | 
0 | 
0 | 
| T24 | 
16454 | 
12 | 
0 | 
0 | 
| T91 | 
0 | 
71 | 
0 | 
0 | 
DataKnown_AKnownEnable
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
DepthKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
RvalidKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
WreadyKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
gen_passthru_fifo.paramCheckPass
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
1282 | 
1282 | 
0 | 
0 | 
| T1 | 
1 | 
1 | 
0 | 
0 | 
| T2 | 
1 | 
1 | 
0 | 
0 | 
| T3 | 
1 | 
1 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T7 | 
1 | 
1 | 
0 | 
0 | 
| T22 | 
1 | 
1 | 
0 | 
0 | 
| T23 | 
1 | 
1 | 
0 | 
0 | 
| T24 | 
1 | 
1 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_reg_core.u_socket.gen_dfifo[0].fifo_d.rspfifo
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 44 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 45 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 48 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 49 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 53 | 0 | 0 |  | 
43                          // device facing
44         1/1              assign rvalid_o = wvalid_i;
           Tests:       T1 T2 T3 
45         1/1              assign rdata_o = wdata_i;
           Tests:       T1 T2 T3 
46                      
47                          // host facing
48         1/1              assign wready_o = rready_i;
           Tests:       T1 T2 T3 
49         1/1              assign full_o = rready_i;
           Tests:       T1 T2 T3 
50                      
51                          // this avoids lint warnings
52                          logic unused_clr;
53         unreachable      assign unused_clr = clr_i;
Assert Coverage for Instance : tb.dut.u_reg_core.u_socket.gen_dfifo[0].fifo_d.rspfifo
Assertion Details
DataKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
726115 | 
0 | 
0 | 
| T2 | 
9382 | 
17 | 
0 | 
0 | 
| T3 | 
25763 | 
15 | 
0 | 
0 | 
| T4 | 
19451 | 
22 | 
0 | 
0 | 
| T5 | 
30220 | 
13 | 
0 | 
0 | 
| T6 | 
34353 | 
43 | 
0 | 
0 | 
| T7 | 
3400 | 
0 | 
0 | 
0 | 
| T14 | 
17999 | 
0 | 
0 | 
0 | 
| T15 | 
0 | 
42 | 
0 | 
0 | 
| T22 | 
21489 | 
404 | 
0 | 
0 | 
| T23 | 
10982 | 
33 | 
0 | 
0 | 
| T24 | 
16454 | 
12 | 
0 | 
0 | 
| T91 | 
0 | 
71 | 
0 | 
0 | 
DataKnown_AKnownEnable
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
DepthKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
RvalidKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
WreadyKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
gen_passthru_fifo.paramCheckPass
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
1282 | 
1282 | 
0 | 
0 | 
| T1 | 
1 | 
1 | 
0 | 
0 | 
| T2 | 
1 | 
1 | 
0 | 
0 | 
| T3 | 
1 | 
1 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T7 | 
1 | 
1 | 
0 | 
0 | 
| T22 | 
1 | 
1 | 
0 | 
0 | 
| T23 | 
1 | 
1 | 
0 | 
0 | 
| T24 | 
1 | 
1 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_reg_core.u_socket.gen_dfifo[1].fifo_d.reqfifo
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 44 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 45 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 48 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 49 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 53 | 0 | 0 |  | 
43                          // device facing
44         1/1              assign rvalid_o = wvalid_i;
           Tests:       T1 T2 T3 
45         1/1              assign rdata_o = wdata_i;
           Tests:       T1 T2 T3 
46                      
47                          // host facing
48         1/1              assign wready_o = rready_i;
           Tests:       T1 T2 T3 
49         1/1              assign full_o = rready_i;
           Tests:       T1 T2 T3 
50                      
51                          // this avoids lint warnings
52                          logic unused_clr;
53         unreachable      assign unused_clr = clr_i;
Assert Coverage for Instance : tb.dut.u_reg_core.u_socket.gen_dfifo[1].fifo_d.reqfifo
Assertion Details
DataKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
6900813 | 
0 | 
0 | 
| T1 | 
4805 | 
19 | 
0 | 
0 | 
| T2 | 
9382 | 
636 | 
0 | 
0 | 
| T3 | 
25763 | 
3908 | 
0 | 
0 | 
| T4 | 
19451 | 
2653 | 
0 | 
0 | 
| T5 | 
30220 | 
3373 | 
0 | 
0 | 
| T6 | 
34353 | 
3651 | 
0 | 
0 | 
| T7 | 
3400 | 
9 | 
0 | 
0 | 
| T22 | 
21489 | 
5377 | 
0 | 
0 | 
| T23 | 
10982 | 
385 | 
0 | 
0 | 
| T24 | 
16454 | 
2771 | 
0 | 
0 | 
DataKnown_AKnownEnable
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
DepthKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
RvalidKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
WreadyKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
gen_passthru_fifo.paramCheckPass
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
1282 | 
1282 | 
0 | 
0 | 
| T1 | 
1 | 
1 | 
0 | 
0 | 
| T2 | 
1 | 
1 | 
0 | 
0 | 
| T3 | 
1 | 
1 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T7 | 
1 | 
1 | 
0 | 
0 | 
| T22 | 
1 | 
1 | 
0 | 
0 | 
| T23 | 
1 | 
1 | 
0 | 
0 | 
| T24 | 
1 | 
1 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_reg_core.u_socket.gen_dfifo[1].fifo_d.rspfifo
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 44 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 45 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 48 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 49 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 53 | 0 | 0 |  | 
43                          // device facing
44         1/1              assign rvalid_o = wvalid_i;
           Tests:       T1 T2 T3 
45         1/1              assign rdata_o = wdata_i;
           Tests:       T1 T2 T3 
46                      
47                          // host facing
48         1/1              assign wready_o = rready_i;
           Tests:       T1 T2 T3 
49         1/1              assign full_o = rready_i;
           Tests:       T1 T2 T3 
50                      
51                          // this avoids lint warnings
52                          logic unused_clr;
53         unreachable      assign unused_clr = clr_i;
Assert Coverage for Instance : tb.dut.u_reg_core.u_socket.gen_dfifo[1].fifo_d.rspfifo
Assertion Details
DataKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
11117386 | 
0 | 
0 | 
| T1 | 
4805 | 
19 | 
0 | 
0 | 
| T2 | 
9382 | 
636 | 
0 | 
0 | 
| T3 | 
25763 | 
3908 | 
0 | 
0 | 
| T4 | 
19451 | 
2653 | 
0 | 
0 | 
| T5 | 
30220 | 
3373 | 
0 | 
0 | 
| T6 | 
34353 | 
3651 | 
0 | 
0 | 
| T7 | 
3400 | 
9 | 
0 | 
0 | 
| T22 | 
21489 | 
5377 | 
0 | 
0 | 
| T23 | 
10982 | 
1620 | 
0 | 
0 | 
| T24 | 
16454 | 
2771 | 
0 | 
0 | 
DataKnown_AKnownEnable
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
DepthKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
RvalidKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
WreadyKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
99828645 | 
98948638 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
gen_passthru_fifo.paramCheckPass
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
1282 | 
1282 | 
0 | 
0 | 
| T1 | 
1 | 
1 | 
0 | 
0 | 
| T2 | 
1 | 
1 | 
0 | 
0 | 
| T3 | 
1 | 
1 | 
0 | 
0 | 
| T4 | 
1 | 
1 | 
0 | 
0 | 
| T5 | 
1 | 
1 | 
0 | 
0 | 
| T6 | 
1 | 
1 | 
0 | 
0 | 
| T7 | 
1 | 
1 | 
0 | 
0 | 
| T22 | 
1 | 
1 | 
0 | 
0 | 
| T23 | 
1 | 
1 | 
0 | 
0 | 
| T24 | 
1 | 
1 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_tlul_adapter_sram.u_reqfifo
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 15 | 15 | 100.00 | 
| ALWAYS | 69 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 81 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 82 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 100 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 101 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 108 | 1 | 1 | 100.00 | 
| ALWAYS | 111 | 2 | 2 | 100.00 | 
| CONT_ASSIGN | 116 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 133 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 134 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 138 | 1 | 1 | 100.00 | 
68                          always_ff @(posedge clk_i or negedge rst_ni) begin
69         1/1                if (!rst_ni) begin
           Tests:       T1 T2 T3 
70         1/1                  under_rst <= 1'b1;
           Tests:       T1 T2 T3 
71         1/1                end else if (under_rst) begin
           Tests:       T1 T2 T3 
72         1/1                  under_rst <= ~under_rst;
           Tests:       T1 T2 T3 
73                            end
                        MISSING_ELSE
74                          end
75                      
76                          logic empty;
77                      
78                          // full and not ready for write are two different concepts.
79                          // The latter can be '0' when under reset, while the former is an indication that no more
80                          // entries can be written.
81         1/1              assign wready_o = ~full_o & ~under_rst;
           Tests:       T1 T2 T3 
82         1/1              assign rvalid_o = ~empty & ~under_rst;
           Tests:       T1 T2 T3 
83                      
84                          prim_fifo_sync_cnt #(
85                            .Depth(Depth),
86                            .Secure(Secure)
87                          ) u_fifo_cnt (
88                            .clk_i,
89                            .rst_ni,
90                            .clr_i,
91                            .incr_wptr_i(fifo_incr_wptr),
92                            .incr_rptr_i(fifo_incr_rptr),
93                            .wptr_o(fifo_wptr),
94                            .rptr_o(fifo_rptr),
95                            .full_o,
96                            .empty_o(fifo_empty),
97                            .depth_o,
98                            .err_o
99                          );
100        1/1              assign fifo_incr_wptr = wvalid_i & wready_o & ~under_rst;
           Tests:       T1 T2 T3 
101        1/1              assign fifo_incr_rptr = rvalid_o & rready_i & ~under_rst;
           Tests:       T1 T2 T3 
102                     
103                         // the generate blocks below are needed to avoid lint errors due to array indexing
104                         // in the where the fifo only has one storage element
105                         logic [Depth-1:0][Width-1:0] storage;
106                         logic [Width-1:0] storage_rdata;
107                         if (Depth == 1) begin : gen_depth_eq1
108        1/1                assign storage_rdata = storage[0];
           Tests:       T2 T3 T4 
109                     
110                           always_ff @(posedge clk_i)
111        1/1                  if (fifo_incr_wptr) begin
           Tests:       T1 T2 T3 
112        1/1                    storage[0] <= wdata_i;
           Tests:       T2 T3 T4 
113                             end
                        MISSING_ELSE
114                     
115                           logic unused_ptrs;
116        1/1                assign unused_ptrs = ^{fifo_wptr, fifo_rptr};
           Tests:       T1 T2 T3 
117                     
118                         // fifo with more than one storage element
119                         end else begin : gen_depth_gt1
120                           assign storage_rdata = storage[fifo_rptr];
121                     
122                           always_ff @(posedge clk_i)
123                             if (fifo_incr_wptr) begin
124                               storage[fifo_wptr] <= wdata_i;
125                             end
126                         end
127                     
128                         logic [Width-1:0] rdata_int;
129                         if (Pass == 1'b1) begin : gen_pass
130                           assign rdata_int = (fifo_empty && wvalid_i) ? wdata_i : storage_rdata;
131                           assign empty = fifo_empty & ~wvalid_i;
132                         end else begin : gen_nopass
133        1/1                assign rdata_int = storage_rdata;
           Tests:       T2 T3 T4 
134        1/1                assign empty = fifo_empty;
           Tests:       T1 T2 T3 
135                         end
136                     
137                         if (OutputZeroIfEmpty == 1'b1) begin : gen_output_zero
138        1/1                assign rdata_o = empty ? Width'(0) : rdata_int;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_tlul_adapter_sram.u_reqfifo
 | Total | Covered | Percent | 
| Conditions | 11 | 11 | 100.00 | 
| Logical | 11 | 11 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       81
 EXPRESSION (((~full_o)) & ((~gen_normal_fifo.under_rst)))
             -----1-----   ---------------2--------------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T2,T3,T4 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       82
 EXPRESSION (((~gen_normal_fifo.empty)) & ((~gen_normal_fifo.under_rst)))
             -------------1------------   ---------------2--------------
| -1- | -2- | Status | Tests | Exclude Annotation | 
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | Covered | T2,T3,T4 | 
 LINE       100
 EXPRESSION (wvalid_i & wready_o & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests | Exclude Annotation | 
| 0 | 1 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | 1 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | 0 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | 1 | Covered | T2,T3,T4 | 
 LINE       101
 EXPRESSION (rvalid_o & rready_i & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests | Exclude Annotation | 
| 0 | 1 | 1 | Excluded |  | 
VC_COV_UNR | 
| 1 | 0 | 1 | Covered | T2,T3,T4 | 
| 1 | 1 | 0 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | 1 | Covered | T2,T3,T4 | 
 LINE       138
 EXPRESSION (gen_normal_fifo.empty ? (17'(0)) : gen_normal_fifo.rdata_int)
             ----------1----------
| -1- | Status | Tests |                       
| 0 | Covered | T2,T3,T4 | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.u_tlul_adapter_sram.u_reqfifo
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
138 | 
2 | 
2 | 
100.00 | 
| IF | 
69 | 
3 | 
3 | 
100.00 | 
| IF | 
111 | 
2 | 
2 | 
100.00 | 
138              assign rdata_o = empty ? Width'(0) : rdata_int;
                                        -1-  
                                        ==>  
                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T2,T3,T4 | 
69               if (!rst_ni) begin
                 -1-  
70                 under_rst <= 1'b1;
                   ==>
71               end else if (under_rst) begin
                          -2-  
72                 under_rst <= ~under_rst;
                   ==>
73               end
                 MISSING_ELSE
                 ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
111                if (fifo_incr_wptr) begin
                   -1-     
112                  storage[0] <= wdata_i;
                     ==>
113                end
                   MISSING_ELSE
                   ==>
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T2,T3,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
Assert Coverage for Instance : tb.dut.u_tlul_adapter_sram.u_reqfifo
Assertion Details
DataKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
1094434 | 
0 | 
0 | 
| T2 | 
9382 | 
170 | 
0 | 
0 | 
| T3 | 
25763 | 
150 | 
0 | 
0 | 
| T4 | 
19451 | 
40 | 
0 | 
0 | 
| T5 | 
30220 | 
76 | 
0 | 
0 | 
| T6 | 
34353 | 
79 | 
0 | 
0 | 
| T7 | 
3400 | 
0 | 
0 | 
0 | 
| T14 | 
17999 | 
0 | 
0 | 
0 | 
| T15 | 
0 | 
123 | 
0 | 
0 | 
| T22 | 
21489 | 
4040 | 
0 | 
0 | 
| T23 | 
10982 | 
96 | 
0 | 
0 | 
| T24 | 
16454 | 
120 | 
0 | 
0 | 
| T91 | 
0 | 
71 | 
0 | 
0 | 
DataKnown_AKnownEnable
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
DepthKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
RvalidKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
WreadyKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
gen_normal_fifo.depthShallNotExceedParamDepth
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
1094434 | 
0 | 
0 | 
| T2 | 
9382 | 
170 | 
0 | 
0 | 
| T3 | 
25763 | 
150 | 
0 | 
0 | 
| T4 | 
19451 | 
40 | 
0 | 
0 | 
| T5 | 
30220 | 
76 | 
0 | 
0 | 
| T6 | 
34353 | 
79 | 
0 | 
0 | 
| T7 | 
3400 | 
0 | 
0 | 
0 | 
| T14 | 
17999 | 
0 | 
0 | 
0 | 
| T15 | 
0 | 
123 | 
0 | 
0 | 
| T22 | 
21489 | 
4040 | 
0 | 
0 | 
| T23 | 
10982 | 
96 | 
0 | 
0 | 
| T24 | 
16454 | 
120 | 
0 | 
0 | 
| T91 | 
0 | 
71 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_tlul_adapter_sram.u_sramreqfifo
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 15 | 15 | 100.00 | 
| ALWAYS | 69 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 81 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 82 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 100 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 101 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 108 | 1 | 1 | 100.00 | 
| ALWAYS | 111 | 2 | 2 | 100.00 | 
| CONT_ASSIGN | 116 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 133 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 134 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 138 | 1 | 1 | 100.00 | 
68                          always_ff @(posedge clk_i or negedge rst_ni) begin
69         1/1                if (!rst_ni) begin
           Tests:       T1 T2 T3 
70         1/1                  under_rst <= 1'b1;
           Tests:       T1 T2 T3 
71         1/1                end else if (under_rst) begin
           Tests:       T1 T2 T3 
72         1/1                  under_rst <= ~under_rst;
           Tests:       T1 T2 T3 
73                            end
                        MISSING_ELSE
74                          end
75                      
76                          logic empty;
77                      
78                          // full and not ready for write are two different concepts.
79                          // The latter can be '0' when under reset, while the former is an indication that no more
80                          // entries can be written.
81         1/1              assign wready_o = ~full_o & ~under_rst;
           Tests:       T1 T2 T3 
82         1/1              assign rvalid_o = ~empty & ~under_rst;
           Tests:       T1 T2 T3 
83                      
84                          prim_fifo_sync_cnt #(
85                            .Depth(Depth),
86                            .Secure(Secure)
87                          ) u_fifo_cnt (
88                            .clk_i,
89                            .rst_ni,
90                            .clr_i,
91                            .incr_wptr_i(fifo_incr_wptr),
92                            .incr_rptr_i(fifo_incr_rptr),
93                            .wptr_o(fifo_wptr),
94                            .rptr_o(fifo_rptr),
95                            .full_o,
96                            .empty_o(fifo_empty),
97                            .depth_o,
98                            .err_o
99                          );
100        1/1              assign fifo_incr_wptr = wvalid_i & wready_o & ~under_rst;
           Tests:       T1 T2 T3 
101        1/1              assign fifo_incr_rptr = rvalid_o & rready_i & ~under_rst;
           Tests:       T1 T2 T3 
102                     
103                         // the generate blocks below are needed to avoid lint errors due to array indexing
104                         // in the where the fifo only has one storage element
105                         logic [Depth-1:0][Width-1:0] storage;
106                         logic [Width-1:0] storage_rdata;
107                         if (Depth == 1) begin : gen_depth_eq1
108        1/1                assign storage_rdata = storage[0];
           Tests:       T2 T3 T4 
109                     
110                           always_ff @(posedge clk_i)
111        1/1                  if (fifo_incr_wptr) begin
           Tests:       T1 T2 T3 
112        1/1                    storage[0] <= wdata_i;
           Tests:       T2 T3 T4 
113                             end
                        MISSING_ELSE
114                     
115                           logic unused_ptrs;
116        1/1                assign unused_ptrs = ^{fifo_wptr, fifo_rptr};
           Tests:       T1 T2 T3 
117                     
118                         // fifo with more than one storage element
119                         end else begin : gen_depth_gt1
120                           assign storage_rdata = storage[fifo_rptr];
121                     
122                           always_ff @(posedge clk_i)
123                             if (fifo_incr_wptr) begin
124                               storage[fifo_wptr] <= wdata_i;
125                             end
126                         end
127                     
128                         logic [Width-1:0] rdata_int;
129                         if (Pass == 1'b1) begin : gen_pass
130                           assign rdata_int = (fifo_empty && wvalid_i) ? wdata_i : storage_rdata;
131                           assign empty = fifo_empty & ~wvalid_i;
132                         end else begin : gen_nopass
133        1/1                assign rdata_int = storage_rdata;
           Tests:       T2 T3 T4 
134        1/1                assign empty = fifo_empty;
           Tests:       T1 T2 T3 
135                         end
136                     
137                         if (OutputZeroIfEmpty == 1'b1) begin : gen_output_zero
138        1/1                assign rdata_o = empty ? Width'(0) : rdata_int;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_tlul_adapter_sram.u_sramreqfifo
 | Total | Covered | Percent | 
| Conditions | 11 | 11 | 100.00 | 
| Logical | 11 | 11 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       81
 EXPRESSION (((~full_o)) & ((~gen_normal_fifo.under_rst)))
             -----1-----   ---------------2--------------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T2,T3,T4 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       82
 EXPRESSION (((~gen_normal_fifo.empty)) & ((~gen_normal_fifo.under_rst)))
             -------------1------------   ---------------2--------------
| -1- | -2- | Status | Tests | Exclude Annotation | 
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | Covered | T2,T3,T4 | 
 LINE       100
 EXPRESSION (wvalid_i & wready_o & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests | Exclude Annotation | 
| 0 | 1 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | 1 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | 0 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | 1 | Covered | T2,T3,T4 | 
 LINE       101
 EXPRESSION (rvalid_o & rready_i & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests | Exclude Annotation | 
| 0 | 1 | 1 | Excluded |  | 
VC_COV_UNR | 
| 1 | 0 | 1 | Covered | T2,T3,T4 | 
| 1 | 1 | 0 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | 1 | Covered | T2,T3,T4 | 
 LINE       138
 EXPRESSION (gen_normal_fifo.empty ? (5'(0)) : gen_normal_fifo.rdata_int)
             ----------1----------
| -1- | Status | Tests |                       
| 0 | Covered | T2,T3,T4 | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.u_tlul_adapter_sram.u_sramreqfifo
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
138 | 
2 | 
2 | 
100.00 | 
| IF | 
69 | 
3 | 
3 | 
100.00 | 
| IF | 
111 | 
2 | 
2 | 
100.00 | 
138              assign rdata_o = empty ? Width'(0) : rdata_int;
                                        -1-  
                                        ==>  
                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T2,T3,T4 | 
69               if (!rst_ni) begin
                 -1-  
70                 under_rst <= 1'b1;
                   ==>
71               end else if (under_rst) begin
                          -2-  
72                 under_rst <= ~under_rst;
                   ==>
73               end
                 MISSING_ELSE
                 ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
111                if (fifo_incr_wptr) begin
                   -1-     
112                  storage[0] <= wdata_i;
                     ==>
113                end
                   MISSING_ELSE
                   ==>
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T2,T3,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
Assert Coverage for Instance : tb.dut.u_tlul_adapter_sram.u_sramreqfifo
Assertion Details
DataKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
472391 | 
0 | 
0 | 
| T2 | 
9382 | 
170 | 
0 | 
0 | 
| T3 | 
25763 | 
150 | 
0 | 
0 | 
| T4 | 
19451 | 
40 | 
0 | 
0 | 
| T5 | 
30220 | 
76 | 
0 | 
0 | 
| T6 | 
34353 | 
66 | 
0 | 
0 | 
| T7 | 
3400 | 
0 | 
0 | 
0 | 
| T14 | 
17999 | 
0 | 
0 | 
0 | 
| T15 | 
0 | 
90 | 
0 | 
0 | 
| T22 | 
21489 | 
4040 | 
0 | 
0 | 
| T23 | 
10982 | 
70 | 
0 | 
0 | 
| T24 | 
16454 | 
120 | 
0 | 
0 | 
| T91 | 
0 | 
71 | 
0 | 
0 | 
DataKnown_AKnownEnable
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
DepthKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
RvalidKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
WreadyKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
gen_normal_fifo.depthShallNotExceedParamDepth
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
472391 | 
0 | 
0 | 
| T2 | 
9382 | 
170 | 
0 | 
0 | 
| T3 | 
25763 | 
150 | 
0 | 
0 | 
| T4 | 
19451 | 
40 | 
0 | 
0 | 
| T5 | 
30220 | 
76 | 
0 | 
0 | 
| T6 | 
34353 | 
66 | 
0 | 
0 | 
| T7 | 
3400 | 
0 | 
0 | 
0 | 
| T14 | 
17999 | 
0 | 
0 | 
0 | 
| T15 | 
0 | 
90 | 
0 | 
0 | 
| T22 | 
21489 | 
4040 | 
0 | 
0 | 
| T23 | 
10982 | 
70 | 
0 | 
0 | 
| T24 | 
16454 | 
120 | 
0 | 
0 | 
| T91 | 
0 | 
71 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_tlul_adapter_sram.u_rspfifo
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 15 | 15 | 100.00 | 
| ALWAYS | 69 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 81 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 82 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 100 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 101 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 108 | 1 | 1 | 100.00 | 
| ALWAYS | 111 | 2 | 2 | 100.00 | 
| CONT_ASSIGN | 116 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 130 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 131 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 138 | 1 | 1 | 100.00 | 
68                          always_ff @(posedge clk_i or negedge rst_ni) begin
69         1/1                if (!rst_ni) begin
           Tests:       T1 T2 T3 
70         1/1                  under_rst <= 1'b1;
           Tests:       T1 T2 T3 
71         1/1                end else if (under_rst) begin
           Tests:       T1 T2 T3 
72         1/1                  under_rst <= ~under_rst;
           Tests:       T1 T2 T3 
73                            end
                        MISSING_ELSE
74                          end
75                      
76                          logic empty;
77                      
78                          // full and not ready for write are two different concepts.
79                          // The latter can be '0' when under reset, while the former is an indication that no more
80                          // entries can be written.
81         1/1              assign wready_o = ~full_o & ~under_rst;
           Tests:       T1 T2 T3 
82         1/1              assign rvalid_o = ~empty & ~under_rst;
           Tests:       T1 T2 T3 
83                      
84                          prim_fifo_sync_cnt #(
85                            .Depth(Depth),
86                            .Secure(Secure)
87                          ) u_fifo_cnt (
88                            .clk_i,
89                            .rst_ni,
90                            .clr_i,
91                            .incr_wptr_i(fifo_incr_wptr),
92                            .incr_rptr_i(fifo_incr_rptr),
93                            .wptr_o(fifo_wptr),
94                            .rptr_o(fifo_rptr),
95                            .full_o,
96                            .empty_o(fifo_empty),
97                            .depth_o,
98                            .err_o
99                          );
100        1/1              assign fifo_incr_wptr = wvalid_i & wready_o & ~under_rst;
           Tests:       T1 T2 T3 
101        1/1              assign fifo_incr_rptr = rvalid_o & rready_i & ~under_rst;
           Tests:       T1 T2 T3 
102                     
103                         // the generate blocks below are needed to avoid lint errors due to array indexing
104                         // in the where the fifo only has one storage element
105                         logic [Depth-1:0][Width-1:0] storage;
106                         logic [Width-1:0] storage_rdata;
107                         if (Depth == 1) begin : gen_depth_eq1
108        1/1                assign storage_rdata = storage[0];
           Tests:       T2 T3 T4 
109                     
110                           always_ff @(posedge clk_i)
111        1/1                  if (fifo_incr_wptr) begin
           Tests:       T1 T2 T3 
112        1/1                    storage[0] <= wdata_i;
           Tests:       T2 T3 T4 
113                             end
                        MISSING_ELSE
114                     
115                           logic unused_ptrs;
116        1/1                assign unused_ptrs = ^{fifo_wptr, fifo_rptr};
           Tests:       T1 T2 T3 
117                     
118                         // fifo with more than one storage element
119                         end else begin : gen_depth_gt1
120                           assign storage_rdata = storage[fifo_rptr];
121                     
122                           always_ff @(posedge clk_i)
123                             if (fifo_incr_wptr) begin
124                               storage[fifo_wptr] <= wdata_i;
125                             end
126                         end
127                     
128                         logic [Width-1:0] rdata_int;
129                         if (Pass == 1'b1) begin : gen_pass
130        1/1                assign rdata_int = (fifo_empty && wvalid_i) ? wdata_i : storage_rdata;
           Tests:       T1 T2 T3 
131        1/1                assign empty = fifo_empty & ~wvalid_i;
           Tests:       T1 T2 T3 
132                         end else begin : gen_nopass
133                           assign rdata_int = storage_rdata;
134                           assign empty = fifo_empty;
135                         end
136                     
137                         if (OutputZeroIfEmpty == 1'b1) begin : gen_output_zero
138        1/1                assign rdata_o = empty ? Width'(0) : rdata_int;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_tlul_adapter_sram.u_rspfifo
 | Total | Covered | Percent | 
| Conditions | 18 | 18 | 100.00 | 
| Logical | 18 | 18 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       81
 EXPRESSION (((~full_o)) & ((~gen_normal_fifo.under_rst)))
             -----1-----   ---------------2--------------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T6,T23,T15 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       82
 EXPRESSION (((~gen_normal_fifo.empty)) & ((~gen_normal_fifo.under_rst)))
             -------------1------------   ---------------2--------------
| -1- | -2- | Status | Tests | Exclude Annotation | 
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | Covered | T2,T3,T4 | 
 LINE       100
 EXPRESSION (wvalid_i & wready_o & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests | Exclude Annotation | 
| 0 | 1 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | 1 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | 0 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | 1 | Covered | T2,T3,T4 | 
 LINE       101
 EXPRESSION (rvalid_o & rready_i & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests | Exclude Annotation | 
| 0 | 1 | 1 | Excluded |  | 
VC_COV_UNR | 
| 1 | 0 | 1 | Covered | T4,T6,T23 | 
| 1 | 1 | 0 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | 1 | Covered | T2,T3,T4 | 
 LINE       130
 EXPRESSION ((gen_normal_fifo.fifo_empty && wvalid_i) ? wdata_i : gen_normal_fifo.storage_rdata)
             --------------------1-------------------
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T2,T3,T4 | 
 LINE       130
 SUB-EXPRESSION (gen_normal_fifo.fifo_empty && wvalid_i)
                 -------------1------------    ----2---
| -1- | -2- | Status | Tests | Exclude Annotation | 
| 0 | 1 | Excluded |  | 
VC_COV_UNR | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T2,T3,T4 | 
 LINE       131
 EXPRESSION (gen_normal_fifo.fifo_empty & ((~wvalid_i)))
             -------------1------------   ------2------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T6,T23,T15 | 
| 1 | 0 | Covered | T2,T3,T4 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       138
 EXPRESSION (gen_normal_fifo.empty ? (40'(0)) : gen_normal_fifo.rdata_int)
             ----------1----------
| -1- | Status | Tests |                       
| 0 | Covered | T2,T3,T4 | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.u_tlul_adapter_sram.u_rspfifo
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
9 | 
9 | 
100.00 | 
| TERNARY | 
130 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
138 | 
2 | 
2 | 
100.00 | 
| IF | 
69 | 
3 | 
3 | 
100.00 | 
| IF | 
111 | 
2 | 
2 | 
100.00 | 
130              assign rdata_int = (fifo_empty && wvalid_i) ? wdata_i : storage_rdata;
                                                             -1-  
                                                             ==>  
                                                             ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T2,T3,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
138              assign rdata_o = empty ? Width'(0) : rdata_int;
                                        -1-  
                                        ==>  
                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T2,T3,T4 | 
69               if (!rst_ni) begin
                 -1-  
70                 under_rst <= 1'b1;
                   ==>
71               end else if (under_rst) begin
                          -2-  
72                 under_rst <= ~under_rst;
                   ==>
73               end
                 MISSING_ELSE
                 ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
111                if (fifo_incr_wptr) begin
                   -1-     
112                  storage[0] <= wdata_i;
                     ==>
113                end
                   MISSING_ELSE
                   ==>
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T2,T3,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
Assert Coverage for Instance : tb.dut.u_tlul_adapter_sram.u_rspfifo
Assertion Details
DataKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
174681 | 
0 | 
0 | 
| T2 | 
9382 | 
17 | 
0 | 
0 | 
| T3 | 
25763 | 
15 | 
0 | 
0 | 
| T4 | 
19451 | 
22 | 
0 | 
0 | 
| T5 | 
30220 | 
13 | 
0 | 
0 | 
| T6 | 
34353 | 
43 | 
0 | 
0 | 
| T7 | 
3400 | 
0 | 
0 | 
0 | 
| T14 | 
17999 | 
0 | 
0 | 
0 | 
| T15 | 
0 | 
42 | 
0 | 
0 | 
| T22 | 
21489 | 
404 | 
0 | 
0 | 
| T23 | 
10982 | 
33 | 
0 | 
0 | 
| T24 | 
16454 | 
12 | 
0 | 
0 | 
| T91 | 
0 | 
71 | 
0 | 
0 | 
DataKnown_AKnownEnable
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
DepthKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
RvalidKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
WreadyKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
gen_normal_fifo.depthShallNotExceedParamDepth
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
174681 | 
0 | 
0 | 
| T2 | 
9382 | 
17 | 
0 | 
0 | 
| T3 | 
25763 | 
15 | 
0 | 
0 | 
| T4 | 
19451 | 
22 | 
0 | 
0 | 
| T5 | 
30220 | 
13 | 
0 | 
0 | 
| T6 | 
34353 | 
43 | 
0 | 
0 | 
| T7 | 
3400 | 
0 | 
0 | 
0 | 
| T14 | 
17999 | 
0 | 
0 | 
0 | 
| T15 | 
0 | 
42 | 
0 | 
0 | 
| T22 | 
21489 | 
404 | 
0 | 
0 | 
| T23 | 
10982 | 
33 | 
0 | 
0 | 
| T24 | 
16454 | 
12 | 
0 | 
0 | 
| T91 | 
0 | 
71 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_otp_rsp_fifo
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 14 | 14 | 100.00 | 
| ALWAYS | 69 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 81 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 82 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 100 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 101 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 120 | 1 | 1 | 100.00 | 
| ALWAYS | 123 | 2 | 2 | 100.00 | 
| CONT_ASSIGN | 130 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 131 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 138 | 1 | 1 | 100.00 | 
68                          always_ff @(posedge clk_i or negedge rst_ni) begin
69         1/1                if (!rst_ni) begin
           Tests:       T1 T2 T3 
70         1/1                  under_rst <= 1'b1;
           Tests:       T1 T2 T3 
71         1/1                end else if (under_rst) begin
           Tests:       T1 T2 T3 
72         1/1                  under_rst <= ~under_rst;
           Tests:       T1 T2 T3 
73                            end
                        MISSING_ELSE
74                          end
75                      
76                          logic empty;
77                      
78                          // full and not ready for write are two different concepts.
79                          // The latter can be '0' when under reset, while the former is an indication that no more
80                          // entries can be written.
81         1/1              assign wready_o = ~full_o & ~under_rst;
           Tests:       T1 T2 T3 
82         1/1              assign rvalid_o = ~empty & ~under_rst;
           Tests:       T1 T2 T3 
83                      
84                          prim_fifo_sync_cnt #(
85                            .Depth(Depth),
86                            .Secure(Secure)
87                          ) u_fifo_cnt (
88                            .clk_i,
89                            .rst_ni,
90                            .clr_i,
91                            .incr_wptr_i(fifo_incr_wptr),
92                            .incr_rptr_i(fifo_incr_rptr),
93                            .wptr_o(fifo_wptr),
94                            .rptr_o(fifo_rptr),
95                            .full_o,
96                            .empty_o(fifo_empty),
97                            .depth_o,
98                            .err_o
99                          );
100        1/1              assign fifo_incr_wptr = wvalid_i & wready_o & ~under_rst;
           Tests:       T1 T2 T3 
101        1/1              assign fifo_incr_rptr = rvalid_o & rready_i & ~under_rst;
           Tests:       T1 T2 T3 
102                     
103                         // the generate blocks below are needed to avoid lint errors due to array indexing
104                         // in the where the fifo only has one storage element
105                         logic [Depth-1:0][Width-1:0] storage;
106                         logic [Width-1:0] storage_rdata;
107                         if (Depth == 1) begin : gen_depth_eq1
108                           assign storage_rdata = storage[0];
109                     
110                           always_ff @(posedge clk_i)
111                             if (fifo_incr_wptr) begin
112                               storage[0] <= wdata_i;
113                             end
114                     
115                           logic unused_ptrs;
116                           assign unused_ptrs = ^{fifo_wptr, fifo_rptr};
117                     
118                         // fifo with more than one storage element
119                         end else begin : gen_depth_gt1
120        1/1                assign storage_rdata = storage[fifo_rptr];
           Tests:       T1 T2 T3 
121                     
122                           always_ff @(posedge clk_i)
123        1/1                  if (fifo_incr_wptr) begin
           Tests:       T1 T2 T3 
124        1/1                    storage[fifo_wptr] <= wdata_i;
           Tests:       T1 T2 T3 
125                             end
                        MISSING_ELSE
126                         end
127                     
128                         logic [Width-1:0] rdata_int;
129                         if (Pass == 1'b1) begin : gen_pass
130        1/1                assign rdata_int = (fifo_empty && wvalid_i) ? wdata_i : storage_rdata;
           Tests:       T1 T2 T3 
131        1/1                assign empty = fifo_empty & ~wvalid_i;
           Tests:       T1 T2 T3 
132                         end else begin : gen_nopass
133                           assign rdata_int = storage_rdata;
134                           assign empty = fifo_empty;
135                         end
136                     
137                         if (OutputZeroIfEmpty == 1'b1) begin : gen_output_zero
138        1/1                assign rdata_o = empty ? Width'(0) : rdata_int;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_otp_rsp_fifo
 | Total | Covered | Percent | 
| Conditions | 18 | 18 | 100.00 | 
| Logical | 18 | 18 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       81
 EXPRESSION (((~full_o)) & ((~gen_normal_fifo.under_rst)))
             -----1-----   ---------------2--------------
| -1- | -2- | Status | Tests | Exclude Annotation | 
| 0 | 1 | Excluded |  | 
VC_COV_UNR | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       82
 EXPRESSION (((~gen_normal_fifo.empty)) & ((~gen_normal_fifo.under_rst)))
             -------------1------------   ---------------2--------------
| -1- | -2- | Status | Tests | Exclude Annotation | 
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       100
 EXPRESSION (wvalid_i & wready_o & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests | Exclude Annotation | 
| 0 | 1 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | 1 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | 0 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | 1 | Covered | T1,T2,T3 | 
 LINE       101
 EXPRESSION (rvalid_o & rready_i & ((~gen_normal_fifo.under_rst)))
             ----1---   ----2---   ---------------3--------------
| -1- | -2- | -3- | Status | Tests | Exclude Annotation | 
| 0 | 1 | 1 | Excluded |  | 
VC_COV_UNR | 
| 1 | 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 1 | 0 | Excluded |  | 
VC_COV_UNR | 
| 1 | 1 | 1 | Covered | T1,T2,T3 | 
 LINE       130
 EXPRESSION ((gen_normal_fifo.fifo_empty && wvalid_i) ? wdata_i : gen_normal_fifo.storage_rdata)
             --------------------1-------------------
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       130
 SUB-EXPRESSION (gen_normal_fifo.fifo_empty && wvalid_i)
                 -------------1------------    ----2---
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       131
 EXPRESSION (gen_normal_fifo.fifo_empty & ((~wvalid_i)))
             -------------1------------   ------2------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T2,T3 | 
 LINE       138
 EXPRESSION (gen_normal_fifo.empty ? (4'(0)) : gen_normal_fifo.rdata_int)
             ----------1----------
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.u_otp_rsp_fifo
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
9 | 
9 | 
100.00 | 
| TERNARY | 
130 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
138 | 
2 | 
2 | 
100.00 | 
| IF | 
69 | 
3 | 
3 | 
100.00 | 
| IF | 
111 | 
2 | 
2 | 
100.00 | 
130              assign rdata_int = (fifo_empty && wvalid_i) ? wdata_i : storage_rdata;
                                                             -1-  
                                                             ==>  
                                                             ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T1,T2,T3 | 
138              assign rdata_o = empty ? Width'(0) : rdata_int;
                                        -1-  
                                        ==>  
                                        ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T1,T2,T3 | 
69               if (!rst_ni) begin
                 -1-  
70                 under_rst <= 1'b1;
                   ==>
71               end else if (under_rst) begin
                          -2-  
72                 under_rst <= ~under_rst;
                   ==>
73               end
                 MISSING_ELSE
                 ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
111                if (fifo_incr_wptr) begin
                   -1-     
112                  storage[0] <= wdata_i;
                     ==>
113                end
                   MISSING_ELSE
                   ==>
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T1,T2,T3 | 
Assert Coverage for Instance : tb.dut.u_otp_rsp_fifo
Assertion Details
DataKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
14961592 | 
0 | 
0 | 
| T1 | 
4805 | 
1574 | 
0 | 
0 | 
| T2 | 
9382 | 
1972 | 
0 | 
0 | 
| T3 | 
25763 | 
6914 | 
0 | 
0 | 
| T4 | 
19451 | 
4137 | 
0 | 
0 | 
| T5 | 
30220 | 
5301 | 
0 | 
0 | 
| T6 | 
34353 | 
3072 | 
0 | 
0 | 
| T7 | 
3400 | 
936 | 
0 | 
0 | 
| T22 | 
21489 | 
10420 | 
0 | 
0 | 
| T23 | 
10982 | 
1657 | 
0 | 
0 | 
| T24 | 
16454 | 
4352 | 
0 | 
0 | 
DataKnown_AKnownEnable
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
DepthKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
RvalidKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
WreadyKnown_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
96062358 | 
0 | 
0 | 
| T1 | 
4805 | 
4742 | 
0 | 
0 | 
| T2 | 
9382 | 
9133 | 
0 | 
0 | 
| T3 | 
25763 | 
25306 | 
0 | 
0 | 
| T4 | 
19451 | 
19037 | 
0 | 
0 | 
| T5 | 
30220 | 
29859 | 
0 | 
0 | 
| T6 | 
34353 | 
33971 | 
0 | 
0 | 
| T7 | 
3400 | 
3310 | 
0 | 
0 | 
| T22 | 
21489 | 
21428 | 
0 | 
0 | 
| T23 | 
10982 | 
10704 | 
0 | 
0 | 
| T24 | 
16454 | 
16284 | 
0 | 
0 | 
gen_normal_fifo.depthShallNotExceedParamDepth
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
96891327 | 
14961592 | 
0 | 
0 | 
| T1 | 
4805 | 
1574 | 
0 | 
0 | 
| T2 | 
9382 | 
1972 | 
0 | 
0 | 
| T3 | 
25763 | 
6914 | 
0 | 
0 | 
| T4 | 
19451 | 
4137 | 
0 | 
0 | 
| T5 | 
30220 | 
5301 | 
0 | 
0 | 
| T6 | 
34353 | 
3072 | 
0 | 
0 | 
| T7 | 
3400 | 
936 | 
0 | 
0 | 
| T22 | 
21489 | 
10420 | 
0 | 
0 | 
| T23 | 
10982 | 
1657 | 
0 | 
0 | 
| T24 | 
16454 | 
4352 | 
0 | 
0 |