How to download VIP smartsearch?
DESIGNWARE_HOMEto required designware home location where VIP Smartsearch should be downloaded.
vip_smartsearch_<version>.runfile.
$DESIGNWARE_HOME/vip/svt/vip_smartsearch/<version>
How to install VIP Smartsearch?
Please refer to the fileVIP_Smartsearch_installation_and_usage_guide.pdfin
$DESIGNWARE_HOME/vip/svt/vip_smartsearch/<version>for installation steps.
Customer Support
For more details about VIP smartsearch tool, contact support_center@synopsys.com.Interfaces for AMBA SVT UVM Documentation: Show All Interfaces
| Product | Interface Group | Interfaces | Sub-interfaces |
|---|---|---|---|
| amba_svt | Default Group | svt_axi_master_if | |
| svt_axi_lp_if | |||
| svt_axi_slave_if | |||
| svt_axi_if | |||
| svt_ahb_master_if | |||
| svt_ahb_slave_if | |||
| svt_ahb_if | svt_ahb_slave_if, svt_ahb_master_if | ||
| svt_apb_slave_if | |||
| svt_apb_if | svt_apb_slave_if | ||
| CHI Request Node interface. This is a sub-interface of svt_chi_if. | svt_chi_rn_if | ||
| CHI Slave Node interface. This is a sub-interface of svt_chi_if. | svt_chi_sn_if | ||
| CHI IC Request Node interface. This is a sub-interface of svt_chi_if. | svt_chi_ic_rn_if | ||
| CHI IC Slave Node interface. This is a sub-interface of svt_chi_if. | svt_chi_ic_sn_if | ||
| Top Level interface for CHI VIP | svt_chi_if | svt_chi_ic_sn_if, svt_chi_sn_if, svt_chi_ic_rn_if, svt_chi_rn_if |
Interface Definition Documentation | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
interface svt_axi_master_if ( input logic common_aclk )General description: The master interface svt_axi_master_if defines the AXI signals appropriate for a single port, along with the modports needed for the AXI master and monitor VIP. Debug signals and a debug modport are also defined. The debug port provides useful information for debugging.
Clock signal description:
Debug port description:
AXI signal description: |
||||||||||||||||||||||||||||||||||||||||||||||||||||
| Modports | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| Clocking blocks | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| Functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
interface svt_axi_lp_if () General description: The low power interface svt_axi_lp_if defines the AXI low power signals appropriate for a single port, along with the modports needed for the monitor VIP. |
||
| Modports | ||
| Clocking blocks |
|
interface svt_axi_slave_if ( input logic common_aclk )General description: The slave interface svt_axi_slave_if defines the AXI signals appropriate for a single port, along with the modports needed for the AXI slave and monitor VIP. Debug signals and a debug modport are also defined. The debug port provides useful information for debugging.
Clock signal description:
Debug port description:
AXI signal description: |
||||||||||||||||||||||||||||||||||||||||||||||||||||
| Modports | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| Clocking blocks | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| Functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
interface svt_axi_if () General description: AXI VIP provides the SystemVerilog interface which can be used to connect the VIP to the DUT. A top level interface svt_axi_if is defined. The top level interface contains an array of master & slave interfaces. By default, 16 master and 16 slave interfaces are defined in the top level interface. Currently, the maximum master and slave interfaces supported is 450. The number of master and slave interfaces in top level interface can be controlled using macros SVT_AXI_MAX_NUM_MASTERS_{0..450} and SVT_AXI_MAX_NUM_SLAVES_{0..450} respectively. For example, if you want to use 8 master interfaces and 10 slave interfaces, you can define following macros when compiling the VIP: Please refer to User Guide section Overriding System Constants on how to provide these macro definitions to VIP.
Sub-interfaces:
Clock signal description:
Clock connection examples: assign axi_if.common_aclk = SystemClock;
assign axi_if.master_if[0].aclk = master_clk; assign axi_if.slave_if[0].aclk = slave_clk;
Interface signal connections: assign axi_if.master_if[0].awvalid = DUT_slave_intf.awvalid;
assign axi_if.master_if[0].awvalid = DUT_master_intf.awvalid;
assign axi_if.slave_if[0].awready = DUT_master_intf.awready;
assign axi_if.slave_if[0].awready = DUT_slave_intf.awready; |
||||||||||||||
| Functions | ||||||||||||||
|
interface svt_chi_rn_if General description: The RN interface svt_chi_rn_if defines the CHI signals appropriate for a fully coherent Request Node, along with the modports needed for the CHI RN and monitor VIP. RN interface is a sub-interface to the top level interface svt_chi_if.
Clock signal description:
Debug port description:
CHI signal description: |
||
| Ports | ||
bit
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic [(SVT_CHI_RN_MAX_TXREQ_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXREQ_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_REQ_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_TXREQ_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXRSP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXRSP_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_RSP_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_RXRSP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_DAT_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXSNP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXSNP_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_SNP_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_RXSNP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXRSP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXRSP_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_RSP_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_TXRSP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_DAT_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
string
|
||
| Modports | ||
modport rn_modport (
input resetn, )clocking rn_cb Modport used to connect the VIP HN to CHI interface signals. | ||
modport monitor_modport (
input resetn, )clocking monitor_cb Modport used to connect the VIP Monitor to CHI interface signals. | ||
modport rn_async_modport (
output TXSACTIVE, )input RXSACTIVE, output TXLINKACTIVEREQ, input TXLINKACTIVEACK, input RXLINKACTIVEREQ, output RXLINKACTIVEACK, output SYSCOREQ, input SYSCOACK, output TXREQFLITPEND, output TXREQFLITV, output TXREQFLIT, input TXREQLCRDV, input RXRSPFLITPEND, input RXRSPFLITV, input RXRSPFLIT, output RXRSPLCRDV, input RXDATFLITPEND, input RXDATFLITV, input RXDATFLIT, output RXDATLCRDV, input RXSNPFLITPEND, input RXSNPFLITV, input RXSNPFLIT, output RXSNPLCRDV, output TXRSPFLITPEND, output TXRSPFLITV, output TXRSPFLIT, input TXRSPLCRDV, output TXDATFLITPEND, output TXDATFLITV, output TXDATFLIT, input TXDATLCRDV Asynchronous modport suitable for SV RN Bind interface. | ||
modport monitor_async_modport (
input TXSACTIVE, )input RXSACTIVE, input TXLINKACTIVEREQ, input TXLINKACTIVEACK, input RXLINKACTIVEREQ, input RXLINKACTIVEACK, input SYSCOREQ, input SYSCOACK, input TXREQFLITPEND, input TXREQFLITV, input TXREQFLIT, input TXREQLCRDV, input RXRSPFLITPEND, input RXRSPFLITV, input RXRSPFLIT, input RXRSPLCRDV, input RXDATFLITPEND, input RXDATFLITV, input RXDATFLIT, input RXDATLCRDV, input RXSNPFLITPEND, input RXSNPFLITV, input RXSNPFLIT, input RXSNPLCRDV, input TXRSPFLITPEND, input TXRSPFLITV, input TXRSPFLIT, input TXRSPLCRDV, input TXDATFLITPEND, input TXDATFLITV, input TXDATFLIT, input TXDATLCRDV Asynchronous monitor modport suitable for SV RN Bind interface connection in Passive mode. MTI and NC reported compile errors with synchronous monitor modport. This was required to resolve the above issue. | ||
modport debug_modport (
output req_obj_num, )output rx_rsp_obj_num, output rx_dat_obj_num, output tx_rsp_obj_num, output tx_dat_obj_num, output snp_req_obj_num, output snp_dat_obj_num, output snp_rsp_obj_num, output curr_req_lcrd_count, output curr_txrsp_lcrd_count, output curr_txdat_lcrd_count, output curr_snp_lcrd_count, output curr_rxrsp_lcrd_count, output curr_rxdat_lcrd_count Debug Modport | ||
| Clocking blocks | ||
clocking rn_cb @ ( posedge clk ) default input #0.1 output #0.1 output TXSACTIVE, input RXSACTIVE, output TXLINKACTIVEREQ, input TXLINKACTIVEACK, input RXLINKACTIVEREQ, output RXLINKACTIVEACK, output SYSCOREQ, input SYSCOACK, output TXREQFLITPEND, output TXREQFLITV, output TXREQFLIT, input TXREQLCRDV, input RXRSPFLITPEND, input RXRSPFLITV, input RXRSPFLIT, output RXRSPLCRDV, input RXDATFLITPEND, input RXDATFLITV, input RXDATFLIT, output RXDATLCRDV, input RXSNPFLITPEND, input RXSNPFLITV, input RXSNPFLIT, output RXSNPLCRDV, output TXRSPFLITPEND, output TXRSPFLITV, output TXRSPFLIT, input TXRSPLCRDV, output TXDATFLITPEND, output TXDATFLITV, output TXDATFLIT, input TXDATLCRDV Clocking block that defines VIP CHI RN Interface signal synchronization and directionality. | ||
clocking monitor_cb @ ( posedge clk ) default input #0.1 output #0.1 input TXSACTIVE, input RXSACTIVE, input TXLINKACTIVEREQ, input TXLINKACTIVEACK, input RXLINKACTIVEREQ, input RXLINKACTIVEACK, input SYSCOREQ, input SYSCOACK, input TXREQFLITPEND, input TXREQFLITV, input TXREQFLIT, input TXREQLCRDV, input RXRSPFLITPEND, input RXRSPFLITV, input RXRSPFLIT, input RXRSPLCRDV, input RXDATFLITPEND, input RXDATFLITV, input RXDATFLIT, input RXDATLCRDV, input RXSNPFLITPEND, input RXSNPFLITV, input RXSNPFLIT, input RXSNPLCRDV, input TXRSPFLITPEND, input TXRSPFLITV, input TXRSPFLIT, input TXRSPLCRDV, input TXDATFLITPEND, input TXDATFLITV, input TXDATFLIT, input TXDATLCRDV Clocking block that defines VIP CHI RN Monitor Interface signal synchronization and directionality. | ||
| Functions | ||
void function
|
||
string function
|
||
|
interface svt_chi_sn_if General description: The SN interface svt_chi_sn_if defines the CHI signals appropriate for a fully coherent Slave Node, along with the modports needed for the CHI SN and monitor VIP. SN interface is a sub-interface to the top level interface svt_chi_if.
Clock signal description:
Debug port description:
CHI signal description: |
||
| Ports | ||
bit
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic [(SVT_CHI_SN_MAX_RXREQ_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_RXREQ_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_REQ_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_SN_MAX_RXREQ_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXRSP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXRSP_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_RSP_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_SN_MAX_TXRSP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_DAT_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_SN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_DAT_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_SN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
string
|
||
| Modports | ||
modport sn_modport (
input resetn, )clocking sn_cb Modport used to connect the VIP HN to CHI interface signals. | ||
modport monitor_modport (
input resetn, )clocking monitor_cb Modport used to connect the VIP Monitor to CHI interface signals. | ||
modport sn_async_modport (
output TXSACTIVE, )input RXSACTIVE, output TXLINKACTIVEREQ, input TXLINKACTIVEACK, input RXLINKACTIVEREQ, output RXLINKACTIVEACK, input RXREQFLITPEND, input RXREQFLITV, input RXREQFLIT, output RXREQLCRDV, output TXRSPFLITPEND, output TXRSPFLITV, output TXRSPFLIT, input TXRSPLCRDV, output TXDATFLITPEND, output TXDATFLITV, output TXDATFLIT, input TXDATLCRDV, input RXDATFLITPEND, input RXDATFLITV, input RXDATFLIT, output RXDATLCRDV Asynchronous modport suitable for SV SN Bind interface. | ||
modport monitor_async_modport (
input TXSACTIVE, )input RXSACTIVE, input TXLINKACTIVEREQ, input TXLINKACTIVEACK, input RXLINKACTIVEREQ, input RXLINKACTIVEACK, input RXREQFLITPEND, input RXREQFLITV, input RXREQFLIT, input RXREQLCRDV, input TXRSPFLITPEND, input TXRSPFLITV, input TXRSPFLIT, input TXRSPLCRDV, input TXDATFLITPEND, input TXDATFLITV, input TXDATFLIT, input TXDATLCRDV, input RXDATFLITPEND, input RXDATFLITV, input RXDATFLIT, input RXDATLCRDV Asynchronous monitor modport suitable for SV SN Bind interface connection in Passive mode. MTI and NC reported compile errors with synchronous monitor modport. This was required to resolve the above issue. | ||
| Clocking blocks | ||
clocking sn_cb @ ( posedge clk ) default input #0.1 output #0.1 output TXSACTIVE, input RXSACTIVE, output TXLINKACTIVEREQ, input TXLINKACTIVEACK, input RXLINKACTIVEREQ, output RXLINKACTIVEACK, input RXREQFLITPEND, input RXREQFLITV, input RXREQFLIT, output RXREQLCRDV, output TXRSPFLITPEND, output TXRSPFLITV, output TXRSPFLIT, input TXRSPLCRDV, output TXDATFLITPEND, output TXDATFLITV, output TXDATFLIT, input TXDATLCRDV, input RXDATFLITPEND, input RXDATFLITV, input RXDATFLIT, output RXDATLCRDV Clocking block that defines VIP CHI SN Interface signal synchronization and directionality. | ||
clocking monitor_cb @ ( posedge clk ) default input #0.1 output #0.1 input TXSACTIVE, input RXSACTIVE, input TXLINKACTIVEREQ, input TXLINKACTIVEACK, input RXLINKACTIVEREQ, input RXLINKACTIVEACK, input RXREQFLITPEND, input RXREQFLITV, input RXREQFLIT, input RXREQLCRDV, input TXRSPFLITPEND, input TXRSPFLITV, input TXRSPFLIT, input TXRSPLCRDV, input TXDATFLITPEND, input TXDATFLITV, input TXDATFLIT, input TXDATLCRDV, input RXDATFLITPEND, input RXDATFLITV, input RXDATFLIT, input RXDATLCRDV Clocking block that defines VIP CHI SN Monitor Interface signal synchronization and directionality. | ||
| Functions | ||
void function
|
||
string function
|
||
|
interface svt_chi_ic_rn_if General description: The RN interface svt_chi_ic_rn_if defines the CHI signals appropriate for an interconnect node that connects to a fully coherent Request Node, along with the modports needed for the CHI Interconnect and monitor VIP. IC RN interface is a sub-interface to the top level interface svt_chi_if.
Clock signal description:
Debug port description:
CHI signal description: |
||
| Ports | ||
bit
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic [(SVT_CHI_RN_MAX_TXREQ_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXREQ_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_REQ_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_TXREQ_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXRSP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXRSP_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_RSP_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_RXRSP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_DAT_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXSNP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXSNP_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_SNP_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_RXSNP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXRSP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXRSP_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_RSP_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_TXRSP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_DAT_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
string
|
||
| Modports | ||
modport ic_rn_modport (
input resetn, )clocking sn_cb Modport used to connect the VIP HN to CHI interface signals. | ||
modport monitor_modport (
input resetn, )clocking monitor_cb Modport used to connect the VIP Monitor to CHI interface signals. | ||
modport debug_modport (
output req_obj_num, )output rx_rsp_obj_num, output rx_dat_obj_num, output tx_rsp_obj_num, output tx_dat_obj_num, output snp_req_obj_num, output snp_dat_obj_num, output snp_rsp_obj_num, output curr_req_lcrd_count, output curr_txrsp_lcrd_count, output curr_txdat_lcrd_count, output curr_snp_lcrd_count, output curr_rxrsp_lcrd_count, output curr_rxdat_lcrd_count Debug Modport | ||
| Clocking blocks | ||
clocking sn_cb @ ( posedge clk ) default input #0.1 output #0.1 input RXSACTIVE, output TXSACTIVE, input RXLINKACTIVEREQ, output RXLINKACTIVEACK, output TXLINKACTIVEREQ, input TXLINKACTIVEACK, input SYSCOREQ, output SYSCOACK, input RXREQFLITPEND, input RXREQFLITV, input RXREQFLIT, output RXREQLCRDV, output TXRSPFLITPEND, output TXRSPFLITV, output TXRSPFLIT, input TXRSPLCRDV, output TXDATFLITPEND, output TXDATFLITV, output TXDATFLIT, input TXDATLCRDV, output TXSNPFLITPEND, output TXSNPFLITV, output TXSNPFLIT, input TXSNPLCRDV, input RXRSPFLITPEND, input RXRSPFLITV, input RXRSPFLIT, output RXRSPLCRDV, input RXDATFLITPEND, input RXDATFLITV, input RXDATFLIT, output RXDATLCRDV Clocking block that defines VIP CHI RN Interface signal synchronization and directionality. | ||
clocking monitor_cb @ ( posedge clk ) default input #0.1 output #0.1 input TXSACTIVE, input RXSACTIVE, input TXLINKACTIVEREQ, input TXLINKACTIVEACK, input RXLINKACTIVEREQ, input RXLINKACTIVEACK, input SYSCOREQ, input SYSCOACK, input RXREQFLITPEND, input RXREQFLITV, input RXREQFLIT, input RXREQLCRDV, input TXRSPFLITPEND, input TXRSPFLITV, input TXRSPFLIT, input TXRSPLCRDV, input TXDATFLITPEND, input TXDATFLITV, input TXDATFLIT, input TXDATLCRDV, input TXSNPFLITPEND, input TXSNPFLITV, input TXSNPFLIT, input TXSNPLCRDV, input RXRSPFLITPEND, input RXRSPFLITV, input RXRSPFLIT, input RXRSPLCRDV, input RXDATFLITPEND, input RXDATFLITV, input RXDATFLIT, input RXDATLCRDV Clocking block that defines VIP CHI RN Monitor Interface signal synchronization and directionality. | ||
| Functions | ||
void function
|
||
string function
|
||
|
interface svt_chi_ic_sn_if General description: The SN interface svt_chi_ic_sn_if defines the CHI signals appropriate for a node in the interconnect that connects to a fully coherent Slave Node, along with the modports needed for the Interconnect and monitor VIP. IC SN interface is a sub-interface to the top level interface svt_chi_if.
Clock signal description:
Debug port description:
CHI signal description: |
||
| Ports | ||
bit
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic [(SVT_CHI_SN_MAX_RXREQ_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_RXREQ_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_REQ_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_SN_MAX_RXREQ_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXRSP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXRSP_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_RSP_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_SN_MAX_TXRSP_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_DAT_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_SN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [SVT_CHI_MAX_DAT_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_SN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
string
|
||
| Modports | ||
modport ic_sn_modport (
input resetn, )clocking rn_cb Modport used to connect the VIP HN to CHI interface signals. | ||
modport monitor_modport (
input resetn, )clocking monitor_cb Modport used to connect the VIP Monitor to CHI interface signals. | ||
modport debug_modport (
output req_obj_num, )output rx_rsp_obj_num, output rx_dat_obj_num, output tx_rsp_obj_num, output tx_dat_obj_num, output snp_req_obj_num, output snp_dat_obj_num, output snp_rsp_obj_num, output curr_req_lcrd_count, output curr_txdat_lcrd_count, output curr_rxrsp_lcrd_count, output curr_rxdat_lcrd_count Debug Modport | ||
| Clocking blocks | ||
clocking rn_cb @ ( posedge clk ) default input #0.1 output #0.1 output TXSACTIVE, input RXSACTIVE, input RXLINKACTIVEREQ, output RXLINKACTIVEACK, output TXLINKACTIVEREQ, input TXLINKACTIVEACK, output TXREQFLITPEND, output TXREQFLITV, output TXREQFLIT, input TXREQLCRDV, input RXRSPFLITPEND, input RXRSPFLITV, input RXRSPFLIT, output RXRSPLCRDV, input RXDATFLITPEND, input RXDATFLITV, input RXDATFLIT, output RXDATLCRDV, output TXDATFLITPEND, output TXDATFLITV, output TXDATFLIT, input TXDATLCRDV Clocking block that defines VIP CHI SN Interface signal synchronization and directionality. | ||
clocking monitor_cb @ ( posedge clk ) default input #0.1 output #0.1 input RXSACTIVE, input TXSACTIVE, input RXLINKACTIVEREQ, input RXLINKACTIVEACK, input TXLINKACTIVEREQ, input TXLINKACTIVEACK, input TXREQFLITPEND, input TXREQFLITV, input TXREQFLIT, input TXREQLCRDV, input RXRSPFLITPEND, input RXRSPFLITV, input RXRSPFLIT, input RXRSPLCRDV, input RXDATFLITPEND, input RXDATFLITV, input RXDATFLIT, input RXDATLCRDV, input TXDATFLITPEND, input TXDATFLITV, input TXDATFLIT, input TXDATLCRDV Clocking block that defines VIP CHI SN Monitor Interface signal synchronization and directionality. | ||
| Functions | ||
void function
|
||
string function
|
||
|
interface svt_chi_if General description: CHI VIP provides the SystemVerilog interface which can be used to connect the VIP to the DUT. A top level interface svt_chi_if is defined. The top level interface contains an array of RN & SN interfaces. By default, 16 RN and 16 SN interfaces are defined in the top level interface. Currently, the maximum RN and SN interfaces supported is 512 and 128 respectively. The number of RN and SN interfaces in top level interface can be controlled using macros the SVT_CHI_MAX_NUM_RNS_{0..512} and SVT_CHI_MAX_NUM_SNS_{0..128} respectively. For example, if you want to use 8 RN interfaces and 10 SN interfaces, you can define following macros when compiling the VIP: Please refer to User Guide section Overriding System Constants on how to provide these macro definitions to VIP.
Sub-interfaces:
Clock signal description:
Reset signal description:
interface svt_chi_if ( `ifndef SVT_CHI_ENABLE_MULTI_CLOCK input logic clk, `else input logic rn_clk[(`SVT_CHI_MAX_NUM_RNS-1):0], input logic sn_clk[(`SVT_CHI_MAX_NUM_SNS-1):0], `endif `ifndef SVT_CHI_ENABLE_MULTI_RESET input logic resetn `else input logic rn_resetn[(`SVT_CHI_MAX_NUM_RNS-1):0], input logic sn_resetn[(`SVT_CHI_MAX_NUM_SNS-1):0] `endif ); |
||||||||
| Sub-interfaces | ||||||||
| Ports | ||||||||
string
|
||||||||
| Functions | ||||||||
void function
|
||||||||
string function
|
||||||||
|
interface svt_ahb_master_if ( input logic common_hclk, )input logic common_hresetn, input logic [(SVT_AHB_MAX_DATA_WIDTH-1):0] hrdata_bus, input logic hready_bus, input logic [(SVT_AHB_HRESP_PORT_WIDTH-1):0] hresp_bus, input logic [(SVT_AHB_MAX_DATA_USER_WIDTH-1):0] hrdata_huser_bus General description: The master interface svt_ahb_master_if defines the AHB signals appropriate for a single port, along with the modports needed for the AHB master and monitor VIP. Debug signals and a debug modport are also defined. The debug port provides useful information for debugging. |
||
| Ports | ||
bit
|
||
logic
|
||
logic
|
||
logic
|
||
logic [(SVT_AHB_MAX_DATA_WIDTH-1):0]
|
||
logic
|
||
logic [(SVT_AHB_HRESP_PORT_WIDTH-1):0]
|
||
logic [(SVT_AHB_MAX_ADDR_WIDTH-1):0]
|
||
logic [(SVT_AHB_HBURST_PORT_WIDTH-1):0]
|
||
logic
|
||
logic
|
||
logic [(SVT_AHB_HPROT_PORT_WIDTH-1):0]
|
||
logic
|
||
logic [(SVT_AHB_HSIZE_PORT_WIDTH-1):0]
|
||
logic [(SVT_AHB_HTRANS_PORT_WIDTH-1):0]
|
||
logic [(SVT_AHB_MAX_DATA_WIDTH-1):0]
|
||
logic
|
||
logic [(SVT_AHB_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_AHB_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_AHB_DEBUG_PORT_WIDTH-1):0]
|
||
logic [SVT_AHB_MAX_USER_WIDTH-1:0]
|
||
logic [SVT_AHB_MAX_DATA_USER_WIDTH-1:0]
|
||
logic [SVT_AHB_MAX_DATA_USER_WIDTH-1:0]
|
||
string
|
||
| Modports | ||
modport svt_ahb_master_modport (
input internal_hresetn, )clocking ahb_master_cb Modport used to connect the VIP Master to AHB interface signals. | ||
modport svt_ahb_bus_modport (
input haddr, )input hburst, input hbusreq, input hlock, input hprot, input hnonsec, input hsize, input htrans, input hwdata, input hwrite, input control_huser, input hwdata_huser, output hgrant, clocking ahb_bus_cb Modport used to connect the VIP Bus to AHB master interface signals. The asynchronous signals are required for multiplexing functionality. | ||
modport svt_ahb_monitor_modport (
input internal_hresetn, )clocking ahb_monitor_cb Modport used to connect the VIP Monitor to AHB interface signals. | ||
modport svt_ahb_master_async_modport (
input hgrant, )input hrdata, input hready, input hresp, input hrdata_huser, output haddr, output hburst, output hbusreq, output hlock, output hprot, output hnonsec, output hsize, output htrans, output hwdata, output hwrite, output control_huser, output hwdata_huser, input is_active Asynchronous modport suitable for SV Master Bind interface | ||
| Clocking blocks | ||
clocking ahb_master_cb @ ( posedge internal_hclk ) default input #0.01 output #0.01 input internal_hresetn, input hrdata, input hready, input hgrant, input hresp, input hrdata_huser, output haddr, output hburst, output hbusreq, output hlock, output hprot, output hnonsec, output hsize, output htrans, output hwdata, output hwrite, output control_huser, output hwdata_huser Clocking block that defines VIP AHB Master Interface signal synchronization and directionality. | ||
clocking ahb_bus_cb @ ( posedge common_hclk ) default input #0.01 output #0.01 input haddr, input hburst, input hbusreq, input hlock, input hprot, input hnonsec, input hsize, input htrans, input hwdata, input hwrite, input control_huser, input hwdata_huser, output hgrant Clocking block that defines VIP AHB Bus-Master Interface signal synchronization and directionality. | ||
clocking ahb_monitor_cb @ ( posedge internal_hclk ) default input #0.01 output #0.01 input internal_hresetn, input hgrant, input hrdata, input hready, input hresp, input haddr, input hburst, input hbusreq, input hlock, input hprot, input hnonsec, input hsize, input htrans, input hwdata, input hwrite, input control_huser, input hwdata_huser, input hrdata_huser Clocking block that defines the AHB Monitor Interface signal synchronization and directionality. | ||
| Functions | ||
void function
|
||
string function
|
||
|
interface svt_ahb_slave_if ( input logic common_hclk, )input logic common_hresetn, input logic [(SVT_AHB_MAX_ADDR_WIDTH-1):0] haddr_bus, input logic [(SVT_AHB_HBURST_PORT_WIDTH-1):0] hburst_bus, input logic [(SVT_AHB_HMASTER_PORT_WIDTH-1):0] hmaster_bus, input logic hmastlock_bus, input logic [(SVT_AHB_HPROT_PORT_WIDTH-1):0] hprot_bus, input logic hnonsec_bus, input logic [(SVT_AHB_HSIZE_PORT_WIDTH-1):0] hsize_bus, input logic [(SVT_AHB_HTRANS_PORT_WIDTH-1):0] htrans_bus, input logic [(SVT_AHB_MAX_DATA_WIDTH-1):0] hwdata_bus, input logic hwrite_bus, input logic hready_bus, input logic [SVT_AHB_MAX_USER_WIDTH-1:0] control_huser_bus, input logic [SVT_AHB_MAX_DATA_USER_WIDTH-1:0] hwdata_huser_bus General description: The slave interface svt_ahb_slave_if defines the AHB signals appropriate for a single port, along with the modports needed for the AHB slave and monitor VIP. Debug signals and a debug modport are also defined. The debug port provides useful information for debugging. |
||
| Ports | ||
bit
|
||
logic [(SVT_AHB_MAX_DATA_WIDTH-1):0]
|
||
logic [(SVT_AHB_HRESP_PORT_WIDTH-1):0]
|
||
logic [(SVT_AHB_MAX_ADDR_WIDTH-1):0]
|
||
logic [(SVT_AHB_HBURST_PORT_WIDTH-1):0]
|
||
logic [(SVT_AHB_HPROT_PORT_WIDTH-1):0]
|
||
logic
|
||
logic [(SVT_AHB_HSIZE_PORT_WIDTH-1):0]
|
||
logic [(SVT_AHB_HTRANS_PORT_WIDTH-1):0]
|
||
logic [(SVT_AHB_MAX_DATA_WIDTH-1):0]
|
||
logic
|
||
logic [(SVT_AHB_HMASTER_PORT_WIDTH-1):0]
|
||
logic
|
||
logic [(SVT_AHB_MAX_HSEL_WIDTH-1):0]
|
||
logic
|
||
logic
|
||
logic [(SVT_AHB_MAX_NUM_MASTERS-1):0]
|
||
logic [(SVT_AHB_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_AHB_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_AHB_DEBUG_PORT_WIDTH-1):0]
|
||
logic [SVT_AHB_MAX_USER_WIDTH-1:0]
|
||
logic [SVT_AHB_MAX_DATA_USER_WIDTH-1:0]
|
||
logic [SVT_AHB_MAX_DATA_USER_WIDTH-1:0]
|
||
string
|
||
| Modports | ||
modport svt_ahb_slave_modport (
input internal_hresetn, )clocking ahb_slave_cb Modport used to connect the VIP Slave to AHB interface signals. | ||
modport svt_ahb_bus_modport (
input hrdata, )input hready, input hresp, input hsplit, input hrdata_huser, output hsel, clocking ahb_bus_cb Modport used to connect the VIP Bus to AHB master interface signals. Asynchronous signals are required for multiplexing functionality | ||
modport svt_ahb_monitor_modport (
input internal_hresetn, )clocking ahb_monitor_cb Modport used to connect the VIP Monitor to AHB interface signals. | ||
modport svt_ahb_slave_async_modport (
input haddr, )input hburst, input hmaster, input hmastlock, input hprot, input hnonsec, input hsel, input hsize, input htrans, input hwdata, input hwrite, input hready_in, input control_huser, input hwdata_huser, output hrdata, output hready, output hresp, output hsplit, output hrdata_huser, input is_active Asynchronous modport suitable for SV Slave Bind interface | ||
| Clocking blocks | ||
clocking ahb_slave_cb @ ( posedge internal_hclk ) default input #0.01 output #0.01 input internal_hresetn, input haddr, input hburst, input hmaster, input hmastlock, input hprot, input hnonsec, input hsel, input hsize, input htrans, input hwdata, input hwrite, input hready_in, input control_huser, input hwdata_huser, output hrdata, output hready, output hresp, output hsplit, output hrdata_huser Clocking block that defines the VIP AHB Bus-Slave Interface signal synchronization and directionality. | ||
clocking ahb_monitor_cb @ ( posedge internal_hclk ) default input #0.01 output #0.01 input internal_hresetn, input haddr, input hburst, input hmaster, input hmastlock, input hprot, input hnonsec, input hsel, input hsize, input htrans, input hwdata, input hwrite, input hrdata, input hready, input hready_in, input hresp, input hsplit, input control_huser, input hwdata_huser, input hrdata_huser Clocking block that defines the AHB Monitor Interface signal synchronization and directionality. | ||
| Functions | ||
void function
|
||
string function
|
||
|
interface svt_ahb_if () General description: AHB VIP provides the SystemVerilog interface which can be used to connect the VIP to the DUT. A top level interface svt_ahb_if is defined. The top level interface contains reset signal for the bus, and an array of master & slave interfaces. The top level interface can be used for connecting the master & slave components to the AHB Bus. By default, 16 master and 16 slave interfaces are defined in the top level interface. Currently, the maximum number of master and slave interfaces supported is 128. The number of master and slave interfaces in top level interface can be controlled using macros SVT_AHB_MAX_NUM_MASTERS_{0..128} and SVT_AHB_MAX_NUM_SLAVES_{0..128} respectively. For example, if you want to use 8 master interfaces and 10 slave interfaces, you can define following macros when compiling the VIP: Please refer to User Guide section Overriding System Constants on how to provide these macro definitions to VIP.
Sub-interfaces:
Clock signal description:
Clock connection examples:
Reset signal description:
Reset connection examples: |
||||||||||||||||
| Sub-interfaces | ||||||||||||||||
| Ports | ||||||||||||||||
logic
|
||||||||||||||||
logic
|
||||||||||||||||
logic [(SVT_AHB_MAX_DATA_WIDTH-1):0]
|
||||||||||||||||
logic
|
||||||||||||||||
logic [(SVT_AHB_HRESP_PORT_WIDTH-1):0]
|
||||||||||||||||
logic [SVT_AHB_MAX_DATA_USER_WIDTH-1:0]
|
||||||||||||||||
logic [(SVT_AHB_MAX_ADDR_WIDTH-1):0]
|
||||||||||||||||
logic [(SVT_AHB_HBURST_PORT_WIDTH-1):0]
|
||||||||||||||||
logic [(SVT_AHB_HPROT_PORT_WIDTH-1):0]
|
||||||||||||||||
logic
|
||||||||||||||||
logic [(SVT_AHB_HSIZE_PORT_WIDTH-1):0]
|
||||||||||||||||
logic [(SVT_AHB_HTRANS_PORT_WIDTH-1):0]
|
||||||||||||||||
logic [(SVT_AHB_MAX_DATA_WIDTH-1):0]
|
||||||||||||||||
logic
|
||||||||||||||||
logic [SVT_AHB_MAX_USER_WIDTH-1:0]
|
||||||||||||||||
logic [SVT_AHB_MAX_DATA_USER_WIDTH-1:0]
|
||||||||||||||||
logic [(SVT_AHB_HMASTER_PORT_WIDTH-1):0]
|
||||||||||||||||
logic
|
||||||||||||||||
logic [(SVT_AHB_HMASTER_PORT_WIDTH-1):0]
|
||||||||||||||||
logic [(SVT_AHB_HMASTER_PORT_WIDTH-1):0]
|
||||||||||||||||
logic [(SVT_AHB_DEBUG_PORT_WIDTH-1):0]
|
||||||||||||||||
logic [(SVT_AHB_DEBUG_PORT_WIDTH-1):0]
|
||||||||||||||||
logic [SVT_AHB_MAX_NUM_MASTERS-1:0]
|
||||||||||||||||
string
|
||||||||||||||||
| Modports | ||||||||||||||||
modport svt_ahb_bus_modport (
input hresetn, )output hrdata_bus, output hready_bus, output hresp_bus, output haddr_bus, output hburst_bus, output hprot_bus, output hnonsec_bus, output hsize_bus, output htrans_bus, output hwdata_bus, output hwrite_bus, output control_huser_bus, output hmaster_bus, output hmastlock_bus, output hwdata_huser_bus, output hrdata_huser_bus, clocking ahb_bus_reset_cb, clocking ahb_bus_cb Modport used to connect the reset signal to VIP AHB Bus The signals corresponding to following need to be asynchronous
| ||||||||||||||||
modport svt_ahb_monitor_modport (
input hresetn, )input hrdata_bus, input hready_bus, input hresp_bus, input haddr_bus, input hburst_bus, input hprot_bus, input hnonsec_bus, input hsize_bus, input htrans_bus, input hwdata_bus, input hwrite_bus, input control_huser_bus, input hmaster_bus, input hmastlock_bus, input hwdata_huser_bus, input hrdata_huser_bus, clocking ahb_bus_reset_cb, clocking ahb_monitor_cb Monitor modport for the bus signals. The Modport includes the clocking blocks for synchronous sampling. It also includes the signals directly for asynnchronous sampling wherever it is required. | ||||||||||||||||
| Clocking blocks | ||||||||||||||||
clocking ahb_monitor_cb @ ( posedge hclk ) default input #0.01 output #0.01 input hrdata_bus, input hready_bus, input hresp_bus, input haddr_bus, input hburst_bus, input hprot_bus, input hnonsec_bus, input hsize_bus, input htrans_bus, input hwdata_bus, input hwrite_bus, input control_huser_bus, input hmaster_bus, input hmastlock_bus, input hwdata_huser_bus, input hrdata_huser_bus Clocking block that defines the VIP AHB Bus Interface bus to all slaves signals synchronization and directionality. | ||||||||||||||||
| Functions | ||||||||||||||||
virtual AHB_MASTER_IF function
|
get_master_if
(int idx) |
|||||||||||||||
void function
|
||||||||||||||||
string function
|
||||||||||||||||
|
interface svt_apb_slave_if () APB Slave Interface provides the SystemVerilog interface which can be used to connect the Slave VIP to a DUT. A top level interface svt_apb_if is defined. The top level interface contains the system level pins and an array of slave interfaces. |
||
| Ports | ||
bit
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic
|
||
logic [(SVT_APB_MAX_ADDR_WIDTH-1):0]
|
||
logic [(SVT_APB_MAX_DATA_WIDTH-1):0]
|
||
logic [((SVT_APB_MAX_DATA_WIDTH/8)-1):0]
|
||
logic [2:0]
|
||
logic [(SVT_APB_MAX_CONTROL_PUSER_WIDTH-1):0]
|
||
logic [(SVT_APB_MAX_DATA_WIDTH-1):0]
|
||
logic
|
||
logic
|
||
logic [31:0]
|
||
logic [31:0]
|
||
string
|
||
| Modports | ||
modport svt_apb_slave_modport (
clocking apb_slave_cb )Modport used to connect the VIP Slave to APB interface signals. | ||
modport svt_apb_monitor_modport (
input presetn, )clocking apb_monitor_cb Modport used to connect the VIP Monitor to APB interface signals. | ||
| Clocking blocks | ||
clocking apb_slave_cb @ ( posedge pclk ) default input #0.01 output #0.01 input presetn, input psel, input penable, input pwrite, input paddr, input pstrb, input pprot, input control_puser, output prdata, output pready, output pslverr Clocking block that defines VIP APB Slave Interface signal synchronization and directionality. | ||
clocking apb_monitor_cb @ ( posedge pclk ) default input #0.01 output #0.01 input presetn, input psel, input penable, input pwrite, input paddr, input pwdata, input pstrb, input pprot, input control_puser, input prdata, input pready, input pslverr Clocking block that defines VIP APB System Monitor Interface signal synchronization and directionality. | ||
| Functions | ||
void function
|
||
string function
|
||
|
interface svt_apb_if () APB VIP provides the SystemVerilog interface which can be used to connect the VIP to the DUT. A top level interface svt_apb_if is defined. The top level interface contains the system level pins and an array of slave interfaces. By default, 16 slave interfaces are defined in the top level interface. Currently, the maximum number of slave interfaces supported is 128. The number of slave interfaces in top level interface can be controlled using macro SVT_APB_MAX_NUM_SLAVES_{0..128}. For example, if you want to use 20 slave interfaces, you can define following macro when compiling the VIP: Please refer to User Guide section Overriding System Constants on how to provide these macro definitions to VIP. |
||
| Sub-interfaces | ||
| Ports | ||
bit
|
||
bit
|
||
bit
|
||
logic
|
||
logic
|
||
logic [(SVT_APB_MAX_NUM_SLAVES-1):0]
|
||
logic
|
||
logic
|
||
logic [(SVT_APB_MAX_ADDR_WIDTH-1):0]
|
||
logic [(SVT_APB_MAX_DATA_WIDTH-1):0]
|
||
logic [((SVT_APB_MAX_DATA_WIDTH/8)-1):0]
|
||
logic [2:0]
|
||
logic [(SVT_APB_MAX_CONTROL_PUSER_WIDTH-1):0]
|
||
logic [(SVT_APB_MAX_DATA_WIDTH-1):0]
|
||
logic
|
||
logic
|
||
logic [31:0]
|
||
logic [31:0]
|
||
string
|
||
| Modports | ||
modport svt_apb_master_modport (
input presetn, )clocking apb_master_cb Modport used to connect the VIP Master to APB interface signals. | ||
modport svt_apb_monitor_modport (
input presetn, )clocking apb_monitor_cb Modport used to connect the VIP Monitor to APB interface signals. | ||
| Clocking blocks | ||
clocking apb_master_cb @ ( posedge pclk ) default input #0.01 output #0.01 input presetn, output psel, output penable, output pwrite, output paddr, output pwdata, output pstrb, output pprot, output control_puser, input prdata, input pready, input pslverr Clocking block that defines VIP APB Master Interface signal synchronization and directionality. | ||
clocking apb_monitor_cb @ ( posedge pclk ) default input #0.01 output #0.01 input presetn, input psel, input penable, input pwrite, input paddr, input pwdata, input pstrb, input pprot, input control_puser, input prdata, input pready, input pslverr Clocking block that defines VIP APB System Monitor Interface signal synchronization and directionality. | ||
| Functions | ||
virtual APB_SLAVE_IF function
|
get_slave_if
(int idx) |
|
void function
|
||
string function
|
||
|
||
support for signal logging.
|
|
||
Simple method for getting the full path for an interface or module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Object number of the transaction currently observed on REQ VC |
|
|
Object number of the transaction currently observed on RX RSP VC |
|
|
Object number of the transaction currently observed on RX DAT VC |
|
|
Object number of the transaction currently observed on TX RSP VC |
|
|
Object number of the transaction currently observed on TX DAT VC |
|
|
Object number of the transaction currently observed on SNP VC |
|
|
Object number of the transaction currently observed on TX DAT VC, if it corresponds to a snoop transaction |
|
|
Object number of the transaction currently observed on TX RSP VC, if it corresponds to a snoop transaction |
|
|
Current L-credit count observed on TX REQ VC |
|
|
Current L-credit count observed on TX RSP VC |
|
|
Current L-credit count observed on TX DAT VC |
|
|
Current L-credit count observed on RX SNP VC |
|
|
Current L-credit count observed on RX RSP VC |
|
|
Current L-credit count observed on RX DAT VC |
|
|
Full path to this interface or module instance |
|
||
support for signal logging.
|
|
||
Simple method for getting the full path for an interface or module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Object number of the transaction currently observed on REQ VC |
|
|
Object number of the transaction currently observed on RX DAT VC |
|
|
Object number of the transaction currently observed on TX RSP VC |
|
|
Object number of the transaction currently observed on TX DAT VC |
|
|
Current L-credit count observed on TX DAT VC |
|
|
Current L-credit count observed on TX RSP VC |
|
|
Current L-credit count observed on RX REQ VC |
|
|
Current L-credit count observed on RX DAT VC |
|
|
Full path to this interface or module instance |
|
||
support for signal logging.
|
|
||
Simple method for getting the full path for an interface or module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Object number of the transaction currently observed on REQ VC |
|
|
Object number of the transaction currently observed on RX RSP VC |
|
|
Object number of the transaction currently observed on RX DAT VC |
|
|
Object number of the transaction currently observed on TX RSP VC |
|
|
Object number of the transaction currently observed on TX DAT VC |
|
|
Object number of the transaction currently observed on SNP VC |
|
|
Object number of the transaction currently observed on TX DAT VC, if it corresponds to a snoop transaction |
|
|
Object number of the transaction currently observed on TX RSP VC, if it corresponds to a snoop transaction |
|
|
Current L-credit count observed on TX SNP VC |
|
|
Current L-credit count observed on TX RSP VC |
|
|
Current L-credit count observed on TX DAT VC |
|
|
Current L-credit count observed on RX REQ VC |
|
|
Current L-credit count observed on RX RSP VC |
|
|
Current L-credit count observed on RX DAT VC |
|
|
Full path to this interface or module instance |
|
||
support for signal logging.
|
|
||
Simple method for getting the full path for an interface or module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Object number of the transaction currently observed on REQ VC |
|
|
Object number of the transaction currently observed on RX RSP VC |
|
|
Object number of the transaction currently observed on RX DAT VC |
|
|
Object number of the transaction currently observed on TX RSP VC |
|
|
Object number of the transaction currently observed on TX DAT VC |
|
|
Object number of the transaction currently observed on SNP VC |
|
|
Object number of the transaction currently observed on TX DAT VC, if it corresponds to a snoop transaction |
|
|
Object number of the transaction currently observed on TX RSP VC, if it corresponds to a snoop transaction |
|
|
Current L-credit count observed on TX REQ VC |
|
|
Current L-credit count observed on TX DAT VC |
|
|
Current L-credit count observed on RX RSP VC |
|
|
Current L-credit count observed on RX DAT VC |
|
|
Full path to this interface or module instance |
|
||
support for signal logging.
|
|
||
Simple method for getting the full path for an interface or module.
|
|
|
|
|
|
|
|
|
Full path to this interface or module instance |
|
||
support for signal logging.
|
|
||
Simple method for getting the full path for an interface or module.
|
|
|
|
|
|
|
|
|
|
User clock In multiple clock mode, user is expected to drive this signal |
|
|
User reset In multiple reset mode, user is expected to drive this signal |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Debug port signals |
|
|
|
|
AHB sideband signals |
|
|
|
|
Full path to this interface or module instance |
|
||
support for signal logging.
|
|
||
Simple method for getting the full path for an interface or module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Debug port signals |
|
|
|
|
AHB sideband signals |
|
|
|
|
Full path to this interface or module instance |
|
|
||
support for signal logging.
|
|
||
Simple method for getting the full path for an interface or module.
|
|
|
|
|
Bus: Slave to Master Mux signals |
|
|
|
|
|
Bus: Master to Slave Mux signals |
|
|
|
|
|
|
|
|
|
|
|
Bus: Following signals from bus to slave are common, generated by bus |
|
|
|
Debug port signals |
|
|
|
|
|
|
|
|
Full path to this interface or module instance |
|
||
support for signal logging.
|
|
||
Simple method for getting the full path for an interface or module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Debug Signals for master driver |
|
|
Debug Signals for master monitor |
|
|
Full path to this interface or module instance |
|
|
||
support for signal logging.
|
|
||
Simple method for getting the full path for an interface or module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Debug Signals for master driver |
|
|
Debug Signals for master monitor |
|
|
Full path to this interface or module instance |