PIO File Structure - 1.0 English

Versal Adaptive SoC Integrated Block for PCI Express LogiCORE IP Product Guide (PG343)

Document ID
PG343
Release Date
2023-11-10
Version
1.0 English

The following table defines the PIO design file structure. Based on the specific core targeted, not all files delivered by the AMD Vivado™ IP catalog are necessary, and some files might not be delivered. The major difference is that some of the Endpoint for PCIe® solutions use a 32-bit user datapath, others use a 64-bit datapath, and the PIO design works with both. The width of the datapath depends on the specific core being targeted.

Table 1. PIO Design File Structure
File Description
PIO.v Top-level design wrapper
PIO_INTR_CTRL.v PIO interrupt controller
PIO_EP.v PIO application module
PIO_TO_CTRL.v PIO turn-off controller module
PIO_RX_ENGINE.v 32-bit Receive engine
PIO_TX_ENGINE.v 32-bit Transmit engine
PIO_EP_MEM_ACCESS.v Endpoint memory access module
PIO_EP_MEM.v Endpoint memory
PIO_EP_XPM_SDRAM_WRAP.v Endpoint Memory in case of dword align mode

Four configurations of the PIO design are provided: PIO_64, PIO_128, and PIO_256 with 64-, 128-, 256-bit, and 512-bit AXI4-Stream interfaces, respectively. The PIO configuration that is generated depends on the selected Endpoint type, the number of PCI Express lanes, and the interface width selected. The following table identifies the PIO configuration generated based on your selection.

Table 2. PIO Configuration
Core x1 x2 x4 x8
Integrated Block for PCIe PIO_64 PIO_64, PIO_128 PIO_64, PIO_128, PIO_256 PIO_64, PIO_128 1 , PIO_256
  1. The core does not support 128-bit x8 8.0 Gbps configuration and 500 MHz user clock frequency.

The following figure shows the various components of the PIO design, which is separated into four main parts: the TX Engine, RX Engine, Memory Access Controller, and Power Management Turn-Off Controller.

Figure 1. PIO Design Components