VIP Smartsearch

X
  • VIP Smartsearch is a framework that supports search within VIP reference documents using query in natural language. It facilitates reordering of search results and keeps record of user’s decision for the ordering of result display and applies that in search of same query on subsequent usage.
  • How to download VIP smartsearch?

    1. Get VIP Smartsearch (Available as a seperate run file).
    2. Set environment variable
      DESIGNWARE_HOME
      to required designware home location where VIP Smartsearch should be downloaded.
    3. Run
      vip_smartsearch_<version>.run
      file.
      VIP Smartsearch will be downloaded to the location
      $DESIGNWARE_HOME/vip/svt/vip_smartsearch/<version>
  • How to install VIP Smartsearch?

    Please refer to the file
    VIP_Smartsearch_installation_and_usage_guide.pdf
    in
    $DESIGNWARE_HOME/vip/svt/vip_smartsearch/<version>
    for installation steps.
  • Customer Support

    For more details about VIP smartsearch tool, contact support_center@synopsys.com.
    Mention your queries along with below details and send email to above email id.
    Product: Verification IP
    Sub Product: <vip_title>
    Tool: VIP Smartsearch

APB SVT OVM Documentation - Macro Reference

Macros defined for APB SVT OVM Documentation:

C  I  S


C
CEIL 
CONNECT_TOP_LEVEL_APB_IF_SIGNALS 

I
IGNORE_BINS_CG_system_amba_master_to_slave_access_CP_master_to_slave_pair_id 

