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

Module : prim_generic_ram_1p
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00

Source File(s) :
/workspaces/repo/scratch/os_regression_2024_08_24/flash_ctrl-sim-vcs/default/sim-vcs/../src/lowrisc_prim_generic_ram_1p_0/rtl/prim_generic_ram_1p.sv

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.u_mem.gen_generic.u_impl_generic 95.24 85.71 100.00 100.00
tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[0].u_info_mem.gen_generic.u_impl_generic 95.24 85.71 100.00 100.00
tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[1].u_info_mem.gen_generic.u_impl_generic 95.24 85.71 100.00 100.00
tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[2].u_info_mem.gen_generic.u_impl_generic 95.24 85.71 100.00 100.00
tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.u_mem.gen_generic.u_impl_generic 95.24 85.71 100.00 100.00
tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[0].u_info_mem.gen_generic.u_impl_generic 95.24 85.71 100.00 100.00
tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[1].u_info_mem.gen_generic.u_impl_generic 95.24 85.71 100.00 100.00
tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[2].u_info_mem.gen_generic.u_impl_generic 95.24 85.71 100.00 100.00



Module Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.u_mem.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
u_mem


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children



Module Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[0].u_info_mem.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_info_types[0].u_info_mem


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children



Module Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[1].u_info_mem.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_info_types[1].u_info_mem


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children



Module Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[2].u_info_mem.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_info_types[2].u_info_mem


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children



Module Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.u_mem.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
u_mem


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children



Module Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[0].u_info_mem.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_info_types[0].u_info_mem


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children



Module Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[1].u_info_mem.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_info_types[1].u_info_mem


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children



Module Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[2].u_info_mem.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
95.24 85.71 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_info_types[2].u_info_mem


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children

Line Coverage for Module : prim_generic_ram_1p
Line No.TotalCoveredPercent
TOTAL7685.71
CONT_ASSIGN42100.00
CONT_ASSIGN5200
ALWAYS6366100.00

41 logic unused_cfg; 42 0/1 ==> assign unused_cfg = ^cfg_i; 43 44 // Width of internal write mask. Note wmask_i input into the module is always assumed 45 // to be the full bit mask 46 localparam int MaskWidth = Width / DataBitsPerMask; 47 48 logic [Width-1:0] mem [Depth]; 49 logic [MaskWidth-1:0] wmask; 50 51 for (genvar k = 0; k < MaskWidth; k++) begin : gen_wmask 52 unreachable assign wmask[k] = &wmask_i[k*DataBitsPerMask +: DataBitsPerMask]; 53 54 // Ensure that all mask bits within a group have the same value for a write 55 `ASSERT(MaskCheck_A, req_i && write_i |-> 56 wmask_i[k*DataBitsPerMask +: DataBitsPerMask] inside {{DataBitsPerMask{1'b1}}, '0}, 57 clk_i, '0) 58 end 59 60 // using always instead of always_ff to avoid 'ICPD - illegal combination of drivers' error 61 // thrown when using $readmemh system task to backdoor load an image 62 always @(posedge clk_i) begin 63 1/1 if (req_i) begin Tests: T1 T2 T3  64 1/1 if (write_i) begin Tests: T1 T2 T3  65 1/1 for (int i=0; i < MaskWidth; i = i + 1) begin Tests: T2 T4 T5  66 1/1 if (wmask[i]) begin Tests: T2 T4 T5  67 1/1 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= Tests: T2 T4 T5  68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end ==> MISSING_ELSE 70 end 71 end else begin 72 1/1 rdata_o <= mem[addr_i]; Tests: T1 T2 T3  73 end 74 end MISSING_ELSE

Branch Coverage for Module : prim_generic_ram_1p
Line No.TotalCoveredPercent
Branches 3 3 100.00
IF 63 3 3 100.00


63 if (req_i) begin -1- 64 if (write_i) begin -2- 65 for (int i=0; i < MaskWidth; i = i + 1) begin ==> 66 if (wmask[i]) begin 67 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= 68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end 70 end 71 end else begin 72 rdata_o <= mem[addr_i]; ==> 73 end 74 end MISSING_ELSE ==>

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


