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

Module : prim_mubi4_sender
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00

Source File(s) :
/workspaces/repo/scratch/os_regression_2024_09_03/rstmgr-sim-vcs/default/sim-vcs/../src/lowrisc_prim_mubi_0.1/rtl/prim_mubi4_sender.sv

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.u_daon_por.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_daon_por_io.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_daon_por_io_div2.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_daon_por_io_div4.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_daon_por_usb.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_daon_lc.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_lc.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_daon_lc_shadowed.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_lc_shadowed.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_daon_lc_aon.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_daon_lc_io.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_lc_io.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_daon_lc_io_div2.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_lc_io_div2.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_daon_lc_io_div4.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_lc_io_div4.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_daon_lc_io_div4_shadowed.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_lc_io_div4_shadowed.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_daon_lc_usb.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_lc_usb.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_sys.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_daon_sys_io_div4.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_spi_device.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_spi_host0.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_spi_host1.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_usb.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_usb_aon.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_i2c0.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_i2c1.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.u_d0_i2c2.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.gen_rst_por_aon[0].gen_rst_por_aon_normal.u_prim_mubi4_sender 100.00 100.00 100.00
tb.dut.gen_rst_por_aon[1].gen_rst_por_domain.u_prim_mubi4_sender 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_por.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_daon_por


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_por_io.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_daon_por_io


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_por_io_div2.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_daon_por_io_div2


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_por_io_div4.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_daon_por_io_div4


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_por_usb.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_daon_por_usb


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_lc.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_daon_lc


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_lc.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_d0_lc


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_lc_shadowed.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_daon_lc_shadowed


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_lc_shadowed.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_d0_lc_shadowed


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_lc_aon.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_daon_lc_aon


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_lc_io.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_daon_lc_io


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_lc_io.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_d0_lc_io


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_lc_io_div2.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_daon_lc_io_div2


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_lc_io_div2.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_d0_lc_io_div2


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_lc_io_div4.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
u_daon_lc_io_div4


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_lc_io_div4.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
u_d0_lc_io_div4


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_lc_io_div4_shadowed.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
u_daon_lc_io_div4_shadowed


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_lc_io_div4_shadowed.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
u_d0_lc_io_div4_shadowed


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_lc_usb.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_daon_lc_usb


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_lc_usb.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_d0_lc_usb


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_sys.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_d0_sys


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_daon_sys_io_div4.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 u_daon_sys_io_div4


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_spi_device.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
96.67 100.00 90.00 100.00 u_d0_spi_device


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_spi_host0.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
96.67 100.00 90.00 100.00 u_d0_spi_host0


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_spi_host1.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
96.67 100.00 90.00 100.00 u_d0_spi_host1


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_usb.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
96.67 100.00 90.00 100.00 u_d0_usb


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_usb_aon.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
100.00 100.00 100.00 100.00 u_d0_usb_aon


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_i2c0.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
96.67 100.00 90.00 100.00 u_d0_i2c0


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_i2c1.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
96.67 100.00 90.00 100.00 u_d0_i2c1


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.u_d0_i2c2.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
96.67 100.00 90.00 100.00 u_d0_i2c2


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.gen_rst_por_aon[0].gen_rst_por_aon_normal.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
99.55 100.00 98.21 100.00 100.00 dut


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00



Module Instance : tb.dut.gen_rst_por_aon[1].gen_rst_por_domain.u_prim_mubi4_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
99.55 100.00 98.21 100.00 100.00 dut


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_flops.u_prim_flop 100.00 100.00 100.00

Line Coverage for Module : prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Module : prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 874208762 460930460 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 874208762 460930460 0 0
T1 402780 329611 0 0
T2 295460 69634 0 0
T3 226178 153493 0 0
T4 166568 85869 0 0
T5 733172 673336 0 0
T6 485908 46394 0 0
T7 94302 49550 0 0
T8 399814 327940 0 0
T9 1605282 624866 0 0
T10 353558 67757 0 0

Line Coverage for Instance : tb.dut.u_daon_por.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_por.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 53960553 31765307 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 53960553 31765307 0 0
T1 24869 20773 0 0
T2 18240 4739 0 0
T3 13963 11263 0 0
T4 10285 6202 0 0
T5 45259 42552 0 0
T6 30003 3300 0 0
T7 5823 3100 0 0
T8 24682 20703 0 0
T9 99059 50289 0 0
T10 21826 4811 0 0

