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



Module Instance : tb.dut.u_flash_mp.u_sw_sel

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
99.64 100.00 98.56 100.00 100.00 u_flash_mp


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children



Module Instance : tb.dut.u_flash_mp.u_hw_sel

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
99.64 100.00 98.56 100.00 100.00 u_flash_mp


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children



Module Instance : tb.dut.u_eflash.u_region_sel

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
94.56 97.67 86.00 100.00 u_eflash


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children

Line Coverage for Module : flash_mp_data_region_sel ( parameter Regions=9 )
Line Coverage for Module self-instances :
SCORELINE
100.00 100.00
tb.dut.u_flash_mp.u_sw_sel

SCORELINE
100.00 100.00
tb.dut.u_eflash.u_region_sel

Line No.TotalCoveredPercent
TOTAL1616100.00
CONT_ASSIGN2811100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
ALWAYS3500
ALWAYS3533100.00
ALWAYS4944100.00

27 // decode for software interface region 28 1/1 assign region_sel[0] = region_match[0]; Tests: T1 T2 T3  29 for (genvar i = 1; i < Regions; i++) begin: gen_region_priority 30 8/8 assign region_sel[i] = region_match[i] & ~|region_match[i-1:0]; Tests: T1 T2 T3  | T1 T2 T3  | T1 T2 T3  | T1 T2 T3  | T1 T2 T3  | T1 T2 T3  | T1 T2 T3  | T1 T2 T3  31 end 32 33 // check for region match 34 always_comb begin 35 1/1 for (int i = 0; i < Regions; i++) begin: gen_region_comps Tests: T1 T2 T3  36 1/1 region_end[i] = {1'b0, region_attrs_i[i].cfg.base} + region_attrs_i[i].cfg.size; Tests: T1 T2 T3  37 38 // region matches if address within range and if the partition matches 39 1/1 region_match[i] = addr_i >= region_attrs_i[i].cfg.base & Tests: T1 T2 T3  40 {1'b0, addr_i} < region_end[i] & 41 phase_i == region_attrs_i[i].phase & 42 mubi4_test_true_strict(region_attrs_i[i].cfg.en) & 43 req_i; 44 end 45 end 46 47 // select appropriate region configuration 48 always_comb begin 49 1/1 sel_cfg_o = '0; Tests: T1 T2 T3  50 1/1 for (int i = 0; i < Regions; i++) begin: gen_region_sel Tests: T1 T2 T3  51 1/1 if (region_sel[i]) begin Tests: T1 T2 T3  52 1/1 sel_cfg_o = region_attrs_i[i].cfg; Tests: T1 T2 T3  53 end MISSING_ELSE

Line Coverage for Module : flash_mp_data_region_sel ( parameter Regions=1 )
Line Coverage for Module self-instances :
SCORELINE
100.00 100.00
tb.dut.u_flash_mp.u_hw_sel

Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN2811100.00
ALWAYS3500
ALWAYS3533100.00
ALWAYS4944100.00

27 // decode for software interface region 28 1/1 assign region_sel[0] = region_match[0]; Tests: T1 T2 T3  29 for (genvar i = 1; i < Regions; i++) begin: gen_region_priority 30 assign region_sel[i] = region_match[i] & ~|region_match[i-1:0]; 31 end 32 33 // check for region match 34 always_comb begin 35 1/1 for (int i = 0; i < Regions; i++) begin: gen_region_comps Tests: T1 T2 T3  36 1/1 region_end[i] = {1'b0, region_attrs_i[i].cfg.base} + region_attrs_i[i].cfg.size; Tests: T1 T2 T3  37 38 // region matches if address within range and if the partition matches 39 1/1 region_match[i] = addr_i >= region_attrs_i[i].cfg.base & Tests: T1 T2 T3  40 {1'b0, addr_i} < region_end[i] & 41 phase_i == region_attrs_i[i].phase & 42 mubi4_test_true_strict(region_attrs_i[i].cfg.en) & 43 req_i; 44 end 45 end 46 47 // select appropriate region configuration 48 always_comb begin 49 1/1 sel_cfg_o = '0; Tests: T1 T2 T3  50 1/1 for (int i = 0; i < Regions; i++) begin: gen_region_sel Tests: T1 T2 T3  51 1/1 if (region_sel[i]) begin Tests: T1 T2 T3  52 1/1 sel_cfg_o = region_attrs_i[i].cfg; Tests: T7 T93 T117  53 end MISSING_ELSE

