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



Module Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_dft_en

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
99.83 99.34 100.00 100.00 100.00 u_pinmux_strap_sampling


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_buffs[0].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[3].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[3].u_prim_buf 100.00 100.00
gen_flops.u_prim_flop_2sync 100.00 100.00 100.00



Module Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_hw_debug_en

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
99.83 99.34 100.00 100.00 100.00 u_pinmux_strap_sampling


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_buffs[0].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[3].u_prim_buf 100.00 100.00
gen_flops.u_prim_flop_2sync 100.00 100.00 100.00



Module Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_check_byp_en

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
99.83 99.34 100.00 100.00 100.00 u_pinmux_strap_sampling


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_buffs[0].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[3].u_prim_buf 100.00 100.00
gen_flops.u_prim_flop_2sync 100.00 100.00 100.00



Module Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_escalate_en

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
99.83 99.34 100.00 100.00 100.00 u_pinmux_strap_sampling


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_buffs[0].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[3].u_prim_buf 100.00 100.00
gen_flops.u_prim_flop_2sync 100.00 100.00 100.00



Module Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_or_hardened.u_prim_lc_sync_a

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 100.00 100.00 u_prim_lc_or_hardened


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_buffs[0].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[3].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[3].u_prim_buf 100.00 100.00
gen_buffs[2].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[2].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[2].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[2].gen_bits[3].u_prim_buf 100.00 100.00
gen_buffs[3].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[3].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[3].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[3].gen_bits[3].u_prim_buf 100.00 100.00



Module Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_or_hardened.u_prim_lc_sync_b

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 100.00 100.00 u_prim_lc_or_hardened


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_buffs[0].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[3].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[3].u_prim_buf 100.00 100.00
gen_buffs[2].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[2].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[2].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[2].gen_bits[3].u_prim_buf 100.00 100.00
gen_buffs[3].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[3].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[3].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[3].gen_bits[3].u_prim_buf 100.00 100.00



Module Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_pinmux_hw_debug_en

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
99.83 99.34 100.00 100.00 100.00 u_pinmux_strap_sampling


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_buffs[0].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[3].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[1].gen_bits[3].u_prim_buf 100.00 100.00
gen_buffs[2].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[2].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[2].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[2].gen_bits[3].u_prim_buf 100.00 100.00



Module Instance : tb.dut.top_earlgrey.u_rv_core_ibex.u_lc_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
90.27 94.12 89.29 99.75 100.00 68.18 u_rv_core_ibex


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_buffs[0].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[3].u_prim_buf 100.00 100.00
gen_flops.u_prim_flop_2sync 100.00 100.00 100.00



Module Instance : tb.dut.top_earlgrey.u_rv_core_ibex.u_pwrmgr_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
90.27 94.12 89.29 99.75 100.00 68.18 u_rv_core_ibex


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_buffs[0].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[0].gen_bits[3].u_prim_buf 100.00 100.00
gen_flops.u_prim_flop_2sync 100.00 100.00 100.00

Line Coverage for Module : prim_lc_sync ( parameter NumCopies=1,AsyncOn=1,ResetValueIsOn=0,LcResetValue=10 )
Line Coverage for Module self-instances :
SCORELINE
100.00 100.00
tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_hw_debug_en

SCORELINE
100.00 100.00
tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_check_byp_en

SCORELINE
100.00 100.00
tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_escalate_en

SCORELINE
100.00 100.00
tb.dut.top_earlgrey.u_rv_core_ibex.u_lc_sync

SCORELINE
100.00 100.00
tb.dut.top_earlgrey.u_rv_core_ibex.u_pwrmgr_sync

Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS6811100.00
CONT_ASSIGN10611100.00

67 always_ff @(posedge clk_i) begin 68 1/1 lc_en_in_sva_q <= lc_en_i; Tests: T1 T2 T3  69 end 70 `ASSERT(OutputDelay_A, 71 rst_ni |-> ##3 lc_en_o == {NumCopies{$past(lc_en_in_sva_q, 2)}} || 72 ($past(lc_en_in_sva_q, 2) != $past(lc_en_in_sva_q, 1))) 73 `endif 74 end else begin : gen_no_flops 75 //VCS coverage off 76 // pragma coverage off 77 78 // This unused companion logic helps remove lint errors 79 // for modules where clock and reset are used for assertions only 80 // or nothing at all. 81 // This logic will be removed for sythesis since it is unloaded. 82 lc_ctrl_pkg::lc_tx_t unused_logic; 83 always_ff @(posedge clk_i or negedge rst_ni) begin 84 if (!rst_ni) begin 85 unused_logic <= lc_ctrl_pkg::Off; 86 end else begin 87 unused_logic <= lc_en_i; 88 end 89 end 90 //VCS coverage on 91 // pragma coverage on 92 93 assign lc_en = lc_en_i; 94 95 `ASSERT(OutputDelay_A, lc_en_o == {NumCopies{lc_en_i}}) 96 end 97 98 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 99 logic [lc_ctrl_pkg::TxWidth-1:0] lc_en_out; 100 for (genvar k = 0; k < lc_ctrl_pkg::TxWidth; k++) begin : gen_bits 101 prim_sec_anchor_buf u_prim_buf ( 102 .in_i(lc_en[k]), 103 .out_o(lc_en_out[k]) 104 ); 105 end 106 1/1 assign lc_en_o[j] = lc_ctrl_pkg::lc_tx_t'(lc_en_out); Tests: T1 T2 T3 

