Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_69
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T12 T124 T226 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T12 T124 T226 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_69
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_69
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_70
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T124 T189 T190 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T124 T189 T190 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_70
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_70
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_71
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T124 T189 T190 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T124 T189 T190 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_71
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_71
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_72
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T124 T189 T190 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T124 T189 T190 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_72
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_72
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_73
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T124 T189 T190 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T124 T189 T190 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_73
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_73
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_74
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T15 T124 T53 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T15 T124 T53 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_74
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_74
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_75
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T124 T189 T190 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T124 T189 T190 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_75
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_75
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_76
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T124 T189 T190 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T124 T189 T190 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_76
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_76
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_77
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T59 T338 T138 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T59 T338 T138 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_77
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_77
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_78
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T59 T338 T138 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T59 T338 T138 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_78
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_78
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_79
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_79
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_79
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_80
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_80
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_80
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_81
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_81
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_81
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_82
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_82
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_82
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_83
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_83
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_83
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_84
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_84
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_84
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_85
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_85
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_85
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_86
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T59 T338 T60 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T59 T338 T60 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_86
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_86
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_87
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_87
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_87
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_88
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_88
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_88
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_89
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_89
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_89
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_90
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_90
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_90
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_91
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_91
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_91
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_92
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T61 T338 T95 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T61 T338 T95 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_92
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_92
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_93
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T61 T338 T341 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T61 T338 T341 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_93
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_93
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_94
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_94
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_94
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_95
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_95
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_2_p_95
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_96
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_96
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_96
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_97
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_97
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_97
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_98
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_98
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_98
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_99
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_99
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_99
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 | 
 
Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_100
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 0 | 0.00 | 
| CONT_ASSIGN | 72 | 1 | 1 | 100.00 | 
55                        always_ff @(posedge clk_i or negedge rst_ni) begin
56         1/1              if (!rst_ni) begin
           Tests:       T1 T2 T3 
57         1/1                q <= RESVAL;
           Tests:       T1 T2 T3 
58         1/1              end else if (wr_en) begin
           Tests:       T1 T2 T3 
59         1/1                q <= wr_data;
           Tests:       T1 T2 T3 
60                          end
                   ==>  MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T338 T339 T340 
65         0/1     ==>    assign qe = wr_en;
66                      
67                        if (SwAccess == SwAccessRC) begin : gen_rc
68                          // In case of a SW RC colliding with a HW write, SW gets the value written by HW
69                          // but the register is cleared to 0. See #5416 for a discussion.
70                          assign qs = de && we ? d : q;
71                        end else begin : gen_no_rc
72         1/1              assign qs = q;
           Tests:       T338 T339 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_100
 | Total | Covered | Percent | 
| Conditions | 1 | 1 | 100.00 | 
| Logical | 1 | 1 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests | Exclude Annotation | 
| 0 | Excluded |  | 
[UNR] Tied off | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_100
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
3 | 
60.00  | 
| TERNARY | 
64 | 
2 | 
1 | 
50.00  | 
| IF | 
56 | 
3 | 
2 | 
66.67  | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
Not Covered | 
 | 
56             if (!rst_ni) begin
               -1-  
57               q <= RESVAL;
                 ==>
58             end else if (wr_en) begin
                        -2-  
59               q <= wr_data;
                 ==>
60             end
               MISSING_ELSE
               ==>
Branches:
| -1- | -2- | Status | Tests | 
| 1 | 
- | 
Covered | 
T1,T2,T3 | 
| 0 | 
1 | 
Covered | 
T1,T2,T3 | 
| 0 | 
0 | 
Not Covered | 
 |