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

Module : prim_mubi4_sync
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00

Source File(s) :
/workspaces/lowrisc/opentitan/scratch/earlgrey_1_0_0_2024_08_20_RC0/clkmgr-sim-vcs/default/sim-vcs/../src/lowrisc_prim_mubi_0.1/rtl/prim_mubi4_sync.sv

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.u_io_step_down_req_sync 100.00 100.00 100.00 100.00 100.00
tb.dut.u_io_div2_div_scanmode_sync 100.00 100.00 100.00
tb.dut.u_io_div4_div_scanmode_sync 100.00 100.00 100.00
tb.dut.u_clkmgr_byp.u_io_ack_sync 100.00 100.00 100.00 100.00 100.00
tb.dut.u_clkmgr_byp.u_all_ack_sync 100.00 100.00 100.00 100.00 100.00
tb.dut.u_main_root_ctrl.u_scanmode_sync 100.00 100.00 100.00
tb.dut.u_io_root_ctrl.u_scanmode_sync 100.00 100.00 100.00
tb.dut.u_io_div2_root_ctrl.u_scanmode_sync 100.00 100.00 100.00
tb.dut.u_io_div4_root_ctrl.u_scanmode_sync 100.00 100.00 100.00
tb.dut.u_usb_root_ctrl.u_scanmode_sync 100.00 100.00 100.00
tb.dut.u_calib_rdy_sync 100.00 100.00 100.00
tb.dut.u_io_meas.u_calib_rdy_sync 100.00 100.00 100.00
tb.dut.u_io_div2_meas.u_calib_rdy_sync 100.00 100.00 100.00
tb.dut.u_io_div4_meas.u_calib_rdy_sync 100.00 100.00 100.00
tb.dut.u_main_meas.u_calib_rdy_sync 100.00 100.00 100.00
tb.dut.u_usb_meas.u_calib_rdy_sync 100.00 100.00 100.00
tb.dut.u_clk_io_div4_peri_scanmode_sync 100.00 100.00 100.00
tb.dut.u_clk_io_div2_peri_scanmode_sync 100.00 100.00 100.00
tb.dut.u_clk_io_peri_scanmode_sync 100.00 100.00 100.00
tb.dut.u_clk_usb_peri_scanmode_sync 100.00 100.00 100.00
tb.dut.u_clk_main_aes_trans.u_idle_sync 100.00 100.00 100.00 100.00 100.00
tb.dut.u_clk_main_aes_trans.u_scanmode_sync 100.00 100.00 100.00
tb.dut.u_clk_main_hmac_trans.u_idle_sync 100.00 100.00 100.00 100.00 100.00
tb.dut.u_clk_main_hmac_trans.u_scanmode_sync 100.00 100.00 100.00
tb.dut.u_clk_main_kmac_trans.u_idle_sync 100.00 100.00 100.00 100.00 100.00
tb.dut.u_clk_main_kmac_trans.u_scanmode_sync 100.00 100.00 100.00
tb.dut.u_clk_main_otbn_trans.u_idle_sync 100.00 100.00 100.00 100.00 100.00
tb.dut.u_clk_main_otbn_trans.u_scanmode_sync 100.00 100.00 100.00



Module Instance : tb.dut.u_io_step_down_req_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
98.65 100.00 93.24 100.00 100.00 100.00 dut


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.gen_stable_chks.gen_bufs_muxes[0].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[1].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[2].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[3].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.u_mubi_xor 100.00 100.00
gen_flops.gen_stable_chks.u_prim_flop_3rd_stage 100.00 100.00 100.00
gen_flops.u_prim_flop_2sync 100.00 100.00 100.00



Module Instance : tb.dut.u_io_div2_div_scanmode_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
98.65 100.00 93.24 100.00 100.00 100.00 dut


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



Module Instance : tb.dut.u_io_div4_div_scanmode_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
98.65 100.00 93.24 100.00 100.00 100.00 dut


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



Module Instance : tb.dut.u_clkmgr_byp.u_io_ack_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_clkmgr_byp


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.gen_stable_chks.gen_bufs_muxes[0].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[1].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[2].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[3].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.u_mubi_xor 100.00 100.00
gen_flops.gen_stable_chks.u_prim_flop_3rd_stage 100.00 100.00 100.00
gen_flops.u_prim_flop_2sync 100.00 100.00 100.00



Module Instance : tb.dut.u_clkmgr_byp.u_all_ack_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_clkmgr_byp


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.gen_stable_chks.gen_bufs_muxes[0].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[1].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[2].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[3].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.u_mubi_xor 100.00 100.00
gen_flops.gen_stable_chks.u_prim_flop_3rd_stage 100.00 100.00 100.00
gen_flops.u_prim_flop_2sync 100.00 100.00 100.00



Module Instance : tb.dut.u_main_root_ctrl.u_scanmode_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
u_main_root_ctrl


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



Module Instance : tb.dut.u_io_root_ctrl.u_scanmode_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
u_io_root_ctrl


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



Module Instance : tb.dut.u_io_div2_root_ctrl.u_scanmode_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
u_io_div2_root_ctrl


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



Module Instance : tb.dut.u_io_div4_root_ctrl.u_scanmode_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
u_io_div4_root_ctrl


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



Module Instance : tb.dut.u_usb_root_ctrl.u_scanmode_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
u_usb_root_ctrl


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



Module Instance : tb.dut.u_calib_rdy_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
98.65 100.00 93.24 100.00 100.00 100.00 dut


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
gen_buffs[4].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[4].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[4].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[4].gen_bits[3].u_prim_buf 100.00 100.00
gen_buffs[5].gen_bits[0].u_prim_buf 100.00 100.00
gen_buffs[5].gen_bits[1].u_prim_buf 100.00 100.00
gen_buffs[5].gen_bits[2].u_prim_buf 100.00 100.00
gen_buffs[5].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.u_io_meas.u_calib_rdy_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
94.44 100.00 83.33 100.00 u_io_meas


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.u_io_div2_meas.u_calib_rdy_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
94.44 100.00 83.33 100.00 u_io_div2_meas


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.u_io_div4_meas.u_calib_rdy_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
94.44 100.00 83.33 100.00 u_io_div4_meas


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.u_main_meas.u_calib_rdy_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
94.44 100.00 83.33 100.00 u_main_meas


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.u_usb_meas.u_calib_rdy_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
94.44 100.00 83.33 100.00 u_usb_meas


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.u_clk_io_div4_peri_scanmode_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
98.65 100.00 93.24 100.00 100.00 100.00 dut


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



Module Instance : tb.dut.u_clk_io_div2_peri_scanmode_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
98.65 100.00 93.24 100.00 100.00 100.00 dut


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



Module Instance : tb.dut.u_clk_io_peri_scanmode_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
98.65 100.00 93.24 100.00 100.00 100.00 dut


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



Module Instance : tb.dut.u_clk_usb_peri_scanmode_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
98.65 100.00 93.24 100.00 100.00 100.00 dut


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