Line Coverage for Module : prim_lc_sync ( parameter NumCopies=3,AsyncOn=0,ResetValueIsOn=0,LcResetValue=10 )
Line Coverage for Module self-instances :
SCORELINE
100.00 100.00
tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_pinmux_hw_debug_en

Line No.TotalCoveredPercent
TOTAL44100.00
ALWAYS8400
CONT_ASSIGN9311100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00

83 always_ff @(posedge clk_i or negedge rst_ni) begin 84 unreachable if (!rst_ni) begin 85 unreachable unused_logic <= lc_ctrl_pkg::Off; 86 end else begin 87 unreachable unused_logic <= lc_en_i; 88 end 89 end 90 //VCS coverage on 91 // pragma coverage on 92 93 1/1 assign lc_en = lc_en_i; Tests: T1 T2 T3  94 95 `ASSERT(OutputDelay_A, lc_en_o == {NumCopies{lc_en_i}}) 96 end 97 98 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 99 logic [lc_ctrl_pkg::TxWidth-1:0] lc_en_out; 100 for (genvar k = 0; k < lc_ctrl_pkg::TxWidth; k++) begin : gen_bits 101 prim_sec_anchor_buf u_prim_buf ( 102 .in_i(lc_en[k]), 103 .out_o(lc_en_out[k]) 104 ); 105 end 106 3/3 assign lc_en_o[j] = lc_ctrl_pkg::lc_tx_t'(lc_en_out); Tests: T1 T2 T3  | T1 T2 T3  | T1 T2 T3 

Line Coverage for Module : prim_lc_sync ( parameter NumCopies=4,AsyncOn=0,ResetValueIsOn=0,LcResetValue=10 )
Line Coverage for Module self-instances :
SCORELINE
100.00 100.00
tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_or_hardened.u_prim_lc_sync_a

SCORELINE
100.00 100.00
tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_or_hardened.u_prim_lc_sync_b

Line No.TotalCoveredPercent
TOTAL55100.00
ALWAYS8400
CONT_ASSIGN9311100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00

83 always_ff @(posedge clk_i or negedge rst_ni) begin 84 unreachable if (!rst_ni) begin 85 unreachable unused_logic <= lc_ctrl_pkg::Off; 86 end else begin 87 unreachable unused_logic <= lc_en_i; 88 end 89 end 90 //VCS coverage on 91 // pragma coverage on 92 93 1/1 assign lc_en = lc_en_i; Tests: T1 T2 T3  94 95 `ASSERT(OutputDelay_A, lc_en_o == {NumCopies{lc_en_i}}) 96 end 97 98 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 99 logic [lc_ctrl_pkg::TxWidth-1:0] lc_en_out; 100 for (genvar k = 0; k < lc_ctrl_pkg::TxWidth; k++) begin : gen_bits 101 prim_sec_anchor_buf u_prim_buf ( 102 .in_i(lc_en[k]), 103 .out_o(lc_en_out[k]) 104 ); 105 end 106 4/4 assign lc_en_o[j] = lc_ctrl_pkg::lc_tx_t'(lc_en_out); Tests: T1 T2 T3  | T1 T2 T3  | T1 T2 T3  | T1 T2 T3 

Line Coverage for Module : prim_lc_sync ( parameter NumCopies=2,AsyncOn=1,ResetValueIsOn=0,LcResetValue=10 )
Line Coverage for Module self-instances :
SCORELINE
100.00 100.00
tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_dft_en

Line No.TotalCoveredPercent
TOTAL33100.00
ALWAYS6811100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00

