Module Definition
dashboard | hierarchy | modlist | groups | tests | asserts

Module : pwrmgr_wake_info
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00

Source File(s) :
/workspaces/repo/scratch/os_regression_2024_09_10/pwrmgr-sim-vcs/default/sim-vcs/../src/lowrisc_ip_pwrmgr_component_0.1/rtl/pwrmgr_wake_info.sv

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.i_wake_info 100.00 100.00 100.00 100.00



Module Instance : tb.dut.i_wake_info

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
96.70 100.00 83.87 99.60 100.00 100.00 dut


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Since this is the module's only instance, the coverage report is the same as for the module.
Line Coverage for Module : pwrmgr_wake_info
Line No.TotalCoveredPercent
TOTAL2020100.00
ALWAYS2933100.00
CONT_ASSIGN3611100.00
ALWAYS4266100.00
ALWAYS5777100.00
CONT_ASSIGN6811100.00
CONT_ASSIGN6911100.00
CONT_ASSIGN7011100.00

28 always_ff @(posedge clk_i or negedge rst_ni) begin 29 1/1 if (!rst_ni) begin Tests: T1 T2 T3  30 1/1 start_capture_q1 <= 1'b1; Tests: T1 T2 T3  31 end else begin 32 1/1 start_capture_q1 <= start_capture_i; Tests: T1 T2 T3  33 end 34 end 35 36 1/1 assign start_capture = start_capture_i & ~start_capture_q1; Tests: T1 T2 T3  37 38 // generate the record enbale signal 39 // HW enables the recording 40 // Software can suppress the recording or disable it 41 always_ff @(posedge clk_i or negedge rst_ni) begin 42 1/1 if (!rst_ni) begin Tests: T1 T2 T3  43 1/1 record_en <= 1'b0; Tests: T1 T2 T3  44 1/1 end else if (start_capture && !record_dis_i) begin Tests: T1 T2 T3  45 // if not disabled by software 46 // a recording enable puls by HW starts recording 47 1/1 record_en <= 1'b1; Tests: T1 T2 T4  48 1/1 end else if (record_dis_i && record_en) begin Tests: T1 T2 T3  49 // if recording is already ongoing 50 // a disable command by software shuts things down 51 1/1 record_en <= 1'b0; Tests: T1 T2 T4  52 end MISSING_ELSE 53 end 54 55 logic [TotalWakeWidth-1:0] info; 56 always_ff @(posedge clk_i or negedge rst_ni) begin 57 1/1 if (!rst_ni) begin Tests: T1 T2 T3  58 1/1 info <= '0; Tests: T1 T2 T3  59 1/1 end else if (wr_i) begin Tests: T1 T2 T3  60 1/1 info <= info & ~data_i; // W1C Tests: T1 T2 T3  61 1/1 end else if (record_en) begin // If set once, hold until clear Tests: T1 T2 T3  62 1/1 info[0 +: NumWkups] <= info[0 +: NumWkups] | wakeups_i; Tests: T1 T2 T4  63 1/1 info[NumWkups +: 2] <= info[NumWkups +: 2] | {abort_i, fall_through_i}; Tests: T1 T2 T4  64 end MISSING_ELSE 65 end 66 67 // assign outputs 68 1/1 assign info_o.abort.d = info[NumWkups + 1]; Tests: T1 T2 T3  69 1/1 assign info_o.fall_through.d = info[NumWkups]; Tests: T1 T2 T3  70 1/1 assign info_o.reasons = info[NumWkups-1:0]; Tests: T1 T2 T3 

Cond Coverage for Module : pwrmgr_wake_info
TotalCoveredPercent
Conditions99100.00
Logical99100.00
Non-Logical00
Event00

 LINE       36
 EXPRESSION (start_capture_i & ((~start_capture_q1)))
             -------1-------   ----------2----------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T2,T3
11CoveredT1,T2,T4

 LINE       44
 EXPRESSION (start_capture && ((!record_dis_i)))
             ------1------    --------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T4,T6
11CoveredT1,T2,T4

 LINE       48
 EXPRESSION (record_dis_i && record_en)
             ------1-----    ----2----
-1--2-StatusTests
01CoveredT1,T2,T4
10CoveredT1,T2,T3
11CoveredT1,T2,T4

Branch Coverage for Module : pwrmgr_wake_info
Line No.TotalCoveredPercent
Branches 10 10 100.00
IF 29 2 2 100.00
IF 42 4 4 100.00
IF 57 4 4 100.00


29 if (!rst_ni) begin -1- 30 start_capture_q1 <= 1'b1; ==> 31 end else begin 32 start_capture_q1 <= start_capture_i; ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T1,T2,T3


42 if (!rst_ni) begin -1- 43 record_en <= 1'b0; ==> 44 end else if (start_capture && !record_dis_i) begin -2- 45 // if not disabled by software 46 // a recording enable puls by HW starts recording 47 record_en <= 1'b1; ==> 48 end else if (record_dis_i && record_en) begin -3- 49 // if recording is already ongoing 50 // a disable command by software shuts things down 51 record_en <= 1'b0; ==> 52 end MISSING_ELSE ==>

Branches:
-1--2--3-StatusTests
1 - - Covered T1,T2,T3
0 1 - Covered T1,T2,T4
0 0 1 Covered T1,T2,T4
0 0 0 Covered T1,T2,T3


57 if (!rst_ni) begin -1- 58 info <= '0; ==> 59 end else if (wr_i) begin -2- 60 info <= info & ~data_i; // W1C ==> 61 end else if (record_en) begin // If set once, hold until clear -3- 62 info[0 +: NumWkups] <= info[0 +: NumWkups] | wakeups_i; ==> 63 info[NumWkups +: 2] <= info[NumWkups +: 2] | {abort_i, fall_through_i}; 64 end MISSING_ELSE ==>

Branches:
-1--2--3-StatusTests
1 - - Covered T1,T2,T3
0 1 - Covered T1,T2,T3
0 0 1 Covered T1,T2,T4
0 0 0 Covered T1,T2,T3

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%