Module Instance : tb.dut.u_clk_main_aes_trans.u_idle_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 100.00 100.00 u_clk_main_aes_trans


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.gen_stable_chks.gen_bufs_muxes[0].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[1].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[2].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[3].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.u_mubi_xor 100.00 100.00
gen_flops.gen_stable_chks.u_prim_flop_3rd_stage 100.00 100.00 100.00
gen_flops.u_prim_flop_2sync 100.00 100.00 100.00



Module Instance : tb.dut.u_clk_main_aes_trans.u_scanmode_sync

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_clk_main_aes_trans


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



Module Instance : tb.dut.u_clk_main_hmac_trans.u_idle_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 100.00 100.00 u_clk_main_hmac_trans


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.gen_stable_chks.gen_bufs_muxes[0].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[1].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[2].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[3].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.u_mubi_xor 100.00 100.00
gen_flops.gen_stable_chks.u_prim_flop_3rd_stage 100.00 100.00 100.00
gen_flops.u_prim_flop_2sync 100.00 100.00 100.00



Module Instance : tb.dut.u_clk_main_hmac_trans.u_scanmode_sync

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_clk_main_hmac_trans


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



Module Instance : tb.dut.u_clk_main_kmac_trans.u_idle_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 100.00 100.00 u_clk_main_kmac_trans


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.gen_stable_chks.gen_bufs_muxes[0].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[1].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[2].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[3].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.u_mubi_xor 100.00 100.00
gen_flops.gen_stable_chks.u_prim_flop_3rd_stage 100.00 100.00 100.00
gen_flops.u_prim_flop_2sync 100.00 100.00 100.00



Module Instance : tb.dut.u_clk_main_kmac_trans.u_scanmode_sync

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_clk_main_kmac_trans


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



Module Instance : tb.dut.u_clk_main_otbn_trans.u_idle_sync

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 100.00 100.00 u_clk_main_otbn_trans


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.gen_stable_chks.gen_bufs_muxes[0].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[1].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[2].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.gen_bufs_muxes[3].u_sig_unstable_buf 100.00 100.00
gen_flops.gen_stable_chks.u_mubi_xor 100.00 100.00
gen_flops.gen_stable_chks.u_prim_flop_3rd_stage 100.00 100.00 100.00
gen_flops.u_prim_flop_2sync 100.00 100.00 100.00



Module Instance : tb.dut.u_clk_main_otbn_trans.u_scanmode_sync

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_clk_main_otbn_trans


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

Line Coverage for Module : prim_mubi4_sync ( parameter NumCopies=1,AsyncOn=1,StabilityCheck=1,ResetValue=9 )
Line Coverage for Module self-instances :
SCORELINE
100.00 100.00
tb.dut.u_io_step_down_req_sync

SCORELINE
100.00 100.00
tb.dut.u_clkmgr_byp.u_io_ack_sync

SCORELINE
100.00 100.00
tb.dut.u_clkmgr_byp.u_all_ack_sync

SCORELINE
100.00 100.00
tb.dut.u_clk_main_aes_trans.u_idle_sync

SCORELINE
100.00 100.00
tb.dut.u_clk_main_hmac_trans.u_idle_sync

SCORELINE
100.00 100.00
tb.dut.u_clk_main_kmac_trans.u_idle_sync

SCORELINE
100.00 100.00
tb.dut.u_clk_main_otbn_trans.u_idle_sync

Line No.TotalCoveredPercent
TOTAL66100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
ALWAYS11711100.00
CONT_ASSIGN16811100.00

95 // hence this mux can be implemented behaviorally. 96 4/4 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Tests: T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6  97 end 98 99 // Note regarding SVAs below: 100 // 101 // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after 102 // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed" 103 // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page 104 // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni 105 // on the active clock edge. This causes the assertion to evaluate although the reset was actually 106 // 0 when entering this simulation cycle. 107 // 108 // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may 109 // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly 110 // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock 111 // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make 112 // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no 113 // sampling mismatches. 114 `ifdef INC_ASSERT 115 mubi4_t mubi_in_sva_q; 116 always_ff @(posedge clk_i) begin 117 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  118 end 119 `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}}) 120 `ASSERT(OutputDelay_A, 121 rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}}) 122 `endif 123 end else begin : gen_no_stable_chks 124 assign mubi = mubi_sync; 125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 mubi_in_sva_q <= mubi_i; 129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Line Coverage for Module : prim_mubi4_sync ( parameter NumCopies=1,AsyncOn=0,StabilityCheck=0,ResetValue=9 )
Line Coverage for Module self-instances :
SCORELINE
100.00 100.00
tb.dut.u_io_div2_div_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_io_div4_div_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_main_root_ctrl.u_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_io_root_ctrl.u_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_io_div2_root_ctrl.u_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_io_div4_root_ctrl.u_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_usb_root_ctrl.u_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_clk_io_div4_peri_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_clk_io_div2_peri_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_clk_io_peri_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_clk_usb_peri_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_clk_main_aes_trans.u_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_clk_main_hmac_trans.u_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_clk_main_kmac_trans.u_scanmode_sync

SCORELINE
100.00 100.00
tb.dut.u_clk_main_otbn_trans.u_scanmode_sync

Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Line Coverage for Module : prim_mubi4_sync ( parameter NumCopies=6,AsyncOn=1,StabilityCheck=0,ResetValue=9 )
Line Coverage for Module self-instances :
SCORELINE
100.00 100.00
tb.dut.u_calib_rdy_sync

Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN12411100.00
ALWAYS12811100.00
CONT_ASSIGN16811100.00
CONT_ASSIGN16811100.00
CONT_ASSIGN16811100.00
CONT_ASSIGN16811100.00
CONT_ASSIGN16811100.00
CONT_ASSIGN16811100.00

123 end else begin : gen_no_stable_chks 124 1/1 assign mubi = mubi_sync; Tests: T4 T5 T6  125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 6/6 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6 

Line Coverage for Module : prim_mubi4_sync ( parameter NumCopies=1,AsyncOn=1,StabilityCheck=0,ResetValue=9 )
Line Coverage for Module self-instances :
SCORELINE
100.00 100.00
tb.dut.u_io_meas.u_calib_rdy_sync

SCORELINE
100.00 100.00
tb.dut.u_io_div2_meas.u_calib_rdy_sync

SCORELINE
100.00 100.00
tb.dut.u_io_div4_meas.u_calib_rdy_sync

SCORELINE
100.00 100.00
tb.dut.u_main_meas.u_calib_rdy_sync

SCORELINE
100.00 100.00
tb.dut.u_usb_meas.u_calib_rdy_sync

Line No.TotalCoveredPercent
TOTAL33100.00
CONT_ASSIGN12411100.00
ALWAYS12811100.00
CONT_ASSIGN16811100.00

123 end else begin : gen_no_stable_chks 124 1/1 assign mubi = mubi_sync; Tests: T4 T5 T6  125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Cond Coverage for Module : prim_mubi4_sync
TotalCoveredPercent
Conditions88100.00
Logical88100.00
Non-Logical00
Event00

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

Branch Coverage for Module : prim_mubi4_sync
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


