Line Coverage for Module :
prim_intr_hw
| Line No. | Total | Covered | Percent |
TOTAL | | 7 | 7 | 100.00 |
CONT_ASSIGN | 62 | 1 | 1 | 100.00 |
CONT_ASSIGN | 64 | 1 | 1 | 100.00 |
CONT_ASSIGN | 67 | 1 | 1 | 100.00 |
CONT_ASSIGN | 69 | 1 | 1 | 100.00 |
ALWAYS | 95 | 3 | 3 | 100.00 |
61 logic [Width-1:0] new_event;
62 1/1 assign new_event =
Tests: T33 T34 T35
63 (({Width{reg2hw_intr_test_qe_i}} & reg2hw_intr_test_q_i) | event_intr_i);
64 1/1 assign hw2reg_intr_state_de_o = |new_event;
Tests: T33 T34 T35
65 // for scalar interrupts, this resolves to '1' with new event
66 // for vector interrupts, new events are OR'd in to existing interrupt state
67 1/1 assign hw2reg_intr_state_d_o = new_event | reg2hw_intr_state_q_i;
Tests: T33 T34 T35
68
69 1/1 assign status = reg2hw_intr_state_q_i ;
Tests: T33 T34 T35
70 end : g_intr_event
71 else if (IntrT == "Status") begin : g_intr_status
72 logic [Width-1:0] test_q; // Storing test. Cleared by SW
73
74 always_ff @(posedge clk_i or negedge rst_ni) begin
75 if (!rst_ni) test_q <= '0;
76 else if (reg2hw_intr_test_qe_i) test_q <= reg2hw_intr_test_q_i;
77 end
78
79 // TODO: In Status type, INTR_STATE is better to be external type and RO.
80 assign hw2reg_intr_state_de_o = 1'b 1; // always represent the status
81 assign hw2reg_intr_state_d_o = event_intr_i | test_q;
82
83 assign status = event_intr_i | test_q;
84
85 // To make the timing same to event type, status signal does not use CSR.q,
86 // rather the input of the CSR.
87 logic unused_reg2hw;
88 assign unused_reg2hw = ^reg2hw_intr_state_q_i;
89 end : g_intr_status
90
91
92 if (FlopOutput == 1) begin : gen_flop_intr_output
93 // flop the interrupt output
94 always_ff @(posedge clk_i or negedge rst_ni) begin
95 1/1 if (!rst_ni) begin
Tests: T33 T34 T35
96 1/1 intr_o <= '0;
Tests: T33 T34 T35
97 end else begin
98 1/1 intr_o <= status & reg2hw_intr_enable_q_i;
Tests: T33 T34 T35
Branch Coverage for Module :
prim_intr_hw
| Line No. | Total | Covered | Percent |
Branches |
|
2 |
2 |
100.00 |
IF |
95 |
2 |
2 |
100.00 |
95 if (!rst_ni) begin
-1-
96 intr_o <= '0;
==>
97 end else begin
98 intr_o <= status & reg2hw_intr_enable_q_i;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T33,T34,T35 |
0 |
Covered |
T33,T34,T35 |
Assert Coverage for Module :
prim_intr_hw
Assertion Details
Name | Attempts | Real Successes | Failures | Incomplete |
IntrTKind_A |
772 |
772 |
0 |
0 |
IntrTKind_A
Name | Attempts | Real Successes | Failures | Incomplete |
Total |
772 |
772 |
0 |
0 |
T20 |
1 |
1 |
0 |
0 |
T21 |
1 |
1 |
0 |
0 |
T22 |
1 |
1 |
0 |
0 |
T23 |
1 |
1 |
0 |
0 |
T33 |
1 |
1 |
0 |
0 |
T34 |
1 |
1 |
0 |
0 |
T35 |
1 |
1 |
0 |
0 |
T36 |
1 |
1 |
0 |
0 |
T37 |
1 |
1 |
0 |
0 |
T38 |
1 |
1 |
0 |
0 |