S
SVT_AHB_MAX_NUM_SYSTEMS 
SVT_AMBA_AHB_INTERFACE 
SVT_AMBA_APB_INTERFACE 
SVT_AMBA_AXI_INTERFACE 
SVT_AMBA_CHI_INTERFACE 
SVT_AMBA_MEM_MODE_WIDTH 
SVT_AMBA_MEM_MODE_WIDTH 
SVT_AMBA_NONSECURE_ACCESS 
SVT_AMBA_NUM_PATH_COV_DEST_NAMES 
SVT_AMBA_PATH_COV_DEST_NAMES 
SVT_AMBA_READ_ACCESS 
SVT_AMBA_READ_WRITE_ACCESS 
SVT_AMBA_SECURE_ACCESS 
SVT_AMBA_SECURE_NONSECURE_ACCESS 
SVT_AMBA_system_amba_master_to_slave_access_amba_master_to_slave_access_COV_OPTION_AT_LEAST_VAL 
SVT_AMBA_VERSION 
SVT_AMBA_WRITE_ACCESS 
SVT_APB_ATOMIC_GEN_SOURCE 
SVT_APB_CONFIGURATION_PADDR_WIDTH_1 
SVT_APB_CONFIGURATION_PADDR_WIDTH_10 
SVT_APB_CONFIGURATION_PADDR_WIDTH_11 
SVT_APB_CONFIGURATION_PADDR_WIDTH_12 
SVT_APB_CONFIGURATION_PADDR_WIDTH_13 
SVT_APB_CONFIGURATION_PADDR_WIDTH_14 
SVT_APB_CONFIGURATION_PADDR_WIDTH_15 
SVT_APB_CONFIGURATION_PADDR_WIDTH_16 
SVT_APB_CONFIGURATION_PADDR_WIDTH_17 
SVT_APB_CONFIGURATION_PADDR_WIDTH_18 
SVT_APB_CONFIGURATION_PADDR_WIDTH_19 
SVT_APB_CONFIGURATION_PADDR_WIDTH_2 
SVT_APB_CONFIGURATION_PADDR_WIDTH_20 
SVT_APB_CONFIGURATION_PADDR_WIDTH_21 
SVT_APB_CONFIGURATION_PADDR_WIDTH_22 
SVT_APB_CONFIGURATION_PADDR_WIDTH_23 
SVT_APB_CONFIGURATION_PADDR_WIDTH_24 
SVT_APB_CONFIGURATION_PADDR_WIDTH_25 
SVT_APB_CONFIGURATION_PADDR_WIDTH_26 
SVT_APB_CONFIGURATION_PADDR_WIDTH_27 
SVT_APB_CONFIGURATION_PADDR_WIDTH_28 
SVT_APB_CONFIGURATION_PADDR_WIDTH_29 
SVT_APB_CONFIGURATION_PADDR_WIDTH_3 
SVT_APB_CONFIGURATION_PADDR_WIDTH_30 
SVT_APB_CONFIGURATION_PADDR_WIDTH_31 
SVT_APB_CONFIGURATION_PADDR_WIDTH_32 
SVT_APB_CONFIGURATION_PADDR_WIDTH_4 
SVT_APB_CONFIGURATION_PADDR_WIDTH_5 
SVT_APB_CONFIGURATION_PADDR_WIDTH_6 
SVT_APB_CONFIGURATION_PADDR_WIDTH_64 
SVT_APB_CONFIGURATION_PADDR_WIDTH_7 
SVT_APB_CONFIGURATION_PADDR_WIDTH_8 
SVT_APB_CONFIGURATION_PADDR_WIDTH_9 
SVT_APB_CONFIGURATION_PDATA_WIDTH_16 
SVT_APB_CONFIGURATION_PDATA_WIDTH_32 
SVT_APB_CONFIGURATION_PDATA_WIDTH_64 
SVT_APB_CONFIGURATION_PDATA_WIDTH_8 
SVT_APB_DEFAULT_DATA_IDLE_VALUE 
SVT_APB_ERR_ERR_ERR_ERR_SEQ 
SVT_APB_ERR_ERR_ERR_OK_SEQ 
SVT_APB_ERR_ERR_OK_ERR_SEQ 
SVT_APB_ERR_ERR_OK_OK_SEQ 
SVT_APB_ERR_OK_ERR_ERR_SEQ 
SVT_APB_ERR_OK_ERR_OK_SEQ 
SVT_APB_ERR_OK_OK_ERR_SEQ 
SVT_APB_ERR_OK_OK_OK_SEQ 
SVT_APB_EVENT_DECL 
SVT_APB_IF_HOLD_TIME 
SVT_APB_IF_SETUP_TIME 
SVT_APB_INACTIVE_HIGH_VAL 
SVT_APB_INACTIVE_LOW_VAL 
SVT_APB_INACTIVE_PREV_VAL 
SVT_APB_INACTIVE_X_VAL 
SVT_APB_INACTIVE_Z_VAL 
SVT_APB_MASTER_MONITOR_DEF_COV_UTIL_APB_STATES_COVERED 
SVT_APB_MAX_ADDR_WIDTH 
SVT_APB_MAX_CONTROL_PUSER_WIDTH 
SVT_APB_MAX_DATA_WIDTH 
SVT_APB_MAX_NUM_SLAVES 
SVT_APB_MAX_NUM_SYSTEMS 
SVT_APB_MAX_TAG_PADDR_WIDTH 
SVT_APB_MEM_REGION_TYPE 
SVT_APB_MEMORY_RESPONSE_GEN_SOURCE 
SVT_APB_NO_SOURCE 
SVT_APB_OK_ERR_ERR_ERR_SEQ 
SVT_APB_OK_ERR_ERR_OK_SEQ 
SVT_APB_OK_ERR_OK_ERR_SEQ 
SVT_APB_OK_ERR_OK_OK_SEQ 
SVT_APB_OK_OK_ERR_ERR_SEQ 
SVT_APB_OK_OK_ERR_OK_SEQ 
SVT_APB_OK_OK_OK_ERR_SEQ 
SVT_APB_PADDR_WIDTH 
SVT_APB_PRINT_PREFIX 
SVT_APB_PWDATA_WIDTH 
SVT_APB_RD_ADDR_ALIGNED16 
SVT_APB_RD_ADDR_ALIGNED32 
SVT_APB_RD_ADDR_ALIGNED64 
SVT_APB_RD_ADDR_UNALIGNED16 
SVT_APB_RD_ADDR_UNALIGNED32 
SVT_APB_RD_ADDR_UNALIGNED64 
SVT_APB_RD_RD_RD_RD_SEQ 
SVT_APB_RD_RD_RD_WR_SEQ 
SVT_APB_RD_RD_WR_RD_SEQ 
SVT_APB_RD_RD_WR_WR_SEQ 
SVT_APB_RD_WR_RD_RD_SEQ 
SVT_APB_RD_WR_RD_WR_SEQ 
SVT_APB_RD_WR_WR_RD_SEQ 
SVT_APB_RD_WR_WR_WR_SEQ 
SVT_APB_SCENARIO_GEN_SOURCE 
SVT_APB_SIMPLE_RESPONSE_GEN_SOURCE 
SVT_APB_SLAVE_IF_HOLD_TIME 
SVT_APB_SLAVE_IF_SETUP_TIME 
SVT_APB_TRANSACTION_COMPARE_BITVEC_SLICE 
SVT_APB_TRANSACTION_PPROT0_NORMAL 
SVT_APB_TRANSACTION_PPROT0_PRIVILEGED 
SVT_APB_TRANSACTION_PPROT1_NON_SECURE 
SVT_APB_TRANSACTION_PPROT1_SECURE 
SVT_APB_TRANSACTION_PPROT2_DATA 
SVT_APB_TRANSACTION_PPROT2_INSTRUCTION 
SVT_APB_TRANSACTION_STATE_ABORTED 
SVT_APB_TRANSACTION_STATE_ENABLE 
SVT_APB_TRANSACTION_STATE_IDLE 
SVT_APB_TRANSACTION_STATE_SETUP 
SVT_APB_TRANSACTION_STATE_UNKNOWN 
SVT_APB_TRANSACTION_TYPE_IDLE 
SVT_APB_TRANSACTION_TYPE_READ 
SVT_APB_TRANSACTION_TYPE_WRITE 
SVT_APB_USER_RESPONSE_GEN_SOURCE 
SVT_APB_VALID_IDX_NUM_SLAVES_0 
SVT_APB_VALID_IDX_NUM_SLAVES_1 
SVT_APB_VALID_IDX_NUM_SLAVES_10 
SVT_APB_VALID_IDX_NUM_SLAVES_100 
SVT_APB_VALID_IDX_NUM_SLAVES_101 
SVT_APB_VALID_IDX_NUM_SLAVES_102 
SVT_APB_VALID_IDX_NUM_SLAVES_103 
SVT_APB_VALID_IDX_NUM_SLAVES_104 
SVT_APB_VALID_IDX_NUM_SLAVES_105 
SVT_APB_VALID_IDX_NUM_SLAVES_106 
SVT_APB_VALID_IDX_NUM_SLAVES_107 
SVT_APB_VALID_IDX_NUM_SLAVES_108 
SVT_APB_VALID_IDX_NUM_SLAVES_109 
SVT_APB_VALID_IDX_NUM_SLAVES_11 
SVT_APB_VALID_IDX_NUM_SLAVES_110 
SVT_APB_VALID_IDX_NUM_SLAVES_111 
SVT_APB_VALID_IDX_NUM_SLAVES_112 
SVT_APB_VALID_IDX_NUM_SLAVES_113 
SVT_APB_VALID_IDX_NUM_SLAVES_114 
SVT_APB_VALID_IDX_NUM_SLAVES_115 
SVT_APB_VALID_IDX_NUM_SLAVES_116 
SVT_APB_VALID_IDX_NUM_SLAVES_117 
SVT_APB_VALID_IDX_NUM_SLAVES_118 
SVT_APB_VALID_IDX_NUM_SLAVES_119 
SVT_APB_VALID_IDX_NUM_SLAVES_12 
SVT_APB_VALID_IDX_NUM_SLAVES_120 
SVT_APB_VALID_IDX_NUM_SLAVES_121 
SVT_APB_VALID_IDX_NUM_SLAVES_122 
SVT_APB_VALID_IDX_NUM_SLAVES_123 
SVT_APB_VALID_IDX_NUM_SLAVES_124 
SVT_APB_VALID_IDX_NUM_SLAVES_125 
SVT_APB_VALID_IDX_NUM_SLAVES_126 
SVT_APB_VALID_IDX_NUM_SLAVES_127 
SVT_APB_VALID_IDX_NUM_SLAVES_128 
SVT_APB_VALID_IDX_NUM_SLAVES_13 
SVT_APB_VALID_IDX_NUM_SLAVES_14 
SVT_APB_VALID_IDX_NUM_SLAVES_15 
SVT_APB_VALID_IDX_NUM_SLAVES_16 
SVT_APB_VALID_IDX_NUM_SLAVES_17 
SVT_APB_VALID_IDX_NUM_SLAVES_18 
SVT_APB_VALID_IDX_NUM_SLAVES_19 
SVT_APB_VALID_IDX_NUM_SLAVES_2 
SVT_APB_VALID_IDX_NUM_SLAVES_20 
SVT_APB_VALID_IDX_NUM_SLAVES_21 
SVT_APB_VALID_IDX_NUM_SLAVES_22 
SVT_APB_VALID_IDX_NUM_SLAVES_23 
SVT_APB_VALID_IDX_NUM_SLAVES_24 
SVT_APB_VALID_IDX_NUM_SLAVES_25 
SVT_APB_VALID_IDX_NUM_SLAVES_26 
SVT_APB_VALID_IDX_NUM_SLAVES_27 
SVT_APB_VALID_IDX_NUM_SLAVES_28 
SVT_APB_VALID_IDX_NUM_SLAVES_29 
SVT_APB_VALID_IDX_NUM_SLAVES_3 
SVT_APB_VALID_IDX_NUM_SLAVES_30 
SVT_APB_VALID_IDX_NUM_SLAVES_31 
SVT_APB_VALID_IDX_NUM_SLAVES_32 
SVT_APB_VALID_IDX_NUM_SLAVES_33 
SVT_APB_VALID_IDX_NUM_SLAVES_34 
SVT_APB_VALID_IDX_NUM_SLAVES_35 
SVT_APB_VALID_IDX_NUM_SLAVES_36 
SVT_APB_VALID_IDX_NUM_SLAVES_37 
SVT_APB_VALID_IDX_NUM_SLAVES_38 
SVT_APB_VALID_IDX_NUM_SLAVES_39 
SVT_APB_VALID_IDX_NUM_SLAVES_4 
SVT_APB_VALID_IDX_NUM_SLAVES_40 
SVT_APB_VALID_IDX_NUM_SLAVES_41 
SVT_APB_VALID_IDX_NUM_SLAVES_42 
SVT_APB_VALID_IDX_NUM_SLAVES_43 
SVT_APB_VALID_IDX_NUM_SLAVES_44 
SVT_APB_VALID_IDX_NUM_SLAVES_45 
SVT_APB_VALID_IDX_NUM_SLAVES_46 
SVT_APB_VALID_IDX_NUM_SLAVES_47 
SVT_APB_VALID_IDX_NUM_SLAVES_48 
SVT_APB_VALID_IDX_NUM_SLAVES_49 
SVT_APB_VALID_IDX_NUM_SLAVES_5 
SVT_APB_VALID_IDX_NUM_SLAVES_50 
SVT_APB_VALID_IDX_NUM_SLAVES_51 
SVT_APB_VALID_IDX_NUM_SLAVES_52 
SVT_APB_VALID_IDX_NUM_SLAVES_53 
SVT_APB_VALID_IDX_NUM_SLAVES_54 
SVT_APB_VALID_IDX_NUM_SLAVES_55 
SVT_APB_VALID_IDX_NUM_SLAVES_56 
SVT_APB_VALID_IDX_NUM_SLAVES_57 
SVT_APB_VALID_IDX_NUM_SLAVES_58 
SVT_APB_VALID_IDX_NUM_SLAVES_59 
SVT_APB_VALID_IDX_NUM_SLAVES_6 
SVT_APB_VALID_IDX_NUM_SLAVES_60 
SVT_APB_VALID_IDX_NUM_SLAVES_61 
SVT_APB_VALID_IDX_NUM_SLAVES_62 
SVT_APB_VALID_IDX_NUM_SLAVES_63 
SVT_APB_VALID_IDX_NUM_SLAVES_64 
SVT_APB_VALID_IDX_NUM_SLAVES_65 
SVT_APB_VALID_IDX_NUM_SLAVES_66 
SVT_APB_VALID_IDX_NUM_SLAVES_67 
SVT_APB_VALID_IDX_NUM_SLAVES_68 
SVT_APB_VALID_IDX_NUM_SLAVES_69 
SVT_APB_VALID_IDX_NUM_SLAVES_7 
SVT_APB_VALID_IDX_NUM_SLAVES_70 
SVT_APB_VALID_IDX_NUM_SLAVES_71 
SVT_APB_VALID_IDX_NUM_SLAVES_72 
SVT_APB_VALID_IDX_NUM_SLAVES_73 
SVT_APB_VALID_IDX_NUM_SLAVES_74 
SVT_APB_VALID_IDX_NUM_SLAVES_75 
SVT_APB_VALID_IDX_NUM_SLAVES_76 
SVT_APB_VALID_IDX_NUM_SLAVES_77 
SVT_APB_VALID_IDX_NUM_SLAVES_78 
SVT_APB_VALID_IDX_NUM_SLAVES_79 
SVT_APB_VALID_IDX_NUM_SLAVES_8 
SVT_APB_VALID_IDX_NUM_SLAVES_80 
SVT_APB_VALID_IDX_NUM_SLAVES_81 
SVT_APB_VALID_IDX_NUM_SLAVES_82 
SVT_APB_VALID_IDX_NUM_SLAVES_83 
SVT_APB_VALID_IDX_NUM_SLAVES_84 
SVT_APB_VALID_IDX_NUM_SLAVES_85 
SVT_APB_VALID_IDX_NUM_SLAVES_86 
SVT_APB_VALID_IDX_NUM_SLAVES_87 
SVT_APB_VALID_IDX_NUM_SLAVES_88 
SVT_APB_VALID_IDX_NUM_SLAVES_89 
SVT_APB_VALID_IDX_NUM_SLAVES_9 
SVT_APB_VALID_IDX_NUM_SLAVES_90 
SVT_APB_VALID_IDX_NUM_SLAVES_91 
SVT_APB_VALID_IDX_NUM_SLAVES_92 
SVT_APB_VALID_IDX_NUM_SLAVES_93 
SVT_APB_VALID_IDX_NUM_SLAVES_94 
SVT_APB_VALID_IDX_NUM_SLAVES_95 
SVT_APB_VALID_IDX_NUM_SLAVES_96 
SVT_APB_VALID_IDX_NUM_SLAVES_97 
SVT_APB_VALID_IDX_NUM_SLAVES_98 
SVT_APB_VALID_IDX_NUM_SLAVES_99 
SVT_APB_VALID_SLAVE_IDX_0 
SVT_APB_VALID_SLAVE_IDX_1 
SVT_APB_VALID_SLAVE_IDX_10 
SVT_APB_VALID_SLAVE_IDX_11 
SVT_APB_VALID_SLAVE_IDX_12 
SVT_APB_VALID_SLAVE_IDX_13 
SVT_APB_VALID_SLAVE_IDX_14 
SVT_APB_VALID_SLAVE_IDX_15 
SVT_APB_VALID_SLAVE_IDX_2 
SVT_APB_VALID_SLAVE_IDX_3 
SVT_APB_VALID_SLAVE_IDX_4 
SVT_APB_VALID_SLAVE_IDX_5 
SVT_APB_VALID_SLAVE_IDX_6 
SVT_APB_VALID_SLAVE_IDX_7 
SVT_APB_VALID_SLAVE_IDX_8 
SVT_APB_VALID_SLAVE_IDX_9 
SVT_APB_WR_ADDR_ALIGNED16 
SVT_APB_WR_ADDR_ALIGNED32 
SVT_APB_WR_ADDR_ALIGNED64 
SVT_APB_WR_ADDR_UNALIGNED16 
SVT_APB_WR_ADDR_UNALIGNED32 
SVT_APB_WR_ADDR_UNALIGNED64 
SVT_APB_WR_RD_RD_RD_SEQ 
SVT_APB_WR_RD_RD_WR_SEQ 
SVT_APB_WR_RD_WR_RD_SEQ 
SVT_APB_WR_RD_WR_WR_SEQ 
SVT_APB_WR_WR_RD_RD_SEQ 
SVT_APB_WR_WR_RD_WR_SEQ 
SVT_APB_WR_WR_WR_RD_SEQ 
SVT_APB_WR_WR_WR_WR_SEQ 
SVT_AXI_MAX_NUM_SYSTEMS 
SVT_CHI_MAX_NUM_SYSTEMS 
SVT_DTI_MAX_NUM_SYSTEMS 