Assert Coverage for Module : prim_mubi4_sync
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 6 6 100.00 6 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 6 6 100.00 6 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
NumCopiesMustBeGreaterZero_A 22540 22540 0 0
OutputsKnown_A 1449661079 1364742473 0 0
gen_flops.gen_no_stable_chks.OutputDelay_A 234376794 218006244 0 14490
gen_flops.gen_stable_chks.OutputDelay_A 448801583 420532421 0 16905
gen_flops.gen_stable_chks.OutputIfUnstable_A 448801583 125527 0 0
gen_no_flops.OutputDelay_A 766482702 726114954 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 22540 22540 0 0
T4 28 28 0 0
T5 28 28 0 0
T6 28 28 0 0
T32 28 28 0 0
T33 28 28 0 0
T34 28 28 0 0
T35 28 28 0 0
T36 28 28 0 0
T37 28 28 0 0
T38 28 28 0 0

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1449661079 1364742473 0 0
T4 39486 37515 0 0
T5 66867 64912 0 0
T6 43404 39280 0 0
T32 83701 81550 0 0
T33 37738 33551 0 0
T34 56069 50928 0 0
T35 100962 97678 0 0
T36 97708 94578 0 0
T37 472869 471985 0 0
T38 739778 737878 0 0

gen_flops.gen_no_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 234376794 218006244 0 14490
T4 8868 8370 0 18
T5 6216 5982 0 18
T6 9804 8814 0 18
T32 8034 7770 0 18
T33 8760 7728 0 18
T34 12882 11592 0 18
T35 9660 9288 0 18
T36 9330 8970 0 18
T37 11016 10980 0 18
T38 17310 17244 0 18

gen_flops.gen_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 448801583 420532421 0 16905
T4 10598 10001 0 21
T5 23509 22648 0 21
T6 11710 10527 0 21
T32 29268 28327 0 21
T33 10040 8843 0 21
T34 14944 13447 0 21
T35 35187 33857 0 21
T36 33971 32715 0 21
T37 185936 185497 0 21
T38 292021 291145 0 21

gen_flops.gen_stable_chks.OutputIfUnstable_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 448801583 125527 0 0
T4 10598 80 0 0
T5 23509 16 0 0
T6 11710 82 0 0
T22 0 105 0 0
T24 0 9 0 0
T25 0 37 0 0
T27 0 9 0 0
T32 29268 40 0 0
T33 10040 20 0 0
T34 14944 121 0 0
T35 35187 152 0 0
T36 33971 188 0 0
T37 185936 154 0 0
T38 292021 238 0 0
T103 0 165 0 0
T130 0 51 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 766482702 726114954 0 0
T4 20020 19105 0 0
T5 37142 36243 0 0
T6 21890 19900 0 0
T32 46399 45414 0 0
T33 18938 16941 0 0
T34 28243 25850 0 0
T35 56115 54494 0 0
T36 54407 52854 0 0
T37 275917 275469 0 0
T38 430447 429450 0 0

Line Coverage for Instance : tb.dut.u_io_step_down_req_sync
Line No.TotalCoveredPercent
TOTAL66100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
ALWAYS11711100.00
CONT_ASSIGN16811100.00

95 // hence this mux can be implemented behaviorally. 96 4/4 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Tests: T4 T34 T35  | T4 T34 T35  | T4 T34 T35  | T4 T34 T35  97 end 98 99 // Note regarding SVAs below: 100 // 101 // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after 102 // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed" 103 // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page 104 // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni 105 // on the active clock edge. This causes the assertion to evaluate although the reset was actually 106 // 0 when entering this simulation cycle. 107 // 108 // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may 109 // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly 110 // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock 111 // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make 112 // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no 113 // sampling mismatches. 114 `ifdef INC_ASSERT 115 mubi4_t mubi_in_sva_q; 116 always_ff @(posedge clk_i) begin 117 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  118 end 119 `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}}) 120 `ASSERT(OutputDelay_A, 121 rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}}) 122 `endif 123 end else begin : gen_no_stable_chks 124 assign mubi = mubi_sync; 125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 mubi_in_sva_q <= mubi_i; 129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T34 T35 

Cond Coverage for Instance : tb.dut.u_io_step_down_req_sync
TotalCoveredPercent
Conditions88100.00
Logical88100.00
Non-Logical00
Event00

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T34,T35

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T34,T35

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T34,T35

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T34,T35

Branch Coverage for Instance : tb.dut.u_io_step_down_req_sync
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T4,T34,T35
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T34,T35
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T34,T35
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T34,T35
0 Covered T4,T5,T6


Assert Coverage for Instance : tb.dut.u_io_step_down_req_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 805 805 0 0
OutputsKnown_A 67850313 63571675 0 0
gen_flops.gen_stable_chks.OutputDelay_A 67850313 63564949 0 2415
gen_flops.gen_stable_chks.OutputIfUnstable_A 67850313 17708 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 67850313 63571675 0 0
T4 1478 1398 0 0
T5 4149 4001 0 0
T6 1634 1472 0 0
T32 5146 4984 0 0
T33 1372 1210 0 0
T34 2062 1858 0 0
T35 6187 5956 0 0
T36 5973 5756 0 0
T37 35276 35196 0 0
T38 55403 55240 0 0

gen_flops.gen_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 67850313 63564949 0 2415
T4 1478 1395 0 3
T5 4149 3998 0 3
T6 1634 1469 0 3
T32 5146 4981 0 3
T33 1372 1207 0 3
T34 2062 1855 0 3
T35 6187 5953 0 3
T36 5973 5753 0 3
T37 35276 35193 0 3
T38 55403 55237 0 3

gen_flops.gen_stable_chks.OutputIfUnstable_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 67850313 17708 0 0
T4 1478 19 0 0
T5 4149 0 0 0
T6 1634 0 0 0
T22 0 49 0 0
T24 0 4 0 0
T25 0 20 0 0
T27 0 4 0 0
T32 5146 0 0 0
T33 1372 0 0 0
T34 2062 37 0 0
T35 6187 64 0 0
T36 5973 49 0 0
T37 35276 38 0 0
T38 55403 0 0 0
T103 0 54 0 0

Line Coverage for Instance : tb.dut.u_io_div2_div_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_io_div2_div_scanmode_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_no_flops.OutputDelay_A 39062799 36341246 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

Line Coverage for Instance : tb.dut.u_io_div4_div_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_io_div4_div_scanmode_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_no_flops.OutputDelay_A 39062799 36341246 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

Line Coverage for Instance : tb.dut.u_clkmgr_byp.u_io_ack_sync
Line No.TotalCoveredPercent
TOTAL66100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
ALWAYS11711100.00
CONT_ASSIGN16811100.00

95 // hence this mux can be implemented behaviorally. 96 4/4 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Tests: T4 T34 T35  | T4 T34 T35  | T4 T34 T35  | T4 T34 T35  97 end 98 99 // Note regarding SVAs below: 100 // 101 // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after 102 // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed" 103 // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page 104 // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni 105 // on the active clock edge. This causes the assertion to evaluate although the reset was actually 106 // 0 when entering this simulation cycle. 107 // 108 // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may 109 // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly 110 // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock 111 // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make 112 // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no 113 // sampling mismatches. 114 `ifdef INC_ASSERT 115 mubi4_t mubi_in_sva_q; 116 always_ff @(posedge clk_i) begin 117 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  118 end 119 `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}}) 120 `ASSERT(OutputDelay_A, 121 rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}}) 122 `endif 123 end else begin : gen_no_stable_chks 124 assign mubi = mubi_sync; 125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 mubi_in_sva_q <= mubi_i; 129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T34 T35 

