Line Coverage for Module : 
flash_phy_rd_buf_dep
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 23 | 23 | 100.00 | 
| ALWAYS | 48 | 7 | 7 | 100.00 | 
| CONT_ASSIGN | 61 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 62 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 66 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 71 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
| ALWAYS | 76 | 6 | 6 | 100.00 | 
| ALWAYS | 90 | 3 | 3 | 100.00 | 
| CONT_ASSIGN | 97 | 1 | 1 | 100.00 | 
| ALWAYS | 116 | 0 | 0 |  | 
47                        always_comb begin
48         1/1              incr_buf_sel = '0;
           Tests:       T1 T2 T3 
49         1/1              decr_buf_sel = '0;
           Tests:       T1 T2 T3 
50         1/1              for (int unsigned i = 0; i < NumBuf; i++) begin
           Tests:       T1 T2 T3 
51         1/1                if (wr_buf_i[i]) begin
           Tests:       T1 T2 T3 
52         1/1                  incr_buf_sel = buf_mux_cnt[i];
           Tests:       T3 T16 T8 
53                            end
                        MISSING_ELSE
54         1/1                if (rd_buf_i[i]) begin
           Tests:       T1 T2 T3 
55         1/1                  decr_buf_sel = buf_mux_cnt[i];
           Tests:       T3 T16 T8 
56                            end
                        MISSING_ELSE
57                          end
58                        end // always_comb
59                      
60                        logic [BufDepCntWidth-1:0] curr_incr_cnt, curr_decr_cnt;
61         1/1            assign curr_incr_cnt = buf_dependency_cnt[incr_buf_sel];
           Tests:       T1 T2 T3 
62         1/1            assign curr_decr_cnt = buf_dependency_cnt[decr_buf_sel];
           Tests:       T1 T2 T3 
63                      
64                        logic cnt_incr, cnt_decr;
65         1/1            assign cnt_incr = en_i & fifo_wr_i & (curr_incr_cnt < RspOrderDepth);
           Tests:       T1 T2 T3 