C  I  S


Macro Definition Documentation

 `define CONNECT_TOP_LEVEL_APB_IF_SIGNALS ( port_num )


`ifdef CONNECT_TOP_LEVEL_APB_IF_SIGNALS_BASED_ON_PSEL
  assign svt_apb_if.slave_if[port_num].pclk = pclk;
  assign svt_apb_if.slave_if[port_num].presetn = presetn;
  assign svt_apb_if.slave_if[port_num].psel = psel[port_num];
  assign svt_apb_if.slave_if[port_num].penable = psel[port_num] ? penable : 1'b0;
  assign svt_apb_if.slave_if[port_num].pwrite = psel[port_num] ? pwrite : 1'b0;
  assign svt_apb_if.slave_if[port_num].paddr = psel[port_num] ? paddr : 'h0;
  assign svt_apb_if.slave_if[port_num].pwdata = psel[port_num] ? pwdata : 'h0;
  assign svt_apb_if.slave_if[port_num].pstrb = psel[port_num] ? pstrb : 1'b0;
  assign svt_apb_if.slave_if[port_num].pprot = psel[port_num] ? pprot : 3'h0;
`ifdef SVT_APB5_RME_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pnse = psel[port_num] ? pnse : 'h0;
`endif
  assign svt_apb_if.slave_if[port_num].control_puser = psel[port_num] ? control_puser : 'h0;