Cond Coverage for Instance : tb.dut.u_clkmgr_byp.u_io_ack_sync
TotalCoveredPercent
Conditions88100.00
Logical88100.00
Non-Logical00
Event00

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T34,T35

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T34,T35

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T34,T35

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T34,T35

Branch Coverage for Instance : tb.dut.u_clkmgr_byp.u_io_ack_sync
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T4,T34,T35
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T34,T35
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T34,T35
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T34,T35
0 Covered T4,T5,T6


Assert Coverage for Instance : tb.dut.u_clkmgr_byp.u_io_ack_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_flops.gen_stable_chks.OutputDelay_A 39062799 36334374 0 2415
gen_flops.gen_stable_chks.OutputIfUnstable_A 39062799 10675 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_flops.gen_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36334374 0 2415
T4 1478 1395 0 3
T5 1036 997 0 3
T6 1634 1469 0 3
T32 1339 1295 0 3
T33 1460 1288 0 3
T34 2147 1932 0 3
T35 1610 1548 0 3
T36 1555 1495 0 3
T37 1836 1830 0 3
T38 2885 2874 0 3

gen_flops.gen_stable_chks.OutputIfUnstable_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 10675 0 0
T4 1478 11 0 0
T5 1036 0 0 0
T6 1634 0 0 0
T22 0 32 0 0
T24 0 3 0 0
T27 0 4 0 0
T32 1339 0 0 0
T33 1460 0 0 0
T34 2147 21 0 0
T35 1610 22 0 0
T36 1555 55 0 0
T37 1836 3 0 0
T38 2885 0 0 0
T103 0 64 0 0
T130 0 51 0 0

Line Coverage for Instance : tb.dut.u_clkmgr_byp.u_all_ack_sync
Line No.TotalCoveredPercent
TOTAL66100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
ALWAYS11711100.00
CONT_ASSIGN16811100.00

95 // hence this mux can be implemented behaviorally. 96 4/4 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Tests: T4 T34 T35  | T4 T34 T35  | T4 T34 T35  | T4 T34 T35  97 end 98 99 // Note regarding SVAs below: 100 // 101 // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after 102 // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed" 103 // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page 104 // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni 105 // on the active clock edge. This causes the assertion to evaluate although the reset was actually 106 // 0 when entering this simulation cycle. 107 // 108 // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may 109 // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly 110 // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock 111 // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make 112 // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no 113 // sampling mismatches. 114 `ifdef INC_ASSERT 115 mubi4_t mubi_in_sva_q; 116 always_ff @(posedge clk_i) begin 117 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  118 end 119 `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}}) 120 `ASSERT(OutputDelay_A, 121 rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}}) 122 `endif 123 end else begin : gen_no_stable_chks 124 assign mubi = mubi_sync; 125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 mubi_in_sva_q <= mubi_i; 129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T34 T35 

Cond Coverage for Instance : tb.dut.u_clkmgr_byp.u_all_ack_sync
TotalCoveredPercent
Conditions88100.00
Logical88100.00
Non-Logical00
Event00

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T34,T35

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T34,T35

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T34,T35

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T34,T35

Branch Coverage for Instance : tb.dut.u_clkmgr_byp.u_all_ack_sync
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T4,T34,T35
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T34,T35
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T34,T35
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T34,T35
0 Covered T4,T5,T6


Assert Coverage for Instance : tb.dut.u_clkmgr_byp.u_all_ack_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_flops.gen_stable_chks.OutputDelay_A 39062799 36334374 0 2415
gen_flops.gen_stable_chks.OutputIfUnstable_A 39062799 12370 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_flops.gen_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36334374 0 2415
T4 1478 1395 0 3
T5 1036 997 0 3
T6 1634 1469 0 3
T32 1339 1295 0 3
T33 1460 1288 0 3
T34 2147 1932 0 3
T35 1610 1548 0 3
T36 1555 1495 0 3
T37 1836 1830 0 3
T38 2885 2874 0 3

gen_flops.gen_stable_chks.OutputIfUnstable_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 12370 0 0
T4 1478 19 0 0
T5 1036 0 0 0
T6 1634 0 0 0
T22 0 24 0 0
T24 0 2 0 0
T25 0 17 0 0
T27 0 1 0 0
T32 1339 0 0 0
T33 1460 0 0 0
T34 2147 18 0 0
T35 1610 22 0 0
T36 1555 31 0 0
T37 1836 43 0 0
T38 2885 0 0 0
T103 0 47 0 0

Line Coverage for Instance : tb.dut.u_main_root_ctrl.u_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_main_root_ctrl.u_scanmode_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 805 805 0 0
OutputsKnown_A 75706418 73397848 0 0
gen_no_flops.OutputDelay_A 75706418 73397848 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 73397848 0 0
T4 1541 1500 0 0
T5 4322 4296 0 0
T6 1702 1562 0 0
T32 5361 5335 0 0
T33 1437 1311 0 0
T34 2147 2035 0 0
T35 6445 6319 0 0
T36 6222 6096 0 0
T37 36747 36707 0 0
T38 57712 57600 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 73397848 0 0
T4 1541 1500 0 0
T5 4322 4296 0 0
T6 1702 1562 0 0
T32 5361 5335 0 0
T33 1437 1311 0 0
T34 2147 2035 0 0
T35 6445 6319 0 0
T36 6222 6096 0 0
T37 36747 36707 0 0
T38 57712 57600 0 0

Line Coverage for Instance : tb.dut.u_io_root_ctrl.u_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_io_root_ctrl.u_scanmode_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 805 805 0 0
OutputsKnown_A 67850313 65717444 0 0
gen_no_flops.OutputDelay_A 67850313 65717444 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 67850313 65717444 0 0
T4 1478 1439 0 0
T5 4149 4124 0 0
T6 1634 1499 0 0
T32 5146 5121 0 0
T33 1372 1251 0 0
T34 2062 1954 0 0
T35 6187 6066 0 0
T36 5973 5852 0 0
T37 35276 35237 0 0
T38 55403 55295 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 67850313 65717444 0 0
T4 1478 1439 0 0
T5 4149 4124 0 0
T6 1634 1499 0 0
T32 5146 5121 0 0
T33 1372 1251 0 0
T34 2062 1954 0 0
T35 6187 6066 0 0
T36 5973 5852 0 0
T37 35276 35237 0 0
T38 55403 55295 0 0