Assert Coverage for Module : prim_generic_ram_1p
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 2 2 100.00 2 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 2 2 100.00 2 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataBitsPerMaskCheck_A 8208 8208 0 0
gen_wmask[0].MaskCheck_A 2147483647 143130706 0 0


DataBitsPerMaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 8208 8208 0 0
T1 8 8 0 0
T2 8 8 0 0
T3 8 8 0 0
T4 8 8 0 0
T5 8 8 0 0
T6 8 8 0 0
T8 8 8 0 0
T15 8 8 0 0
T16 8 8 0 0
T17 8 8 0 0

gen_wmask[0].MaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 2147483647 143130706 0 0
T4 4375 50 0 0
T5 1250 0 0 0
T6 873 0 0 0
T8 51282 0 0 0
T9 2110 0 0 0
T10 1263 0 0 0
T16 1834 0 0 0
T17 1845 0 0 0
T19 0 300 0 0
T20 1105 0 0 0
T27 0 1024 0 0
T28 0 1112 0 0
T32 139437 393216 0 0
T34 0 50 0 0
T36 30072 7650 0 0
T37 0 12750 0 0
T42 0 256 0 0
T51 0 5000 0 0
T59 1169 0 0 0
T63 35615 0 0 0
T79 116110 0 0 0
T80 0 589824 0 0
T84 0 100 0 0
T89 0 65536 0 0
T93 0 393216 0 0
T142 0 370 0 0
T152 0 524288 0 0
T153 0 786432 0 0
T154 0 556 0 0
T155 0 524288 0 0
T156 0 720896 0 0
T157 0 589824 0 0
T158 2403 0 0 0
T159 1253 0 0 0
T160 157678 0 0 0
T161 2923 0 0 0
T162 230752 0 0 0
T163 2008 0 0 0
T164 137486 0 0 0

Line Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.u_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL7685.71
CONT_ASSIGN42100.00
CONT_ASSIGN5200
ALWAYS6366100.00

41 logic unused_cfg; 42 0/1 ==> assign unused_cfg = ^cfg_i; 43 44 // Width of internal write mask. Note wmask_i input into the module is always assumed 45 // to be the full bit mask 46 localparam int MaskWidth = Width / DataBitsPerMask; 47 48 logic [Width-1:0] mem [Depth]; 49 logic [MaskWidth-1:0] wmask; 50 51 for (genvar k = 0; k < MaskWidth; k++) begin : gen_wmask 52 unreachable assign wmask[k] = &wmask_i[k*DataBitsPerMask +: DataBitsPerMask]; 53 54 // Ensure that all mask bits within a group have the same value for a write 55 `ASSERT(MaskCheck_A, req_i && write_i |-> 56 wmask_i[k*DataBitsPerMask +: DataBitsPerMask] inside {{DataBitsPerMask{1'b1}}, '0}, 57 clk_i, '0) 58 end 59 60 // using always instead of always_ff to avoid 'ICPD - illegal combination of drivers' error 61 // thrown when using $readmemh system task to backdoor load an image 62 always @(posedge clk_i) begin 63 1/1 if (req_i) begin Tests: T1 T2 T3  64 1/1 if (write_i) begin Tests: T2 T3 T5  65 1/1 for (int i=0; i < MaskWidth; i = i + 1) begin Tests: T2 T5 T9  66 1/1 if (wmask[i]) begin Tests: T2 T5 T9  67 1/1 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= Tests: T2 T5 T9  68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end ==> MISSING_ELSE 70 end 71 end else begin 72 1/1 rdata_o <= mem[addr_i]; Tests: T2 T3 T5  73 end 74 end MISSING_ELSE

Branch Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.u_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 3 3 100.00
IF 63 3 3 100.00


63 if (req_i) begin -1- 64 if (write_i) begin -2- 65 for (int i=0; i < MaskWidth; i = i + 1) begin ==> 66 if (wmask[i]) begin 67 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= 68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end 70 end 71 end else begin 72 rdata_o <= mem[addr_i]; ==> 73 end 74 end MISSING_ELSE ==>

Branches:
-1--2-StatusTests
1 1 Covered T2,T5,T9
1 0 Covered T2,T3,T5
0 - Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.u_mem.gen_generic.u_impl_generic
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 2 2 100.00 2 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 2 2 100.00 2 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataBitsPerMaskCheck_A 1026 1026 0 0
gen_wmask[0].MaskCheck_A 332875393 51340678 0 0


DataBitsPerMaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1026 1026 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T8 1 1 0 0
T15 1 1 0 0
T16 1 1 0 0
T17 1 1 0 0

gen_wmask[0].MaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 332875393 51340678 0 0
T2 3694 1950 0 0
T3 2283 0 0 0
T4 4375 0 0 0
T5 1250 200 0 0
T6 873 0 0 0
T8 51282 0 0 0
T9 0 506 0 0
T15 949 0 0 0
T16 1834 0 0 0
T17 1845 0 0 0
T19 0 700 0 0
T20 1105 0 0 0
T24 0 750 0 0
T27 0 2048 0 0
T28 0 26182 0 0
T34 0 50 0 0
T36 0 5050 0 0
T37 0 55050 0 0

Line Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[0].u_info_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL7685.71
CONT_ASSIGN42100.00
CONT_ASSIGN5200
ALWAYS6366100.00

41 logic unused_cfg; 42 0/1 ==> assign unused_cfg = ^cfg_i; 43 44 // Width of internal write mask. Note wmask_i input into the module is always assumed 45 // to be the full bit mask 46 localparam int MaskWidth = Width / DataBitsPerMask; 47 48 logic [Width-1:0] mem [Depth]; 49 logic [MaskWidth-1:0] wmask; 50 51 for (genvar k = 0; k < MaskWidth; k++) begin : gen_wmask 52 unreachable assign wmask[k] = &wmask_i[k*DataBitsPerMask +: DataBitsPerMask]; 53 54 // Ensure that all mask bits within a group have the same value for a write 55 `ASSERT(MaskCheck_A, req_i && write_i |-> 56 wmask_i[k*DataBitsPerMask +: DataBitsPerMask] inside {{DataBitsPerMask{1'b1}}, '0}, 57 clk_i, '0) 58 end 59 60 // using always instead of always_ff to avoid 'ICPD - illegal combination of drivers' error 61 // thrown when using $readmemh system task to backdoor load an image 62 always @(posedge clk_i) begin 63 1/1 if (req_i) begin Tests: T1 T2 T3  64 1/1 if (write_i) begin Tests: T1 T2 T3  65 1/1 for (int i=0; i < MaskWidth; i = i + 1) begin Tests: T4 T11 T34  66 1/1 if (wmask[i]) begin Tests: T4 T11 T34  67 1/1 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= Tests: T4 T11 T34  68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end ==> MISSING_ELSE 70 end 71 end else begin 72 1/1 rdata_o <= mem[addr_i]; Tests: T1 T2 T3  73 end 74 end MISSING_ELSE

Branch Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[0].u_info_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 3 3 100.00
IF 63 3 3 100.00


63 if (req_i) begin -1- 64 if (write_i) begin -2- 65 for (int i=0; i < MaskWidth; i = i + 1) begin ==> 66 if (wmask[i]) begin 67 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= 68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end 70 end 71 end else begin 72 rdata_o <= mem[addr_i]; ==> 73 end 74 end MISSING_ELSE ==>

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


Assert Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[0].u_info_mem.gen_generic.u_impl_generic
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 2 2 100.00 2 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 2 2 100.00 2 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataBitsPerMaskCheck_A 1026 1026 0 0
gen_wmask[0].MaskCheck_A 332875393 15692973 0 0


DataBitsPerMaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1026 1026 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T8 1 1 0 0
T15 1 1 0 0
T16 1 1 0 0
T17 1 1 0 0

gen_wmask[0].MaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 332875393 15692973 0 0
T4 4375 50 0 0
T5 1250 0 0 0
T6 873 0 0 0
T8 51282 0 0 0
T9 2110 0 0 0
T10 1263 0 0 0
T16 1834 0 0 0
T17 1845 0 0 0
T19 0 300 0 0
T20 1105 0 0 0
T27 0 1024 0 0
T28 0 1112 0 0
T34 0 50 0 0
T36 0 7050 0 0
T37 0 12750 0 0
T42 0 256 0 0
T51 0 5000 0 0
T59 1169 0 0 0
T142 0 370 0 0

Line Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[1].u_info_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL7685.71
CONT_ASSIGN42100.00
CONT_ASSIGN5200
ALWAYS6366100.00

