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

Module : prim_generic_pad_wrapper
SCORELINECONDTOGGLEFSMBRANCHASSERT
88.89 88.89 83.33 83.33 100.00

Source File(s) :
/workspaces/repo/scratch/os_regression_2024_10_14/chip_earlgrey_asic-sim-vcs/default/sim-vcs/../src/lowrisc_prim_generic_pad_wrapper_0/rtl/prim_generic_pad_wrapper.sv

Module self-instances :
NAMESCORELINECONDTOGGLEFSMBRANCHASSERT
tb.dut.u_padring.gen_dio_pads[5].u_dio_pad.gen_generic.u_impl_generic 66.67 66.67 50.00 50.00 100.00
tb.dut.u_padring.gen_dio_pads[8].u_dio_pad.gen_generic.u_impl_generic 66.67 66.67 50.00 50.00 100.00
tb.dut.u_padring.gen_dio_pads[1].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[2].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[9].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[10].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[11].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[12].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[13].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[14].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[15].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[16].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[17].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[18].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[19].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[20].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[21].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[22].u_dio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[0].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[1].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[2].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[3].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[4].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[5].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[6].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[7].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[8].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[9].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[10].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[11].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[12].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[13].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[14].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[15].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[16].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[17].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[18].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[19].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[20].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[21].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[22].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[23].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[24].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[25].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[26].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[27].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[28].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[29].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[30].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[31].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[32].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[33].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[34].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[35].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[36].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[37].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[38].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[39].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[40].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[41].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[42].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[43].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[44].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[45].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_mio_pads[46].u_mio_pad.gen_generic.u_impl_generic 100.00 100.00 100.00 100.00 100.00
tb.dut.u_padring.gen_dio_pads[0].u_dio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_dio_pads[3].u_dio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_dio_pads[4].u_dio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_dio_pads[6].u_dio_pad.gen_generic.u_impl_generic
tb.dut.u_padring.gen_dio_pads[7].u_dio_pad.gen_generic.u_impl_generic

Line Coverage for Module : prim_generic_pad_wrapper ( parameter PadType=3,ScanRole )
Line Coverage for Module self-instances :
SCORE
tb.dut.u_padring.gen_dio_pads[0].u_dio_pad.gen_generic.u_impl_generic

SCORE
tb.dut.u_padring.gen_dio_pads[6].u_dio_pad.gen_generic.u_impl_generic

SCORE
tb.dut.u_padring.gen_dio_pads[7].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[19].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[20].u_dio_pad.gen_generic.u_impl_generic

Line No.TotalCoveredPercent
TOTAL44100.00
CONT_ASSIGN3900
CONT_ASSIGN5111100.00
CONT_ASSIGN5700
CONT_ASSIGN6411100.00
CONT_ASSIGN6611100.00
CONT_ASSIGN7111100.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: T20 T21 T22  52 53 if (PadType == InputStd) begin : gen_input_only 54 //VCS coverage off 55 // pragma coverage off 56 logic unused_in_sigs; 57 unreachable 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 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T1 T2 T3  65 // input inversion 66 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T1 T2 T3  67 68 // pulls are not supported by verilator 69 `ifndef VERILATOR 70 // pullup / pulldown termination 71 1/1 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; Tests: T20 T21 T22 

Line Coverage for Module : prim_generic_pad_wrapper ( parameter PadType=0,ScanRole=0 )
Line Coverage for Module self-instances :
SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[1].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[2].u_dio_pad.gen_generic.u_impl_generic

SCORE
tb.dut.u_padring.gen_dio_pads[3].u_dio_pad.gen_generic.u_impl_generic

SCORE
tb.dut.u_padring.gen_dio_pads[4].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[9].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[10].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[11].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[12].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[13].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[14].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[15].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[16].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[17].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[18].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[21].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_dio_pads[22].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[0].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[1].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[2].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[3].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[4].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[5].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[6].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[7].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[8].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[9].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[10].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[11].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[12].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[13].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[14].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[15].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[16].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[17].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[18].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[19].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[20].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[21].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[22].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[23].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[24].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[25].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[26].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[27].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[28].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[29].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[30].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[31].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[32].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[33].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[34].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[35].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[36].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[37].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[38].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[39].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[40].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[41].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[42].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[43].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[44].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[45].u_mio_pad.gen_generic.u_impl_generic

SCORELINE
100.00 100.00
tb.dut.u_padring.gen_mio_pads[46].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: T20 T21 T22  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: T4 T30 T6  79 // input inversion 80 1/1 assign in_o = attr_i.invert ^ in_raw_o; Tests: T4 T30 T6  81 82 // virtual open drain emulation 83 logic oe, out; 84 1/1 assign out = out_i ^ attr_i.invert; Tests: T4 T6 T7  85 1/1 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); Tests: T4 T6 T7  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: T25 T11 T8 