Line Coverage for Instance : tb.dut.u_daon_por_io.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_por_io.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 51799992 30493034 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 51799992 30493034 0 0
T1 23867 19935 0 0
T2 17510 4550 0 0
T3 13404 10812 0 0
T4 9872 5951 0 0
T5 43448 40849 0 0
T6 28789 3167 0 0
T7 5589 2976 0 0
T8 23688 19868 0 0
T9 95102 48285 0 0
T10 20952 4619 0 0

Line Coverage for Instance : tb.dut.u_daon_por_io_div2.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_por_io_div2.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 25900741 15242738 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 25900741 15242738 0 0
T1 11935 9967 0 0
T2 8754 2274 0 0
T3 6702 5406 0 0
T4 4932 2973 0 0
T5 21724 20425 0 0
T6 14393 1580 0 0
T7 2795 1488 0 0
T8 11848 9936 0 0
T9 47556 24127 0 0
T10 10476 2309 0 0

Line Coverage for Instance : tb.dut.u_daon_por_io_div4.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_por_io_div4.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 12950076 7618418 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 12950076 7618418 0 0
T1 5965 4982 0 0
T2 4376 1136 0 0
T3 3350 2703 0 0
T4 2467 1486 0 0
T5 10861 10212 0 0
T6 7199 775 0 0
T7 1396 743 0 0
T8 5923 4967 0 0
T9 23780 12071 0 0
T10 5237 1154 0 0

Line Coverage for Instance : tb.dut.u_daon_por_usb.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_por_usb.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 25900854 15242840 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 25900854 15242840 0 0
T1 11932 9964 0 0
T2 8754 2274 0 0
T3 6702 5406 0 0
T4 4935 2976 0 0
T5 21724 20425 0 0
T6 14391 1580 0 0
T7 2794 1488 0 0
T8 11847 9935 0 0
T9 47552 24128 0 0
T10 10476 2309 0 0

Line Coverage for Instance : tb.dut.u_daon_lc.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_lc.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 53960553 28292409 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 53960553 28292409 0 0
T1 24869 20386 0 0
T2 18240 4727 0 0
T3 13963 9145 0 0
T4 10285 5199 0 0
T5 45259 42546 0 0
T6 30003 3177 0 0
T7 5823 3092 0 0
T8 24682 20294 0 0
T9 99059 36937 0 0
T10 21826 4799 0 0

Line Coverage for Instance : tb.dut.u_d0_lc.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_lc.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 53960553 27550565 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 53960553 27550565 0 0
T1 24869 20221 0 0
T2 18240 3893 0 0
T3 13963 9011 0 0
T4 10285 5033 0 0
T5 45259 42479 0 0
T6 30003 2509 0 0
T7 5823 3026 0 0
T8 24682 20127 0 0
T9 99059 35161 0 0
T10 21826 3600 0 0

Line Coverage for Instance : tb.dut.u_daon_lc_shadowed.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_lc_shadowed.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 53960553 28292102 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 53960553 28292102 0 0
T1 24869 20386 0 0
T2 18240 4727 0 0
T3 13963 9145 0 0
T4 10285 5199 0 0
T5 45259 42546 0 0
T6 30003 3178 0 0
T7 5823 3092 0 0
T8 24682 20294 0 0
T9 99059 36937 0 0
T10 21826 4799 0 0

Line Coverage for Instance : tb.dut.u_d0_lc_shadowed.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_lc_shadowed.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 53960553 27550429 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 53960553 27550429 0 0
T1 24869 20221 0 0
T2 18240 3893 0 0
T3 13963 9011 0 0
T4 10285 5033 0 0
T5 45259 42479 0 0
T6 30003 2514 0 0
T7 5823 3026 0 0
T8 24682 20127 0 0
T9 99059 35161 0 0
T10 21826 3600 0 0

Line Coverage for Instance : tb.dut.u_daon_lc_aon.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_lc_aon.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 1634584 838333 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1634584 838333 0 0
T1 745 607 0 0
T2 547 140 0 0
T3 417 265 0 0
T4 308 150 0 0
T5 1356 1275 0 0
T6 902 81 0 0
T7 173 92 0 0
T8 740 604 0 0
T9 3072 1133 0 0
T10 654 142 0 0