41 logic unused_cfg; 42 0/1 ==> assign unused_cfg = ^cfg_i; 43 44 // Width of internal write mask. Note wmask_i input into the module is always assumed 45 // to be the full bit mask 46 localparam int MaskWidth = Width / DataBitsPerMask; 47 48 logic [Width-1:0] mem [Depth]; 49 logic [MaskWidth-1:0] wmask; 50 51 for (genvar k = 0; k < MaskWidth; k++) begin : gen_wmask 52 unreachable assign wmask[k] = &wmask_i[k*DataBitsPerMask +: DataBitsPerMask]; 53 54 // Ensure that all mask bits within a group have the same value for a write 55 `ASSERT(MaskCheck_A, req_i && write_i |-> 56 wmask_i[k*DataBitsPerMask +: DataBitsPerMask] inside {{DataBitsPerMask{1'b1}}, '0}, 57 clk_i, '0) 58 end 59 60 // using always instead of always_ff to avoid 'ICPD - illegal combination of drivers' error 61 // thrown when using $readmemh system task to backdoor load an image 62 always @(posedge clk_i) begin 63 1/1 if (req_i) begin Tests: T1 T2 T3  64 1/1 if (write_i) begin Tests: T52 T82 T83  65 1/1 for (int i=0; i < MaskWidth; i = i + 1) begin Tests: T32 T80 T89  66 1/1 if (wmask[i]) begin Tests: T32 T80 T89  67 1/1 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= Tests: T32 T80 T89  68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end ==> MISSING_ELSE 70 end 71 end else begin 72 1/1 rdata_o <= mem[addr_i]; Tests: T52 T82 T83  73 end 74 end MISSING_ELSE

Branch Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[1].u_info_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 3 3 100.00
IF 63 3 3 100.00


63 if (req_i) begin -1- 64 if (write_i) begin -2- 65 for (int i=0; i < MaskWidth; i = i + 1) begin ==> 66 if (wmask[i]) begin 67 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= 68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end 70 end 71 end else begin 72 rdata_o <= mem[addr_i]; ==> 73 end 74 end MISSING_ELSE ==>

Branches:
-1--2-StatusTests
1 1 Covered T32,T80,T89
1 0 Covered T52,T82,T83
0 - Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[1].u_info_mem.gen_generic.u_impl_generic
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 2 2 100.00 2 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 2 2 100.00 2 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataBitsPerMaskCheck_A 1026 1026 0 0
gen_wmask[0].MaskCheck_A 332875393 5216556 0 0


DataBitsPerMaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1026 1026 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T8 1 1 0 0
T15 1 1 0 0
T16 1 1 0 0
T17 1 1 0 0

gen_wmask[0].MaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 332875393 5216556 0 0
T32 139437 393216 0 0
T63 35615 0 0 0
T79 116110 0 0 0
T80 0 589824 0 0
T89 0 65536 0 0
T93 0 393216 0 0
T152 0 524288 0 0
T153 0 786432 0 0
T154 0 556 0 0
T155 0 524288 0 0
T156 0 720896 0 0
T157 0 589824 0 0
T158 2403 0 0 0
T159 1253 0 0 0
T160 157678 0 0 0
T161 2923 0 0 0
T162 230752 0 0 0
T163 2008 0 0 0
T164 137486 0 0 0

Line Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[2].u_info_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL7685.71
CONT_ASSIGN42100.00
CONT_ASSIGN5200
ALWAYS6366100.00