66         1/1            assign cnt_decr = en_i & fifo_rd_i & (curr_decr_cnt > '0);
           Tests:       T1 T2 T3 
67                      
68                        //assign cnt_decr = fifo_rd_i & (rsp_fifo_vld & data_valid_o) & (curr_decr_cnt > '0);
69                      
70                        logic fin_cnt_incr, fin_cnt_decr;
71         1/1            assign fin_cnt_incr = (incr_buf_sel == decr_buf_sel) ? cnt_incr && !cnt_decr : cnt_incr;
           Tests:       T1 T2 T3 
72         1/1            assign fin_cnt_decr = (incr_buf_sel == decr_buf_sel) ? !cnt_incr && cnt_decr : cnt_decr;
           Tests:       T1 T2 T3 
73                      
74                        // This tells us which buffer currently has a dependency to an item in the rsp_order_fifo
75                        always_ff @(posedge clk_i or negedge rst_ni) begin
76         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
77         1/1                buf_dependency_cnt <= '0;
           Tests:       T1 T2 T3 
78                          end else begin
79         1/1                 if (fin_cnt_incr) begin
           Tests:       T1 T2 T3 
80         1/1                    buf_dependency_cnt[incr_buf_sel] <= curr_incr_cnt + 1'b1;
           Tests:       T3 T16 T8 
81                             end
                        MISSING_ELSE
82         1/1                 if (fin_cnt_decr) begin
           Tests:       T1 T2 T3 
83         1/1                    buf_dependency_cnt[decr_buf_sel] <= curr_decr_cnt - 1'b1;
           Tests:       T3 T16 T8 
84                             end
                        MISSING_ELSE
85                          end
86                        end
87                      
88                        // per buffer dependency determination
89                        always_comb begin
90         1/1              dependency_o = '0;
           Tests:       T1 T2 T3 
91         1/1              for (int i = 0; i < NumBuf; i++) begin
           Tests:       T1 T2 T3 
92         1/1                dependency_o[i] = |buf_dependency_cnt[i];
           Tests:       T1 T2 T3 
93                          end
94                        end
95                      
96                        // all buffer entries currently have a dependency
97         1/1            assign all_dependency_o = &dependency_o;
           Tests:       T1 T2 T3 
98                      
99                      
100                       // If there are more buffers than there are number of response fifo entries, we an never have
101                       // a fully dependent condition
102                       `ASSERT(BufferDepRsp_A, NumBuf > RspOrderDepth |-> ~all_dependency_o)
103                     
104                       // We should never attempt to increment when at max value
105                       `ASSERT(BufferIncrOverFlow_A, en_i & fifo_wr_i |-> curr_incr_cnt < RspOrderDepth)
106                     
107                       // We should never attempt to decrement when at min value
108                       `ASSERT(BufferDecrUnderRun_A, en_i & fifo_rd_i |-> (curr_decr_cnt > '0))
109                     
110                       // The total number of dependent buffers cannot never exceed the size of response queue
111                       `ifdef INC_ASSERT
112                       //VCS coverage off
113                       // pragma coverage off
114                       logic [31:0] assert_cnt;
115                       always_comb begin
116        unreachable      assert_cnt = '0;
117        unreachable      for (int unsigned i = 0; i < NumBuf; i++) begin
118        unreachable        assert_cnt = assert_cnt + dependency_o[i];
Cond Coverage for Module : 
flash_phy_rd_buf_dep
 | Total | Covered | Percent | 
| Conditions | 22 | 19 | 86.36 | 
| Logical | 22 | 19 | 86.36 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       65
 EXPRESSION (en_i & fifo_wr_i & (curr_incr_cnt < flash_phy_pkg::RspOrderDepth))
             --1-   ----2----   -----------------------3----------------------
| -1- | -2- | -3- | Status | Tests | 
| 0 | 1 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T3,T16,T8 | 
 LINE       66
 EXPRESSION (en_i & fifo_rd_i & (curr_decr_cnt > '0))
             --1-   ----2----   ----------3---------
| -1- | -2- | -3- | Status | Tests | 
| 0 | 1 | 1 | Not Covered |  | 
| 1 | 0 | 1 | Covered | T3,T16,T8 | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T3,T16,T8 | 
 LINE       71
 EXPRESSION ((incr_buf_sel == decr_buf_sel) ? (cnt_incr && ((!cnt_decr))) : cnt_incr)
             ---------------1--------------
| -1- | Status | Tests | 
| 0 | Covered | T3,T16,T8 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       71
 SUB-EXPRESSION (incr_buf_sel == decr_buf_sel)
                ---------------1--------------
| -1- | Status | Tests | 
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       71
 SUB-EXPRESSION (cnt_incr && ((!cnt_decr)))
                 ----1---    ------2------
| -1- | -2- | Status | Tests | 
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Covered | T8,T6,T20 | 
| 1 | 1 | Covered | T3,T16,T8 | 
 LINE       72
 EXPRESSION ((incr_buf_sel == decr_buf_sel) ? (((!cnt_incr)) && cnt_decr) : cnt_decr)
             ---------------1--------------
| -1- | Status | Tests | 
| 0 | Covered | T3,T16,T8 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       72
 SUB-EXPRESSION (incr_buf_sel == decr_buf_sel)
                ---------------1--------------
| -1- | Status | Tests | 
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       72
 SUB-EXPRESSION (((!cnt_incr)) && cnt_decr)
                 ------1------    ----2---
| -1- | -2- | Status | Tests | 
| 0 | 1 | Covered | T8,T6,T20 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T3,T16,T8 | 
Branch Coverage for Module : 
flash_phy_rd_buf_dep
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
13 | 
13 | 
100.00 | 
| TERNARY | 
71 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
72 | 
2 | 
2 | 
100.00 | 
| IF | 
51 | 
2 | 
2 | 
100.00 | 
| IF | 
54 | 
2 | 
2 | 
100.00 | 
| IF | 
76 | 
5 | 
5 | 
100.00 | 
71           assign fin_cnt_incr = (incr_buf_sel == decr_buf_sel) ? cnt_incr && !cnt_decr : cnt_incr;
                                                                  -1-  
                                                                  ==>  
                                                                  ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T3,T16,T8 | 
72           assign fin_cnt_decr = (incr_buf_sel == decr_buf_sel) ? !cnt_incr && cnt_decr : cnt_decr;
                                                                  -1-  
                                                                  ==>  
                                                                  ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T3,T16,T8 | 
51               if (wr_buf_i[i]) begin
                 -1-  
52                 incr_buf_sel = buf_mux_cnt[i];
                   ==>
53               end
                 MISSING_ELSE
                 ==>
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T3,T16,T8 | 
| 0 | 
Covered | 
T1,T2,T3 | 
54               if (rd_buf_i[i]) begin
                 -1-  
55                 decr_buf_sel = buf_mux_cnt[i];
                   ==>
56               end
                 MISSING_ELSE
                 ==>
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T3,T16,T8 | 
| 0 | 
Covered | 
T1,T2,T3 | 
76             if (!rst_ni) begin
               -1-  
77               buf_dependency_cnt <= '0;
                 ==>
78             end else begin
79                if (fin_cnt_incr) begin
                  -2-  
80                   buf_dependency_cnt[incr_buf_sel] <= curr_incr_cnt + 1'b1;
                     ==>
81                end
                  MISSING_ELSE
                  ==>
82                if (fin_cnt_decr) begin
                  -3-  
83                   buf_dependency_cnt[decr_buf_sel] <= curr_decr_cnt - 1'b1;
                     ==>
84                end
                  MISSING_ELSE
                  ==>
Branches:
| -1- | -2- | -3- | Status | Tests | 
| 1 | 
- | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
- | 
Covered | 
T3,T16,T8 | 
| 0 | 
0 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
- | 
1 | 
Covered | 
T3,T16,T8 | 
| 0 | 
- | 
0 | 
Covered | 
T1,T2,T3 | 
Assert Coverage for Module : 
flash_phy_rd_buf_dep
Assertion Details
BufferDecrUnderRun_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
665750786 | 
6980107 | 
0 | 
0 | 
| T3 | 
2283 | 
146 | 
0 | 
0 | 
| T4 | 
4375 | 
0 | 
0 | 
0 | 
| T5 | 
1250 | 
0 | 
0 | 
0 | 
| T6 | 
1746 | 
16 | 
0 | 
0 | 
| T8 | 
102564 | 
1090 | 
0 | 
0 | 
| T9 | 
4220 | 
20 | 
0 | 
0 | 
| T10 | 
1263 | 
24 | 
0 | 
0 | 
| T11 | 
468 | 
4 | 
0 | 
0 | 
| T15 | 
949 | 
0 | 
0 | 
0 | 
| T16 | 
3668 | 
146 | 
0 | 
0 | 
| T17 | 
3690 | 
146 | 
0 | 
0 | 
| T19 | 
0 | 
135 | 
0 | 
0 | 
| T20 | 
2210 | 
10 | 
0 | 
0 | 
| T27 | 
0 | 
213 | 
0 | 
0 | 
| T33 | 
1654 | 
0 | 
0 | 
0 | 
| T34 | 
0 | 
71 | 
0 | 
0 | 
| T36 | 
0 | 
372 | 
0 | 
0 | 
| T59 | 
1169 | 
0 | 
0 | 
0 | 
| T64 | 
0 | 
500 | 
0 | 
0 | 
BufferDepRsp_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
665750786 | 
664017318 | 
0 | 
0 | 
| T1 | 
2950 | 
2722 | 
0 | 
0 | 
| T2 | 
7388 | 
7200 | 
0 | 
0 | 
| T3 | 
4566 | 
4388 | 
0 | 
0 | 
| T4 | 
8750 | 
7704 | 
0 | 
0 | 
| T5 | 
2500 | 
2302 | 
0 | 
0 | 
| T6 | 
1746 | 
1552 | 
0 | 
0 | 
| T8 | 
102564 | 
102464 | 
0 | 
0 | 
| T15 | 
1898 | 
1772 | 
0 | 
0 | 
| T16 | 
3668 | 
3490 | 
0 | 
0 | 
| T17 | 
3690 | 
3492 | 
0 | 
0 | 
BufferIncrOverFlow_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
665750786 | 
6980121 | 
0 | 
0 | 
| T3 | 
2283 | 
146 | 
0 | 
0 | 
| T4 | 
4375 | 
0 | 
0 | 
0 | 
| T5 | 
1250 | 
0 | 
0 | 
0 | 
| T6 | 
1746 | 
16 | 
0 | 
0 | 
| T8 | 
102564 | 
1090 | 
0 | 
0 | 
| T9 | 
4220 | 
20 | 
0 | 
0 | 
| T10 | 
1263 | 
24 | 
0 | 
0 | 
| T11 | 
468 | 
5 | 
0 | 
0 | 
| T15 | 
949 | 
0 | 
0 | 
0 | 
| T16 | 
3668 | 
146 | 
0 | 
0 | 
| T17 | 
3690 | 
146 | 
0 | 
0 | 
| T19 | 
0 | 
135 | 
0 | 
0 | 
| T20 | 
2210 | 
10 | 
0 | 
0 | 
| T27 | 
0 | 
213 | 
0 | 
0 | 
| T33 | 
1654 | 
0 | 
0 | 
0 | 
| T34 | 
0 | 
71 | 
0 | 
0 | 
| T36 | 
0 | 
372 | 
0 | 
0 | 
| T59 | 
1169 | 
0 | 
0 | 
0 | 
| T64 | 
0 | 
500 | 
0 | 
0 | 
DepBufferRspOrder_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
665750789 | 
15799323 | 
0 | 
0 | 
| T1 | 
1475 | 
64 | 
0 | 
0 | 
| T2 | 
3694 | 
32 | 
0 | 
0 | 
| T3 | 
2283 | 
178 | 
0 | 
0 | 
| T4 | 
4375 | 
192 | 
0 | 
0 | 
| T5 | 
1250 | 
32 | 
0 | 
0 | 
| T6 | 
1746 | 
48 | 
0 | 
0 | 
| T8 | 
102564 | 
1122 | 
0 | 
0 | 
| T9 | 
2110 | 
0 | 
0 | 
0 | 
| T10 | 
1263 | 
5 | 
0 | 
0 | 
| T11 | 
469 | 
4 | 
0 | 
0 | 
| T15 | 
949 | 
32 | 
0 | 
0 | 
| T16 | 
3668 | 
178 | 
0 | 
0 | 
| T17 | 
3690 | 
178 | 
0 | 
0 | 
| T19 | 
0 | 
135 | 
0 | 
0 | 
| T20 | 
1105 | 
0 | 
0 | 
0 | 
| T27 | 
0 | 
60 | 
0 | 
0 | 
| T33 | 
1654 | 
0 | 
0 | 
0 | 
| T34 | 
0 | 
14 | 
0 | 
0 | 
| T36 | 
0 | 
372 | 
0 | 
0 | 
| T59 | 
1169 | 
0 | 
0 | 
0 | 
| T64 | 
0 | 
100 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[0].u_core.u_rd.u_rd_buf_dep
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 23 | 23 | 100.00 | 
| ALWAYS | 48 | 7 | 7 | 100.00 | 
| CONT_ASSIGN | 61 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 62 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 66 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 71 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
| ALWAYS | 76 | 6 | 6 | 100.00 | 
| ALWAYS | 90 | 3 | 3 | 100.00 | 
| CONT_ASSIGN | 97 | 1 | 1 | 100.00 | 
| ALWAYS | 116 | 0 | 0 |  | 
47                        always_comb begin
48         1/1              incr_buf_sel = '0;
           Tests:       T1 T2 T3 
49         1/1              decr_buf_sel = '0;
           Tests:       T1 T2 T3 
50         1/1              for (int unsigned i = 0; i < NumBuf; i++) begin
           Tests:       T1 T2 T3 
51         1/1                if (wr_buf_i[i]) begin
           Tests:       T1 T2 T3 
52         1/1                  incr_buf_sel = buf_mux_cnt[i];
           Tests:       T3 T8 T6 
53                            end
                        MISSING_ELSE
54         1/1                if (rd_buf_i[i]) begin
           Tests:       T1 T2 T3 
55         1/1                  decr_buf_sel = buf_mux_cnt[i];
           Tests:       T3 T8 T6 
56                            end
                        MISSING_ELSE
57                          end
58                        end // always_comb
59                      
60                        logic [BufDepCntWidth-1:0] curr_incr_cnt, curr_decr_cnt;
61         1/1            assign curr_incr_cnt = buf_dependency_cnt[incr_buf_sel];
           Tests:       T1 T2 T3 
62         1/1            assign curr_decr_cnt = buf_dependency_cnt[decr_buf_sel];
           Tests:       T1 T2 T3 
63                      
64                        logic cnt_incr, cnt_decr;
65         1/1            assign cnt_incr = en_i & fifo_wr_i & (curr_incr_cnt < RspOrderDepth);
           Tests:       T1 T2 T3 
66         1/1            assign cnt_decr = en_i & fifo_rd_i & (curr_decr_cnt > '0);
           Tests:       T1 T2 T3 
67                      
68                        //assign cnt_decr = fifo_rd_i & (rsp_fifo_vld & data_valid_o) & (curr_decr_cnt > '0);
69                      
70                        logic fin_cnt_incr, fin_cnt_decr;
71         1/1            assign fin_cnt_incr = (incr_buf_sel == decr_buf_sel) ? cnt_incr && !cnt_decr : cnt_incr;
           Tests:       T1 T2 T3 
72         1/1            assign fin_cnt_decr = (incr_buf_sel == decr_buf_sel) ? !cnt_incr && cnt_decr : cnt_decr;
           Tests:       T1 T2 T3 
73                      
74                        // This tells us which buffer currently has a dependency to an item in the rsp_order_fifo
75                        always_ff @(posedge clk_i or negedge rst_ni) begin
76         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
77         1/1                buf_dependency_cnt <= '0;
           Tests:       T1 T2 T3 
78                          end else begin
79         1/1                 if (fin_cnt_incr) begin
           Tests:       T1 T2 T3 
80         1/1                    buf_dependency_cnt[incr_buf_sel] <= curr_incr_cnt + 1'b1;
           Tests:       T3 T8 T6 
81                             end
                        MISSING_ELSE
82         1/1                 if (fin_cnt_decr) begin
           Tests:       T1 T2 T3 
83         1/1                    buf_dependency_cnt[decr_buf_sel] <= curr_decr_cnt - 1'b1;
           Tests:       T3 T8 T6 
84                             end
                        MISSING_ELSE
85                          end
86                        end
87                      
88                        // per buffer dependency determination
89                        always_comb begin
90         1/1              dependency_o = '0;
           Tests:       T1 T2 T3 
91         1/1              for (int i = 0; i < NumBuf; i++) begin
           Tests:       T1 T2 T3 
92         1/1                dependency_o[i] = |buf_dependency_cnt[i];
           Tests:       T1 T2 T3 
93                          end
94                        end
95                      
96                        // all buffer entries currently have a dependency
97         1/1            assign all_dependency_o = &dependency_o;
           Tests:       T1 T2 T3 
98                      
99                      
100                       // If there are more buffers than there are number of response fifo entries, we an never have
101                       // a fully dependent condition
102                       `ASSERT(BufferDepRsp_A, NumBuf > RspOrderDepth |-> ~all_dependency_o)
103                     
104                       // We should never attempt to increment when at max value
105                       `ASSERT(BufferIncrOverFlow_A, en_i & fifo_wr_i |-> curr_incr_cnt < RspOrderDepth)
106                     
107                       // We should never attempt to decrement when at min value
108                       `ASSERT(BufferDecrUnderRun_A, en_i & fifo_rd_i |-> (curr_decr_cnt > '0))
109                     
110                       // The total number of dependent buffers cannot never exceed the size of response queue
111                       `ifdef INC_ASSERT
112                       //VCS coverage off
113                       // pragma coverage off
114                       logic [31:0] assert_cnt;
115                       always_comb begin
116        unreachable      assert_cnt = '0;
117        unreachable      for (int unsigned i = 0; i < NumBuf; i++) begin
118        unreachable        assert_cnt = assert_cnt + dependency_o[i];
Cond Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[0].u_core.u_rd.u_rd_buf_dep
 | Total | Covered | Percent | 
| Conditions | 22 | 19 | 86.36 | 
| Logical | 22 | 19 | 86.36 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       65
 EXPRESSION (en_i & fifo_wr_i & (curr_incr_cnt < flash_phy_pkg::RspOrderDepth))
             --1-   ----2----   -----------------------3----------------------
| -1- | -2- | -3- | Status | Tests | 
| 0 | 1 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T3,T8,T6 | 
 LINE       66
 EXPRESSION (en_i & fifo_rd_i & (curr_decr_cnt > '0))
             --1-   ----2----   ----------3---------
| -1- | -2- | -3- | Status | Tests | 
| 0 | 1 | 1 | Not Covered |  | 
| 1 | 0 | 1 | Covered | T3,T8,T6 | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T3,T8,T6 | 
 LINE       71
 EXPRESSION ((incr_buf_sel == decr_buf_sel) ? (cnt_incr && ((!cnt_decr))) : cnt_incr)
             ---------------1--------------
| -1- | Status | Tests | 
| 0 | Covered | T3,T8,T6 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       71
 SUB-EXPRESSION (incr_buf_sel == decr_buf_sel)
                ---------------1--------------
| -1- | Status | Tests | 
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       71
 SUB-EXPRESSION (cnt_incr && ((!cnt_decr)))
                 ----1---    ------2------
| -1- | -2- | Status | Tests | 
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Covered | T8,T6,T20 | 
| 1 | 1 | Covered | T3,T8,T6 | 
 LINE       72
 EXPRESSION ((incr_buf_sel == decr_buf_sel) ? (((!cnt_incr)) && cnt_decr) : cnt_decr)
             ---------------1--------------
| -1- | Status | Tests | 
| 0 | Covered | T3,T8,T6 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       72
 SUB-EXPRESSION (incr_buf_sel == decr_buf_sel)
                ---------------1--------------
| -1- | Status | Tests | 
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       72
 SUB-EXPRESSION (((!cnt_incr)) && cnt_decr)
                 ------1------    ----2---
| -1- | -2- | Status | Tests | 
| 0 | 1 | Covered | T8,T6,T20 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T3,T8,T6 | 
Branch Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[0].u_core.u_rd.u_rd_buf_dep
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
13 | 
13 | 
100.00 | 
| TERNARY | 
71 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
72 | 
2 | 
2 | 
100.00 | 
| IF | 
51 | 
2 | 
2 | 
100.00 | 
| IF | 
54 | 
2 | 
2 | 
100.00 | 
| IF | 
76 | 
5 | 
5 | 
100.00 | 
71           assign fin_cnt_incr = (incr_buf_sel == decr_buf_sel) ? cnt_incr && !cnt_decr : cnt_incr;
                                                                  -1-  
                                                                  ==>  
                                                                  ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T3,T8,T6 | 
72           assign fin_cnt_decr = (incr_buf_sel == decr_buf_sel) ? !cnt_incr && cnt_decr : cnt_decr;
                                                                  -1-  
                                                                  ==>  
                                                                  ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T3,T8,T6 | 
51               if (wr_buf_i[i]) begin
                 -1-  
52                 incr_buf_sel = buf_mux_cnt[i];
                   ==>
53               end
                 MISSING_ELSE
                 ==>
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T3,T8,T6 | 
| 0 | 
Covered | 
T1,T2,T3 | 
54               if (rd_buf_i[i]) begin
                 -1-  
55                 decr_buf_sel = buf_mux_cnt[i];
                   ==>
56               end
                 MISSING_ELSE
                 ==>
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T3,T8,T6 | 
| 0 | 
Covered | 
T1,T2,T3 | 
76             if (!rst_ni) begin
               -1-  
77               buf_dependency_cnt <= '0;
                 ==>
78             end else begin
79                if (fin_cnt_incr) begin
                  -2-  
80                   buf_dependency_cnt[incr_buf_sel] <= curr_incr_cnt + 1'b1;
                     ==>
81                end
                  MISSING_ELSE
                  ==>
82                if (fin_cnt_decr) begin
                  -3-  
83                   buf_dependency_cnt[decr_buf_sel] <= curr_decr_cnt - 1'b1;
                     ==>
84                end
                  MISSING_ELSE
                  ==>
Branches:
| -1- | -2- | -3- | Status | Tests | 
| 1 | 
- | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
- | 
Covered | 
T3,T8,T6 | 
| 0 | 
0 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
- | 
1 | 
Covered | 
T3,T8,T6 | 
| 0 | 
- | 
0 | 
Covered | 
T1,T2,T3 | 
Assert Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[0].u_core.u_rd.u_rd_buf_dep
Assertion Details
BufferDecrUnderRun_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
332875393 | 
3818631 | 
0 | 
0 | 
| T3 | 
2283 | 
146 | 
0 | 
0 | 
| T4 | 
4375 | 
0 | 
0 | 
0 | 
| T5 | 
1250 | 
0 | 
0 | 
0 | 
| T6 | 
873 | 
16 | 
0 | 
0 | 
| T8 | 
51282 | 
470 | 
0 | 
0 | 
| T9 | 
2110 | 
20 | 
0 | 
0 | 
| T10 | 
0 | 
19 | 
0 | 
0 | 
| T11 | 
0 | 
2 | 
0 | 
0 | 
| T15 | 
949 | 
0 | 
0 | 
0 | 
| T16 | 
1834 | 
0 | 
0 | 
0 | 
| T17 | 
1845 | 
0 | 
0 | 
0 | 
| T20 | 
1105 | 
10 | 
0 | 
0 | 
| T27 | 
0 | 
153 | 
0 | 
0 | 
| T34 | 
0 | 
57 | 
0 | 
0 | 
| T64 | 
0 | 
400 | 
0 | 
0 | 
BufferDepRsp_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
332875393 | 
332008659 | 
0 | 
0 | 
| T1 | 
1475 | 
1361 | 
0 | 
0 | 
| T2 | 
3694 | 
3600 | 
0 | 
0 | 
| T3 | 
2283 | 
2194 | 
0 | 
0 | 
| T4 | 
4375 | 
3852 | 
0 | 
0 | 
| T5 | 
1250 | 
1151 | 
0 | 
0 | 
| T6 | 
873 | 
776 | 
0 | 
0 | 
| T8 | 
51282 | 
51232 | 
0 | 
0 | 
| T15 | 
949 | 
886 | 
0 | 
0 | 
| T16 | 
1834 | 
1745 | 
0 | 
0 | 
| T17 | 
1845 | 
1746 | 
0 | 
0 | 
BufferIncrOverFlow_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
332875393 | 
3818638 | 
0 | 
0 | 
| T3 | 
2283 | 
146 | 
0 | 
0 | 
| T4 | 
4375 | 
0 | 
0 | 
0 | 
| T5 | 
1250 | 
0 | 
0 | 
0 | 
| T6 | 
873 | 
16 | 
0 | 
0 | 
| T8 | 
51282 | 
470 | 
0 | 
0 | 
| T9 | 
2110 | 
20 | 
0 | 
0 | 
| T10 | 
0 | 
19 | 
0 | 
0 | 
| T11 | 
0 | 
2 | 
0 | 
0 | 
| T15 | 
949 | 
0 | 
0 | 
0 | 
| T16 | 
1834 | 
0 | 
0 | 
0 | 
| T17 | 
1845 | 
0 | 
0 | 
0 | 
| T20 | 
1105 | 
10 | 
0 | 
0 | 
| T27 | 
0 | 
153 | 
0 | 
0 | 
| T34 | 
0 | 
57 | 
0 | 
0 | 
| T64 | 
0 | 
400 | 
0 | 
0 | 
DepBufferRspOrder_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
332875394 | 
8572040 | 
0 | 
0 | 
| T1 | 
1475 | 
64 | 
0 | 
0 | 
| T2 | 
3694 | 
32 | 
0 | 
0 | 
| T3 | 
2283 | 
178 | 
0 | 
0 | 
| T4 | 
4375 | 
192 | 
0 | 
0 | 
| T5 | 
1250 | 
32 | 
0 | 
0 | 
| T6 | 
873 | 
48 | 
0 | 
0 | 
| T8 | 
51282 | 
502 | 
0 | 
0 | 
| T15 | 
949 | 
32 | 
0 | 
0 | 
| T16 | 
1834 | 
32 | 
0 | 
0 | 
| T17 | 
1845 | 
32 | 
0 | 
0 | 
 
Line Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[1].u_core.u_rd.u_rd_buf_dep
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 23 | 23 | 100.00 | 
| ALWAYS | 48 | 7 | 7 | 100.00 | 
| CONT_ASSIGN | 61 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 62 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 66 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 71 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
| ALWAYS | 76 | 6 | 6 | 100.00 | 
| ALWAYS | 90 | 3 | 3 | 100.00 | 
| CONT_ASSIGN | 97 | 1 | 1 | 100.00 | 
| ALWAYS | 116 | 0 | 0 |  | 
47                        always_comb begin
48         1/1              incr_buf_sel = '0;
           Tests:       T1 T2 T3 
49         1/1              decr_buf_sel = '0;
           Tests:       T1 T2 T3 
50         1/1              for (int unsigned i = 0; i < NumBuf; i++) begin
           Tests:       T1 T2 T3 
51         1/1                if (wr_buf_i[i]) begin
           Tests:       T1 T2 T3 
52         1/1                  incr_buf_sel = buf_mux_cnt[i];
           Tests:       T16 T8 T17 
53                            end
                        MISSING_ELSE
54         1/1                if (rd_buf_i[i]) begin
           Tests:       T1 T2 T3 
55         1/1                  decr_buf_sel = buf_mux_cnt[i];
           Tests:       T16 T8 T17 
56                            end
                        MISSING_ELSE
57                          end
58                        end // always_comb
59                      
60                        logic [BufDepCntWidth-1:0] curr_incr_cnt, curr_decr_cnt;
61         1/1            assign curr_incr_cnt = buf_dependency_cnt[incr_buf_sel];
           Tests:       T1 T2 T3 
62         1/1            assign curr_decr_cnt = buf_dependency_cnt[decr_buf_sel];
           Tests:       T1 T2 T3 
63                      
64                        logic cnt_incr, cnt_decr;
65         1/1            assign cnt_incr = en_i & fifo_wr_i & (curr_incr_cnt < RspOrderDepth);
           Tests:       T1 T2 T3 
66         1/1            assign cnt_decr = en_i & fifo_rd_i & (curr_decr_cnt > '0);
           Tests:       T1 T2 T3 
67                      
68                        //assign cnt_decr = fifo_rd_i & (rsp_fifo_vld & data_valid_o) & (curr_decr_cnt > '0);
69                      
70                        logic fin_cnt_incr, fin_cnt_decr;
71         1/1            assign fin_cnt_incr = (incr_buf_sel == decr_buf_sel) ? cnt_incr && !cnt_decr : cnt_incr;
           Tests:       T1 T2 T3 
72         1/1            assign fin_cnt_decr = (incr_buf_sel == decr_buf_sel) ? !cnt_incr && cnt_decr : cnt_decr;
           Tests:       T1 T2 T3 
73                      
74                        // This tells us which buffer currently has a dependency to an item in the rsp_order_fifo
75                        always_ff @(posedge clk_i or negedge rst_ni) begin
76         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
77         1/1                buf_dependency_cnt <= '0;
           Tests:       T1 T2 T3 
78                          end else begin
79         1/1                 if (fin_cnt_incr) begin
           Tests:       T1 T2 T3 
80         1/1                    buf_dependency_cnt[incr_buf_sel] <= curr_incr_cnt + 1'b1;
           Tests:       T16 T8 T17 
81                             end
                        MISSING_ELSE
82         1/1                 if (fin_cnt_decr) begin
           Tests:       T1 T2 T3 
83         1/1                    buf_dependency_cnt[decr_buf_sel] <= curr_decr_cnt - 1'b1;
           Tests:       T16 T8 T17 
84                             end
                        MISSING_ELSE
85                          end
86                        end
87                      
88                        // per buffer dependency determination
89                        always_comb begin
90         1/1              dependency_o = '0;
           Tests:       T1 T2 T3 
91         1/1              for (int i = 0; i < NumBuf; i++) begin
           Tests:       T1 T2 T3 
92         1/1                dependency_o[i] = |buf_dependency_cnt[i];
           Tests:       T1 T2 T3 
93                          end
94                        end
95                      
96                        // all buffer entries currently have a dependency
97         1/1            assign all_dependency_o = &dependency_o;
           Tests:       T1 T2 T3 
98                      
99                      
100                       // If there are more buffers than there are number of response fifo entries, we an never have
101                       // a fully dependent condition
102                       `ASSERT(BufferDepRsp_A, NumBuf > RspOrderDepth |-> ~all_dependency_o)
103                     
104                       // We should never attempt to increment when at max value
105                       `ASSERT(BufferIncrOverFlow_A, en_i & fifo_wr_i |-> curr_incr_cnt < RspOrderDepth)
106                     
107                       // We should never attempt to decrement when at min value
108                       `ASSERT(BufferDecrUnderRun_A, en_i & fifo_rd_i |-> (curr_decr_cnt > '0))
109                     
110                       // The total number of dependent buffers cannot never exceed the size of response queue
111                       `ifdef INC_ASSERT
112                       //VCS coverage off
113                       // pragma coverage off
114                       logic [31:0] assert_cnt;
115                       always_comb begin
116        unreachable      assert_cnt = '0;
117        unreachable      for (int unsigned i = 0; i < NumBuf; i++) begin
118        unreachable        assert_cnt = assert_cnt + dependency_o[i];
Cond Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[1].u_core.u_rd.u_rd_buf_dep
 | Total | Covered | Percent | 
| Conditions | 22 | 19 | 86.36 | 
| Logical | 22 | 19 | 86.36 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       65
 EXPRESSION (en_i & fifo_wr_i & (curr_incr_cnt < flash_phy_pkg::RspOrderDepth))
             --1-   ----2----   -----------------------3----------------------
| -1- | -2- | -3- | Status | Tests | 
| 0 | 1 | 1 | Covered | T144,T145,T150 | 
| 1 | 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T16,T8,T17 | 
 LINE       66
 EXPRESSION (en_i & fifo_rd_i & (curr_decr_cnt > '0))
             --1-   ----2----   ----------3---------
| -1- | -2- | -3- | Status | Tests | 
| 0 | 1 | 1 | Not Covered |  | 
| 1 | 0 | 1 | Covered | T16,T8,T17 | 
| 1 | 1 | 0 | Not Covered |  | 
| 1 | 1 | 1 | Covered | T16,T8,T17 | 
 LINE       71
 EXPRESSION ((incr_buf_sel == decr_buf_sel) ? (cnt_incr && ((!cnt_decr))) : cnt_incr)
             ---------------1--------------
| -1- | Status | Tests | 
| 0 | Covered | T16,T8,T17 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       71
 SUB-EXPRESSION (incr_buf_sel == decr_buf_sel)
                ---------------1--------------
| -1- | Status | Tests | 
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       71
 SUB-EXPRESSION (cnt_incr && ((!cnt_decr)))
                 ----1---    ------2------
| -1- | -2- | Status | Tests | 
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Covered | T8,T64,T19 | 
| 1 | 1 | Covered | T16,T8,T17 | 
 LINE       72
 EXPRESSION ((incr_buf_sel == decr_buf_sel) ? (((!cnt_incr)) && cnt_decr) : cnt_decr)
             ---------------1--------------
| -1- | Status | Tests | 
| 0 | Covered | T16,T8,T17 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       72
 SUB-EXPRESSION (incr_buf_sel == decr_buf_sel)
                ---------------1--------------
| -1- | Status | Tests | 
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T3 | 
 LINE       72
 SUB-EXPRESSION (((!cnt_incr)) && cnt_decr)
                 ------1------    ----2---
| -1- | -2- | Status | Tests | 
| 0 | 1 | Covered | T8,T64,T19 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T16,T8,T17 | 
Branch Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[1].u_core.u_rd.u_rd_buf_dep
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
13 | 
13 | 
100.00 | 
| TERNARY | 
71 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
72 | 
2 | 
2 | 
100.00 | 
| IF | 
51 | 
2 | 
2 | 
100.00 | 
| IF | 
54 | 
2 | 
2 | 
100.00 | 
| IF | 
76 | 
5 | 
5 | 
100.00 | 
71           assign fin_cnt_incr = (incr_buf_sel == decr_buf_sel) ? cnt_incr && !cnt_decr : cnt_incr;
                                                                  -1-  
                                                                  ==>  
                                                                  ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T16,T8,T17 | 
72           assign fin_cnt_decr = (incr_buf_sel == decr_buf_sel) ? !cnt_incr && cnt_decr : cnt_decr;
                                                                  -1-  
                                                                  ==>  
                                                                  ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T16,T8,T17 | 
51               if (wr_buf_i[i]) begin
                 -1-  
52                 incr_buf_sel = buf_mux_cnt[i];
                   ==>
53               end
                 MISSING_ELSE
                 ==>
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T16,T8,T17 | 
| 0 | 
Covered | 
T1,T2,T3 | 
54               if (rd_buf_i[i]) begin
                 -1-  
55                 decr_buf_sel = buf_mux_cnt[i];
                   ==>
56               end
                 MISSING_ELSE
                 ==>
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T16,T8,T17 | 
| 0 | 
Covered | 
T1,T2,T3 | 
76             if (!rst_ni) begin
               -1-  
77               buf_dependency_cnt <= '0;
                 ==>
78             end else begin
79                if (fin_cnt_incr) begin
                  -2-  
80                   buf_dependency_cnt[incr_buf_sel] <= curr_incr_cnt + 1'b1;
                     ==>
81                end
                  MISSING_ELSE
                  ==>
82                if (fin_cnt_decr) begin
                  -3-  
83                   buf_dependency_cnt[decr_buf_sel] <= curr_decr_cnt - 1'b1;
                     ==>
84                end
                  MISSING_ELSE
                  ==>
Branches:
| -1- | -2- | -3- | Status | Tests | 
| 1 | 
- | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
- | 
Covered | 
T16,T8,T17 | 
| 0 | 
0 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
- | 
1 | 
Covered | 
T16,T8,T17 | 
| 0 | 
- | 
0 | 
Covered | 
T1,T2,T3 | 
Assert Coverage for Instance : tb.dut.u_eflash.gen_flash_cores[1].u_core.u_rd.u_rd_buf_dep
Assertion Details
BufferDecrUnderRun_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
332875393 | 
3161476 | 
0 | 
0 | 
| T6 | 
873 | 
0 | 
0 | 
0 | 
| T8 | 
51282 | 
620 | 
0 | 
0 | 
| T9 | 
2110 | 
0 | 
0 | 
0 | 
| T10 | 
1263 | 
5 | 
0 | 
0 | 
| T11 | 
468 | 
2 | 
0 | 
0 | 
| T16 | 
1834 | 
146 | 
0 | 
0 | 
| T17 | 
1845 | 
146 | 
0 | 
0 | 
| T19 | 
0 | 
135 | 
0 | 
0 | 
| T20 | 
1105 | 
0 | 
0 | 
0 | 
| T27 | 
0 | 
60 | 
0 | 
0 | 
| T33 | 
1654 | 
0 | 
0 | 
0 | 
| T34 | 
0 | 
14 | 
0 | 
0 | 
| T36 | 
0 | 
372 | 
0 | 
0 | 
| T59 | 
1169 | 
0 | 
0 | 
0 | 
| T64 | 
0 | 
100 | 
0 | 
0 | 
BufferDepRsp_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
332875393 | 
332008659 | 
0 | 
0 | 
| T1 | 
1475 | 
1361 | 
0 | 
0 | 
| T2 | 
3694 | 
3600 | 
0 | 
0 | 
| T3 | 
2283 | 
2194 | 
0 | 
0 | 
| T4 | 
4375 | 
3852 | 
0 | 
0 | 
| T5 | 
1250 | 
1151 | 
0 | 
0 | 
| T6 | 
873 | 
776 | 
0 | 
0 | 
| T8 | 
51282 | 
51232 | 
0 | 
0 | 
| T15 | 
949 | 
886 | 
0 | 
0 | 
| T16 | 
1834 | 
1745 | 
0 | 
0 | 
| T17 | 
1845 | 
1746 | 
0 | 
0 | 
BufferIncrOverFlow_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
332875393 | 
3161483 | 
0 | 
0 | 
| T6 | 
873 | 
0 | 
0 | 
0 | 
| T8 | 
51282 | 
620 | 
0 | 
0 | 
| T9 | 
2110 | 
0 | 
0 | 
0 | 
| T10 | 
1263 | 
5 | 
0 | 
0 | 
| T11 | 
468 | 
3 | 
0 | 
0 | 
| T16 | 
1834 | 
146 | 
0 | 
0 | 
| T17 | 
1845 | 
146 | 
0 | 
0 | 
| T19 | 
0 | 
135 | 
0 | 
0 | 
| T20 | 
1105 | 
0 | 
0 | 
0 | 
| T27 | 
0 | 
60 | 
0 | 
0 | 
| T33 | 
1654 | 
0 | 
0 | 
0 | 
| T34 | 
0 | 
14 | 
0 | 
0 | 
| T36 | 
0 | 
372 | 
0 | 
0 | 
| T59 | 
1169 | 
0 | 
0 | 
0 | 
| T64 | 
0 | 
100 | 
0 | 
0 | 
DepBufferRspOrder_A
| Name | Attempts | Real Successes | Failures | Incomplete | 
| Total | 
332875395 | 
7227283 | 
0 | 
0 | 
| T6 | 
873 | 
0 | 
0 | 
0 | 
| T8 | 
51282 | 
620 | 
0 | 
0 | 
| T9 | 
2110 | 
0 | 
0 | 
0 | 
| T10 | 
1263 | 
5 | 
0 | 
0 | 
| T11 | 
469 | 
4 | 
0 | 
0 | 
| T16 | 
1834 | 
146 | 
0 | 
0 | 
| T17 | 
1845 | 
146 | 
0 | 
0 | 
| T19 | 
0 | 
135 | 
0 | 
0 | 
| T20 | 
1105 | 
0 | 
0 | 
0 | 
| T27 | 
0 | 
60 | 
0 | 
0 | 
| T33 | 
1654 | 
0 | 
0 | 
0 | 
| T34 | 
0 | 
14 | 
0 | 
0 | 
| T36 | 
0 | 
372 | 
0 | 
0 | 
| T59 | 
1169 | 
0 | 
0 | 
0 | 
| T64 | 
0 | 
100 | 
0 | 
0 |