Line Coverage for Instance : tb.dut.u_daon_lc_io.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_lc_io.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 51799992 27160506 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 51799992 27160506 0 0
T1 23867 19565 0 0
T2 17510 4538 0 0
T3 13404 8779 0 0
T4 9872 4989 0 0
T5 43448 40842 0 0
T6 28789 3088 0 0
T7 5589 2968 0 0
T8 23688 19474 0 0
T9 95102 35459 0 0
T10 20952 4607 0 0

Line Coverage for Instance : tb.dut.u_d0_lc_io.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_lc_io.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 51799992 26448469 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 51799992 26448469 0 0
T1 23867 19405 0 0
T2 17510 3738 0 0
T3 13404 8651 0 0
T4 9872 4829 0 0
T5 43448 40778 0 0
T6 28789 2448 0 0
T7 5589 2904 0 0
T8 23688 19314 0 0
T9 95102 33755 0 0
T10 20952 3455 0 0

Line Coverage for Instance : tb.dut.u_daon_lc_io_div2.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_lc_io_div2.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 25900741 13570152 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 25900741 13570152 0 0
T1 11935 9781 0 0
T2 8754 2268 0 0
T3 6702 4386 0 0
T4 4932 2489 0 0
T5 21724 20422 0 0
T6 14393 1540 0 0
T7 2795 1484 0 0
T8 11848 9738 0 0
T9 47556 17698 0 0
T10 10476 2303 0 0

Line Coverage for Instance : tb.dut.u_d0_lc_io_div2.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_lc_io_div2.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 25900741 13214188 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 25900741 13214188 0 0
T1 11935 9701 0 0
T2 8754 1868 0 0
T3 6702 4322 0 0
T4 4932 2409 0 0
T5 21724 20390 0 0
T6 14393 1220 0 0
T7 2795 1452 0 0
T8 11848 9658 0 0
T9 47556 16846 0 0
T10 10476 1727 0 0

Line Coverage for Instance : tb.dut.u_daon_lc_io_div4.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_lc_io_div4.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 12950076 6758035 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 12950076 6758035 0 0
T1 5965 4882 0 0
T2 4376 1132 0 0
T3 3350 2180 0 0
T4 2467 1238 0 0
T5 10861 10210 0 0
T6 7199 745 0 0
T7 1396 741 0 0
T8 5923 4861 0 0
T9 23780 8785 0 0
T10 5237 1150 0 0

Line Coverage for Instance : tb.dut.u_d0_lc_io_div4.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_lc_io_div4.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 12950076 6580086 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 12950076 6580086 0 0
T1 5965 4842 0 0
T2 4376 932 0 0
T3 3350 2148 0 0
T4 2467 1198 0 0
T5 10861 10194 0 0
T6 7199 585 0 0
T7 1396 725 0 0
T8 5923 4821 0 0
T9 23780 8359 0 0
T10 5237 862 0 0

Line Coverage for Instance : tb.dut.u_daon_lc_io_div4_shadowed.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_lc_io_div4_shadowed.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 12950076 6758035 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 12950076 6758035 0 0
T1 5965 4882 0 0
T2 4376 1132 0 0
T3 3350 2180 0 0
T4 2467 1238 0 0
T5 10861 10210 0 0
T6 7199 745 0 0
T7 1396 741 0 0
T8 5923 4861 0 0
T9 23780 8785 0 0
T10 5237 1150 0 0

Line Coverage for Instance : tb.dut.u_d0_lc_io_div4_shadowed.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_lc_io_div4_shadowed.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 12950076 6580086 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 12950076 6580086 0 0
T1 5965 4842 0 0
T2 4376 932 0 0
T3 3350 2148 0 0
T4 2467 1198 0 0
T5 10861 10194 0 0
T6 7199 585 0 0
T7 1396 725 0 0
T8 5923 4821 0 0
T9 23780 8359 0 0
T10 5237 862 0 0

Line Coverage for Instance : tb.dut.u_daon_lc_usb.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_lc_usb.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 25900854 13570276 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 25900854 13570276 0 0
T1 11932 9778 0 0
T2 8754 2268 0 0
T3 6702 4386 0 0
T4 4935 2492 0 0
T5 21724 20422 0 0
T6 14391 1540 0 0
T7 2794 1484 0 0
T8 11847 9737 0 0
T9 47552 17699 0 0
T10 10476 2303 0 0