67 always_ff @(posedge clk_i) begin 68 1/1 lc_en_in_sva_q <= lc_en_i; Tests: T1 T2 T3  69 end 70 `ASSERT(OutputDelay_A, 71 rst_ni |-> ##3 lc_en_o == {NumCopies{$past(lc_en_in_sva_q, 2)}} || 72 ($past(lc_en_in_sva_q, 2) != $past(lc_en_in_sva_q, 1))) 73 `endif 74 end else begin : gen_no_flops 75 //VCS coverage off 76 // pragma coverage off 77 78 // This unused companion logic helps remove lint errors 79 // for modules where clock and reset are used for assertions only 80 // or nothing at all. 81 // This logic will be removed for sythesis since it is unloaded. 82 lc_ctrl_pkg::lc_tx_t unused_logic; 83 always_ff @(posedge clk_i or negedge rst_ni) begin 84 if (!rst_ni) begin 85 unused_logic <= lc_ctrl_pkg::Off; 86 end else begin 87 unused_logic <= lc_en_i; 88 end 89 end 90 //VCS coverage on 91 // pragma coverage on 92 93 assign lc_en = lc_en_i; 94 95 `ASSERT(OutputDelay_A, lc_en_o == {NumCopies{lc_en_i}}) 96 end 97 98 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 99 logic [lc_ctrl_pkg::TxWidth-1:0] lc_en_out; 100 for (genvar k = 0; k < lc_ctrl_pkg::TxWidth; k++) begin : gen_bits 101 prim_sec_anchor_buf u_prim_buf ( 102 .in_i(lc_en[k]), 103 .out_o(lc_en_out[k]) 104 ); 105 end 106 2/2 assign lc_en_o[j] = lc_ctrl_pkg::lc_tx_t'(lc_en_out); Tests: T1 T2 T3  | T1 T2 T3 

Assert Coverage for Module : prim_lc_sync
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 4 4 100.00 4 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 4 4 100.00 4 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
NumCopiesMustBeGreaterZero_A 9063 9063 0 0
OutputsKnown_A 1808017398 1803110117 0 0
gen_flops.OutputDelay_A 1447138188 1444202142 0 18000
gen_no_flops.OutputDelay_A 360879210 358865751 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 9063 9063 0 0
T1 9 9 0 0
T2 9 9 0 0
T3 9 9 0 0
T4 9 9 0 0
T7 9 9 0 0
T25 9 9 0 0
T46 9 9 0 0
T99 9 9 0 0
T100 9 9 0 0
T101 9 9 0 0

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1808017398 1803110117 0 0
T1 339214 334394 0 0
T2 362514 359065 0 0
T3 217665 213754 0 0
T4 320585 317956 0 0
T7 343668 339345 0 0
T25 365102 360141 0 0
T46 246730 243744 0 0
T99 248726 246069 0 0
T100 161700 157783 0 0
T101 354214 351172 0 0

gen_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1447138188 1444202142 0 18000
T1 271150 268322 0 18
T2 290208 288166 0 18
T3 173598 171286 0 18
T4 253238 251662 0 18
T7 274848 272304 0 18
T25 290030 287118 0 18
T46 197182 195408 0 18
T99 198866 197280 0 18
T100 128580 126268 0 18
T101 283630 281818 0 18

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 360879210 358865751 0 0
T1 68064 66048 0 0
T2 72306 70875 0 0
T3 44067 42444 0 0
T4 67347 66270 0 0
T7 68820 67017 0 0
T25 75072 72999 0 0
T46 49548 48312 0 0
T99 49860 48765 0 0
T100 33120 31491 0 0
T101 70584 69330 0 0

Line Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_dft_en
Line No.TotalCoveredPercent
TOTAL33100.00
ALWAYS6811100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00

67 always_ff @(posedge clk_i) begin 68 1/1 lc_en_in_sva_q <= lc_en_i; Tests: T1 T2 T3  69 end 70 `ASSERT(OutputDelay_A, 71 rst_ni |-> ##3 lc_en_o == {NumCopies{$past(lc_en_in_sva_q, 2)}} || 72 ($past(lc_en_in_sva_q, 2) != $past(lc_en_in_sva_q, 1))) 73 `endif 74 end else begin : gen_no_flops 75 //VCS coverage off 76 // pragma coverage off 77 78 // This unused companion logic helps remove lint errors 79 // for modules where clock and reset are used for assertions only 80 // or nothing at all. 81 // This logic will be removed for sythesis since it is unloaded. 82 lc_ctrl_pkg::lc_tx_t unused_logic; 83 always_ff @(posedge clk_i or negedge rst_ni) begin 84 if (!rst_ni) begin 85 unused_logic <= lc_ctrl_pkg::Off; 86 end else begin 87 unused_logic <= lc_en_i; 88 end 89 end 90 //VCS coverage on 91 // pragma coverage on 92 93 assign lc_en = lc_en_i; 94 95 `ASSERT(OutputDelay_A, lc_en_o == {NumCopies{lc_en_i}}) 96 end 97 98 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 99 logic [lc_ctrl_pkg::TxWidth-1:0] lc_en_out; 100 for (genvar k = 0; k < lc_ctrl_pkg::TxWidth; k++) begin : gen_bits 101 prim_sec_anchor_buf u_prim_buf ( 102 .in_i(lc_en[k]), 103 .out_o(lc_en_out[k]) 104 ); 105 end 106 2/2 assign lc_en_o[j] = lc_ctrl_pkg::lc_tx_t'(lc_en_out); Tests: T1 T2 T3  | T1 T2 T3 