Line Coverage for Instance : tb.dut.u_io_div2_root_ctrl.u_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_io_div2_root_ctrl.u_scanmode_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 805 805 0 0
OutputsKnown_A 33014455 33014455 0 0
gen_no_flops.OutputDelay_A 33014455 33014455 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 33014455 33014455 0 0
T4 820 820 0 0
T5 2062 2062 0 0
T6 750 750 0 0
T32 2561 2561 0 0
T33 626 626 0 0
T34 1023 1023 0 0
T35 3300 3300 0 0
T36 3339 3339 0 0
T37 18835 18835 0 0
T38 27648 27648 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 33014455 33014455 0 0
T4 820 820 0 0
T5 2062 2062 0 0
T6 750 750 0 0
T32 2561 2561 0 0
T33 626 626 0 0
T34 1023 1023 0 0
T35 3300 3300 0 0
T36 3339 3339 0 0
T37 18835 18835 0 0
T38 27648 27648 0 0

Line Coverage for Instance : tb.dut.u_io_div4_root_ctrl.u_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_io_div4_root_ctrl.u_scanmode_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 805 805 0 0
OutputsKnown_A 16506839 16506839 0 0
gen_no_flops.OutputDelay_A 16506839 16506839 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 16506839 16506839 0 0
T4 410 410 0 0
T5 1031 1031 0 0
T6 375 375 0 0
T32 1280 1280 0 0
T33 313 313 0 0
T34 511 511 0 0
T35 1649 1649 0 0
T36 1669 1669 0 0
T37 9416 9416 0 0
T38 13824 13824 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 16506839 16506839 0 0
T4 410 410 0 0
T5 1031 1031 0 0
T6 375 375 0 0
T32 1280 1280 0 0
T33 313 313 0 0
T34 511 511 0 0
T35 1649 1649 0 0
T36 1669 1669 0 0
T37 9416 9416 0 0
T38 13824 13824 0 0

Line Coverage for Instance : tb.dut.u_usb_root_ctrl.u_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_usb_root_ctrl.u_scanmode_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 805 805 0 0
OutputsKnown_A 36202211 35105016 0 0
gen_no_flops.OutputDelay_A 36202211 35105016 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 36202211 35105016 0 0
T4 739 720 0 0
T5 2074 2062 0 0
T6 817 750 0 0
T32 2573 2561 0 0
T33 682 622 0 0
T34 1030 977 0 0
T35 3094 3034 0 0
T36 2986 2926 0 0
T37 17639 17620 0 0
T38 27702 27649 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 36202211 35105016 0 0
T4 739 720 0 0
T5 2074 2062 0 0
T6 817 750 0 0
T32 2573 2561 0 0
T33 682 622 0 0
T34 1030 977 0 0
T35 3094 3034 0 0
T36 2986 2926 0 0
T37 17639 17620 0 0
T38 27702 27649 0 0

Line Coverage for Instance : tb.dut.u_calib_rdy_sync
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN12411100.00
ALWAYS12811100.00
CONT_ASSIGN16811100.00
CONT_ASSIGN16811100.00
CONT_ASSIGN16811100.00
CONT_ASSIGN16811100.00
CONT_ASSIGN16811100.00
CONT_ASSIGN16811100.00

123 end else begin : gen_no_stable_chks 124 1/1 assign mubi = mubi_sync; Tests: T4 T5 T6  125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 6/6 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_calib_rdy_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_flops.gen_no_stable_chks.OutputDelay_A 39062799 36334374 0 2415


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_flops.gen_no_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36334374 0 2415
T4 1478 1395 0 3
T5 1036 997 0 3
T6 1634 1469 0 3
T32 1339 1295 0 3
T33 1460 1288 0 3
T34 2147 1932 0 3
T35 1610 1548 0 3
T36 1555 1495 0 3
T37 1836 1830 0 3
T38 2885 2874 0 3

Line Coverage for Instance : tb.dut.u_io_meas.u_calib_rdy_sync
Line No.TotalCoveredPercent
TOTAL33100.00
CONT_ASSIGN12411100.00
ALWAYS12811100.00
CONT_ASSIGN16811100.00

123 end else begin : gen_no_stable_chks 124 1/1 assign mubi = mubi_sync; Tests: T4 T5 T6  125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_io_meas.u_calib_rdy_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_flops.gen_no_stable_chks.OutputDelay_A 39062799 36334374 0 2415


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_flops.gen_no_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36334374 0 2415
T4 1478 1395 0 3
T5 1036 997 0 3
T6 1634 1469 0 3
T32 1339 1295 0 3
T33 1460 1288 0 3
T34 2147 1932 0 3
T35 1610 1548 0 3
T36 1555 1495 0 3
T37 1836 1830 0 3
T38 2885 2874 0 3

Line Coverage for Instance : tb.dut.u_io_div2_meas.u_calib_rdy_sync
Line No.TotalCoveredPercent
TOTAL33100.00
CONT_ASSIGN12411100.00
ALWAYS12811100.00
CONT_ASSIGN16811100.00

123 end else begin : gen_no_stable_chks 124 1/1 assign mubi = mubi_sync; Tests: T4 T5 T6  125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_io_div2_meas.u_calib_rdy_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_flops.gen_no_stable_chks.OutputDelay_A 39062799 36334374 0 2415


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_flops.gen_no_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36334374 0 2415
T4 1478 1395 0 3
T5 1036 997 0 3
T6 1634 1469 0 3
T32 1339 1295 0 3
T33 1460 1288 0 3
T34 2147 1932 0 3
T35 1610 1548 0 3
T36 1555 1495 0 3
T37 1836 1830 0 3
T38 2885 2874 0 3

Line Coverage for Instance : tb.dut.u_io_div4_meas.u_calib_rdy_sync
Line No.TotalCoveredPercent
TOTAL33100.00
CONT_ASSIGN12411100.00
ALWAYS12811100.00
CONT_ASSIGN16811100.00

123 end else begin : gen_no_stable_chks 124 1/1 assign mubi = mubi_sync; Tests: T4 T5 T6  125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_io_div4_meas.u_calib_rdy_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_flops.gen_no_stable_chks.OutputDelay_A 39062799 36334374 0 2415


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_flops.gen_no_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36334374 0 2415
T4 1478 1395 0 3
T5 1036 997 0 3
T6 1634 1469 0 3
T32 1339 1295 0 3
T33 1460 1288 0 3
T34 2147 1932 0 3
T35 1610 1548 0 3
T36 1555 1495 0 3
T37 1836 1830 0 3
T38 2885 2874 0 3

Line Coverage for Instance : tb.dut.u_main_meas.u_calib_rdy_sync
Line No.TotalCoveredPercent
TOTAL33100.00
CONT_ASSIGN12411100.00
ALWAYS12811100.00
CONT_ASSIGN16811100.00

123 end else begin : gen_no_stable_chks 124 1/1 assign mubi = mubi_sync; Tests: T4 T5 T6  125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_main_meas.u_calib_rdy_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_flops.gen_no_stable_chks.OutputDelay_A 39062799 36334374 0 2415


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_flops.gen_no_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36334374 0 2415
T4 1478 1395 0 3
T5 1036 997 0 3
T6 1634 1469 0 3
T32 1339 1295 0 3
T33 1460 1288 0 3
T34 2147 1932 0 3
T35 1610 1548 0 3
T36 1555 1495 0 3
T37 1836 1830 0 3
T38 2885 2874 0 3