41 logic unused_cfg; 42 0/1 ==> assign unused_cfg = ^cfg_i; 43 44 // Width of internal write mask. Note wmask_i input into the module is always assumed 45 // to be the full bit mask 46 localparam int MaskWidth = Width / DataBitsPerMask; 47 48 logic [Width-1:0] mem [Depth]; 49 logic [MaskWidth-1:0] wmask; 50 51 for (genvar k = 0; k < MaskWidth; k++) begin : gen_wmask 52 unreachable assign wmask[k] = &wmask_i[k*DataBitsPerMask +: DataBitsPerMask]; 53 54 // Ensure that all mask bits within a group have the same value for a write 55 `ASSERT(MaskCheck_A, req_i && write_i |-> 56 wmask_i[k*DataBitsPerMask +: DataBitsPerMask] inside {{DataBitsPerMask{1'b1}}, '0}, 57 clk_i, '0) 58 end 59 60 // using always instead of always_ff to avoid 'ICPD - illegal combination of drivers' error 61 // thrown when using $readmemh system task to backdoor load an image 62 always @(posedge clk_i) begin 63 1/1 if (req_i) begin Tests: T1 T2 T3  64 1/1 if (write_i) begin Tests: T27 T36 T52  65 1/1 for (int i=0; i < MaskWidth; i = i + 1) begin Tests: T36 T84 T85  66 1/1 if (wmask[i]) begin Tests: T36 T84 T85  67 1/1 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= Tests: T36 T84 T85  68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end ==> MISSING_ELSE 70 end 71 end else begin 72 1/1 rdata_o <= mem[addr_i]; Tests: T27 T36 T52  73 end 74 end MISSING_ELSE

Branch Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[2].u_info_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 3 3 100.00
IF 63 3 3 100.00


63 if (req_i) begin -1- 64 if (write_i) begin -2- 65 for (int i=0; i < MaskWidth; i = i + 1) begin ==> 66 if (wmask[i]) begin 67 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= 68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end 70 end 71 end else begin 72 rdata_o <= mem[addr_i]; ==> 73 end 74 end MISSING_ELSE ==>

Branches:
-1--2-StatusTests
1 1 Covered T36,T84,T85
1 0 Covered T27,T36,T52
0 - Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[0].u_prim_flash_bank.gen_info_types[2].u_info_mem.gen_generic.u_impl_generic
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 2 2 100.00 2 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 2 2 100.00 2 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataBitsPerMaskCheck_A 1026 1026 0 0
gen_wmask[0].MaskCheck_A 332875393 5408746 0 0


DataBitsPerMaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1026 1026 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T8 1 1 0 0
T15 1 1 0 0
T16 1 1 0 0
T17 1 1 0 0

gen_wmask[0].MaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 332875393 5408746 0 0
T7 0 50 0 0
T23 1309 0 0 0
T24 3170 0 0 0
T28 209634 0 0 0
T36 30072 600 0 0
T37 207944 0 0 0
T40 0 1850 0 0
T51 64411 0 0 0
T56 11447 0 0 0
T57 0 550 0 0
T58 2280 0 0 0
T65 1393 0 0 0
T78 2116 0 0 0
T84 0 100 0 0
T85 0 100 0 0
T103 0 100 0 0
T165 0 1900 0 0
T166 0 350 0 0
T167 0 100 0 0

Line Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.u_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL7685.71
CONT_ASSIGN42100.00
CONT_ASSIGN5200
ALWAYS6366100.00

41 logic unused_cfg; 42 0/1 ==> assign unused_cfg = ^cfg_i; 43 44 // Width of internal write mask. Note wmask_i input into the module is always assumed 45 // to be the full bit mask 46 localparam int MaskWidth = Width / DataBitsPerMask; 47 48 logic [Width-1:0] mem [Depth]; 49 logic [MaskWidth-1:0] wmask; 50 51 for (genvar k = 0; k < MaskWidth; k++) begin : gen_wmask 52 unreachable assign wmask[k] = &wmask_i[k*DataBitsPerMask +: DataBitsPerMask]; 53 54 // Ensure that all mask bits within a group have the same value for a write 55 `ASSERT(MaskCheck_A, req_i && write_i |-> 56 wmask_i[k*DataBitsPerMask +: DataBitsPerMask] inside {{DataBitsPerMask{1'b1}}, '0}, 57 clk_i, '0) 58 end 59 60 // using always instead of always_ff to avoid 'ICPD - illegal combination of drivers' error 61 // thrown when using $readmemh system task to backdoor load an image 62 always @(posedge clk_i) begin 63 1/1 if (req_i) begin Tests: T1 T2 T3  64 1/1 if (write_i) begin Tests: T4 T16 T8  65 1/1 for (int i=0; i < MaskWidth; i = i + 1) begin Tests: T4 T33 T34  66 1/1 if (wmask[i]) begin Tests: T4 T33 T34  67 1/1 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= Tests: T4 T33 T34  68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end ==> MISSING_ELSE 70 end 71 end else begin 72 1/1 rdata_o <= mem[addr_i]; Tests: T4 T16 T8  73 end 74 end MISSING_ELSE