Assert Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_dft_en
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 3 3 100.00 3 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 3 3 100.00 3 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
NumCopiesMustBeGreaterZero_A 1007 1007 0 0
OutputsKnown_A 120293070 119621917 0 0
gen_flops.OutputDelay_A 120293070 119615061 0 3000


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1007 1007 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T7 1 1 0 0
T25 1 1 0 0
T46 1 1 0 0
T99 1 1 0 0
T100 1 1 0 0
T101 1 1 0 0

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119621917 0 0
T1 22688 22016 0 0
T2 24102 23625 0 0
T3 14689 14148 0 0
T4 22449 22090 0 0
T7 22940 22339 0 0
T25 25024 24333 0 0
T46 16516 16104 0 0
T99 16620 16255 0 0
T100 11040 10497 0 0
T101 23528 23110 0 0

gen_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119615061 0 3000
T1 22688 22012 0 3
T2 24102 23621 0 3
T3 14689 14144 0 3
T4 22449 22086 0 3
T7 22940 22335 0 3
T25 25024 24329 0 3
T46 16516 16100 0 3
T99 16620 16251 0 3
T100 11040 10493 0 3
T101 23528 23106 0 3

Line Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_hw_debug_en
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS6811100.00
CONT_ASSIGN10611100.00

67 always_ff @(posedge clk_i) begin 68 1/1 lc_en_in_sva_q <= lc_en_i; Tests: T1 T2 T3  69 end 70 `ASSERT(OutputDelay_A, 71 rst_ni |-> ##3 lc_en_o == {NumCopies{$past(lc_en_in_sva_q, 2)}} || 72 ($past(lc_en_in_sva_q, 2) != $past(lc_en_in_sva_q, 1))) 73 `endif 74 end else begin : gen_no_flops 75 //VCS coverage off 76 // pragma coverage off 77 78 // This unused companion logic helps remove lint errors 79 // for modules where clock and reset are used for assertions only 80 // or nothing at all. 81 // This logic will be removed for sythesis since it is unloaded. 82 lc_ctrl_pkg::lc_tx_t unused_logic; 83 always_ff @(posedge clk_i or negedge rst_ni) begin 84 if (!rst_ni) begin 85 unused_logic <= lc_ctrl_pkg::Off; 86 end else begin 87 unused_logic <= lc_en_i; 88 end 89 end 90 //VCS coverage on 91 // pragma coverage on 92 93 assign lc_en = lc_en_i; 94 95 `ASSERT(OutputDelay_A, lc_en_o == {NumCopies{lc_en_i}}) 96 end 97 98 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 99 logic [lc_ctrl_pkg::TxWidth-1:0] lc_en_out; 100 for (genvar k = 0; k < lc_ctrl_pkg::TxWidth; k++) begin : gen_bits 101 prim_sec_anchor_buf u_prim_buf ( 102 .in_i(lc_en[k]), 103 .out_o(lc_en_out[k]) 104 ); 105 end 106 1/1 assign lc_en_o[j] = lc_ctrl_pkg::lc_tx_t'(lc_en_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_hw_debug_en
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 3 3 100.00 3 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 3 3 100.00 3 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
NumCopiesMustBeGreaterZero_A 1007 1007 0 0
OutputsKnown_A 120293070 119621917 0 0
gen_flops.OutputDelay_A 120293070 119615061 0 3000


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1007 1007 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T7 1 1 0 0
T25 1 1 0 0
T46 1 1 0 0
T99 1 1 0 0
T100 1 1 0 0
T101 1 1 0 0

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119621917 0 0
T1 22688 22016 0 0
T2 24102 23625 0 0
T3 14689 14148 0 0
T4 22449 22090 0 0
T7 22940 22339 0 0
T25 25024 24333 0 0
T46 16516 16104 0 0
T99 16620 16255 0 0
T100 11040 10497 0 0
T101 23528 23110 0 0

gen_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119615061 0 3000
T1 22688 22012 0 3
T2 24102 23621 0 3
T3 14689 14144 0 3
T4 22449 22086 0 3
T7 22940 22335 0 3
T25 25024 24329 0 3
T46 16516 16100 0 3
T99 16620 16251 0 3
T100 11040 10493 0 3
T101 23528 23106 0 3

Line Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_check_byp_en
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS6811100.00
CONT_ASSIGN10611100.00