Line Coverage for Instance : tb.dut.u_usb_meas.u_calib_rdy_sync
Line No.TotalCoveredPercent
TOTAL33100.00
CONT_ASSIGN12411100.00
ALWAYS12811100.00
CONT_ASSIGN16811100.00

123 end else begin : gen_no_stable_chks 124 1/1 assign mubi = mubi_sync; Tests: T4 T5 T6  125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_usb_meas.u_calib_rdy_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_flops.gen_no_stable_chks.OutputDelay_A 39062799 36334374 0 2415


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_flops.gen_no_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36334374 0 2415
T4 1478 1395 0 3
T5 1036 997 0 3
T6 1634 1469 0 3
T32 1339 1295 0 3
T33 1460 1288 0 3
T34 2147 1932 0 3
T35 1610 1548 0 3
T36 1555 1495 0 3
T37 1836 1830 0 3
T38 2885 2874 0 3

Line Coverage for Instance : tb.dut.u_clk_io_div4_peri_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_clk_io_div4_peri_scanmode_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_no_flops.OutputDelay_A 39062799 36341246 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

Line Coverage for Instance : tb.dut.u_clk_io_div2_peri_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_clk_io_div2_peri_scanmode_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_no_flops.OutputDelay_A 39062799 36341246 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

Line Coverage for Instance : tb.dut.u_clk_io_peri_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_clk_io_peri_scanmode_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_no_flops.OutputDelay_A 39062799 36341246 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

Line Coverage for Instance : tb.dut.u_clk_usb_peri_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_clk_usb_peri_scanmode_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 805 805 0 0
OutputsKnown_A 39062799 36341246 0 0
gen_no_flops.OutputDelay_A 39062799 36341246 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 39062799 36341246 0 0
T4 1478 1398 0 0
T5 1036 1000 0 0
T6 1634 1472 0 0
T32 1339 1298 0 0
T33 1460 1291 0 0
T34 2147 1935 0 0
T35 1610 1551 0 0
T36 1555 1498 0 0
T37 1836 1833 0 0
T38 2885 2877 0 0

Line Coverage for Instance : tb.dut.u_clk_main_aes_trans.u_idle_sync
Line No.TotalCoveredPercent
TOTAL66100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
ALWAYS11711100.00
CONT_ASSIGN16811100.00

95 // hence this mux can be implemented behaviorally. 96 4/4 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Tests: T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6  97 end 98 99 // Note regarding SVAs below: 100 // 101 // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after 102 // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed" 103 // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page 104 // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni 105 // on the active clock edge. This causes the assertion to evaluate although the reset was actually 106 // 0 when entering this simulation cycle. 107 // 108 // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may 109 // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly 110 // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock 111 // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make 112 // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no 113 // sampling mismatches. 114 `ifdef INC_ASSERT 115 mubi4_t mubi_in_sva_q; 116 always_ff @(posedge clk_i) begin 117 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  118 end 119 `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}}) 120 `ASSERT(OutputDelay_A, 121 rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}}) 122 `endif 123 end else begin : gen_no_stable_chks 124 assign mubi = mubi_sync; 125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 mubi_in_sva_q <= mubi_i; 129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Cond Coverage for Instance : tb.dut.u_clk_main_aes_trans.u_idle_sync
TotalCoveredPercent
Conditions88100.00
Logical88100.00
Non-Logical00
Event00

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

Branch Coverage for Instance : tb.dut.u_clk_main_aes_trans.u_idle_sync
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


Assert Coverage for Instance : tb.dut.u_clk_main_aes_trans.u_idle_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 805 805 0 0
OutputsKnown_A 75706418 71081469 0 0
gen_flops.gen_stable_chks.OutputDelay_A 75706418 71074681 0 2415
gen_flops.gen_stable_chks.OutputIfUnstable_A 75706418 21285 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71081469 0 0
T4 1541 1457 0 0
T5 4322 4167 0 0
T6 1702 1533 0 0
T32 5361 5192 0 0
T33 1437 1268 0 0
T34 2147 1935 0 0
T35 6445 6205 0 0
T36 6222 5996 0 0
T37 36747 36664 0 0
T38 57712 57543 0 0

gen_flops.gen_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71074681 0 2415
T4 1541 1454 0 3
T5 4322 4164 0 3
T6 1702 1530 0 3
T32 5361 5189 0 3
T33 1437 1265 0 3
T34 2147 1932 0 3
T35 6445 6202 0 3
T36 6222 5993 0 3
T37 36747 36661 0 3
T38 57712 57540 0 3

gen_flops.gen_stable_chks.OutputIfUnstable_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 21285 0 0
T4 1541 10 0 0
T5 4322 4 0 0
T6 1702 20 0 0
T32 5361 13 0 0
T33 1437 5 0 0
T34 2147 11 0 0
T35 6445 7 0 0
T36 6222 12 0 0
T37 36747 18 0 0
T38 57712 58 0 0

Line Coverage for Instance : tb.dut.u_clk_main_aes_trans.u_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_clk_main_aes_trans.u_scanmode_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 805 805 0 0
OutputsKnown_A 75706418 71081469 0 0
gen_no_flops.OutputDelay_A 75706418 71081469 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71081469 0 0
T4 1541 1457 0 0
T5 4322 4167 0 0
T6 1702 1533 0 0
T32 5361 5192 0 0
T33 1437 1268 0 0
T34 2147 1935 0 0
T35 6445 6205 0 0
T36 6222 5996 0 0
T37 36747 36664 0 0
T38 57712 57543 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71081469 0 0
T4 1541 1457 0 0
T5 4322 4167 0 0
T6 1702 1533 0 0
T32 5361 5192 0 0
T33 1437 1268 0 0
T34 2147 1935 0 0
T35 6445 6205 0 0
T36 6222 5996 0 0
T37 36747 36664 0 0
T38 57712 57543 0 0

Line Coverage for Instance : tb.dut.u_clk_main_hmac_trans.u_idle_sync
Line No.TotalCoveredPercent
TOTAL66100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
ALWAYS11711100.00
CONT_ASSIGN16811100.00

95 // hence this mux can be implemented behaviorally. 96 4/4 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Tests: T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6  97 end 98 99 // Note regarding SVAs below: 100 // 101 // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after 102 // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed" 103 // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page 104 // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni 105 // on the active clock edge. This causes the assertion to evaluate although the reset was actually 106 // 0 when entering this simulation cycle. 107 // 108 // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may 109 // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly 110 // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock 111 // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make 112 // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no 113 // sampling mismatches. 114 `ifdef INC_ASSERT 115 mubi4_t mubi_in_sva_q; 116 always_ff @(posedge clk_i) begin 117 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  118 end 119 `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}}) 120 `ASSERT(OutputDelay_A, 121 rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}}) 122 `endif 123 end else begin : gen_no_stable_chks 124 assign mubi = mubi_sync; 125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 mubi_in_sva_q <= mubi_i; 129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Cond Coverage for Instance : tb.dut.u_clk_main_hmac_trans.u_idle_sync
TotalCoveredPercent
Conditions88100.00
Logical88100.00
Non-Logical00
Event00

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

Branch Coverage for Instance : tb.dut.u_clk_main_hmac_trans.u_idle_sync
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