Branch Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.u_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 3 3 100.00
IF 63 3 3 100.00


63 if (req_i) begin -1- 64 if (write_i) begin -2- 65 for (int i=0; i < MaskWidth; i = i + 1) begin ==> 66 if (wmask[i]) begin 67 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= 68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end 70 end 71 end else begin 72 rdata_o <= mem[addr_i]; ==> 73 end 74 end MISSING_ELSE ==>

Branches:
-1--2-StatusTests
1 1 Covered T4,T33,T34
1 0 Covered T4,T16,T8
0 - Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.u_mem.gen_generic.u_impl_generic
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 2 2 100.00 2 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 2 2 100.00 2 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataBitsPerMaskCheck_A 1026 1026 0 0
gen_wmask[0].MaskCheck_A 332875393 47335347 0 0


DataBitsPerMaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1026 1026 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T8 1 1 0 0
T15 1 1 0 0
T16 1 1 0 0
T17 1 1 0 0

gen_wmask[0].MaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 332875393 47335347 0 0
T4 4375 150 0 0
T5 1250 0 0 0
T6 873 0 0 0
T8 51282 0 0 0
T9 2110 0 0 0
T10 1263 0 0 0
T16 1834 0 0 0
T17 1845 0 0 0
T20 1105 0 0 0
T24 0 350 0 0
T27 0 256 0 0
T28 0 26738 0 0
T33 0 400 0 0
T34 0 50 0 0
T36 0 4650 0 0
T37 0 91900 0 0
T51 0 22950 0 0
T59 1169 0 0 0
T78 0 300 0 0

Line Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[0].u_info_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL7685.71
CONT_ASSIGN42100.00
CONT_ASSIGN5200
ALWAYS6366100.00

41 logic unused_cfg; 42 0/1 ==> assign unused_cfg = ^cfg_i; 43 44 // Width of internal write mask. Note wmask_i input into the module is always assumed 45 // to be the full bit mask 46 localparam int MaskWidth = Width / DataBitsPerMask; 47 48 logic [Width-1:0] mem [Depth]; 49 logic [MaskWidth-1:0] wmask; 50 51 for (genvar k = 0; k < MaskWidth; k++) begin : gen_wmask 52 unreachable assign wmask[k] = &wmask_i[k*DataBitsPerMask +: DataBitsPerMask]; 53 54 // Ensure that all mask bits within a group have the same value for a write 55 `ASSERT(MaskCheck_A, req_i && write_i |-> 56 wmask_i[k*DataBitsPerMask +: DataBitsPerMask] inside {{DataBitsPerMask{1'b1}}, '0}, 57 clk_i, '0) 58 end 59 60 // using always instead of always_ff to avoid 'ICPD - illegal combination of drivers' error 61 // thrown when using $readmemh system task to backdoor load an image 62 always @(posedge clk_i) begin 63 1/1 if (req_i) begin Tests: T1 T2 T3  64 1/1 if (write_i) begin Tests: T27 T28 T92  65 1/1 for (int i=0; i < MaskWidth; i = i + 1) begin Tests: T28 T92 T94  66 1/1 if (wmask[i]) begin Tests: T28 T92 T94  67 1/1 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= Tests: T28 T92 T94  68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end ==> MISSING_ELSE 70 end 71 end else begin 72 1/1 rdata_o <= mem[addr_i]; Tests: T27 T28 T92  73 end 74 end MISSING_ELSE

Branch Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[0].u_info_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 3 3 100.00
IF 63 3 3 100.00


63 if (req_i) begin -1- 64 if (write_i) begin -2- 65 for (int i=0; i < MaskWidth; i = i + 1) begin ==> 66 if (wmask[i]) begin 67 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= 68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end 70 end 71 end else begin 72 rdata_o <= mem[addr_i]; ==> 73 end 74 end MISSING_ELSE ==>

Branches:
-1--2-StatusTests
1 1 Covered T28,T92,T94
1 0 Covered T27,T28,T92
0 - Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[0].u_info_mem.gen_generic.u_impl_generic
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 2 2 100.00 2 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 2 2 100.00 2 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataBitsPerMaskCheck_A 1026 1026 0 0
gen_wmask[0].MaskCheck_A 332875393 6776940 0 0


DataBitsPerMaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1026 1026 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T8 1 1 0 0
T15 1 1 0 0
T16 1 1 0 0
T17 1 1 0 0

gen_wmask[0].MaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 332875393 6776940 0 0
T28 209634 1718 0 0
T32 0 472064 0 0
T42 116819 0 0 0
T51 64411 0 0 0
T56 11447 0 0 0
T58 2280 0 0 0
T65 1393 0 0 0
T73 2390 0 0 0
T80 0 102400 0 0
T92 0 556 0 0
T94 0 1024 0 0
T95 0 25600 0 0
T107 6959 0 0 0
T142 221130 0 0 0
T168 0 556 0 0
T169 0 512 0 0
T170 0 606 0 0
T171 0 1062 0 0
T172 1231 0 0 0

Line Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[1].u_info_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL7685.71
CONT_ASSIGN42100.00
CONT_ASSIGN5200
ALWAYS6366100.00

41 logic unused_cfg; 42 0/1 ==> assign unused_cfg = ^cfg_i; 43 44 // Width of internal write mask. Note wmask_i input into the module is always assumed 45 // to be the full bit mask 46 localparam int MaskWidth = Width / DataBitsPerMask; 47 48 logic [Width-1:0] mem [Depth]; 49 logic [MaskWidth-1:0] wmask; 50 51 for (genvar k = 0; k < MaskWidth; k++) begin : gen_wmask 52 unreachable assign wmask[k] = &wmask_i[k*DataBitsPerMask +: DataBitsPerMask]; 53 54 // Ensure that all mask bits within a group have the same value for a write 55 `ASSERT(MaskCheck_A, req_i && write_i |-> 56 wmask_i[k*DataBitsPerMask +: DataBitsPerMask] inside {{DataBitsPerMask{1'b1}}, '0}, 57 clk_i, '0) 58 end 59 60 // using always instead of always_ff to avoid 'ICPD - illegal combination of drivers' error 61 // thrown when using $readmemh system task to backdoor load an image 62 always @(posedge clk_i) begin 63 1/1 if (req_i) begin Tests: T1 T2 T3  64 1/1 if (write_i) begin Tests: T32 T81 T97  65 1/1 for (int i=0; i < MaskWidth; i = i + 1) begin Tests: T32 T81 T96  66 1/1 if (wmask[i]) begin Tests: T32 T81 T96  67 1/1 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= Tests: T32 T81 T96  68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end ==> MISSING_ELSE 70 end 71 end else begin 72 1/1 rdata_o <= mem[addr_i]; Tests: T97 T173 T89  73 end 74 end MISSING_ELSE

Branch Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[1].u_info_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 3 3 100.00
IF 63 3 3 100.00


63 if (req_i) begin -1- 64 if (write_i) begin -2- 65 for (int i=0; i < MaskWidth; i = i + 1) begin ==> 66 if (wmask[i]) begin 67 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= 68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end 70 end 71 end else begin 72 rdata_o <= mem[addr_i]; ==> 73 end 74 end MISSING_ELSE ==>

Branches:
-1--2-StatusTests
1 1 Covered T32,T81,T96
1 0 Covered T97,T173,T89
0 - Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[1].u_info_mem.gen_generic.u_impl_generic
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 2 2 100.00 2 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 2 2 100.00 2 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataBitsPerMaskCheck_A 1026 1026 0 0
gen_wmask[0].MaskCheck_A 332875393 5661952 0 0


DataBitsPerMaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1026 1026 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T8 1 1 0 0
T15 1 1 0 0
T16 1 1 0 0
T17 1 1 0 0

gen_wmask[0].MaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 332875393 5661952 0 0
T32 139437 458752 0 0
T63 35615 0 0 0
T79 116110 0 0 0
T81 0 524288 0 0
T93 0 327680 0 0
T96 0 256 0 0
T153 0 589824 0 0
T156 0 851968 0 0
T158 2403 0 0 0
T159 1253 0 0 0
T160 157678 0 0 0
T161 2923 0 0 0
T162 230752 0 0 0
T163 2008 0 0 0
T164 137486 0 0 0
T174 0 65536 0 0
T175 0 524288 0 0
T176 0 589824 0 0
T177 0 655360 0 0

