PCI Express® is a plug-and-play protocol, meaning that at power up the PCIe® host will enumerate the system. This process consists of the host reading the requested address size from each device and then assigning a base address to the device. As such, PCIe interfaces must be ready when the host queries them or they will not get assigned a base address. The PCI Express specification states that PERST# must deassert 100 ms after the power good of the systems has occurred, and a PCI Express port must be ready to link train no more than 20 ms after PERST# has deasserted. This is commonly referred to as the 100 ms boot time requirement.
Tandem Configuration utilizes a two-stage methodology that enables the IP to meet the configuration time requirements indicated in the PCI Express specification. Multiple use cases are supported with this technology:
- Tandem PROM
- Load the single two-stage bitstream from the flash.
- Tandem PCIe
- Load the first stage bitstream from flash, and deliver the second stage bitstream over the PCIe link to the MCAP.
- Tandem PCIe with Field Updates
- After a Tandem PCIe initial configuration, update the entire
user design while the PCIe link remains active. The update
region (floorplan) and design structure are predefined, and Tcl scripts are
provided.Note: In AMD UltraScale+™ devices, Tandem PCIe must be used for Field Updates. Tandem PROM does not support Field Updates.
- Tandem PCIe + Dynamic Function eXchange
- This is a more general case of Tandem Configuration followed by Dynamic Function eXchange (DFX) of any size or number of dynamic regions.
- DFX over PCIe
- This is a standard configuration followed by DFX, using the PCIe / MCAP as the delivery path of partial bitstreams.
To enable any of these capabilities, select the appropriate option when customizing the core. In the Basic tab:
- Change the Mode to Advanced.
- Change the Tandem Configuration or Dynamic Function eXchange option according
to your particular case:
- Tandem PROM for the Tandem PROM use case.
- Tandem PCIe for Tandem PCIe or Tandem PCIe + Dynamic Function eXchange use cases.
- Tandem PCIe with Field Updates only for the predefined Field Updates use case.
- DFX over PCIe to enable the MCAP link for DFX, without enabling Tandem Configuration.
The AXI DMA/Bridge Subsystem for PCI Express supports Tandem Configuration and Dynamic Function eXchange features for UltraScale+ devices, including Tandem PCIe with Field Updates. Device support details are documented in the DMA/Bridge Subsystem for PCI Express Product Guide (PG195), but the Tandem implementation details are presented thoroughly only here within this document.