Assert Coverage for Instance : tb.dut.u_clk_main_hmac_trans.u_idle_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 805 805 0 0
OutputsKnown_A 75706418 71081469 0 0
gen_flops.gen_stable_chks.OutputDelay_A 75706418 71074681 0 2415
gen_flops.gen_stable_chks.OutputIfUnstable_A 75706418 21125 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71081469 0 0
T4 1541 1457 0 0
T5 4322 4167 0 0
T6 1702 1533 0 0
T32 5361 5192 0 0
T33 1437 1268 0 0
T34 2147 1935 0 0
T35 6445 6205 0 0
T36 6222 5996 0 0
T37 36747 36664 0 0
T38 57712 57543 0 0

gen_flops.gen_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71074681 0 2415
T4 1541 1454 0 3
T5 4322 4164 0 3
T6 1702 1530 0 3
T32 5361 5189 0 3
T33 1437 1265 0 3
T34 2147 1932 0 3
T35 6445 6202 0 3
T36 6222 5993 0 3
T37 36747 36661 0 3
T38 57712 57540 0 3

gen_flops.gen_stable_chks.OutputIfUnstable_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 21125 0 0
T4 1541 5 0 0
T5 4322 4 0 0
T6 1702 26 0 0
T32 5361 9 0 0
T33 1437 5 0 0
T34 2147 11 0 0
T35 6445 17 0 0
T36 6222 15 0 0
T37 36747 20 0 0
T38 57712 61 0 0

Line Coverage for Instance : tb.dut.u_clk_main_hmac_trans.u_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_clk_main_hmac_trans.u_scanmode_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 805 805 0 0
OutputsKnown_A 75706418 71081469 0 0
gen_no_flops.OutputDelay_A 75706418 71081469 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71081469 0 0
T4 1541 1457 0 0
T5 4322 4167 0 0
T6 1702 1533 0 0
T32 5361 5192 0 0
T33 1437 1268 0 0
T34 2147 1935 0 0
T35 6445 6205 0 0
T36 6222 5996 0 0
T37 36747 36664 0 0
T38 57712 57543 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71081469 0 0
T4 1541 1457 0 0
T5 4322 4167 0 0
T6 1702 1533 0 0
T32 5361 5192 0 0
T33 1437 1268 0 0
T34 2147 1935 0 0
T35 6445 6205 0 0
T36 6222 5996 0 0
T37 36747 36664 0 0
T38 57712 57543 0 0

Line Coverage for Instance : tb.dut.u_clk_main_kmac_trans.u_idle_sync
Line No.TotalCoveredPercent
TOTAL66100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
ALWAYS11711100.00
CONT_ASSIGN16811100.00

95 // hence this mux can be implemented behaviorally. 96 4/4 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Tests: T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6  97 end 98 99 // Note regarding SVAs below: 100 // 101 // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after 102 // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed" 103 // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page 104 // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni 105 // on the active clock edge. This causes the assertion to evaluate although the reset was actually 106 // 0 when entering this simulation cycle. 107 // 108 // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may 109 // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly 110 // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock 111 // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make 112 // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no 113 // sampling mismatches. 114 `ifdef INC_ASSERT 115 mubi4_t mubi_in_sva_q; 116 always_ff @(posedge clk_i) begin 117 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  118 end 119 `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}}) 120 `ASSERT(OutputDelay_A, 121 rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}}) 122 `endif 123 end else begin : gen_no_stable_chks 124 assign mubi = mubi_sync; 125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 mubi_in_sva_q <= mubi_i; 129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Cond Coverage for Instance : tb.dut.u_clk_main_kmac_trans.u_idle_sync
TotalCoveredPercent
Conditions88100.00
Logical88100.00
Non-Logical00
Event00

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

Branch Coverage for Instance : tb.dut.u_clk_main_kmac_trans.u_idle_sync
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


Assert Coverage for Instance : tb.dut.u_clk_main_kmac_trans.u_idle_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 805 805 0 0
OutputsKnown_A 75706418 71081469 0 0
gen_flops.gen_stable_chks.OutputDelay_A 75706418 71074681 0 2415
gen_flops.gen_stable_chks.OutputIfUnstable_A 75706418 21139 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71081469 0 0
T4 1541 1457 0 0
T5 4322 4167 0 0
T6 1702 1533 0 0
T32 5361 5192 0 0
T33 1437 1268 0 0
T34 2147 1935 0 0
T35 6445 6205 0 0
T36 6222 5996 0 0
T37 36747 36664 0 0
T38 57712 57543 0 0

gen_flops.gen_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71074681 0 2415
T4 1541 1454 0 3
T5 4322 4164 0 3
T6 1702 1530 0 3
T32 5361 5189 0 3
T33 1437 1265 0 3
T34 2147 1932 0 3
T35 6445 6202 0 3
T36 6222 5993 0 3
T37 36747 36661 0 3
T38 57712 57540 0 3

gen_flops.gen_stable_chks.OutputIfUnstable_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 21139 0 0
T4 1541 8 0 0
T5 4322 4 0 0
T6 1702 16 0 0
T32 5361 9 0 0
T33 1437 5 0 0
T34 2147 5 0 0
T35 6445 9 0 0
T36 6222 13 0 0
T37 36747 17 0 0
T38 57712 56 0 0

Line Coverage for Instance : tb.dut.u_clk_main_kmac_trans.u_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_clk_main_kmac_trans.u_scanmode_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 805 805 0 0
OutputsKnown_A 75706418 71081469 0 0
gen_no_flops.OutputDelay_A 75706418 71081469 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71081469 0 0
T4 1541 1457 0 0
T5 4322 4167 0 0
T6 1702 1533 0 0
T32 5361 5192 0 0
T33 1437 1268 0 0
T34 2147 1935 0 0
T35 6445 6205 0 0
T36 6222 5996 0 0
T37 36747 36664 0 0
T38 57712 57543 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71081469 0 0
T4 1541 1457 0 0
T5 4322 4167 0 0
T6 1702 1533 0 0
T32 5361 5192 0 0
T33 1437 1268 0 0
T34 2147 1935 0 0
T35 6445 6205 0 0
T36 6222 5996 0 0
T37 36747 36664 0 0
T38 57712 57543 0 0

Line Coverage for Instance : tb.dut.u_clk_main_otbn_trans.u_idle_sync
Line No.TotalCoveredPercent
TOTAL66100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
CONT_ASSIGN9611100.00
ALWAYS11711100.00
CONT_ASSIGN16811100.00