Cond Coverage for Module : flash_mp_data_region_sel
TotalCoveredPercent
Conditions2424100.00
Logical2424100.00
Non-Logical00
Event00

 LINE       30
 EXPRESSION (region_match[1] & ((~|region_match[0])))
             -------1-------   ----------2----------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT160,T206,T165
11CoveredT32,T42,T25

 LINE       30
 EXPRESSION (region_match[2] & ((~|region_match[(2 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T46
11CoveredT52,T32,T25

 LINE       30
 EXPRESSION (region_match[3] & ((~|region_match[(3 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T41
11CoveredT52,T32,T42

 LINE       30
 EXPRESSION (region_match[4] & ((~|region_match[(4 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T46
11CoveredT52,T25,T63

 LINE       30
 EXPRESSION (region_match[5] & ((~|region_match[(5 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T24
11CoveredT32,T73,T10

 LINE       30
 EXPRESSION (region_match[6] & ((~|region_match[(6 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T32
11CoveredT52,T32,T73

 LINE       30
 EXPRESSION (region_match[7] & ((~|region_match[(7 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T71
11CoveredT52,T32,T71

 LINE       30
 EXPRESSION (region_match[8] & ((~|region_match[(8 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T14,T20
11CoveredT2,T3,T13

Branch Coverage for Module : flash_mp_data_region_sel
Line No.TotalCoveredPercent
Branches 2 2 100.00
IF 51 2 2 100.00


51 if (region_sel[i]) begin -1- 52 sel_cfg_o = region_attrs_i[i].cfg; ==> 53 end MISSING_ELSE ==>

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

Line Coverage for Instance : tb.dut.u_flash_mp.u_sw_sel
Line No.TotalCoveredPercent
TOTAL1616100.00
CONT_ASSIGN2811100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
ALWAYS3500
ALWAYS3533100.00
ALWAYS4944100.00

27 // decode for software interface region 28 1/1 assign region_sel[0] = region_match[0]; Tests: T1 T2 T3  29 for (genvar i = 1; i < Regions; i++) begin: gen_region_priority 30 8/8 assign region_sel[i] = region_match[i] & ~|region_match[i-1:0]; Tests: T1 T2 T3  | T1 T2 T3  | T1 T2 T3  | T1 T2 T3  | T1 T2 T3  | T1 T2 T3  | T1 T2 T3  | T1 T2 T3  31 end 32 33 // check for region match 34 always_comb begin 35 1/1 for (int i = 0; i < Regions; i++) begin: gen_region_comps Tests: T1 T2 T3  36 1/1 region_end[i] = {1'b0, region_attrs_i[i].cfg.base} + region_attrs_i[i].cfg.size; Tests: T1 T2 T3  37 38 // region matches if address within range and if the partition matches 39 1/1 region_match[i] = addr_i >= region_attrs_i[i].cfg.base & Tests: T1 T2 T3  40 {1'b0, addr_i} < region_end[i] & 41 phase_i == region_attrs_i[i].phase & 42 mubi4_test_true_strict(region_attrs_i[i].cfg.en) & 43 req_i; 44 end 45 end 46 47 // select appropriate region configuration 48 always_comb begin 49 1/1 sel_cfg_o = '0; Tests: T1 T2 T3  50 1/1 for (int i = 0; i < Regions; i++) begin: gen_region_sel Tests: T1 T2 T3  51 1/1 if (region_sel[i]) begin Tests: T1 T2 T3  52 1/1 sel_cfg_o = region_attrs_i[i].cfg; Tests: T2 T3 T13  53 end MISSING_ELSE

Cond Coverage for Instance : tb.dut.u_flash_mp.u_sw_sel
TotalCoveredPercent
Conditions2424100.00
Logical2424100.00
Non-Logical00
Event00

 LINE       30
 EXPRESSION (region_match[1] & ((~|region_match[0])))
             -------1-------   ----------2----------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT160,T206,T165
11CoveredT32,T25,T8

 LINE       30
 EXPRESSION (region_match[2] & ((~|region_match[(2 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T46
11CoveredT52,T32,T26

 LINE       30
 EXPRESSION (region_match[3] & ((~|region_match[(3 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T41
11CoveredT52,T32,T42

 LINE       30
 EXPRESSION (region_match[4] & ((~|region_match[(4 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T46
11CoveredT52,T63,T24

 LINE       30
 EXPRESSION (region_match[5] & ((~|region_match[(5 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T46
11CoveredT32,T73,T10

 LINE       30
 EXPRESSION (region_match[6] & ((~|region_match[(6 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T32
11CoveredT32,T73,T27

 LINE       30
 EXPRESSION (region_match[7] & ((~|region_match[(7 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T71
11CoveredT52,T32,T71

 LINE       30
 EXPRESSION (region_match[8] & ((~|region_match[(8 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T52
11CoveredT2,T3,T13

Branch Coverage for Instance : tb.dut.u_flash_mp.u_sw_sel
Line No.TotalCoveredPercent
Branches 2 2 100.00
IF 51 2 2 100.00


51 if (region_sel[i]) begin -1- 52 sel_cfg_o = region_attrs_i[i].cfg; ==> 53 end MISSING_ELSE ==>

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

Line Coverage for Instance : tb.dut.u_flash_mp.u_hw_sel
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN2811100.00
ALWAYS3500
ALWAYS3533100.00
ALWAYS4944100.00

27 // decode for software interface region 28 1/1 assign region_sel[0] = region_match[0]; Tests: T1 T2 T3  29 for (genvar i = 1; i < Regions; i++) begin: gen_region_priority 30 assign region_sel[i] = region_match[i] & ~|region_match[i-1:0]; 31 end 32 33 // check for region match 34 always_comb begin 35 1/1 for (int i = 0; i < Regions; i++) begin: gen_region_comps Tests: T1 T2 T3  36 1/1 region_end[i] = {1'b0, region_attrs_i[i].cfg.base} + region_attrs_i[i].cfg.size; Tests: T1 T2 T3  37 38 // region matches if address within range and if the partition matches 39 1/1 region_match[i] = addr_i >= region_attrs_i[i].cfg.base & Tests: T1 T2 T3  40 {1'b0, addr_i} < region_end[i] & 41 phase_i == region_attrs_i[i].phase & 42 mubi4_test_true_strict(region_attrs_i[i].cfg.en) & 43 req_i; 44 end 45 end 46 47 // select appropriate region configuration 48 always_comb begin 49 1/1 sel_cfg_o = '0; Tests: T1 T2 T3  50 1/1 for (int i = 0; i < Regions; i++) begin: gen_region_sel Tests: T1 T2 T3  51 1/1 if (region_sel[i]) begin Tests: T1 T2 T3  52 1/1 sel_cfg_o = region_attrs_i[i].cfg; Tests: T7 T93 T117  53 end MISSING_ELSE

Branch Coverage for Instance : tb.dut.u_flash_mp.u_hw_sel
Line No.TotalCoveredPercent
Branches 2 2 100.00
IF 51 2 2 100.00


51 if (region_sel[i]) begin -1- 52 sel_cfg_o = region_attrs_i[i].cfg; ==> 53 end MISSING_ELSE ==>

Branches:
-1-StatusTests
1 Covered T7,T93,T117
0 Covered T1,T2,T3

Line Coverage for Instance : tb.dut.u_eflash.u_region_sel
Line No.TotalCoveredPercent
TOTAL1616100.00
CONT_ASSIGN2811100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
CONT_ASSIGN3011100.00
ALWAYS3500
ALWAYS3533100.00
ALWAYS4944100.00

27 // decode for software interface region 28 1/1 assign region_sel[0] = region_match[0]; Tests: T1 T2 T13  29 for (genvar i = 1; i < Regions; i++) begin: gen_region_priority 30 8/8 assign region_sel[i] = region_match[i] & ~|region_match[i-1:0]; Tests: T1 T2 T13  | T1 T2 T13  | T1 T2 T13  | T1 T2 T13  | T1 T2 T13  | T1 T2 T13  | T1 T2 T13  | T1 T2 T13  31 end 32 33 // check for region match 34 always_comb begin 35 1/1 for (int i = 0; i < Regions; i++) begin: gen_region_comps Tests: T1 T2 T3  36 1/1 region_end[i] = {1'b0, region_attrs_i[i].cfg.base} + region_attrs_i[i].cfg.size; Tests: T1 T2 T3  37 38 // region matches if address within range and if the partition matches 39 1/1 region_match[i] = addr_i >= region_attrs_i[i].cfg.base & Tests: T1 T2 T3  40 {1'b0, addr_i} < region_end[i] & 41 phase_i == region_attrs_i[i].phase & 42 mubi4_test_true_strict(region_attrs_i[i].cfg.en) & 43 req_i; 44 end 45 end 46 47 // select appropriate region configuration 48 always_comb begin 49 1/1 sel_cfg_o = '0; Tests: T1 T2 T3  50 1/1 for (int i = 0; i < Regions; i++) begin: gen_region_sel Tests: T1 T2 T3  51 1/1 if (region_sel[i]) begin Tests: T1 T2 T3  52 1/1 sel_cfg_o = region_attrs_i[i].cfg; Tests: T1 T13 T14  53 end MISSING_ELSE

Cond Coverage for Instance : tb.dut.u_eflash.u_region_sel
TotalCoveredPercent
Conditions2424100.00
Logical2424100.00
Non-Logical00
Event00

 LINE       30
 EXPRESSION (region_match[1] & ((~|region_match[0])))
             -------1-------   ----------2----------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT206,T262,T263
11CoveredT42,T91,T264

 LINE       30
 EXPRESSION (region_match[2] & ((~|region_match[(2 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T216
11CoveredT25,T27,T43

 LINE       30
 EXPRESSION (region_match[3] & ((~|region_match[(3 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T265
11CoveredT25,T63,T24

 LINE       30
 EXPRESSION (region_match[4] & ((~|region_match[(4 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T38
11CoveredT52,T25,T43

 LINE       30
 EXPRESSION (region_match[5] & ((~|region_match[(5 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T24
11CoveredT78,T76,T216

 LINE       30
 EXPRESSION (region_match[6] & ((~|region_match[(6 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T43
11CoveredT52,T25,T27

 LINE       30
 EXPRESSION (region_match[7] & ((~|region_match[(7 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT14,T20,T43
11CoveredT27,T63,T43

 LINE       30
 EXPRESSION (region_match[8] & ((~|region_match[(8 - 1):0])))
             -------1-------   --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT1,T14,T20
11CoveredT13,T14,T20

Branch Coverage for Instance : tb.dut.u_eflash.u_region_sel
Line No.TotalCoveredPercent
Branches 2 2 100.00
IF 51 2 2 100.00


51 if (region_sel[i]) begin -1- 52 sel_cfg_o = region_attrs_i[i].cfg; ==> 53 end MISSING_ELSE ==>

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

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