Line Coverage for Instance : tb.dut.u_d0_lc_usb.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_lc_usb.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 25900854 13214198 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 25900854 13214198 0 0
T1 11932 9698 0 0
T2 8754 1868 0 0
T3 6702 4322 0 0
T4 4935 2412 0 0
T5 21724 20390 0 0
T6 14391 1220 0 0
T7 2794 1452 0 0
T8 11847 9657 0 0
T9 47552 16847 0 0
T10 10476 1727 0 0

Line Coverage for Instance : tb.dut.u_d0_sys.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_sys.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 53960553 27261552 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 53960553 27261552 0 0
T1 24869 20103 0 0
T2 18240 3893 0 0
T3 13963 8861 0 0
T4 10285 4991 0 0
T5 45259 42479 0 0
T6 30003 2551 0 0
T7 5823 3026 0 0
T8 24682 20083 0 0
T9 99059 34309 0 0
T10 21826 3600 0 0

Line Coverage for Instance : tb.dut.u_daon_sys_io_div4.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_daon_sys_io_div4.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 12950076 6688355 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 12950076 6688355 0 0
T1 5965 4854 0 0
T2 4376 1132 0 0
T3 3350 2144 0 0
T4 2467 1228 0 0
T5 10861 10210 0 0
T6 7199 755 0 0
T7 1396 741 0 0
T8 5923 4850 0 0
T9 23780 8580 0 0
T10 5237 1150 0 0

Line Coverage for Instance : tb.dut.u_d0_spi_device.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_spi_device.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 12950076 6432160 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 12950076 6432160 0 0
T1 5965 4659 0 0
T2 4376 932 0 0
T3 3350 2145 0 0
T4 2467 1198 0 0
T5 10861 9189 0 0
T6 7199 595 0 0
T7 1396 725 0 0
T8 5923 4658 0 0
T9 23780 8359 0 0
T10 5237 862 0 0

Line Coverage for Instance : tb.dut.u_d0_spi_host0.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_spi_host0.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 51799992 25896533 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 51799992 25896533 0 0
T1 23867 19405 0 0
T2 17510 3738 0 0
T3 13404 8651 0 0
T4 9872 4829 0 0
T5 43448 35765 0 0
T6 28789 2448 0 0
T7 5589 2904 0 0
T8 23688 19314 0 0
T9 95102 33755 0 0
T10 20952 3455 0 0

Line Coverage for Instance : tb.dut.u_d0_spi_host1.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_spi_host1.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 25900741 12926880 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 25900741 12926880 0 0
T1 11935 9701 0 0
T2 8754 1868 0 0
T3 6702 4322 0 0
T4 4932 2409 0 0
T5 21724 18237 0 0
T6 14393 1220 0 0
T7 2795 1452 0 0
T8 11848 9658 0 0
T9 47556 16846 0 0
T10 10476 1727 0 0

Line Coverage for Instance : tb.dut.u_d0_usb.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_usb.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 25900854 12928915 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 25900854 12928915 0 0
T1 11932 9698 0 0
T2 8754 1868 0 0
T3 6702 4322 0 0
T4 4935 2412 0 0
T5 21724 17786 0 0
T6 14391 1220 0 0
T7 2794 1452 0 0
T8 11847 9397 0 0
T9 47552 16847 0 0
T10 10476 1727 0 0

Line Coverage for Instance : tb.dut.u_d0_usb_aon.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_usb_aon.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 1634584 798583 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1634584 798583 0 0
T1 745 601 0 0
T2 547 115 0 0
T3 417 261 0 0
T4 308 144 0 0
T5 1356 1090 0 0
T6 902 61 0 0
T7 173 90 0 0
T8 740 583 0 0
T9 3072 1082 0 0
T10 654 106 0 0

Line Coverage for Instance : tb.dut.u_d0_i2c0.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_i2c0.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 12950076 6446178 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 12950076 6446178 0 0
T1 5965 4842 0 0
T2 4376 932 0 0
T3 3350 2148 0 0
T4 2467 1198 0 0
T5 10861 8392 0 0
T6 7199 595 0 0
T7 1396 725 0 0
T8 5923 4821 0 0
T9 23780 8359 0 0
T10 5237 862 0 0