67 always_ff @(posedge clk_i) begin 68 1/1 lc_en_in_sva_q <= lc_en_i; Tests: T1 T2 T3  69 end 70 `ASSERT(OutputDelay_A, 71 rst_ni |-> ##3 lc_en_o == {NumCopies{$past(lc_en_in_sva_q, 2)}} || 72 ($past(lc_en_in_sva_q, 2) != $past(lc_en_in_sva_q, 1))) 73 `endif 74 end else begin : gen_no_flops 75 //VCS coverage off 76 // pragma coverage off 77 78 // This unused companion logic helps remove lint errors 79 // for modules where clock and reset are used for assertions only 80 // or nothing at all. 81 // This logic will be removed for sythesis since it is unloaded. 82 lc_ctrl_pkg::lc_tx_t unused_logic; 83 always_ff @(posedge clk_i or negedge rst_ni) begin 84 if (!rst_ni) begin 85 unused_logic <= lc_ctrl_pkg::Off; 86 end else begin 87 unused_logic <= lc_en_i; 88 end 89 end 90 //VCS coverage on 91 // pragma coverage on 92 93 assign lc_en = lc_en_i; 94 95 `ASSERT(OutputDelay_A, lc_en_o == {NumCopies{lc_en_i}}) 96 end 97 98 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 99 logic [lc_ctrl_pkg::TxWidth-1:0] lc_en_out; 100 for (genvar k = 0; k < lc_ctrl_pkg::TxWidth; k++) begin : gen_bits 101 prim_sec_anchor_buf u_prim_buf ( 102 .in_i(lc_en[k]), 103 .out_o(lc_en_out[k]) 104 ); 105 end 106 1/1 assign lc_en_o[j] = lc_ctrl_pkg::lc_tx_t'(lc_en_out); Tests: T59 T60 T72 

Assert Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_check_byp_en
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 3 3 100.00 3 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 3 3 100.00 3 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
NumCopiesMustBeGreaterZero_A 1007 1007 0 0
OutputsKnown_A 120293070 119621917 0 0
gen_flops.OutputDelay_A 120293070 119615061 0 3000


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1007 1007 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T7 1 1 0 0
T25 1 1 0 0
T46 1 1 0 0
T99 1 1 0 0
T100 1 1 0 0
T101 1 1 0 0

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119621917 0 0
T1 22688 22016 0 0
T2 24102 23625 0 0
T3 14689 14148 0 0
T4 22449 22090 0 0
T7 22940 22339 0 0
T25 25024 24333 0 0
T46 16516 16104 0 0
T99 16620 16255 0 0
T100 11040 10497 0 0
T101 23528 23110 0 0

gen_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119615061 0 3000
T1 22688 22012 0 3
T2 24102 23621 0 3
T3 14689 14144 0 3
T4 22449 22086 0 3
T7 22940 22335 0 3
T25 25024 24329 0 3
T46 16516 16100 0 3
T99 16620 16251 0 3
T100 11040 10493 0 3
T101 23528 23106 0 3

Line Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_escalate_en
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS6811100.00
CONT_ASSIGN10611100.00

67 always_ff @(posedge clk_i) begin 68 1/1 lc_en_in_sva_q <= lc_en_i; Tests: T1 T2 T3  69 end 70 `ASSERT(OutputDelay_A, 71 rst_ni |-> ##3 lc_en_o == {NumCopies{$past(lc_en_in_sva_q, 2)}} || 72 ($past(lc_en_in_sva_q, 2) != $past(lc_en_in_sva_q, 1))) 73 `endif 74 end else begin : gen_no_flops 75 //VCS coverage off 76 // pragma coverage off 77 78 // This unused companion logic helps remove lint errors 79 // for modules where clock and reset are used for assertions only 80 // or nothing at all. 81 // This logic will be removed for sythesis since it is unloaded. 82 lc_ctrl_pkg::lc_tx_t unused_logic; 83 always_ff @(posedge clk_i or negedge rst_ni) begin 84 if (!rst_ni) begin 85 unused_logic <= lc_ctrl_pkg::Off; 86 end else begin 87 unused_logic <= lc_en_i; 88 end 89 end 90 //VCS coverage on 91 // pragma coverage on 92 93 assign lc_en = lc_en_i; 94 95 `ASSERT(OutputDelay_A, lc_en_o == {NumCopies{lc_en_i}}) 96 end 97 98 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 99 logic [lc_ctrl_pkg::TxWidth-1:0] lc_en_out; 100 for (genvar k = 0; k < lc_ctrl_pkg::TxWidth; k++) begin : gen_bits 101 prim_sec_anchor_buf u_prim_buf ( 102 .in_i(lc_en[k]), 103 .out_o(lc_en_out[k]) 104 ); 105 end 106 1/1 assign lc_en_o[j] = lc_ctrl_pkg::lc_tx_t'(lc_en_out); Tests: T59 T60 T72 

Assert Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_lc_escalate_en
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 3 3 100.00 3 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 3 3 100.00 3 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
NumCopiesMustBeGreaterZero_A 1007 1007 0 0
OutputsKnown_A 120293070 119621917 0 0
gen_flops.OutputDelay_A 120293070 119615061 0 3000


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1007 1007 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T7 1 1 0 0
T25 1 1 0 0
T46 1 1 0 0
T99 1 1 0 0
T100 1 1 0 0
T101 1 1 0 0

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119621917 0 0
T1 22688 22016 0 0
T2 24102 23625 0 0
T3 14689 14148 0 0
T4 22449 22090 0 0
T7 22940 22339 0 0
T25 25024 24333 0 0
T46 16516 16104 0 0
T99 16620 16255 0 0
T100 11040 10497 0 0
T101 23528 23110 0 0

