Line Coverage for Module :
tlul_err_resp
| Line No. | Total | Covered | Percent |
TOTAL | | 21 | 21 | 100.00 |
ALWAYS | 34 | 14 | 14 | 100.00 |
CONT_ASSIGN | 51 | 1 | 1 | 100.00 |
CONT_ASSIGN | 52 | 1 | 1 | 100.00 |
CONT_ASSIGN | 53 | 1 | 1 | 100.00 |
CONT_ASSIGN | 55 | 1 | 1 | 100.00 |
CONT_ASSIGN | 58 | 1 | 1 | 100.00 |
CONT_ASSIGN | 59 | 1 | 1 | 100.00 |
CONT_ASSIGN | 65 | 1 | 1 | 100.00 |
33 always_ff @(posedge clk_i or negedge rst_ni) begin
34 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
35 1/1 err_rsp_pending <= 1'b0;
Tests: T1 T2 T3
36 1/1 err_source <= {top_pkg::TL_AIW{1'b0}};
Tests: T1 T2 T3
37 1/1 err_opcode <= Get;
Tests: T1 T2 T3
38 1/1 err_size <= '0;
Tests: T1 T2 T3
39 1/1 err_instr_type <= MuBi4False;
Tests: T1 T2 T3
40 1/1 end else if (err_rsp_pending && tl_h_i.d_ready) begin
Tests: T1 T2 T3
41 1/1 err_rsp_pending <= 1'b0;
Tests: T8 T10 T11
42 1/1 end else if (tl_h_i.a_valid && tl_h_o_int.a_ready) begin
Tests: T1 T2 T3
43 1/1 err_rsp_pending <= 1'b1;
Tests: T8 T10 T11
44 1/1 err_source <= tl_h_i.a_source;
Tests: T8 T10 T11
45 1/1 err_opcode <= tl_h_i.a_opcode;
Tests: T8 T10 T11
46 1/1 err_size <= tl_h_i.a_size;
Tests: T8 T10 T11
47 1/1 err_instr_type <= tl_h_i.a_user.instr_type;
Tests: T8 T10 T11
48 end
MISSING_ELSE
49 end
50
51 1/1 assign tl_h_o_int.a_ready = ~err_rsp_pending;
Tests: T1 T2 T3
52 1/1 assign tl_h_o_int.d_valid = err_rsp_pending;
Tests: T1 T2 T3
53 1/1 assign tl_h_o_int.d_data = (mubi4_test_true_strict(err_instr_type)) ? DataWhenInstrError :
Tests: T1 T2 T3
54 DataWhenError;
55 1/1 assign tl_h_o_int.d_source = err_source;
Tests: T1 T2 T3
56 assign tl_h_o_int.d_sink = '0;
57 assign tl_h_o_int.d_param = '0;
58 1/1 assign tl_h_o_int.d_size = err_size;
Tests: T1 T2 T3
59 1/1 assign tl_h_o_int.d_opcode = (err_opcode == Get) ? AccessAckData : AccessAck;
Tests: T1 T2 T3
60 assign tl_h_o_int.d_user = '0;
61 assign tl_h_o_int.d_error = 1'b1;
62
63 // Waive unused bits of tl_h_i
64 logic unused_tl_h;
65 1/1 assign unused_tl_h = ^tl_h_i;
Tests: T1 T2 T3
Cond Coverage for Module :
tlul_err_resp
| Total | Covered | Percent |
Conditions | 10 | 9 | 90.00 |
Logical | 10 | 9 | 90.00 |
Non-Logical | 0 | 0 | |
Event | 0 | 0 | |
LINE 40
EXPRESSION (err_rsp_pending && tl_h_i.d_ready)
-------1------- -------2------
-1- | -2- | Status | Tests |
0 | 1 | Covered | T1,T2,T3 |
1 | 0 | Covered | T44,T47 |
1 | 1 | Covered | T8,T10,T23 |
LINE 42
EXPRESSION (tl_h_i.a_valid && tl_h_o_int.a_ready)
-------1------ ---------2--------
-1- | -2- | Status | Tests |
0 | 1 | Covered | T1,T2,T3 |
1 | 0 | Not Covered | |
1 | 1 | Covered | T8,T10,T23 |
LINE 59
EXPRESSION ((err_opcode == Get) ? AccessAckData : AccessAck)
---------1---------
-1- | Status | Tests |
0 | Covered | T10,T23,T51 |
1 | Covered | T1,T2,T3 |
LINE 59
SUB-EXPRESSION (err_opcode == Get)
---------1---------
-1- | Status | Tests |
0 | Covered | T1,T2,T3 |
1 | Covered | T1,T2,T3 |
Branch Coverage for Module :
tlul_err_resp
| Line No. | Total | Covered | Percent |
Branches |
|
6 |
6 |
100.00 |
TERNARY |
59 |
2 |
2 |
100.00 |
IF |
34 |
4 |
4 |
100.00 |
59 assign tl_h_o_int.d_opcode = (err_opcode == Get) ? AccessAckData : AccessAck;
-1-
==>
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T10,T23,T51 |
34 if (!rst_ni) begin
-1-
35 err_rsp_pending <= 1'b0;
==>
36 err_source <= {top_pkg::TL_AIW{1'b0}};
37 err_opcode <= Get;
38 err_size <= '0;
39 err_instr_type <= MuBi4False;
40 end else if (err_rsp_pending && tl_h_i.d_ready) begin
-2-
41 err_rsp_pending <= 1'b0;
==>
42 end else if (tl_h_i.a_valid && tl_h_o_int.a_ready) begin
-3-
43 err_rsp_pending <= 1'b1;
==>
44 err_source <= tl_h_i.a_source;
45 err_opcode <= tl_h_i.a_opcode;
46 err_size <= tl_h_i.a_size;
47 err_instr_type <= tl_h_i.a_user.instr_type;
48 end
MISSING_ELSE
==>
Branches:
-1- | -2- | -3- | Status | Tests |
1 |
- |
- |
Covered |
T1,T2,T3 |
0 |
1 |
- |
Covered |
T8,T10,T11 |
0 |
0 |
1 |
Covered |
T8,T10,T11 |
0 |
0 |
0 |
Covered |
T1,T2,T3 |
Line Coverage for Instance : tb.dut.u_reg_core.u_socket.gen_err_resp.err_resp
| Line No. | Total | Covered | Percent |
TOTAL | | 21 | 15 | 71.43 |
ALWAYS | 34 | 14 | 8 | 57.14 |
CONT_ASSIGN | 51 | 1 | 1 | 100.00 |
CONT_ASSIGN | 52 | 1 | 1 | 100.00 |
CONT_ASSIGN | 53 | 1 | 1 | 100.00 |
CONT_ASSIGN | 55 | 1 | 1 | 100.00 |
CONT_ASSIGN | 58 | 1 | 1 | 100.00 |
CONT_ASSIGN | 59 | 1 | 1 | 100.00 |
CONT_ASSIGN | 65 | 1 | 1 | 100.00 |
33 always_ff @(posedge clk_i or negedge rst_ni) begin
34 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
35 1/1 err_rsp_pending <= 1'b0;
Tests: T1 T2 T3
36 1/1 err_source <= {top_pkg::TL_AIW{1'b0}};
Tests: T1 T2 T3
37 1/1 err_opcode <= Get;
Tests: T1 T2 T3
38 1/1 err_size <= '0;
Tests: T1 T2 T3
39 1/1 err_instr_type <= MuBi4False;
Tests: T1 T2 T3
40 1/1 end else if (err_rsp_pending && tl_h_i.d_ready) begin
Tests: T1 T2 T3
41 0/1 ==> err_rsp_pending <= 1'b0;
42 1/1 end else if (tl_h_i.a_valid && tl_h_o_int.a_ready) begin
Tests: T1 T2 T3
43 0/1 ==> err_rsp_pending <= 1'b1;
44 0/1 ==> err_source <= tl_h_i.a_source;
45 0/1 ==> err_opcode <= tl_h_i.a_opcode;
46 0/1 ==> err_size <= tl_h_i.a_size;
47 0/1 ==> err_instr_type <= tl_h_i.a_user.instr_type;
48 end
MISSING_ELSE
49 end
50
51 1/1 assign tl_h_o_int.a_ready = ~err_rsp_pending;
Tests: T1 T2 T3
52 1/1 assign tl_h_o_int.d_valid = err_rsp_pending;
Tests: T1 T2 T3
53 1/1 assign tl_h_o_int.d_data = (mubi4_test_true_strict(err_instr_type)) ? DataWhenInstrError :
Tests: T1 T2 T3
54 DataWhenError;
55 1/1 assign tl_h_o_int.d_source = err_source;
Tests: T1 T2 T3
56 assign tl_h_o_int.d_sink = '0;
57 assign tl_h_o_int.d_param = '0;
58 1/1 assign tl_h_o_int.d_size = err_size;
Tests: T1 T2 T3
59 1/1 assign tl_h_o_int.d_opcode = (err_opcode == Get) ? AccessAckData : AccessAck;
Tests: T1 T2 T3
60 assign tl_h_o_int.d_user = '0;
61 assign tl_h_o_int.d_error = 1'b1;
62
63 // Waive unused bits of tl_h_i
64 logic unused_tl_h;
65 1/1 assign unused_tl_h = ^tl_h_i;
Tests: T1 T2 T3
Cond Coverage for Instance : tb.dut.u_reg_core.u_socket.gen_err_resp.err_resp
| Total | Covered | Percent |
Conditions | 10 | 5 | 50.00 |
Logical | 10 | 5 | 50.00 |
Non-Logical | 0 | 0 | |
Event | 0 | 0 | |
LINE 40
EXPRESSION (err_rsp_pending && tl_h_i.d_ready)
-------1------- -------2------
-1- | -2- | Status | Tests |
0 | 1 | Covered | T1,T2,T3 |
1 | 0 | Not Covered | |
1 | 1 | Not Covered | |
LINE 42
EXPRESSION (tl_h_i.a_valid && tl_h_o_int.a_ready)
-------1------ ---------2--------
-1- | -2- | Status | Tests |
0 | 1 | Covered | T1,T2,T3 |
1 | 0 | Not Covered | |
1 | 1 | Not Covered | |
LINE 59
EXPRESSION ((err_opcode == Get) ? AccessAckData : AccessAck)
---------1---------
-1- | Status | Tests |
0 | Not Covered | |
1 | Covered | T1,T2,T3 |
LINE 59
SUB-EXPRESSION (err_opcode == Get)
---------1---------
-1- | Status | Tests |
0 | Covered | T1,T2,T3 |
1 | Covered | T1,T2,T3 |
Branch Coverage for Instance : tb.dut.u_reg_core.u_socket.gen_err_resp.err_resp
| Line No. | Total | Covered | Percent |
Branches |
|
6 |
3 |
50.00 |
TERNARY |
59 |
2 |
1 |
50.00 |
IF |
34 |
4 |
2 |
50.00 |
59 assign tl_h_o_int.d_opcode = (err_opcode == Get) ? AccessAckData : AccessAck;
-1-
==>
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Not Covered |
|
34 if (!rst_ni) begin
-1-
35 err_rsp_pending <= 1'b0;
==>
36 err_source <= {top_pkg::TL_AIW{1'b0}};
37 err_opcode <= Get;
38 err_size <= '0;
39 err_instr_type <= MuBi4False;
40 end else if (err_rsp_pending && tl_h_i.d_ready) begin
-2-
41 err_rsp_pending <= 1'b0;
==>
42 end else if (tl_h_i.a_valid && tl_h_o_int.a_ready) begin
-3-
43 err_rsp_pending <= 1'b1;
==>
44 err_source <= tl_h_i.a_source;
45 err_opcode <= tl_h_i.a_opcode;
46 err_size <= tl_h_i.a_size;
47 err_instr_type <= tl_h_i.a_user.instr_type;
48 end
MISSING_ELSE
==>
Branches:
-1- | -2- | -3- | Status | Tests |
1 |
- |
- |
Covered |
T1,T2,T3 |
0 |
1 |
- |
Not Covered |
|
0 |
0 |
1 |
Not Covered |
|
0 |
0 |
0 |
Covered |
T1,T2,T3 |
Line Coverage for Instance : tb.dut.u_tl_gate.u_tlul_err_resp
| Line No. | Total | Covered | Percent |
TOTAL | | 21 | 21 | 100.00 |
ALWAYS | 34 | 14 | 14 | 100.00 |
CONT_ASSIGN | 51 | 1 | 1 | 100.00 |
CONT_ASSIGN | 52 | 1 | 1 | 100.00 |
CONT_ASSIGN | 53 | 1 | 1 | 100.00 |
CONT_ASSIGN | 55 | 1 | 1 | 100.00 |
CONT_ASSIGN | 58 | 1 | 1 | 100.00 |
CONT_ASSIGN | 59 | 1 | 1 | 100.00 |
CONT_ASSIGN | 65 | 1 | 1 | 100.00 |
33 always_ff @(posedge clk_i or negedge rst_ni) begin
34 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
35 1/1 err_rsp_pending <= 1'b0;
Tests: T1 T2 T3
36 1/1 err_source <= {top_pkg::TL_AIW{1'b0}};
Tests: T1 T2 T3
37 1/1 err_opcode <= Get;
Tests: T1 T2 T3
38 1/1 err_size <= '0;
Tests: T1 T2 T3
39 1/1 err_instr_type <= MuBi4False;
Tests: T1 T2 T3
40 1/1 end else if (err_rsp_pending && tl_h_i.d_ready) begin
Tests: T1 T2 T3
41 1/1 err_rsp_pending <= 1'b0;
Tests: T8 T11 T187
42 1/1 end else if (tl_h_i.a_valid && tl_h_o_int.a_ready) begin
Tests: T1 T2 T3
43 1/1 err_rsp_pending <= 1'b1;
Tests: T8 T11 T187
44 1/1 err_source <= tl_h_i.a_source;
Tests: T8 T11 T187
45 1/1 err_opcode <= tl_h_i.a_opcode;
Tests: T8 T11 T187
46 1/1 err_size <= tl_h_i.a_size;
Tests: T8 T11 T187
47 1/1 err_instr_type <= tl_h_i.a_user.instr_type;
Tests: T8 T11 T187
48 end
MISSING_ELSE
49 end
50
51 1/1 assign tl_h_o_int.a_ready = ~err_rsp_pending;
Tests: T1 T2 T3
52 1/1 assign tl_h_o_int.d_valid = err_rsp_pending;
Tests: T1 T2 T3
53 1/1 assign tl_h_o_int.d_data = (mubi4_test_true_strict(err_instr_type)) ? DataWhenInstrError :
Tests: T1 T2 T3
54 DataWhenError;
55 1/1 assign tl_h_o_int.d_source = err_source;
Tests: T1 T2 T3
56 assign tl_h_o_int.d_sink = '0;
57 assign tl_h_o_int.d_param = '0;
58 1/1 assign tl_h_o_int.d_size = err_size;
Tests: T1 T2 T3
59 1/1 assign tl_h_o_int.d_opcode = (err_opcode == Get) ? AccessAckData : AccessAck;
Tests: T1 T2 T3
60 assign tl_h_o_int.d_user = '0;
61 assign tl_h_o_int.d_error = 1'b1;
62
63 // Waive unused bits of tl_h_i
64 logic unused_tl_h;
65 1/1 assign unused_tl_h = ^tl_h_i;
Tests: T1 T2 T3
Cond Coverage for Instance : tb.dut.u_tl_gate.u_tlul_err_resp
| Total | Covered | Percent |
Conditions | 10 | 7 | 70.00 |
Logical | 10 | 7 | 70.00 |
Non-Logical | 0 | 0 | |
Event | 0 | 0 | |
LINE 40
EXPRESSION (err_rsp_pending && tl_h_i.d_ready)
-------1------- -------2------
-1- | -2- | Status | Tests |
0 | 1 | Covered | T1,T2,T7 |
1 | 0 | Not Covered | |
1 | 1 | Covered | T8,T187,T188 |
LINE 42
EXPRESSION (tl_h_i.a_valid && tl_h_o_int.a_ready)
-------1------ ---------2--------
-1- | -2- | Status | Tests |
0 | 1 | Covered | T1,T2,T3 |
1 | 0 | Not Covered | |
1 | 1 | Covered | T8,T187,T188 |
LINE 59
EXPRESSION ((err_opcode == Get) ? AccessAckData : AccessAck)
---------1---------
-1- | Status | Tests |
0 | Not Covered | |
1 | Covered | T1,T2,T3 |
LINE 59
SUB-EXPRESSION (err_opcode == Get)
---------1---------
-1- | Status | Tests |
0 | Covered | T1,T2,T3 |
1 | Covered | T1,T2,T3 |
Branch Coverage for Instance : tb.dut.u_tl_gate.u_tlul_err_resp
| Line No. | Total | Covered | Percent |
Branches |
|
6 |
5 |
83.33 |
TERNARY |
59 |
2 |
1 |
50.00 |
IF |
34 |
4 |
4 |
100.00 |
59 assign tl_h_o_int.d_opcode = (err_opcode == Get) ? AccessAckData : AccessAck;
-1-
==>
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Not Covered |
|
34 if (!rst_ni) begin
-1-
35 err_rsp_pending <= 1'b0;
==>
36 err_source <= {top_pkg::TL_AIW{1'b0}};
37 err_opcode <= Get;
38 err_size <= '0;
39 err_instr_type <= MuBi4False;
40 end else if (err_rsp_pending && tl_h_i.d_ready) begin
-2-
41 err_rsp_pending <= 1'b0;
==>
42 end else if (tl_h_i.a_valid && tl_h_o_int.a_ready) begin
-3-
43 err_rsp_pending <= 1'b1;
==>
44 err_source <= tl_h_i.a_source;
45 err_opcode <= tl_h_i.a_opcode;
46 err_size <= tl_h_i.a_size;
47 err_instr_type <= tl_h_i.a_user.instr_type;
48 end
MISSING_ELSE
==>
Branches:
-1- | -2- | -3- | Status | Tests |
1 |
- |
- |
Covered |
T1,T2,T3 |
0 |
1 |
- |
Covered |
T8,T11,T187 |
0 |
0 |
1 |
Covered |
T8,T11,T187 |
0 |
0 |
0 |
Covered |
T1,T2,T3 |
Line Coverage for Instance : tb.dut.u_prog_tl_gate.u_tlul_err_resp
| Line No. | Total | Covered | Percent |
TOTAL | | 21 | 21 | 100.00 |
ALWAYS | 34 | 14 | 14 | 100.00 |
CONT_ASSIGN | 51 | 1 | 1 | 100.00 |
CONT_ASSIGN | 52 | 1 | 1 | 100.00 |
CONT_ASSIGN | 53 | 1 | 1 | 100.00 |
CONT_ASSIGN | 55 | 1 | 1 | 100.00 |
CONT_ASSIGN | 58 | 1 | 1 | 100.00 |
CONT_ASSIGN | 59 | 1 | 1 | 100.00 |
CONT_ASSIGN | 65 | 1 | 1 | 100.00 |
33 always_ff @(posedge clk_i or negedge rst_ni) begin
34 1/1 if (!rst_ni) begin
Tests: T1 T2 T3
35 1/1 err_rsp_pending <= 1'b0;
Tests: T1 T2 T3
36 1/1 err_source <= {top_pkg::TL_AIW{1'b0}};
Tests: T1 T2 T3
37 1/1 err_opcode <= Get;
Tests: T1 T2 T3
38 1/1 err_size <= '0;
Tests: T1 T2 T3
39 1/1 err_instr_type <= MuBi4False;
Tests: T1 T2 T3
40 1/1 end else if (err_rsp_pending && tl_h_i.d_ready) begin
Tests: T1 T2 T3
41 1/1 err_rsp_pending <= 1'b0;
Tests: T10 T11 T23
42 1/1 end else if (tl_h_i.a_valid && tl_h_o_int.a_ready) begin
Tests: T1 T2 T3
43 1/1 err_rsp_pending <= 1'b1;
Tests: T10 T11 T23
44 1/1 err_source <= tl_h_i.a_source;
Tests: T10 T11 T23
45 1/1 err_opcode <= tl_h_i.a_opcode;
Tests: T10 T11 T23
46 1/1 err_size <= tl_h_i.a_size;
Tests: T10 T11 T23
47 1/1 err_instr_type <= tl_h_i.a_user.instr_type;
Tests: T10 T11 T23
48 end
MISSING_ELSE
49 end
50
51 1/1 assign tl_h_o_int.a_ready = ~err_rsp_pending;
Tests: T1 T2 T3
52 1/1 assign tl_h_o_int.d_valid = err_rsp_pending;
Tests: T1 T2 T3
53 1/1 assign tl_h_o_int.d_data = (mubi4_test_true_strict(err_instr_type)) ? DataWhenInstrError :
Tests: T1 T2 T3
54 DataWhenError;
55 1/1 assign tl_h_o_int.d_source = err_source;
Tests: T1 T2 T3
56 assign tl_h_o_int.d_sink = '0;
57 assign tl_h_o_int.d_param = '0;
58 1/1 assign tl_h_o_int.d_size = err_size;
Tests: T1 T2 T3
59 1/1 assign tl_h_o_int.d_opcode = (err_opcode == Get) ? AccessAckData : AccessAck;
Tests: T1 T2 T3
60 assign tl_h_o_int.d_user = '0;
61 assign tl_h_o_int.d_error = 1'b1;
62
63 // Waive unused bits of tl_h_i
64 logic unused_tl_h;
65 1/1 assign unused_tl_h = ^tl_h_i;
Tests: T1 T2 T3
Cond Coverage for Instance : tb.dut.u_prog_tl_gate.u_tlul_err_resp
| Total | Covered | Percent |
Conditions | 10 | 9 | 90.00 |
Logical | 10 | 9 | 90.00 |
Non-Logical | 0 | 0 | |
Event | 0 | 0 | |
LINE 40
EXPRESSION (err_rsp_pending && tl_h_i.d_ready)
-------1------- -------2------
-1- | -2- | Status | Tests |
0 | 1 | Covered | T1,T2,T7 |
1 | 0 | Covered | T44,T47 |
1 | 1 | Covered | T10,T23,T51 |
LINE 42
EXPRESSION (tl_h_i.a_valid && tl_h_o_int.a_ready)
-------1------ ---------2--------
-1- | -2- | Status | Tests |
0 | 1 | Covered | T1,T2,T3 |
1 | 0 | Not Covered | |
1 | 1 | Covered | T10,T23,T51 |
LINE 59
EXPRESSION ((err_opcode == Get) ? AccessAckData : AccessAck)
---------1---------
-1- | Status | Tests |
0 | Covered | T10,T23,T51 |
1 | Covered | T1,T2,T3 |
LINE 59
SUB-EXPRESSION (err_opcode == Get)
---------1---------
-1- | Status | Tests |
0 | Covered | T1,T2,T3 |
1 | Covered | T1,T2,T3 |
Branch Coverage for Instance : tb.dut.u_prog_tl_gate.u_tlul_err_resp
| Line No. | Total | Covered | Percent |
Branches |
|
6 |
6 |
100.00 |
TERNARY |
59 |
2 |
2 |
100.00 |
IF |
34 |
4 |
4 |
100.00 |
59 assign tl_h_o_int.d_opcode = (err_opcode == Get) ? AccessAckData : AccessAck;
-1-
==>
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T10,T23,T51 |
34 if (!rst_ni) begin
-1-
35 err_rsp_pending <= 1'b0;
==>
36 err_source <= {top_pkg::TL_AIW{1'b0}};
37 err_opcode <= Get;
38 err_size <= '0;
39 err_instr_type <= MuBi4False;
40 end else if (err_rsp_pending && tl_h_i.d_ready) begin
-2-
41 err_rsp_pending <= 1'b0;
==>
42 end else if (tl_h_i.a_valid && tl_h_o_int.a_ready) begin
-3-
43 err_rsp_pending <= 1'b1;
==>
44 err_source <= tl_h_i.a_source;
45 err_opcode <= tl_h_i.a_opcode;
46 err_size <= tl_h_i.a_size;
47 err_instr_type <= tl_h_i.a_user.instr_type;
48 end
MISSING_ELSE
==>
Branches:
-1- | -2- | -3- | Status | Tests |
1 |
- |
- |
Covered |
T1,T2,T3 |
0 |
1 |
- |
Covered |
T10,T11,T23 |
0 |
0 |
1 |
Covered |
T10,T11,T23 |
0 |
0 |
0 |
Covered |
T1,T2,T3 |