Line Coverage for Module : 
pwrmgr_wake_info
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 20 | 20 | 100.00 | 
| ALWAYS | 29 | 3 | 3 | 100.00 | 
| CONT_ASSIGN | 36 | 1 | 1 | 100.00 | 
| ALWAYS | 42 | 6 | 6 | 100.00 | 
| ALWAYS | 57 | 7 | 7 | 100.00 | 
| CONT_ASSIGN | 68 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 69 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 1 | 1 | 100.00 | 
28                        always_ff @(posedge clk_i or negedge rst_ni) begin
29         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
30         1/1                start_capture_q1 <= 1'b1;
           Tests:       T1 T2 T3 
31                          end else begin
32         1/1                start_capture_q1 <= start_capture_i;
           Tests:       T1 T2 T3 
33                          end
34                        end
35                      
36         1/1            assign start_capture = start_capture_i & ~start_capture_q1;
           Tests:       T1 T2 T3 
37                      
38                        // generate the record enbale signal
39                        // HW enables the recording
40                        // Software can suppress the recording or disable it
41                        always_ff @(posedge clk_i or negedge rst_ni) begin
42         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
43         1/1                record_en <= 1'b0;
           Tests:       T1 T2 T3 
44         1/1              end else if (start_capture && !record_dis_i) begin
           Tests:       T1 T2 T3 
45                            // if not disabled by software
46                            // a recording enable puls by HW starts recording
47         1/1                record_en <= 1'b1;
           Tests:       T1 T3 T4 
48         1/1              end else if (record_dis_i && record_en) begin
           Tests:       T1 T2 T3 
49                            // if recording is already ongoing
50                            // a disable command by software shuts things down
51         1/1                record_en <= 1'b0;
           Tests:       T1 T3 T4 
52                          end
                        MISSING_ELSE
53                        end
54                      
55                        logic [TotalWakeWidth-1:0] info;
56                        always_ff @(posedge clk_i or negedge rst_ni) begin
57         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
58         1/1                info <= '0;
           Tests:       T1 T2 T3 
59         1/1              end else if (wr_i) begin
           Tests:       T1 T2 T3 
60         1/1                info <= info & ~data_i; // W1C
           Tests:       T1 T2 T3 
61         1/1              end else if (record_en) begin // If set once, hold until clear
           Tests:       T1 T2 T3 
62         1/1                info[0 +: NumWkups] <= info[0 +: NumWkups] | wakeups_i;
           Tests:       T1 T3 T4 
63         1/1                info[NumWkups +: 2] <= info[NumWkups +: 2] | {abort_i, fall_through_i};
           Tests:       T1 T3 T4 
64                          end
                        MISSING_ELSE
65                        end
66                      
67                        // assign outputs
68         1/1            assign info_o.abort.d = info[NumWkups + 1];
           Tests:       T1 T2 T3 
69         1/1            assign info_o.fall_through.d = info[NumWkups];
           Tests:       T1 T2 T3 
70         1/1            assign info_o.reasons = info[NumWkups-1:0];
           Tests:       T1 T2 T3 
Cond Coverage for Module : 
pwrmgr_wake_info
 | Total | Covered | Percent | 
| Conditions | 9 | 9 | 100.00 | 
| Logical | 9 | 9 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       36
 EXPRESSION (start_capture_i & ((~start_capture_q1)))
             -------1-------   ----------2----------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T3,T4 | 
 LINE       44
 EXPRESSION (start_capture && ((!record_dis_i)))
             ------1------    --------2--------
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T3 | 
| 1 | 0 | Covered | T4,T15,T32 | 
| 1 | 1 | Covered | T1,T3,T4 | 
 LINE       48
 EXPRESSION (record_dis_i && record_en)
             ------1-----    ----2----
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T3,T4 | 
| 1 | 0 | Covered | T1,T2,T3 | 
| 1 | 1 | Covered | T1,T3,T4 | 
Branch Coverage for Module : 
pwrmgr_wake_info
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
10 | 
10 | 
100.00 | 
| IF | 
29 | 
2 | 
2 | 
100.00 | 
| IF | 
42 | 
4 | 
4 | 
100.00 | 
| IF | 
57 | 
4 | 
4 | 
100.00 | 
29             if (!rst_ni) begin
               -1-  
30               start_capture_q1 <= 1'b1;
                 ==>
31             end else begin
32               start_capture_q1 <= start_capture_i;
                 ==>
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Covered | 
T1,T2,T3 | 
42             if (!rst_ni) begin
               -1-  
43               record_en <= 1'b0;
                 ==>
44             end else if (start_capture && !record_dis_i) begin
                        -2-  
45               // if not disabled by software
46               // a recording enable puls by HW starts recording
47               record_en <= 1'b1;
                 ==>
48             end else if (record_dis_i && record_en) begin
                        -3-  
49               // if recording is already ongoing
50               // a disable command by software shuts things down
51               record_en <= 1'b0;
                 ==>
52             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | -3- | Status | Tests | 
| 1 | 
- | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
- | 
Covered | 
T1,T3,T4 | 
| 0 | 
0 | 
1 | 
Covered | 
T1,T3,T4 | 
| 0 | 
0 | 
0 | 
Covered | 
T1,T2,T3 | 
57             if (!rst_ni) begin
               -1-  
58               info <= '0;
                 ==>
59             end else if (wr_i) begin
                        -2-  
60               info <= info & ~data_i; // W1C
                 ==>
61             end else if (record_en) begin // If set once, hold until clear
                        -3-  
62               info[0 +: NumWkups] <= info[0 +: NumWkups] | wakeups_i;
                 ==>
63               info[NumWkups +: 2] <= info[NumWkups +: 2] | {abort_i, fall_through_i};
64             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | -3- | Status | Tests | 
| 1 | 
- | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
1 | 
Covered | 
T1,T3,T4 | 
| 0 | 
0 | 
0 | 
Covered | 
T1,T2,T3 |