Line Coverage for Instance : tb.dut.u_d0_i2c1.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_i2c1.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 12950076 6445114 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 12950076 6445114 0 0
T1 5965 4842 0 0
T2 4376 932 0 0
T3 3350 2148 0 0
T4 2467 1198 0 0
T5 10861 9091 0 0
T6 7199 595 0 0
T7 1396 725 0 0
T8 5923 4821 0 0
T9 23780 8359 0 0
T10 5237 862 0 0

Line Coverage for Instance : tb.dut.u_d0_i2c2.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.u_d0_i2c2.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 12950076 6442430 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 12950076 6442430 0 0
T1 5965 4842 0 0
T2 4376 932 0 0
T3 3350 2148 0 0
T4 2467 1198 0 0
T5 10861 8705 0 0
T6 7199 595 0 0
T7 1396 725 0 0
T8 5923 4716 0 0
T9 23780 8359 0 0
T10 5237 862 0 0

Line Coverage for Instance : tb.dut.gen_rst_por_aon[0].gen_rst_por_aon_normal.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.gen_rst_por_aon[0].gen_rst_por_aon_normal.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 1634584 971309 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1634584 971309 0 0
T1 745 625 0 0
T2 547 144 0 0
T3 417 338 0 0
T4 308 187 0 0
T5 1356 1277 0 0
T6 902 101 0 0
T7 173 94 0 0
T8 740 623 0 0
T9 3072 1617 0 0
T10 654 146 0 0

Line Coverage for Instance : tb.dut.gen_rst_por_aon[1].gen_rst_por_domain.u_prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL22100.00
CONT_ASSIGN3400
CONT_ASSIGN8211100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 unreachable assign mubi = MuBi4Width'(mubi_i); 35 36 // first generation block decides whether a flop should be present 37 if (AsyncOn) begin : gen_flops 38 prim_flop #( 39 .Width(MuBi4Width), 40 .ResetValue(MuBi4Width'(ResetValue)) 41 ) u_prim_flop ( 42 .clk_i, 43 .rst_ni, 44 .d_i ( mubi ), 45 .q_o ( mubi_int ) 46 ); 47 end else begin : gen_no_flops 48 assign mubi_int = mubi; 49 50 // This unused companion logic helps remove lint errors 51 // for modules where clock and reset are used for assertions only 52 // This logic will be removed for sythesis since it is unloaded. 53 mubi4_t unused_logic; 54 always_ff @(posedge clk_i or negedge rst_ni) begin 55 if (!rst_ni) begin 56 unused_logic <= MuBi4False; 57 end else begin 58 unused_logic <= mubi_i; 59 end 60 end 61 end 62 63 // second generation block determines output buffer type 64 // 1. If EnSecBuf -> always leads to a sec buffer regardless of first block 65 // 2. If not EnSecBuf and not AsyncOn -> use normal buffer 66 // 3. If not EnSecBuf and AsyncOn -> feed through 67 if (EnSecBuf) begin : gen_sec_buf 68 prim_sec_anchor_buf #( 69 .Width(4) 70 ) u_prim_sec_buf ( 71 .in_i(mubi_int), 72 .out_o(mubi_out) 73 ); 74 end else if (!AsyncOn) begin : gen_prim_buf 75 prim_buf #( 76 .Width(4) 77 ) u_prim_buf ( 78 .in_i(mubi_int), 79 .out_o(mubi_out) 80 ); 81 end else begin : gen_feedthru 82 1/1 assign mubi_out = mubi_int; Tests: T1 T2 T3  83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Assert Coverage for Instance : tb.dut.gen_rst_por_aon[1].gen_rst_por_domain.u_prim_mubi4_sender
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 1 1 100.00 1 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 1 1 100.00 1 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
OutputsKnown_A 1634584 952245 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1634584 952245 0 0
T1 745 621 0 0
T2 547 119 0 0
T3 417 336 0 0
T4 308 183 0 0
T5 1356 1275 0 0
T6 902 81 0 0
T7 173 92 0 0
T8 740 619 0 0
T9 3072 1573 0 0
T10 654 110 0 0

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