dashboard | hierarchy | modlist | groups | tests | asserts

Module Instance : tb.dut.u_padring.gen_dio_pads[22].u_dio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_dio_pads[22].u_dio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[0].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[0].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[1].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[1].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[2].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[2].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[3].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[3].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[4].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[4].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[5].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[5].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[6].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[6].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[7].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[7].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[8].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[8].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[9].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[9].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[10].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[10].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[11].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[11].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[12].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[12].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[13].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[13].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[14].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[14].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[15].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[15].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[16].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[16].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[17].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[17].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[18].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[18].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[19].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[19].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children


Module Instance : tb.dut.u_padring.gen_mio_pads[20].u_mio_pad.gen_generic.u_impl_generic

Instance :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Instance's subtree :
SCORELINECONDTOGGLEFSMBRANCHASSERT
100.00 100.00 100.00 100.00 100.00


Parent :
SCORELINECONDTOGGLEFSMBRANCHASSERTNAME
gen_mio_pads[20].u_mio_pad


Subtrees :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
no children

Go back
Module Instances:
tb.dut.u_padring.gen_dio_pads[22].u_dio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[0].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[1].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[2].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[3].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[4].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[5].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[6].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[7].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[8].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[9].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[10].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[11].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[12].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[13].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[14].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[15].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[16].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[17].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[18].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[19].u_mio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_mio_pads[20].u_mio_pad.gen_generic.u_impl_generic
Line Coverage for Instance : tb.dut.u_padring.gen_dio_pads[22].u_dio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T2 T8 T31  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T2 T8 T31  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T8 T15 T18  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T2 T8 T15  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T2 T8 T15  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T2 T8 T15  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_dio_pads[22].u_dio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT2,T8,T31
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT8,T15,T18
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT2,T28,T26
10CoveredT18,T47,T48
11CoveredT1,T2,T3

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT18,T47,T48
01CoveredT1,T2,T3
10CoveredT18,T47,T48

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT18,T47,T48
11CoveredT18,T47,T48

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT1,T2,T3
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT2,T18,T28
1CoveredT1,T2,T3

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT2,T18,T28
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_dio_pads[22].u_dio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

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


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_dio_pads[22].u_dio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[0].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T6 T29  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T6 T29  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T8 T6 T30  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T6 T30  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T6 T30  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T6 T30  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[0].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT6,T29,T30
01CoveredT8,T6,T29
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT8,T6,T30
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T6,T30

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T6,T30
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T6,T30

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T6,T30

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[0].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T6,T30
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[0].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[1].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T6 T29  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T6 T29  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T6 T29 T30  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T6 T29 T30  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T6 T29 T30  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T6 T29 T30  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[1].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T6,T29
01CoveredT8,T6,T29
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT6,T29,T30
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT6,T29,T30

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT6,T29,T30
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT6,T29,T30

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT6,T29,T30

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[1].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T6,T29,T30
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[1].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[2].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T6 T10  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T6 T10  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T6 T30 T69  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T6 T30 T69  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T6 T30 T69  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T6 T30 T69  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T10 T45 T46 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[2].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T6,T30
01CoveredT8,T6,T10
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT6,T30,T69
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT6,T30,T69

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT6,T30,T69
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT6,T30,T69

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT6,T30,T69

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT10,T45,T46

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[2].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T6,T30,T69
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T10,T45,T46
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[2].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[3].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T6 T30  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T6 T30  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T8 T6 T30  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T6 T30  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T6 T30  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T6 T30  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[3].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT6,T30,T37
01CoveredT8,T6,T30
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT8,T6,T30
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T6,T30

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T6,T30
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T6,T30

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T6,T30

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[3].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T6,T30
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[3].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[4].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T6 T30  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T6 T30  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T6 T30 T40  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T6 T30  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T6 T30  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T6 T30  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[4].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T6,T30
01CoveredT6,T30,T64
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT6,T30,T40
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T6,T30

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T6,T30
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T6,T30

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T6,T30

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[4].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T6,T30
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[4].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[5].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T6 T30  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T6 T30  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T6 T30 T64  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T6 T30  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T6 T30  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T6 T30  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[5].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T6,T30
01CoveredT6,T30,T64
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT6,T30,T64
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T6,T30

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T6,T30
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T6,T30

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T6,T30

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[5].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T6,T30
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[5].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[6].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T6 T30  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T6 T30  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T6 T30 T40  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T6 T30  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T6 T30  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T6 T30  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[6].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T6,T30
01CoveredT6,T30,T40
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT6,T30,T40
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T6,T30

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T6,T30
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T6,T30

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T6,T30

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[6].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T6,T30
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[6].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[7].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T6 T14  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T6 T14  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T6 T30 T40  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T6 T30  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T6 T30  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T6 T30  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T14 T49 T50 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[7].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T6,T14
01CoveredT6,T14,T30
10CoveredT23,T24,T25
11CoveredT24,T25,T215

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT6,T30,T40
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T6,T30

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T6,T30
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T6,T30

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T6,T30

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT14,T49,T50

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[7].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T6,T30
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

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


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[7].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[8].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T6 T30  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T6 T30  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T8 T30 T40  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T30 T60  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T30 T60  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T30 T60  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[8].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT6,T30,T13
01CoveredT8,T6,T30
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT8,T30,T40
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T30,T60

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T30,T60
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T30,T60

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T30,T60

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[8].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T30,T60
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[8].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[9].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T10 T37  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T10 T37  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T11 T12 T51  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T11 T12  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T11 T12  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T11 T12  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T10 T45 T46 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[9].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T37,T59
01CoveredT10,T51,T45
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT11,T12,T51
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T51,T28

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T51,T28
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T51,T28

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T51,T28

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT10,T45,T46

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[9].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T51,T28
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T10,T45,T46
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[9].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[10].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T10 T11  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T10 T11  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T10 T51 T45  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T10 T51 T28  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T10 T51 T28  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T10 T51 T28  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T10 T11 T12 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[10].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T37,T59
01CoveredT8,T10,T11
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT10,T51,T45
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT51,T28,T22

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT51,T28,T22
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT51,T28,T22

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT51,T28,T22

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT10,T11,T12

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[10].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T51,T28,T22
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T10,T11,T12
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[10].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[11].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T2 T8 T13  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T2 T8 T13  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T8 T51 T22  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T51 T22  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T51 T22  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T51 T22  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[11].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT2,T13,T37
01CoveredT2,T8,T51
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT8,T51,T22
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T51,T22

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T51,T22
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T51,T22

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T51,T22

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[11].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T51,T22
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[11].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[12].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T10 T11  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T10 T11  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T22 T23 T24  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T51 T28 T22  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T51 T28 T22  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T51 T28 T22  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T10 T11 T12 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[12].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T31,T15
01CoveredT8,T10,T11
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT22,T23,T24
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT51,T28,T22

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT51,T28,T22
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT51,T28,T22

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT51,T28,T22

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT10,T11,T12

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[12].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T51,T28,T22
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T10,T11,T12
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[12].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[13].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T10 T13  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T10 T13  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T51 T125 T126  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T51 T28 T125  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T51 T28 T125  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T51 T28 T125  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T10 T51 T45 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[13].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T13,T129
01CoveredT8,T10,T129
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT51,T125,T126
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT51,T28,T125

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT51,T28,T125
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT51,T28,T125

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT51,T28,T125

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT10,T51,T45

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[13].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T51,T28,T125
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T10,T51,T45
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[13].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[14].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T1 T2 T3  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T1 T2 T3  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T1 T2 T3  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T1 T2 T3  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T1 T2 T3  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T1 T2 T3  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T10 T51 T45 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[14].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T129,T37
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT1,T2,T3
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT1,T2,T3
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT1,T2,T3

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT10,T51,T45

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[14].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

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


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T10,T51,T45
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[14].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[15].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T10 T30  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T10 T30  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T30 T51 T40  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T30 T51  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T30 T51  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T30 T51  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T10 T51 T45 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[15].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T30,T31
01CoveredT10,T30,T31
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT30,T51,T40
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T215,T216
11CoveredT8,T30,T51

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T30,T51
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T30,T51

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T30,T51

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT10,T51,T45

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[15].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T30,T51
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T10,T51,T45
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[15].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[16].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T30 T15  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T30 T15  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T30 T15 T18  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T30 T15  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T30 T15  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T30 T15  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[16].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T30,T15
01CoveredT30,T15,T18
10CoveredT23,T25,T215
11CoveredT23,T25,T215

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT30,T15,T18
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T30,T15

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T30,T15
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T30,T15

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T30,T15

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[16].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T30,T15
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[16].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[17].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T30 T31  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T30 T31  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T30 T51 T40  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T30 T51  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T30 T51  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T30 T51  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[17].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T30,T31
01CoveredT30,T31,T15
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT30,T51,T40
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T30,T51

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T30,T51
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T30,T51

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T30,T51

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[17].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T30,T51
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[17].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[18].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T32 T30  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T32 T30  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T8 T32 T30  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T32 T30  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T32 T30  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T32 T30  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[18].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT32,T30,T61
01CoveredT8,T32,T30
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT8,T32,T30
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T32,T30

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T32,T30
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T32,T30

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T32,T30

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[18].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T32,T30
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[18].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[19].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T32 T30  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T32 T30  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T8 T32 T30  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T32 T30  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T32 T30  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T32 T30  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[19].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT32,T30,T61
01CoveredT8,T32,T30
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT8,T32,T30
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T32,T30

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T32,T30
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T32,T30

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T32,T30

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[19].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T32,T30
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[19].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

