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



Module Instance : tb.dut.u_sha3_done_sender

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
98.76 98.75 96.74 100.00 100.00 97.06 100.00 dut


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_prim_buf.u_prim_buf 100.00 100.00



Module Instance : tb.dut.gen_entropy.u_entropy.u_entropy_configured

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
97.57 100.00 87.83 100.00 100.00 100.00 gen_entropy.u_entropy


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
gen_prim_buf.u_prim_buf 100.00 100.00

Line Coverage for Module : prim_mubi4_sender
Line No.TotalCoveredPercent
TOTAL66100.00
CONT_ASSIGN3411100.00
CONT_ASSIGN4811100.00
ALWAYS5533100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T1 T2 T3  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 1/1 assign mubi_int = mubi; Tests: T1 T2 T3  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 1/1 if (!rst_ni) begin Tests: T1 T2 T3  56 1/1 unused_logic <= MuBi4False; Tests: T1 T2 T3  57 end else begin 58 1/1 unused_logic <= mubi_i; Tests: T1 T2 T3  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 assign mubi_out = mubi_int; 83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Branch Coverage for Module : prim_mubi4_sender
Line No.TotalCoveredPercent
Branches 2 2 100.00
IF 55 2 2 100.00


55 if (!rst_ni) begin -1- 56 unused_logic <= MuBi4False; ==> 57 end else begin 58 unused_logic <= mubi_i; ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered 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 1214852192 1214537644 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1214852192 1214537644 0 0
T1 3128 3020 0 0
T2 4076 3928 0 0
T3 11614 11354 0 0
T9 1064888 1064722 0 0
T10 10356 10238 0 0
T16 23944 23764 0 0
T42 3516 3326 0 0
T43 3490 3382 0 0
T44 2840 2688 0 0
T45 16158 16030 0 0

Line Coverage for Instance : tb.dut.u_sha3_done_sender
Line No.TotalCoveredPercent
TOTAL66100.00
CONT_ASSIGN3411100.00
CONT_ASSIGN4811100.00
ALWAYS5533100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T1 T2 T3  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 1/1 assign mubi_int = mubi; Tests: T1 T2 T3  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 1/1 if (!rst_ni) begin Tests: T1 T2 T3  56 1/1 unused_logic <= MuBi4False; Tests: T1 T2 T3  57 end else begin 58 1/1 unused_logic <= mubi_i; Tests: T1 T2 T3  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 assign mubi_out = mubi_int; 83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Branch Coverage for Instance : tb.dut.u_sha3_done_sender
Line No.TotalCoveredPercent
Branches 2 2 100.00
IF 55 2 2 100.00


55 if (!rst_ni) begin -1- 56 unused_logic <= MuBi4False; ==> 57 end else begin 58 unused_logic <= mubi_i; ==>

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


Assert Coverage for Instance : tb.dut.u_sha3_done_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 607426096 607268822 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 607426096 607268822 0 0
T1 1564 1510 0 0
T2 2038 1964 0 0
T3 5807 5677 0 0
T9 532444 532361 0 0
T10 5178 5119 0 0
T16 11972 11882 0 0
T42 1758 1663 0 0
T43 1745 1691 0 0
T44 1420 1344 0 0
T45 8079 8015 0 0

Line Coverage for Instance : tb.dut.gen_entropy.u_entropy.u_entropy_configured
Line No.TotalCoveredPercent
TOTAL66100.00
CONT_ASSIGN3411100.00
CONT_ASSIGN4811100.00
ALWAYS5533100.00
CONT_ASSIGN8511100.00

33 logic [MuBi4Width-1:0] mubi, mubi_int, mubi_out; 34 1/1 assign mubi = MuBi4Width'(mubi_i); Tests: T1 T2 T3  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 1/1 assign mubi_int = mubi; Tests: T1 T2 T3  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 1/1 if (!rst_ni) begin Tests: T1 T2 T3  56 1/1 unused_logic <= MuBi4False; Tests: T1 T2 T3  57 end else begin 58 1/1 unused_logic <= mubi_i; Tests: T1 T2 T3  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 assign mubi_out = mubi_int; 83 end 84 85 1/1 assign mubi_o = mubi4_t'(mubi_out); Tests: T1 T2 T3 

Branch Coverage for Instance : tb.dut.gen_entropy.u_entropy.u_entropy_configured
Line No.TotalCoveredPercent
Branches 2 2 100.00
IF 55 2 2 100.00


55 if (!rst_ni) begin -1- 56 unused_logic <= MuBi4False; ==> 57 end else begin 58 unused_logic <= mubi_i; ==>

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


Assert Coverage for Instance : tb.dut.gen_entropy.u_entropy.u_entropy_configured
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 607426096 607268822 0 0


OutputsKnown_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 607426096 607268822 0 0
T1 1564 1510 0 0
T2 2038 1964 0 0
T3 5807 5677 0 0
T9 532444 532361 0 0
T10 5178 5119 0 0
T16 11972 11882 0 0
T42 1758 1663 0 0
T43 1745 1691 0 0
T44 1420 1344 0 0
T45 8079 8015 0 0

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