Line Coverage for Module : prim_generic_pad_wrapper ( parameter PadType=4,ScanRole=0 )
Line Coverage for Module self-instances :
SCORELINE
66.67 66.67
tb.dut.u_padring.gen_dio_pads[5].u_dio_pad.gen_generic.u_impl_generic

SCORELINE
66.67 66.67
tb.dut.u_padring.gen_dio_pads[8].u_dio_pad.gen_generic.u_impl_generic

Line No.TotalCoveredPercent
TOTAL3266.67
CONT_ASSIGN3900
CONT_ASSIGN51100.00
CONT_ASSIGN10200
CONT_ASSIGN11411100.00
CONT_ASSIGN11511100.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 0/1 ==> assign ie = ie_i & ~attr_i.input_disable; 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 assign in_raw_o = ie ? inout_io : 1'bz; 79 // input inversion 80 assign in_o = attr_i.invert ^ in_raw_o; 81 82 // virtual open drain emulation 83 logic oe, out; 84 assign out = out_i ^ attr_i.invert; 85 assign oe = oe_i & ((attr_i.virt_od_en & ~out) | ~attr_i.virt_od_en); 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 assign (strong0, strong1) inout_io = (oe && attr_i.drive_strength[0]) ? out : 1'bz; 93 assign (pull0, pull1) inout_io = (oe && !attr_i.drive_strength[0]) ? out : 1'bz; 94 // pullup / pulldown termination 95 assign (weak0, weak1) inout_io = attr_i.pull_en ? attr_i.pull_select : 1'bz; 96 `endif 97 end else if (PadType == AnalogIn0 || PadType == AnalogIn1) begin : gen_analog 98 99 //VCS coverage off 100 // pragma coverage off 101 logic unused_ana_sigs; 102 unreachable assign unused_ana_sigs = ^{attr_i.invert, 103 attr_i.virt_od_en, 104 attr_i.drive_strength[0], 105 attr_i.pull_en, 106 attr_i.pull_select, 107 out_i, 108 oe_i, 109 ie_i}; 110 //VCS coverage on 111 // pragma coverage on 112 113 assign inout_io = 1'bz; // explicitly make this tristate to avoid lint errors. 114 1/1 assign in_raw_o = ie ? inout_io : 1'bz; Tests: T4 T30 T6  115 1/1 assign in_o = in_raw_o; Tests: T4 T30 T6 

Cond Coverage for Module : prim_generic_pad_wrapper ( parameter PadType=3,ScanRole )
Cond Coverage for Module self-instances :
SCORE
tb.dut.u_padring.gen_dio_pads[0].u_dio_pad.gen_generic.u_impl_generic

SCORE
tb.dut.u_padring.gen_dio_pads[6].u_dio_pad.gen_generic.u_impl_generic

SCORE
tb.dut.u_padring.gen_dio_pads[7].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[19].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[20].u_dio_pad.gen_generic.u_impl_generic

TotalCoveredPercent
Conditions1010100.00
Logical1010100.00
Non-Logical00
Event00

 LINE       51
 EXPRESSION (ie_i & ((~attr_i.input_disable)))
             --1-   ------------2------------
-1--2-StatusTests
01Unreachable
10CoveredT20,T21,T22
11CoveredT1,T2,T3

 LINE       64
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT20,T21,T22
1CoveredT1,T2,T3

 LINE       66
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T2,T3
10CoveredT20,T21,T22
11CoveredT20,T21,T22

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

Cond Coverage for Module : prim_generic_pad_wrapper ( parameter PadType=4,ScanRole=0 )
Cond Coverage for Module self-instances :
SCORECOND
66.67 50.00
tb.dut.u_padring.gen_dio_pads[5].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
66.67 50.00
tb.dut.u_padring.gen_dio_pads[8].u_dio_pad.gen_generic.u_impl_generic

TotalCoveredPercent
Conditions4250.00
Logical4250.00
Non-Logical00
Event00

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

 LINE       114
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0Not Covered
1CoveredT1,T2,T3

Cond Coverage for Module : prim_generic_pad_wrapper ( parameter PadType=0,ScanRole=0 )
Cond Coverage for Module self-instances :
SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[1].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[2].u_dio_pad.gen_generic.u_impl_generic

SCORE
tb.dut.u_padring.gen_dio_pads[3].u_dio_pad.gen_generic.u_impl_generic

SCORE
tb.dut.u_padring.gen_dio_pads[4].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[9].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[10].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[11].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[12].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[13].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[14].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[15].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[16].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[17].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[18].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[21].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_dio_pads[22].u_dio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[0].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[1].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[2].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[3].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[4].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[5].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[6].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[7].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[8].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[9].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[10].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[11].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[12].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[13].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[14].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[15].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[16].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[17].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[18].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[19].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[20].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[21].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[22].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[23].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[24].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[25].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[26].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[27].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[28].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[29].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[30].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[31].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[32].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[33].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[34].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[35].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[36].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[37].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[38].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[39].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[40].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[41].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[42].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[43].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[44].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[45].u_mio_pad.gen_generic.u_impl_generic

SCORECOND
100.00 100.00
tb.dut.u_padring.gen_mio_pads[46].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
10CoveredT20,T21,T22
11CoveredT1,T2,T3

 LINE       78
 EXPRESSION (ie ? inout_io : 1'bz)
             -1
-1-StatusTests
0CoveredT20,T21,T22
1CoveredT1,T2,T3

 LINE       80
 EXPRESSION (attr_i.invert ^ in_raw_o)
             ------1------   ----2---
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT1,T2,T3
10CoveredT20,T21,T22
11CoveredT20,T21,T22

 LINE       84
 EXPRESSION (out_i ^ attr_i.invert)
             --1--   ------2------
-1--2-StatusTests
00CoveredT1,T2,T3
01CoveredT20,T21,T22
10CoveredT1,T2,T3
11CoveredT20,T21,T22

 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
10CoveredT15,T45,T46
11CoveredT6,T8,T16

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

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

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

 LINE       92
 SUB-EXPRESSION (gen_bidir.oe && attr_i.drive_strength[0])
                 ------1-----    ------------2-----------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT5,T6,T11
11CoveredT6,T8,T16

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

 LINE       93
 SUB-EXPRESSION (gen_bidir.oe && ((!attr_i.drive_strength[0])))
                 ------1-----    --------------2--------------
-1--2-StatusTests
01CoveredT1,T2,T3
10CoveredT6,T8,T16
11CoveredT5,T6,T11

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

Branch Coverage for Module : prim_generic_pad_wrapper ( parameter PadType=3,ScanRole )
Branch Coverage for Module self-instances :
SCORE
tb.dut.u_padring.gen_dio_pads[0].u_dio_pad.gen_generic.u_impl_generic

SCORE
tb.dut.u_padring.gen_dio_pads[6].u_dio_pad.gen_generic.u_impl_generic

SCORE
tb.dut.u_padring.gen_dio_pads[7].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[19].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[20].u_dio_pad.gen_generic.u_impl_generic

Line No.TotalCoveredPercent
Branches 4 4 100.00
TERNARY 64 2 2 100.00
TERNARY 71 2 2 100.00


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

Branches:
-1-StatusTests
1 Covered T1,T2,T3
0 Covered T20,T21,T22


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

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


Branch Coverage for Module : prim_generic_pad_wrapper ( parameter PadType=0,ScanRole=0 )
Branch Coverage for Module self-instances :
SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[1].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[2].u_dio_pad.gen_generic.u_impl_generic

SCORE
tb.dut.u_padring.gen_dio_pads[3].u_dio_pad.gen_generic.u_impl_generic

SCORE
tb.dut.u_padring.gen_dio_pads[4].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[9].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[10].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[11].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[12].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[13].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[14].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[15].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[16].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[17].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[18].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[21].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_dio_pads[22].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[0].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[1].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[2].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[3].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[4].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[5].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[6].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[7].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[8].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[9].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[10].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[11].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[12].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[13].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[14].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[15].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[16].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[17].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[18].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[19].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[20].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[21].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[22].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[23].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[24].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[25].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[26].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[27].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[28].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[29].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[30].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[31].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[32].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[33].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[34].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[35].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[36].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[37].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[38].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[39].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[40].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[41].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[42].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[43].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[44].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[45].u_mio_pad.gen_generic.u_impl_generic

SCOREBRANCH
100.00 100.00
tb.dut.u_padring.gen_mio_pads[46].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 T20,T21,T22


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

Branches:
-1-StatusTests
1 Covered T6,T8,T16
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 T5,T6,T11
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 T25,T11,T8
0 Covered T1,T2,T3


Branch Coverage for Module : prim_generic_pad_wrapper ( parameter PadType=4,ScanRole=0 )
Branch Coverage for Module self-instances :
SCOREBRANCH
66.67 50.00
tb.dut.u_padring.gen_dio_pads[5].u_dio_pad.gen_generic.u_impl_generic

SCOREBRANCH
66.67 50.00
tb.dut.u_padring.gen_dio_pads[8].u_dio_pad.gen_generic.u_impl_generic

Line No.TotalCoveredPercent
Branches 2 1 50.00
TERNARY 114 2 1 50.00


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

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


Assert Coverage for Module : prim_generic_pad_wrapper
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 70700 70700 0 0


AnalogNoScan_A
NameAttemptsReal SuccessesFailuresIncomplete
Total 70700 70700 0 0
T1 70 70 0 0
T2 70 70 0 0
T3 70 70 0 0
T4 70 70 0 0
T5 70 70 0 0
T6 70 70 0 0
T30 70 70 0 0
T68 70 70 0 0
T104 70 70 0 0
T105 70 70 0 0

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