Line Coverage for Instance : tb.dut.u_padring.gen_mio_pads[20].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
TOTAL88100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN7811100.00
CONT_ASSIGN8011100.00
CONT_ASSIGN8411100.00
CONT_ASSIGN8511100.00
CONT_ASSIGN9211100.00
CONT_ASSIGN9311100.00
CONT_ASSIGN9511100.00

38 logic unused_sigs; 39 unreachable assign unused_sigs = ^{attr_i.slew_rate, 40 attr_i.drive_strength[3:1], 41 attr_i.od_en, 42 attr_i.schmitt_en, 43 attr_i.keep_en, 44 scanmode_i, 45 pok_i}; 46 //VCS coverage on 47 // pragma coverage on 48 49 // Input enable (active-high) 50 logic ie; 51 1/1 assign ie = ie_i & ~attr_i.input_disable; Tests: T23 T24 T25  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 assign unused_in_sigs = ^{out_i, 58 oe_i, 59 attr_i.virt_od_en, 60 attr_i.drive_strength}; 61 //VCS coverage on 62 // pragma coverage on 63 64 assign in_raw_o = ie ? inout_io : 1'bz; 65 // input inversion 66 assign in_o = attr_i.invert ^ in_raw_o; 67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 72 `endif 73 end else if (PadType == BidirTol || 74 PadType == DualBidirTol || 75 PadType == BidirOd || 76 PadType == BidirStd) begin : gen_bidir 77 78 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T8 T32 T30  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T8 T32 T30  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T30 T36 T69  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T8 T32 T30  86 87 // drive strength attributes are not supported by verilator 88 `ifdef VERILATOR 89 assign inout_io = (oe) ? out : 1'bz; 90 `else 91 // different driver types 92 1/1 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T32 T30  93 1/1 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; Tests: T8 T32 T30  94 // pullup / pulldown termination 95 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T23 T24 T25 