gen_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119615061 0 3000
T1 22688 22012 0 3
T2 24102 23621 0 3
T3 14689 14144 0 3
T4 22449 22086 0 3
T7 22940 22335 0 3
T25 25024 24329 0 3
T46 16516 16100 0 3
T99 16620 16251 0 3
T100 11040 10493 0 3
T101 23528 23106 0 3

Line Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_or_hardened.u_prim_lc_sync_a
Line No.TotalCoveredPercent
TOTAL55100.00
ALWAYS8400
CONT_ASSIGN9311100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00

83 always_ff @(posedge clk_i or negedge rst_ni) begin 84 unreachable if (!rst_ni) begin 85 unreachable unused_logic <= lc_ctrl_pkg::Off; 86 end else begin 87 unreachable unused_logic <= lc_en_i; 88 end 89 end 90 //VCS coverage on 91 // pragma coverage on 92 93 1/1 assign lc_en = lc_en_i; Tests: T1 T2 T3  94 95 `ASSERT(OutputDelay_A, lc_en_o == {NumCopies{lc_en_i}}) 96 end 97 98 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 99 logic [lc_ctrl_pkg::TxWidth-1:0] lc_en_out; 100 for (genvar k = 0; k < lc_ctrl_pkg::TxWidth; k++) begin : gen_bits 101 prim_sec_anchor_buf u_prim_buf ( 102 .in_i(lc_en[k]), 103 .out_o(lc_en_out[k]) 104 ); 105 end 106 4/4 assign lc_en_o[j] = lc_ctrl_pkg::lc_tx_t'(lc_en_out); Tests: T1 T2 T3  | T1 T2 T3  | T1 T2 T3  | T1 T2 T3 

Assert Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_or_hardened.u_prim_lc_sync_a
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 3 3 100.00 3 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 3 3 100.00 3 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
NumCopiesMustBeGreaterZero_A 1007 1007 0 0
OutputsKnown_A 120293070 119621917 0 0
gen_no_flops.OutputDelay_A 120293070 119621917 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1007 1007 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T7 1 1 0 0
T25 1 1 0 0
T46 1 1 0 0
T99 1 1 0 0
T100 1 1 0 0
T101 1 1 0 0

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119621917 0 0
T1 22688 22016 0 0
T2 24102 23625 0 0
T3 14689 14148 0 0
T4 22449 22090 0 0
T7 22940 22339 0 0
T25 25024 24333 0 0
T46 16516 16104 0 0
T99 16620 16255 0 0
T100 11040 10497 0 0
T101 23528 23110 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119621917 0 0
T1 22688 22016 0 0
T2 24102 23625 0 0
T3 14689 14148 0 0
T4 22449 22090 0 0
T7 22940 22339 0 0
T25 25024 24333 0 0
T46 16516 16104 0 0
T99 16620 16255 0 0
T100 11040 10497 0 0
T101 23528 23110 0 0

Line Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_or_hardened.u_prim_lc_sync_b
Line No.TotalCoveredPercent
TOTAL55100.00
ALWAYS8400
CONT_ASSIGN9311100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00

83 always_ff @(posedge clk_i or negedge rst_ni) begin 84 unreachable if (!rst_ni) begin 85 unreachable unused_logic <= lc_ctrl_pkg::Off; 86 end else begin 87 unreachable unused_logic <= lc_en_i; 88 end 89 end 90 //VCS coverage on 91 // pragma coverage on 92 93 1/1 assign lc_en = lc_en_i; Tests: T1 T2 T3  94 95 `ASSERT(OutputDelay_A, lc_en_o == {NumCopies{lc_en_i}}) 96 end 97 98 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 99 logic [lc_ctrl_pkg::TxWidth-1:0] lc_en_out; 100 for (genvar k = 0; k < lc_ctrl_pkg::TxWidth; k++) begin : gen_bits 101 prim_sec_anchor_buf u_prim_buf ( 102 .in_i(lc_en[k]), 103 .out_o(lc_en_out[k]) 104 ); 105 end 106 4/4 assign lc_en_o[j] = lc_ctrl_pkg::lc_tx_t'(lc_en_out); Tests: T1 T2 T3  | T1 T2 T3  | T1 T2 T3  | T1 T2 T3 

