Line Coverage for Module :
prim_edge_detector ( parameter Width=2,ResetValue=0,EnSync=0 + Width=1,ResetValue=0,EnSync=0 )
Line Coverage for Module self-instances :
| Line No. | Total | Covered | Percent |
TOTAL | | 7 | 7 | 100.00 |
CONT_ASSIGN | 42 | 1 | 1 | 100.00 |
CONT_ASSIGN | 45 | 1 | 1 | 100.00 |
ALWAYS | 48 | 3 | 3 | 100.00 |
CONT_ASSIGN | 52 | 1 | 1 | 100.00 |
CONT_ASSIGN | 53 | 1 | 1 | 100.00 |
41 else begin : g_nosync
42 1/1 assign q_sync_d = d_i;
Tests: T1 T2 T3
43 end : g_nosync
44
45 1/1 assign q_sync_o = q_sync_d;
Tests: T1 T2 T3
46
47 always_ff @(posedge clk_i or negedge rst_ni) begin
48 2/2 if (!rst_ni) q_sync_q <= ResetValue;
Tests: T1 T2 T3 | T1 T2 T3
49 1/1 else q_sync_q <= q_sync_d;
Tests: T1 T2 T3
50 end
51
52 1/1 assign q_posedge_pulse_o = q_sync_d & ~q_sync_q;
Tests: T1 T2 T3
53 1/1 assign q_negedge_pulse_o = ~q_sync_d & q_sync_q;
Tests: T1 T2 T3
Line Coverage for Module :
prim_edge_detector ( parameter Width=1,ResetValue=0,EnSync=1 )
Line Coverage for Module self-instances :
| Line No. | Total | Covered | Percent |
TOTAL | | 6 | 6 | 100.00 |
CONT_ASSIGN | 45 | 1 | 1 | 100.00 |
ALWAYS | 48 | 3 | 3 | 100.00 |
CONT_ASSIGN | 52 | 1 | 1 | 100.00 |
CONT_ASSIGN | 53 | 1 | 1 | 100.00 |
44
45 1/1 assign q_sync_o = q_sync_d;
Tests: T1 T2 T3
46
47 always_ff @(posedge clk_i or negedge rst_ni) begin
48 2/2 if (!rst_ni) q_sync_q <= ResetValue;
Tests: T1 T2 T3 | T1 T2 T3
49 1/1 else q_sync_q <= q_sync_d;
Tests: T1 T2 T3
50 end
51
52 1/1 assign q_posedge_pulse_o = q_sync_d & ~q_sync_q;
Tests: T1 T2 T3
53 1/1 assign q_negedge_pulse_o = ~q_sync_d & q_sync_q;
Tests: T1 T2 T3
Cond Coverage for Module :
prim_edge_detector
| Total | Covered | Percent |
Conditions | 6 | 6 | 100.00 |
Logical | 6 | 6 | 100.00 |
Non-Logical | 0 | 0 | |
Event | 0 | 0 | |
LINE 52
EXPRESSION (q_sync_d & ((~q_sync_q)))
----1--- ------2------
-1- | -2- | Status | Tests |
0 | 1 | Covered | T1,T2,T3 |
1 | 0 | Covered | T1,T3,T5 |
1 | 1 | Covered | T1,T2,T3 |
LINE 53
EXPRESSION (((~q_sync_d)) & q_sync_q)
------1------ ----2---
-1- | -2- | Status | Tests |
0 | 1 | Covered | T1,T3,T5 |
1 | 0 | Covered | T1,T2,T3 |
1 | 1 | Covered | T3,T5,T6 |
Branch Coverage for Module :
prim_edge_detector
| Line No. | Total | Covered | Percent |
Branches |
|
2 |
2 |
100.00 |
IF |
48 |
2 |
2 |
100.00 |
48 if (!rst_ni) q_sync_q <= ResetValue;
-1-
==>
49 else q_sync_q <= q_sync_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
Line Coverage for Instance : tb.dut.u_intr_upload_edge
| Line No. | Total | Covered | Percent |
TOTAL | | 7 | 7 | 100.00 |
CONT_ASSIGN | 42 | 1 | 1 | 100.00 |
CONT_ASSIGN | 45 | 1 | 1 | 100.00 |
ALWAYS | 48 | 3 | 3 | 100.00 |
CONT_ASSIGN | 52 | 1 | 1 | 100.00 |
CONT_ASSIGN | 53 | 1 | 1 | 100.00 |
41 else begin : g_nosync
42 1/1 assign q_sync_d = d_i;
Tests: T1 T2 T3
43 end : g_nosync
44
45 1/1 assign q_sync_o = q_sync_d;
Tests: T1 T2 T3
46
47 always_ff @(posedge clk_i or negedge rst_ni) begin
48 2/2 if (!rst_ni) q_sync_q <= ResetValue;
Tests: T1 T2 T3 | T1 T2 T3
49 1/1 else q_sync_q <= q_sync_d;
Tests: T1 T2 T3
50 end
51
52 1/1 assign q_posedge_pulse_o = q_sync_d & ~q_sync_q;
Tests: T1 T2 T3
53 1/1 assign q_negedge_pulse_o = ~q_sync_d & q_sync_q;
Tests: T1 T2 T3
Branch Coverage for Instance : tb.dut.u_intr_upload_edge
| Line No. | Total | Covered | Percent |
Branches |
|
2 |
2 |
100.00 |
IF |
48 |
2 |
2 |
100.00 |
48 if (!rst_ni) q_sync_q <= ResetValue;
-1-
==>
49 else q_sync_q <= q_sync_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |
Line Coverage for Instance : tb.dut.u_readcmd.u_addr_latch_pulse
| Line No. | Total | Covered | Percent |
TOTAL | | 7 | 7 | 100.00 |
CONT_ASSIGN | 42 | 1 | 1 | 100.00 |
CONT_ASSIGN | 45 | 1 | 1 | 100.00 |
ALWAYS | 48 | 3 | 3 | 100.00 |
CONT_ASSIGN | 52 | 1 | 1 | 100.00 |
CONT_ASSIGN | 53 | 1 | 1 | 100.00 |
41 else begin : g_nosync
42 1/1 assign q_sync_d = d_i;
Tests: T1 T2 T3
43 end : g_nosync
44
45 1/1 assign q_sync_o = q_sync_d;
Tests: T1 T2 T3
46
47 always_ff @(posedge clk_i or negedge rst_ni) begin
48 2/2 if (!rst_ni) q_sync_q <= ResetValue;
Tests: T1 T2 T3 | T1 T2 T3
49 1/1 else q_sync_q <= q_sync_d;
Tests: T1 T9 T10
50 end
51
52 1/1 assign q_posedge_pulse_o = q_sync_d & ~q_sync_q;
Tests: T1 T2 T3
53 1/1 assign q_negedge_pulse_o = ~q_sync_d & q_sync_q;
Tests: T1 T2 T3
Cond Coverage for Instance : tb.dut.u_readcmd.u_addr_latch_pulse
| Total | Covered | Percent |
Conditions | 6 | 6 | 100.00 |
Logical | 6 | 6 | 100.00 |
Non-Logical | 0 | 0 | |
Event | 0 | 0 | |
LINE 52
EXPRESSION (q_sync_d & ((~q_sync_q)))
----1--- ------2------
-1- | -2- | Status | Tests |
0 | 1 | Covered | T10,T13,T17 |
1 | 0 | Covered | T1,T9,T10 |
1 | 1 | Covered | T1,T2,T3 |
LINE 53
EXPRESSION (((~q_sync_d)) & q_sync_q)
------1------ ----2---
-1- | -2- | Status | Tests |
0 | 1 | Covered | T1,T9,T10 |
1 | 0 | Covered | T10,T13,T17 |
1 | 1 | Covered | T10,T13,T17 |
Branch Coverage for Instance : tb.dut.u_readcmd.u_addr_latch_pulse
| Line No. | Total | Covered | Percent |
Branches |
|
2 |
2 |
100.00 |
IF |
48 |
2 |
2 |
100.00 |
48 if (!rst_ni) q_sync_q <= ResetValue;
-1-
==>
49 else q_sync_q <= q_sync_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T9,T10 |
Line Coverage for Instance : tb.dut.u_spi_tpm.u_csb_sync_rst
| Line No. | Total | Covered | Percent |
TOTAL | | 6 | 6 | 100.00 |
CONT_ASSIGN | 45 | 1 | 1 | 100.00 |
ALWAYS | 48 | 3 | 3 | 100.00 |
CONT_ASSIGN | 52 | 1 | 1 | 100.00 |
CONT_ASSIGN | 53 | 1 | 1 | 100.00 |
44
45 1/1 assign q_sync_o = q_sync_d;
Tests: T1 T2 T3
46
47 always_ff @(posedge clk_i or negedge rst_ni) begin
48 2/2 if (!rst_ni) q_sync_q <= ResetValue;
Tests: T1 T2 T3 | T1 T2 T3
49 1/1 else q_sync_q <= q_sync_d;
Tests: T1 T2 T3
50 end
51
52 1/1 assign q_posedge_pulse_o = q_sync_d & ~q_sync_q;
Tests: T1 T2 T3
53 1/1 assign q_negedge_pulse_o = ~q_sync_d & q_sync_q;
Tests: T1 T2 T3
Cond Coverage for Instance : tb.dut.u_spi_tpm.u_csb_sync_rst
| Total | Covered | Percent |
Conditions | 6 | 6 | 100.00 |
Logical | 6 | 6 | 100.00 |
Non-Logical | 0 | 0 | |
Event | 0 | 0 | |
LINE 52
EXPRESSION (q_sync_d & ((~q_sync_q)))
----1--- ------2------
-1- | -2- | Status | Tests |
0 | 1 | Covered | T1,T2,T3 |
1 | 0 | Covered | T3,T5,T6 |
1 | 1 | Covered | T3,T5,T6 |
LINE 53
EXPRESSION (((~q_sync_d)) & q_sync_q)
------1------ ----2---
-1- | -2- | Status | Tests |
0 | 1 | Covered | T3,T5,T6 |
1 | 0 | Covered | T1,T2,T3 |
1 | 1 | Covered | T3,T5,T6 |
Branch Coverage for Instance : tb.dut.u_spi_tpm.u_csb_sync_rst
| Line No. | Total | Covered | Percent |
Branches |
|
2 |
2 |
100.00 |
IF |
48 |
2 |
2 |
100.00 |
48 if (!rst_ni) q_sync_q <= ResetValue;
-1-
==>
49 else q_sync_q <= q_sync_d;
==>
Branches:
-1- | Status | Tests |
1 |
Covered |
T1,T2,T3 |
0 |
Covered |
T1,T2,T3 |