`ifdef SVT_APB5_PAUSER_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pauser = psel[port_num] ? pauser : 'h0;
`endif
`ifdef SVT_APB5_PWUSER_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pwuser = psel[port_num] ? pwuser : 'h0;
`endif
`ifdef SVT_APB5_SUBSYS_ID_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].psubsysid = psel[port_num] ? psubsysid : 'h0;
`endif
`ifdef SVT_APB5_WAKEUP_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pwakeup = psel[port_num] ? pwakeup : 'h0;
`endif
`ifdef SVT_APB5_PARITY_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].paddrchk = psel[port_num] ? paddrchk : 'h0;
  assign svt_apb_if.slave_if[port_num].pctrlchk = psel[port_num] ? pctrlchk : 'h0;
  assign svt_apb_if.slave_if[port_num].pselchk = psel[port_num] ? pselchk : 'h0;
  assign svt_apb_if.slave_if[port_num].penablechk = psel[port_num] ? penablechk : 'h0;
  assign svt_apb_if.slave_if[port_num].pwdatachk = psel[port_num] ? pwdatachk : 'h0;
  assign svt_apb_if.slave_if[port_num].pstrbchk = psel[port_num] ? pstrbchk : 'h0;
 `ifdef SVT_APB5_PAUSER_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pauserchk = psel[port_num] ? pauserchk : 'h0;
 `endif
 `ifdef SVT_APB5_PWUSER_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pwuserchk = psel[port_num] ? pwuserchk : 'h0;
 `endif
 `ifdef SVT_APB5_SUBSYS_ID_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].psubsysidchk = psel[port_num] ? psubsysidchk : 'h0;
 `endif
  `ifdef SVT_APB5_WAKEUP_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pwakeupchk = psel[port_num] ? pwakeupchk : 'h0;
  `endif
`endif
  assign prdata[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].prdata : 'h0;
  assign pready[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pready : 1'b0;
  assign pslverr[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pslverr : 'h0;
`ifdef SVT_APB5_PRUSER_INTERNAL_ENABLE
  assign pruser[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pruser : 'h0;
`endif
`ifdef SVT_APB5_PBUSER_INTERNAL_ENABLE
  assign pbuser[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pbuser : 'h0;
`endif
`ifdef SVT_APB5_PARITY_INTERNAL_ENABLE
  assign preadychk[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].preadychk : 'h0;
  assign pslverrchk[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pslverrchk : 'h0;
  assign prdatachk[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].prdatachk : 'h0;
 `ifdef SVT_APB5_PRUSER_INTERNAL_ENABLE
  assign pruserchk[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pruserchk : 'h0;
 `endif
 `ifdef SVT_APB5_PBUSER_INTERNAL_ENABLE
  assign pbuserchk[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pbuserchk : 'h0;
 `endif
`endif
  
`elsif CONNECT_TOP_LEVEL_APB_IF_SIGNALS_BASED_ON_PSEL_FROM_PASSIVE_SLAVE
  assign svt_apb_if.slave_if[port_num].pclk = pclk;
  assign svt_apb_if.slave_if[port_num].presetn = presetn;
  assign svt_apb_if.slave_if[port_num].psel = psel[port_num];
  assign penable = psel[port_num] ? svt_apb_if.slave_if[port_num].penable : 1'b0;
  assign pwrite = psel[port_num] ? svt_apb_if.slave_if[port_num].pwrite : 1'b0;
  assign paddr = psel[port_num] ? svt_apb_if.slave_if[port_num].paddr : 'h0;
  assign pwdata = psel[port_num] ? svt_apb_if.slave_if[port_num].pwdata : 'h0;
  assign pstrb = psel[port_num] ? svt_apb_if.slave_if[port_num].pstrb : 1'b0;
  assign pprot = psel[port_num] ? svt_apb_if.slave_if[port_num].pprot : 3'h0;
`ifdef SVT_APB5_RME_INTERNAL_ENABLE
  assign pnse = psel[port_num] ? svt_apb_if.slave_if[port_num].pnse : h0;
`endif
  assign control_puser = psel[port_num] ? svt_apb_if.slave_if[port_num].control_puser : 'h0;
`ifdef SVT_APB5_PAUSER_INTERNAL_ENABLE
  assign pauser = psel[port_num] ? svt_apb_if.slave_if[port_num].pauser : 'h0;
`endif
`ifdef SVT_APB5_PWUSER_INTERNAL_ENABLE
  assign pwuser = psel[port_num] ? svt_apb_if.slave_if[port_num].pwuser : 'h0;
`endif
`ifdef SVT_APB5_SUBSYS_ID_INTERNAL_ENABLE
  assign psubsysid = psel[port_num] ? svt_apb_if.slave_if[port_num].psubsysid : 'h0;
`endif
`ifdef SVT_APB5_WAKEUP_INTERNAL_ENABLE
  assign pwakeup = psel[port_num] ? svt_apb_if.slave_if[port_num].pwakeup : 'h0;
`endif
`ifdef SVT_APB5_PARITY_INTERNAL_ENABLE
  assign paddrchk = psel[port_num] ? svt_apb_if.slave_if[port_num].paddrchk : 'h0;
  assign pctrlchk = psel[port_num] ? svt_apb_if.slave_if[port_num].pctrlchk : 'h0;
  assign pselchk = psel[port_num] ? svt_apb_if.slave_if[port_num].pselchk : 'h0;
  assign penablechk = psel[port_num] ? svt_apb_if.slave_if[port_num].penablechk : 'h0;
  assign pwdatachk = psel[port_num] ? svt_apb_if.slave_if[port_num].pwdatachk : 'h0;
  assign pstrbchk = psel[port_num] ? svt_apb_if.slave_if[port_num].pstrbchk : 'h0;
 `ifdef SVT_APB5_PAUSER_INTERNAL_ENABLE
  assign pauserchk = psel[port_num] ? svt_apb_if.slave_if[port_num].pauserchk : 'h0;
 `endif
 `ifdef SVT_APB5_PWUSER_INTERNAL_ENABLE
  assign pwuserchk = psel[port_num] ? svt_apb_if.slave_if[port_num].pwuserchk : 'h0;
 `endif
 `ifdef SVT_APB5_SUBSYS_ID_INTERNAL_ENABLE
  assign psubsysidchk = psel[port_num] ? svt_apb_if.slave_if[port_num].psubsysidchk : 'h0;
 `endif
  `ifdef SVT_APB5_WAKEUP_INTERNAL_ENABLE
  assign pwakeupchk = psel[port_num] ? svt_apb_if.slave_if[port_num].pwakeupchk : 'h0;
  `endif
`endif
  assign prdata[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].prdata : 'h0;
  assign pready[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pready : 1'b0;
  assign pslverr[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pslverr : 'h0;
`ifdef SVT_APB5_PRUSER_INTERNAL_ENABLE
  assign pruser[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pruser : 'h0;
`endif
`ifdef SVT_APB5_PBUSER_INTERNAL_ENABLE
  assign pbuser[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pbuser : 'h0;
`endif
`ifdef SVT_APB5_PARITY_INTERNAL_ENABLE
  assign preadychk[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].preadychk : 'h0;
  assign pslverrchk[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pslverrchk : 'h0;
  assign prdatachk[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].prdatachk : 'h0;
 `ifdef SVT_APB5_PRUSER_INTERNAL_ENABLE
  assign pruserchk[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pruserchk : 'h0;
 `endif
 `ifdef SVT_APB5_PBUSER_INTERNAL_ENABLE
  assign pbuserchk[port_num] = psel[port_num] ? svt_apb_if.slave_if[port_num].pbuserchk : 'h0;
 `endif
`endif
  
`else
  assign svt_apb_if.slave_if[port_num].pclk = pclk;
  assign svt_apb_if.slave_if[port_num].presetn = presetn;
  assign svt_apb_if.slave_if[port_num].psel = psel[port_num];
  assign svt_apb_if.slave_if[port_num].penable = penable;
  assign svt_apb_if.slave_if[port_num].pwrite = pwrite;
  assign svt_apb_if.slave_if[port_num].paddr = paddr;
  assign svt_apb_if.slave_if[port_num].pwdata = pwdata;
  assign svt_apb_if.slave_if[port_num].pstrb = pstrb;
  assign svt_apb_if.slave_if[port_num].pprot = pprot;
`ifdef SVT_APB5_RME_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pnse = pnse;
`endif
  assign svt_apb_if.slave_if[port_num].control_puser = control_puser;
`ifdef SVT_APB5_PAUSER_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pauser = pauser;
`endif
`ifdef SVT_APB5_PWUSER_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pwuser = pwuser;
`endif
`ifdef SVT_APB5_SUBSYS_ID_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].psubsysid = psubsysid;
`endif
`ifdef SVT_APB5_WAKEUP_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pwakeup = pwakeup;
`endif
`ifdef SVT_APB5_PARITY_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].paddrchk = paddrchk;
  assign svt_apb_if.slave_if[port_num].pctrlchk = pctrlchk;
  assign svt_apb_if.slave_if[port_num].pselchk = pselchk;
  assign svt_apb_if.slave_if[port_num].penablechk = penablechk;
  assign svt_apb_if.slave_if[port_num].pwdatachk = pwdatachk;
  assign svt_apb_if.slave_if[port_num].pstrbchk = pstrbchk;
 `ifdef SVT_APB5_PAUSER_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pauserchk = pauserchk;
 `endif
 `ifdef SVT_APB5_PWUSER_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pwuserchk = pwuserchk;
 `endif
 `ifdef SVT_APB5_SUBSYS_ID_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].psubsysidchk = psubsysidchk;
 `endif
  `ifdef SVT_APB5_WAKEUP_INTERNAL_ENABLE
  assign svt_apb_if.slave_if[port_num].pwakeupchk = pwakeupchk;
  `endif
`endif
  assign prdata[port_num] = svt_apb_if.slave_if[port_num].prdata;
  assign pready[port_num] = svt_apb_if.slave_if[port_num].pready;
  assign pslverr[port_num] = svt_apb_if.slave_if[port_num].pslverr;
`ifdef SVT_APB5_PRUSER_INTERNAL_ENABLE
  assign pruser[port_num] = svt_apb_if.slave_if[port_num].pruser;
`endif
`ifdef SVT_APB5_PBUSER_INTERNAL_ENABLE
  assign pbuser[port_num] = svt_apb_if.slave_if[port_num].pbuser;
`endif
`ifdef SVT_APB5_PARITY_INTERNAL_ENABLE
  assign preadychk[port_num] = svt_apb_if.slave_if[port_num].preadychk;
  assign pslverrchk[port_num] = svt_apb_if.slave_if[port_num].pslverrchk;
  assign prdatachk[port_num] = svt_apb_if.slave_if[port_num].prdatachk;
 `ifdef SVT_APB5_PRUSER_INTERNAL_ENABLE
  assign pruserchk[port_num] = svt_apb_if.slave_if[port_num].pruserchk;
 `endif
 `ifdef SVT_APB5_PBUSER_INTERNAL_ENABLE
  assign pbuserchk[port_num] = svt_apb_if.slave_if[port_num].pbuserchk;
 `endif
`endif
`endif
 

APB Interface provides implicit connection between single master and multiple slaves by default. Below macro SVT_APB_DISCONNECT_TOP_LEVEL_APB_IF_SIGNALS can be defined in order to disable this implicit connection. Following connectivity between master and slave is further divided into 3 different topology. 1) CONNECT_TOP_LEVEL_APB_IF_SIGNALS_BASED_ON_PSEL - master signals are driven only to the slave which is selected by psel. Other slaves will be driven 0 for all signals. 2) CONNECT_TOP_LEVEL_APB_IF_SIGNALS_BASED_ON_PSEL_FROM_PASSIVE_SLAVE - this connection is only applicable for passive mode. Here passive slave signals are connected to passive master ports. 3) if none of the above two macros are defined then each slave receives signals driven by the master directly.

 `define SVT_AMBA_MEM_MODE_WIDTH

2

 `define SVT_AMBA_NUM_PATH_COV_DEST_NAMES

6

 `define SVT_AMBA_PATH_COV_DEST_NAMES

slave_0,slave_1,slave_2,slave_3,slave_4,slave_5

 `define SVT_AMBA_VERSION

 `define SVT_APB_MASTER_MONITOR_DEF_COV_UTIL_APB_STATES_COVERED


option.per_instance = 1;
     apb_state : coverpoint {cov_xact_psel, cov_xact_penable} {
       bins IDLE_STATE = {2'b00};
       bins SETUP_STATE = {2'b10};
       bins ACCESS_STATE = {2'b11};
}

 `define SVT_APB_MAX_ADDR_WIDTH

 `define SVT_APB_MAX_DATA_WIDTH

 `define SVT_APB_TRANSACTION_COMPARE_BITVEC_SLICE ( fieldname, fieldmaxwidth, enablefieldwdth )


if (enablefieldwdth > 0) begin
    `SVT_DATA_UTIL_COMPARE_BITVEC_SLICE(fieldname,fieldmaxwidth,enablefieldwdth-1,0)
  end else begin
    `SVT_DATA_UTIL_COMPARE_BITVEC(fieldname)
  end

 `define SVT_APB_VALID_SLAVE_IDX_0

  

 `define SVT_APB_VALID_SLAVE_IDX_1

  

 `define SVT_APB_VALID_SLAVE_IDX_10

  

 `define SVT_APB_VALID_SLAVE_IDX_11

  

 `define SVT_APB_VALID_SLAVE_IDX_12

  

 `define SVT_APB_VALID_SLAVE_IDX_13

  

 `define SVT_APB_VALID_SLAVE_IDX_14

  

 `define SVT_APB_VALID_SLAVE_IDX_15

 

 `define SVT_APB_VALID_SLAVE_IDX_2

  

 `define SVT_APB_VALID_SLAVE_IDX_3

  

 `define SVT_APB_VALID_SLAVE_IDX_4

  

 `define SVT_APB_VALID_SLAVE_IDX_5

  

 `define SVT_APB_VALID_SLAVE_IDX_6

  

 `define SVT_APB_VALID_SLAVE_IDX_7

  

 `define SVT_APB_VALID_SLAVE_IDX_8

  

 `define SVT_APB_VALID_SLAVE_IDX_9

  

 `define SVT_AXI_MAX_NUM_SYSTEMS

32

 `define SVT_CHI_MAX_NUM_SYSTEMS

32