Assert Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_or_hardened.u_prim_lc_sync_b
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 3 3 100.00 3 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 3 3 100.00 3 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
NumCopiesMustBeGreaterZero_A 1007 1007 0 0
OutputsKnown_A 120293070 119621917 0 0
gen_no_flops.OutputDelay_A 120293070 119621917 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1007 1007 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T7 1 1 0 0
T25 1 1 0 0
T46 1 1 0 0
T99 1 1 0 0
T100 1 1 0 0
T101 1 1 0 0

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119621917 0 0
T1 22688 22016 0 0
T2 24102 23625 0 0
T3 14689 14148 0 0
T4 22449 22090 0 0
T7 22940 22339 0 0
T25 25024 24333 0 0
T46 16516 16104 0 0
T99 16620 16255 0 0
T100 11040 10497 0 0
T101 23528 23110 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119621917 0 0
T1 22688 22016 0 0
T2 24102 23625 0 0
T3 14689 14148 0 0
T4 22449 22090 0 0
T7 22940 22339 0 0
T25 25024 24333 0 0
T46 16516 16104 0 0
T99 16620 16255 0 0
T100 11040 10497 0 0
T101 23528 23110 0 0

Line Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_pinmux_hw_debug_en
Line No.TotalCoveredPercent
TOTAL44100.00
ALWAYS8400
CONT_ASSIGN9311100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00
CONT_ASSIGN10611100.00

83 always_ff @(posedge clk_i or negedge rst_ni) begin 84 unreachable if (!rst_ni) begin 85 unreachable unused_logic <= lc_ctrl_pkg::Off; 86 end else begin 87 unreachable unused_logic <= lc_en_i; 88 end 89 end 90 //VCS coverage on 91 // pragma coverage on 92 93 1/1 assign lc_en = lc_en_i; Tests: T1 T2 T3  94 95 `ASSERT(OutputDelay_A, lc_en_o == {NumCopies{lc_en_i}}) 96 end 97 98 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 99 logic [lc_ctrl_pkg::TxWidth-1:0] lc_en_out; 100 for (genvar k = 0; k < lc_ctrl_pkg::TxWidth; k++) begin : gen_bits 101 prim_sec_anchor_buf u_prim_buf ( 102 .in_i(lc_en[k]), 103 .out_o(lc_en_out[k]) 104 ); 105 end 106 3/3 assign lc_en_o[j] = lc_ctrl_pkg::lc_tx_t'(lc_en_out); Tests: T1 T2 T3  | T1 T2 T3  | T1 T2 T3 

Assert Coverage for Instance : tb.dut.top_earlgrey.u_pinmux_aon.u_pinmux_strap_sampling.u_prim_lc_sync_pinmux_hw_debug_en
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 3 3 100.00 3 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 3 3 100.00 3 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
NumCopiesMustBeGreaterZero_A 1007 1007 0 0
OutputsKnown_A 120293070 119621917 0 0
gen_no_flops.OutputDelay_A 120293070 119621917 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1007 1007 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T7 1 1 0 0
T25 1 1 0 0
T46 1 1 0 0
T99 1 1 0 0
T100 1 1 0 0
T101 1 1 0 0

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119621917 0 0
T1 22688 22016 0 0
T2 24102 23625 0 0
T3 14689 14148 0 0
T4 22449 22090 0 0
T7 22940 22339 0 0
T25 25024 24333 0 0
T46 16516 16104 0 0
T99 16620 16255 0 0
T100 11040 10497 0 0
T101 23528 23110 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 120293070 119621917 0 0
T1 22688 22016 0 0
T2 24102 23625 0 0
T3 14689 14148 0 0
T4 22449 22090 0 0
T7 22940 22339 0 0
T25 25024 24333 0 0
T46 16516 16104 0 0
T99 16620 16255 0 0
T100 11040 10497 0 0
T101 23528 23110 0 0

Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_core_ibex.u_lc_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS6811100.00
CONT_ASSIGN10611100.00

67 always_ff @(posedge clk_i) begin 68 1/1 lc_en_in_sva_q <= lc_en_i; Tests: T1 T2 T3  69 end 70 `ASSERT(OutputDelay_A, 71 rst_ni |-> ##3 lc_en_o == {NumCopies{$past(lc_en_in_sva_q, 2)}} || 72 ($past(lc_en_in_sva_q, 2) != $past(lc_en_in_sva_q, 1))) 73 `endif 74 end else begin : gen_no_flops 75 //VCS coverage off 76 // pragma coverage off 77 78 // This unused companion logic helps remove lint errors 79 // for modules where clock and reset are used for assertions only 80 // or nothing at all. 81 // This logic will be removed for sythesis since it is unloaded. 82 lc_ctrl_pkg::lc_tx_t unused_logic; 83 always_ff @(posedge clk_i or negedge rst_ni) begin 84 if (!rst_ni) begin 85 unused_logic <= lc_ctrl_pkg::Off; 86 end else begin 87 unused_logic <= lc_en_i; 88 end 89 end 90 //VCS coverage on 91 // pragma coverage on 92 93 assign lc_en = lc_en_i; 94 95 `ASSERT(OutputDelay_A, lc_en_o == {NumCopies{lc_en_i}}) 96 end 97 98 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 99 logic [lc_ctrl_pkg::TxWidth-1:0] lc_en_out; 100 for (genvar k = 0; k < lc_ctrl_pkg::TxWidth; k++) begin : gen_bits 101 prim_sec_anchor_buf u_prim_buf ( 102 .in_i(lc_en[k]), 103 .out_o(lc_en_out[k]) 104 ); 105 end 106 1/1 assign lc_en_o[j] = lc_ctrl_pkg::lc_tx_t'(lc_en_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.top_earlgrey.u_rv_core_ibex.u_lc_sync
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 3 3 100.00 3 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 3 3 100.00 3 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
NumCopiesMustBeGreaterZero_A 1007 1007 0 0
OutputsKnown_A 482982954 482878349 0 0
gen_flops.OutputDelay_A 482982954 482870949 0 3000


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1007 1007 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T7 1 1 0 0
T25 1 1 0 0
T46 1 1 0 0
T99 1 1 0 0
T100 1 1 0 0
T101 1 1 0 0

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 482982954 482878349 0 0
T1 90199 90141 0 0
T2 96900 96845 0 0
T3 57421 57359 0 0
T4 81721 81663 0 0
T7 91544 91486 0 0
T25 94967 94905 0 0
T46 65559 65508 0 0
T99 66193 66142 0 0
T100 42210 42152 0 0
T101 94759 94701 0 0

