Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_101
 | 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:       T35 T75 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:       T35 T75 T340 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_101
 | 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_101
 | 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_102
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_102
 | 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_102
 | 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_103
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_103
 | 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_103
 | 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_104
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_104
 | 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_104
 | 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_105
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_105
 | 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_105
 | 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_106
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_106
 | 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_106
 | 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_107
 | 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:       T76 T340 T139 
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:       T76 T340 T139 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_107
 | 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_107
 | 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_108
 | 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:       T76 T340 T139 
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:       T76 T340 T139 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_108
 | 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_108
 | 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_109
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_109
 | 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_109
 | 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_110
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_110
 | 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_110
 | 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_111
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_111
 | 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_111
 | 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_112
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_112
 | 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_112
 | 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_113
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_113
 | 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_113
 | 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_114
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_114
 | 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_114
 | 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_115
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_115
 | 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_115
 | 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_116
 | 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:       T76 T340 T77 
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:       T76 T340 T77 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_116
 | 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_116
 | 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_117
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_117
 | 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_117
 | 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_118
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_118
 | 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_118
 | 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_119
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_119
 | 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_119
 | 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_120
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_120
 | 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_120
 | 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_121
 | 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:       T340 T341 T342 
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:       T340 T341 T342 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_121
 | 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_121
 | 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_122
 | 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:       T6 T128 T193 
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:       T6 T128 T193 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_122
 | 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_122
 | 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_123
 | 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:       T128 T135 T193 
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:       T128 T135 T193 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_123
 | 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_123
 | 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_124
 | 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:       T127 T128 T129 
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:       T127 T128 T129 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_124
 | 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_124
 | 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_125
 | 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:       T128 T193 T194 
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:       T128 T193 T194 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_125
 | 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_125
 | 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_126
 | 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:       T128 T193 T194 
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:       T128 T193 T194 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_126
 | 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_126
 | 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_127
 | 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:       T49 T198 T343 
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:       T49 T198 T343 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_3_p_127
 | 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_127
 | 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_4_p_128
 | 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:       T50 T195 T198 
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:       T50 T195 T198 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_4_p_128
 | 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_4_p_128
 | 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_4_p_129
 | 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:       T48 T340 T344 
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:       T48 T340 T344 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_4_p_129
 | 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_4_p_129
 | 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_4_p_130
 | 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:       T198 T340 T345 
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:       T198 T340 T345 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_4_p_130
 | 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_4_p_130
 | 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_4_p_131
 | 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:       T128 T193 T194 
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:       T128 T193 T194 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_4_p_131
 | 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_4_p_131
 | 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_4_p_132
 | 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:       T128 T193 T194 
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:       T128 T193 T194 
Cond Coverage for Instance : tb.dut.top_earlgrey.u_rv_plic.u_reg.u_ip_4_p_132
 | 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_4_p_132
 | 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 | 
 |