95 // hence this mux can be implemented behaviorally. 96 4/4 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Tests: T4 T5 T6  | T4 T5 T6  | T4 T5 T6  | T4 T5 T6  97 end 98 99 // Note regarding SVAs below: 100 // 101 // 1) Without the sampled rst_ni pre-condition, this may cause false assertion failures right after 102 // a reset release, since the "disable iff" condition with the rst_ni is sampled in the "observed" 103 // SV scheduler region after all assignments have been evaluated (see also LRM section 16.12, page 104 // 423). This is a simulation artifact due to reset synchronization in RTL, which releases rst_ni 105 // on the active clock edge. This causes the assertion to evaluate although the reset was actually 106 // 0 when entering this simulation cycle. 107 // 108 // 2) Similarly to 1) there can be sampling mismatches of the lc_en_i signal since that signal may 109 // originate from a different clock domain. I.e., in cases where the lc_en_i signal changes exactly 110 // at the same time that the clk_i signal rises, the SVA will not pick up that change in that clock 111 // cycle, whereas RTL will because SVAs sample values in the "preponed" region. To that end we make 112 // use of an RTL helper variable to sample the lc_en_i signal, hence ensuring that there are no 113 // sampling mismatches. 114 `ifdef INC_ASSERT 115 mubi4_t mubi_in_sva_q; 116 always_ff @(posedge clk_i) begin 117 1/1 mubi_in_sva_q <= mubi_i; Tests: T4 T5 T6  118 end 119 `ASSERT(OutputIfUnstable_A, sig_unstable |-> mubi_o == {NumCopies{reset_value}}) 120 `ASSERT(OutputDelay_A, 121 rst_ni |-> ##[3:4] sig_unstable || mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}}) 122 `endif 123 end else begin : gen_no_stable_chks 124 assign mubi = mubi_sync; 125 `ifdef INC_ASSERT 126 mubi4_t mubi_in_sva_q; 127 always_ff @(posedge clk_i) begin 128 mubi_in_sva_q <= mubi_i; 129 end 130 `ASSERT(OutputDelay_A, 131 rst_ni |-> ##3 (mubi_o == {NumCopies{$past(mubi_in_sva_q, 2)}} || 132 $past(mubi_in_sva_q, 2) != $past(mubi_in_sva_q, 1))) 133 `endif 134 end 135 end else begin : gen_no_flops 136 137 //VCS coverage off 138 // pragma coverage off 139 140 // This unused companion logic helps remove lint errors 141 // for modules where clock and reset are used for assertions only 142 // This logic will be removed for synthesis since it is unloaded. 143 mubi4_t unused_logic; 144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 if (!rst_ni) begin 146 unused_logic <= MuBi4False; 147 end else begin 148 unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 assign mubi = MuBi4Width'(mubi_i); 156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Cond Coverage for Instance : tb.dut.u_clk_main_otbn_trans.u_idle_sync
TotalCoveredPercent
Conditions88100.00
Logical88100.00
Non-Logical00
Event00

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[0].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[0] : gen_flops.gen_stable_chks.mubi_q[0])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[1] : gen_flops.gen_stable_chks.mubi_q[1])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[2] : gen_flops.gen_stable_chks.mubi_q[2])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

 LINE       96
 EXPRESSION (((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? gen_flops.gen_stable_chks.reset_value[3] : gen_flops.gen_stable_chks.mubi_q[3])
             --------------------------------1--------------------------------
-1-StatusTests
0CoveredT4,T5,T6
1CoveredT4,T5,T6

Branch Coverage for Instance : tb.dut.u_clk_main_otbn_trans.u_idle_sync
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00
TERNARY 96 2 2 100.00


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[1].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[2].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


96 assign mubi[k] = (|sig_unstable_buf) ? reset_value[k] : mubi_q[k]; Warning: the following expressions can not be annotated -1- ((|gen_flops.gen_stable_chks.gen_bufs_muxes[3].sig_unstable_buf)) ? ...;

Branches:
-1-StatusTests
1 Covered T4,T5,T6
0 Covered T4,T5,T6


Assert Coverage for Instance : tb.dut.u_clk_main_otbn_trans.u_idle_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 805 805 0 0
OutputsKnown_A 75706418 71081469 0 0
gen_flops.gen_stable_chks.OutputDelay_A 75706418 71074681 0 2415
gen_flops.gen_stable_chks.OutputIfUnstable_A 75706418 21225 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71081469 0 0
T4 1541 1457 0 0
T5 4322 4167 0 0
T6 1702 1533 0 0
T32 5361 5192 0 0
T33 1437 1268 0 0
T34 2147 1935 0 0
T35 6445 6205 0 0
T36 6222 5996 0 0
T37 36747 36664 0 0
T38 57712 57543 0 0

gen_flops.gen_stable_chks.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71074681 0 2415
T4 1541 1454 0 3
T5 4322 4164 0 3
T6 1702 1530 0 3
T32 5361 5189 0 3
T33 1437 1265 0 3
T34 2147 1932 0 3
T35 6445 6202 0 3
T36 6222 5993 0 3
T37 36747 36661 0 3
T38 57712 57540 0 3

gen_flops.gen_stable_chks.OutputIfUnstable_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 21225 0 0
T4 1541 8 0 0
T5 4322 4 0 0
T6 1702 20 0 0
T32 5361 9 0 0
T33 1437 5 0 0
T34 2147 18 0 0
T35 6445 11 0 0
T36 6222 13 0 0
T37 36747 15 0 0
T38 57712 63 0 0

Line Coverage for Instance : tb.dut.u_clk_main_otbn_trans.u_scanmode_sync
Line No.TotalCoveredPercent
TOTAL22100.00
ALWAYS14500
CONT_ASSIGN15511100.00
CONT_ASSIGN16811100.00

144 always_ff @(posedge clk_i or negedge rst_ni) begin 145 unreachable if (!rst_ni) begin 146 unreachable unused_logic <= MuBi4False; 147 end else begin 148 unreachable unused_logic <= mubi_i; 149 end 150 end 151 152 //VCS coverage on 153 // pragma coverage on 154 155 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T4 T5 T6  156 157 `ASSERT(OutputDelay_A, mubi_o == {NumCopies{mubi_i}}) 158 end 159 160 for (genvar j = 0; j < NumCopies; j++) begin : gen_buffs 161 logic [MuBi4Width-1:0] mubi_out; 162 for (genvar k = 0; k < MuBi4Width; k++) begin : gen_bits 163 prim_buf u_prim_buf ( 164 .in_i(mubi[k]), 165 .out_o(mubi_out[k]) 166 ); 167 end 168 1/1 assign mubi_o[j] = mubi4_t'(mubi_out); Tests: T4 T5 T6 

Assert Coverage for Instance : tb.dut.u_clk_main_otbn_trans.u_scanmode_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 805 805 0 0
OutputsKnown_A 75706418 71081469 0 0
gen_no_flops.OutputDelay_A 75706418 71081469 0 0


NumCopiesMustBeGreaterZero_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 805 805 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T32 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

OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71081469 0 0
T4 1541 1457 0 0
T5 4322 4167 0 0
T6 1702 1533 0 0
T32 5361 5192 0 0
T33 1437 1268 0 0
T34 2147 1935 0 0
T35 6445 6205 0 0
T36 6222 5996 0 0
T37 36747 36664 0 0
T38 57712 57543 0 0

gen_no_flops.OutputDelay_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 75706418 71081469 0 0
T4 1541 1457 0 0
T5 4322 4167 0 0
T6 1702 1533 0 0
T32 5361 5192 0 0
T33 1437 1268 0 0
T34 2147 1935 0 0
T35 6445 6205 0 0
T36 6222 5996 0 0
T37 36747 36664 0 0
T38 57712 57543 0 0

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