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 CHI-G SVT UVM Documentation: Show All Interfaces
| Product | Interface Group | Interfaces | Sub-interfaces |
|---|---|---|---|
| amba_svt | Default Group | svt_axi_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_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_RN_MAX_TXREQ_CHANNELS-1):0][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_RN_MAX_RXRSP_CHANNELS-1):0][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_RN_MAX_RXDAT_CHANNELS-1):0][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_RN_MAX_RXSNP_CHANNELS-1):0][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_RN_MAX_TXRSP_CHANNELS-1):0][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_RN_MAX_TXDAT_CHANNELS-1):0][SVT_CHI_MAX_DAT_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXREQ_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXDAT_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXSNP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXREQ_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXSNP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXDAT_CHANNELS-1):0][(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_SN_MAX_RXREQ_CHANNELS-1):0][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_SN_MAX_TXRSP_CHANNELS-1):0][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_SN_MAX_TXDAT_CHANNELS-1):0][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_SN_MAX_RXDAT_CHANNELS-1):0][SVT_CHI_MAX_DAT_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_SN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_RXREQ_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_SN_MAX_RXDAT_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXDAT_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXDAT_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_SN_MAX_RXREQ_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_SN_MAX_RXDAT_CHANNELS-1):0][(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_RN_MAX_TXREQ_CHANNELS-1):0][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_RN_MAX_RXRSP_CHANNELS-1):0][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_RN_MAX_RXDAT_CHANNELS-1):0][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_RN_MAX_RXSNP_CHANNELS-1):0][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_RN_MAX_TXRSP_CHANNELS-1):0][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_RN_MAX_TXDAT_CHANNELS-1):0][SVT_CHI_MAX_DAT_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXREQ_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXDAT_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXSNP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXSNP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_RXDAT_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXREQ_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_RN_MAX_TXDAT_CHANNELS-1):0][(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_SN_MAX_RXREQ_CHANNELS-1):0][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_SN_MAX_TXRSP_CHANNELS-1):0][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_SN_MAX_TXDAT_CHANNELS-1):0][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_SN_MAX_RXDAT_CHANNELS-1):0][SVT_CHI_MAX_DAT_FLIT_WIDTH-1:0]
|
||
logic [(SVT_CHI_SN_MAX_RXDAT_CHANNELS-1):0]
|
||
logic [(SVT_CHI_SN_MAX_RXREQ_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXDAT_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_SN_MAX_RXDAT_CHANNELS-1):0][(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_SN_MAX_RXREQ_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_SN_MAX_RXDAT_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXRSP_CHANNELS-1):0][(SVT_CHI_DEBUG_PORT_WIDTH-1):0]
|
||
logic [(SVT_CHI_SN_MAX_TXDAT_CHANNELS-1):0][(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
|
||||||||
|
||
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 |