Line Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[2].u_info_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL7685.71
CONT_ASSIGN42100.00
CONT_ASSIGN5200
ALWAYS6366100.00

41 logic unused_cfg; 42 0/1 ==> assign unused_cfg = ^cfg_i; 43 44 // Width of internal write mask. Note wmask_i input into the module is always assumed 45 // to be the full bit mask 46 localparam int MaskWidth = Width / DataBitsPerMask; 47 48 logic [Width-1:0] mem [Depth]; 49 logic [MaskWidth-1:0] wmask; 50 51 for (genvar k = 0; k < MaskWidth; k++) begin : gen_wmask 52 unreachable assign wmask[k] = &wmask_i[k*DataBitsPerMask +: DataBitsPerMask]; 53 54 // Ensure that all mask bits within a group have the same value for a write 55 `ASSERT(MaskCheck_A, req_i && write_i |-> 56 wmask_i[k*DataBitsPerMask +: DataBitsPerMask] inside {{DataBitsPerMask{1'b1}}, '0}, 57 clk_i, '0) 58 end 59 60 // using always instead of always_ff to avoid 'ICPD - illegal combination of drivers' error 61 // thrown when using $readmemh system task to backdoor load an image 62 always @(posedge clk_i) begin 63 1/1 if (req_i) begin Tests: T1 T2 T3  64 1/1 if (write_i) begin Tests: T39 T94 T95  65 1/1 for (int i=0; i < MaskWidth; i = i + 1) begin Tests: T39 T95 T32  66 1/1 if (wmask[i]) begin Tests: T39 T95 T32  67 1/1 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= Tests: T39 T95 T32  68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end ==> MISSING_ELSE 70 end 71 end else begin 72 1/1 rdata_o <= mem[addr_i]; Tests: T39 T94 T95  73 end 74 end MISSING_ELSE

Branch Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[2].u_info_mem.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 3 3 100.00
IF 63 3 3 100.00


63 if (req_i) begin -1- 64 if (write_i) begin -2- 65 for (int i=0; i < MaskWidth; i = i + 1) begin ==> 66 if (wmask[i]) begin 67 mem[addr_i][i*DataBitsPerMask +: DataBitsPerMask] <= 68 wdata_i[i*DataBitsPerMask +: DataBitsPerMask]; 69 end 70 end 71 end else begin 72 rdata_o <= mem[addr_i]; ==> 73 end 74 end MISSING_ELSE ==>

Branches:
-1--2-StatusTests
1 1 Covered T39,T95,T32
1 0 Covered T39,T94,T95
0 - Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_eflash.u_flash.gen_generic.u_impl_generic.gen_prim_flash_banks[1].u_prim_flash_bank.gen_info_types[2].u_info_mem.gen_generic.u_impl_generic
TotalAttemptedPercentSucceeded/MatchedPercent
Assertions 2 2 100.00 2 100.00
Cover properties 0 0 0
Cover sequences 0 0 0
Total 2 2 100.00 2 100.00




Assertion Details

NameAttemptsReal SuccessesFailuresIncomplete
DataBitsPerMaskCheck_A 1026 1026 0 0
gen_wmask[0].MaskCheck_A 332875393 5697514 0 0


DataBitsPerMaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1026 1026 0 0
T1 1 1 0 0
T2 1 1 0 0
T3 1 1 0 0
T4 1 1 0 0
T5 1 1 0 0
T6 1 1 0 0
T8 1 1 0 0
T15 1 1 0 0
T16 1 1 0 0
T17 1 1 0 0

gen_wmask[0].MaskCheck_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 332875393 5697514 0 0
T7 4288 0 0 0
T21 1002 0 0 0
T32 0 458752 0 0
T39 1803 50 0 0
T81 0 524288 0 0
T89 0 200 0 0
T93 0 327980 0 0
T94 6362 0 0 0
T95 0 300 0 0
T106 1493 0 0 0
T153 0 589824 0 0
T170 0 606 0 0
T173 0 150 0 0
T174 0 65536 0 0
T178 8202 0 0 0
T179 63434 0 0 0
T180 250463 0 0 0
T181 560 0 0 0
T182 1727 0 0 0

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