Line Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_0
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_0
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_0
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_1
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_1
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_1
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_2
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_2
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_2
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_3
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_3
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_3
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_4
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_4
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_4
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_5
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_5
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_5
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_6
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_6
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_6
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_7
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_7
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share0_output_7
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_0
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_0
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_0
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_1
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_1
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_1
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_2
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_2
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_2
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_3
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_3
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_3
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_4
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_4
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_4
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_5
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_5
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_5
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_6
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_6
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_6
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_7
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 70 | 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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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         1/1              assign qs = de && we ? d : q;
           Tests:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_7
 | Total | Covered | Percent | 
| Conditions | 7 | 7 | 100.00 | 
| Logical | 7 | 7 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
 LINE       70
 EXPRESSION ((de && we) ? d : q)
             -----1----
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
 LINE       70
 SUB-EXPRESSION (de && we)
                 -1    -2
| -1- | -2- | Status | Tests |                       
| 0 | 1 | Covered | T1,T2,T4 | 
| 1 | 0 | Covered | T2,T16,T5 | 
| 1 | 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_sw_share1_output_7
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
7 | 
7 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| TERNARY | 
70 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
70             assign qs = de && we ? d : q;
                                    -1-  
                                    ==>  
                                    ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_working_state
 | 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:       T1 T2 T3 
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:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_working_state
 | Total | Covered | Percent | 
| Conditions | 2 | 1 | 50.00 | 
| Logical | 2 | 1 | 50.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Not Covered |  | 
| 1 | Covered | T1,T2,T3 | 
Branch Coverage for Instance : tb.dut.u_reg.u_working_state
 | 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.u_reg.u_op_status
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_op_status
 | Total | Covered | Percent | 
| Conditions | 2 | 2 | 100.00 | 
| Logical | 2 | 2 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
Branch Coverage for Instance : tb.dut.u_reg.u_op_status
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
5 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_err_code_invalid_op
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_err_code_invalid_op
 | Total | Covered | Percent | 
| Conditions | 2 | 2 | 100.00 | 
| Logical | 2 | 2 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
Branch Coverage for Instance : tb.dut.u_reg.u_err_code_invalid_op
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
5 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_err_code_invalid_kmac_input
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_err_code_invalid_kmac_input
 | Total | Covered | Percent | 
| Conditions | 2 | 2 | 100.00 | 
| Logical | 2 | 2 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
Branch Coverage for Instance : tb.dut.u_reg.u_err_code_invalid_kmac_input
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
5 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_err_code_invalid_shadow_update
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.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 T4 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_err_code_invalid_shadow_update
 | Total | Covered | Percent | 
| Conditions | 2 | 2 | 100.00 | 
| Logical | 2 | 2 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T1,T2,T4 | 
Branch Coverage for Instance : tb.dut.u_reg.u_err_code_invalid_shadow_update
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
5 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T1,T2,T4 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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,T4 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_fault_status_cmd
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.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:       T24 T25 T32 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_fault_status_cmd
 | Total | Covered | Percent | 
| Conditions | 2 | 2 | 100.00 | 
| Logical | 2 | 2 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T24,T25,T32 | 
Branch Coverage for Instance : tb.dut.u_reg.u_fault_status_cmd
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
5 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T24,T25,T32 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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 | 
T24,T25,T32 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_fault_status_kmac_fsm
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.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:       T12 T13 T14 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_fault_status_kmac_fsm
 | Total | Covered | Percent | 
| Conditions | 2 | 2 | 100.00 | 
| Logical | 2 | 2 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T12,T13,T14 | 
Branch Coverage for Instance : tb.dut.u_reg.u_fault_status_kmac_fsm
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
5 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T12,T13,T14 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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 | 
T12,T13,T14 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_fault_status_kmac_done
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.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:       T22 T35 T36 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_fault_status_kmac_done
 | Total | Covered | Percent | 
| Conditions | 2 | 2 | 100.00 | 
| Logical | 2 | 2 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T22,T35,T36 | 
Branch Coverage for Instance : tb.dut.u_reg.u_fault_status_kmac_done
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
5 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T22,T35,T36 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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 | 
T22,T35,T36 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_fault_status_kmac_op
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.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:       T6 T21 T41 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_fault_status_kmac_op
 | Total | Covered | Percent | 
| Conditions | 2 | 2 | 100.00 | 
| Logical | 2 | 2 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T6,T21,T41 | 
Branch Coverage for Instance : tb.dut.u_reg.u_fault_status_kmac_op
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
5 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T6,T21,T41 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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 | 
T6,T21,T41 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_fault_status_kmac_out
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 6 | 85.71 | 
| ALWAYS | 56 | 4 | 3 | 75.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.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         0/1     ==>        q <= wr_data;
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_fault_status_kmac_out
 | Total | Covered | Percent | 
| Conditions | 2 | 1 | 50.00 | 
| Logical | 2 | 1 | 50.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Not Covered |  | 
Branch Coverage for Instance : tb.dut.u_reg.u_fault_status_kmac_out
 | 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 | 
Not Covered | 
 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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 | 
Not Covered | 
 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 | 
 
Line Coverage for Instance : tb.dut.u_reg.u_fault_status_regfile_intg
 | Line No. | Total | Covered | Percent | 
| TOTAL |  | 7 | 7 | 100.00 | 
| ALWAYS | 56 | 4 | 4 | 100.00 | 
| CONT_ASSIGN | 64 | 1 | 1 | 100.00 | 
| CONT_ASSIGN | 65 | 1 | 1 | 100.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:       T21 T12 T41 
60                          end
                        MISSING_ELSE
61                        end
62                      
63                        // feed back out for consolidation
64         1/1            assign ds = wr_en ? wr_data : qs;
           Tests:       T1 T2 T3 
65         1/1            assign qe = wr_en;
           Tests:       T1 T2 T3 
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:       T1 T2 T3 
Cond Coverage for Instance : tb.dut.u_reg.u_fault_status_regfile_intg
 | Total | Covered | Percent | 
| Conditions | 2 | 2 | 100.00 | 
| Logical | 2 | 2 | 100.00 | 
| Non-Logical | 0 | 0 |  | 
| Event | 0 | 0 |  | 
 LINE       64
 EXPRESSION (wr_en ? wr_data : qs)
             --1--
| -1- | Status | Tests |                       
| 0 | Covered | T1,T2,T3 | 
| 1 | Covered | T21,T12,T41 | 
Branch Coverage for Instance : tb.dut.u_reg.u_fault_status_regfile_intg
 | Line No. | Total | Covered | Percent | 
| Branches | 
 | 
5 | 
5 | 
100.00 | 
| TERNARY | 
64 | 
2 | 
2 | 
100.00 | 
| IF | 
56 | 
3 | 
3 | 
100.00 | 
64           assign ds = wr_en ? wr_data : qs;
                               -1-  
                               ==>  
                               ==>  
Branches:
| -1- | Status | Tests | 
| 1 | 
Covered | 
T21,T12,T41 | 
| 0 | 
Covered | 
T1,T2,T3 | 
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 | 
T21,T12,T41 | 
| 0 | 
0 | 
Covered | 
T1,T2,T3 |