gen_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 482982954 482870949 0 3000
T1 90199 90137 0 3
T2 96900 96841 0 3
T3 57421 57355 0 3
T4 81721 81659 0 3
T7 91544 91482 0 3
T25 94967 94901 0 3
T46 65559 65504 0 3
T99 66193 66138 0 3
T100 42210 42148 0 3
T101 94759 94697 0 3

Line Coverage for Instance : tb.dut.top_earlgrey.u_rv_core_ibex.u_pwrmgr_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS6811100.00
CONT_ASSIGN10611100.00

67 always_ff @(posedge clk_i) begin 68 1/1 lc_en_in_sva_q <= lc_en_i; Tests: T1 T2 T3  69 end 70 `ASSERT(OutputDelay_A, 71 rst_ni |-> ##3 lc_en_o == {NumCopies{$past(lc_en_in_sva_q, 2)}} || 72 ($past(lc_en_in_sva_q, 2) != $past(lc_en_in_sva_q, 1))) 73 `endif 74 end else begin : gen_no_flops 75 //VCS coverage off 76 // pragma coverage off 77 78 // This unused companion logic helps remove lint errors 79 // for modules where clock and reset are used for assertions only 80 // or nothing at all. 81 // This logic will be removed for sythesis since it is unloaded. 82 lc_ctrl_pkg::lc_tx_t unused_logic; 83 always_ff @(posedge clk_i or negedge rst_ni) begin 84 if (!rst_ni) begin 85 unused_logic <= lc_ctrl_pkg::Off; 86 end else begin 87 unused_logic <= lc_en_i; 88 end 89 end 90 //VCS coverage on 91 // pragma coverage on 92 93 assign lc_en = lc_en_i; 94 95 `ASSERT(OutputDelay_A, lc_en_o == {NumCopies{lc_en_i}}) 96 end 97 98 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 99 logic [lc_ctrl_pkg::TxWidth-1:0] lc_en_out; 100 for (genvar k = 0; k < lc_ctrl_pkg::TxWidth; k++) begin : gen_bits 101 prim_sec_anchor_buf u_prim_buf ( 102 .in_i(lc_en[k]), 103 .out_o(lc_en_out[k]) 104 ); 105 end 106 1/1 assign lc_en_o[j] = lc_ctrl_pkg::lc_tx_t'(lc_en_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.top_earlgrey.u_rv_core_ibex.u_pwrmgr_sync
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 3 3 100.00 3 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 3 3 100.00 3 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
NumCopiesMustBeGreaterZero_A 1007 1007 0 0
OutputsKnown_A 482982954 482878349 0 0
gen_flops.OutputDelay_A 482982954 482870949 0 3000


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1007 1007 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T7 1 1 0 0
T25 1 1 0 0
T46 1 1 0 0
T99 1 1 0 0
T100 1 1 0 0
T101 1 1 0 0

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 482982954 482878349 0 0
T1 90199 90141 0 0
T2 96900 96845 0 0
T3 57421 57359 0 0
T4 81721 81663 0 0
T7 91544 91486 0 0
T25 94967 94905 0 0
T46 65559 65508 0 0
T99 66193 66142 0 0
T100 42210 42152 0 0
T101 94759 94701 0 0

gen_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 482982954 482870949 0 3000
T1 90199 90137 0 3
T2 96900 96841 0 3
T3 57421 57355 0 3
T4 81721 81659 0 3
T7 91544 91482 0 3
T25 94967 94901 0 3
T46 65559 65504 0 3
T99 66193 66138 0 3
T100 42210 42148 0 3
T101 94759 94697 0 3

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