Xilinx Vitis Drivers API Documentation
prd Documentation

The Xilinx Partial Reconfiguration Decoupler driver can be used to provide a boundary between the static logic and a Reconfigurable Partition during Partial Reconfiguration.The PR Decoupler supports the following features:

  • All Interface types registered in the Vivado Design Suite are supported, including custom interfaces.
  • Non-Vivado Design Suite interfaces are supported.
  • The decoupling behaviour can be configured for each interface.
  • Each interface can have Clock Domain Crossing support.
  • Optional AXI4-Stream based control.
  • Optional AXI4-Stream based Status.
  • Optional AXI4-Lite based status and control.

Initialization and Configuration

  • XPrd_LookupConfig(DeviceId) - Use the device identifier to find the static configuration structure defined in xprd_g.c. This is setup by the tools. For some operating systems the config structure will be initialized by the software and this call is not needed.


This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.


Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining, at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that users leave asserts on during development.

Building the driver

The XPrd driver is composed of several source files. This allows the user to build and link only those parts of the driver that are necessary.

Ver   Who     Date          Changes

1.0 ms 07/14/16 First release 1.1 ms 01/16/17 Updated the parameter naming from XPAR_PR_DECOUPLER_NUM_INSTANCES to XPAR_XPRD_NUM_INSTANCES to avoid compilation failure for XPAR_PR_DECOUPLER_NUM_INSTANCES as the tools are generating XPAR_XPRD_NUM_INSTANCES in the generated xprd_g.c for fixing MISRA-C files. This is a fix for CR-966099 based on the update in the tools. ms 03/17/17 Added readme.txt file in examples folder for doxygen generation. ms 04/05/2017 Modified comment lines notation in functions of prd examples to avoid unnecessary description which was displayed while generating doxygen.