Cond Coverage for Instance : tb.dut.u_padring.gen_mio_pads[20].u_mio_pad.gen_generic.u_impl_generic
TotalCoveredPercent
Conditions3333100.00
Logical3333100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT23,T24,T25
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT23,T24,T25
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT8,T32,T30
01CoveredT30,T63,T36
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT23,T24,T25
10CoveredT30,T36,T69
11CoveredT23,T24,T25

 LINE       85
 EXPRESSION (oe_i & ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en))))
             --1-   ---------------------------------2---------------------------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T32,T30

 LINE       85
 SUB-EXPRESSION ((attr_i.virt_od_en & ((~gen_bidir.out))) | ((~attr_i.virt_od_en)))
                 --------------------1-------------------   -----------2----------
-1--2-StatusTests
00CoveredT23,T24,T25
01CoveredT1,T2,T3
10CoveredT23,T24,T25

 LINE       85
 SUB-EXPRESSION (attr_i.virt_od_en & ((~gen_bidir.out)))
                 --------1--------   ---------2--------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT23,T24,T25

 LINE       92
 EXPRESSION ((gen_bidir.oe && attr_i.drive_strength[0]) ? gen_bidir.out : 1'bz)
             ---------------------1--------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT23,T24,T25
10CoveredT8,T32,T30
11CoveredT23,T24,T25

 LINE       93
 EXPRESSION ((gen_bidir.oe && ((!attr_i.drive_strength[0]))) ? gen_bidir.out : 1'bz)
             -----------------------1-----------------------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT8,T32,T30

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT23,T24,T25
11CoveredT8,T32,T30

 LINE       95
 EXPRESSION (attr_i.pull_en ? attr_i.pull_select : 1'bz)
             -------1------
-1-StatusTests
0CoveredT1,T2,T3
1CoveredT23,T24,T25

Branch Coverage for Instance : tb.dut.u_padring.gen_mio_pads[20].u_mio_pad.gen_generic.u_impl_generic
Line No.TotalCoveredPercent
Branches 8 8 100.00
TERNARY 78 2 2 100.00
TERNARY 92 2 2 100.00
TERNARY 93 2 2 100.00
TERNARY 95 2 2 100.00


78 assign in_raw_o = ie ? inout_io : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T23,T24,T25


92 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T8,T32,T30
0 Covered T1,T2,T3


95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; -1- ==> ==>

Branches:
-1-StatusTests
1 Covered T23,T24,T25
0 Covered T1,T2,T3


Assert Coverage for Instance : tb.dut.u_padring.gen_mio_pads[20].u_mio_pad.gen_generic.u_impl_generic
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
AnalogNoScan_A 1018 1018 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 1018 1018 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
T7 1 1 0 0
T8 1 1 0 0
T10 1 1 0 0
T35 1 1 0 0

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