The Xilfpga library provides an interface to the Linux or bare-metal users for configuring the programmable logic (PL) over PCAP from PS. The library is designed for
Zynq® UltraScale+— MPSoC to run on top of Xilinx standalone BSPs. In the most common use case, we expect users to run this library on PMU MicroBlaze
with PMUFW to serve requests from Linux for bitstream programming. In its current flow its supports only full bitstream download.
In subsequent releases it will support other features like encrypted and authenticated bitstream loading, partial bitstream loading.

How to enable

xilfpga library can be found at

- data - Provides the API and data structure details
- src - Driver source files which are further organised into
- examples - Contains example applications demonstrating the use of xilfpga library

Features Supported

  • Full-Bitstream and partial Bitstream loading.
  • Encrypted and Authenticated Bitstream loading.

Features not supported

  • No support for partial Bitstream loading.
  • No support for Only Encrypted Bitstream loading with Device key.

Known Issues and Limitations

Test Cases

There are examples which will illustrate the xilfpga usage. They can be found at


  • 2016.3
    • Added new xilfpga library.
  • 2016.4
    • Added PL power-up and Isolation sequence to the xilfpga library.
    • Added PS-PL Reset sequence.
    • Added Preprocessor check for XPAR_NUM_FABRIC_RESETS to avoid the compilation errors.
    • Added gpio assert logic to properly reset the PL from PS.
  • 2017.1
    • Adds Encrypted BitStream Loading support to the xilfpga library
    • Updated makefile
    • Modified IV endianess
    • Adds Authenticated BitStream Loading support to the xilfpga library
    • Send Key and IV in big endian form
    • Fixed compilation warnings.
    • Configure the secure switch with the appropriate value.
    • Adds Reconfiguration BitStream Loading support to the xilfpga library

  • 2017.2
    • Xilfpga: Fix the check logic issue in xilfpga library
  • 2017.3
    • Updated the source files to updated addtogroup version numbers
    • Xilfpga: Remove Authenticated BitStream Loading support from xilfpga library.
  • 2017.4
    • None.
  • 2018.1
    • Xilfpga: Adds Secure Bitstream Loading support to the xilfpga library
    • xilfpga: Updated the example to sync with xilfpga library latest version
    • Xilfpga: Adopted Crypto access rules to the xilfpga library
    • xilfpga: Adds legacy Bit file support to the xilfpga library

  • 2018.2
    • Xilfpga: Fix Documentation style issues
    • Xilfpga: Adds support to Re-validated the user Crypto flags with Image crypto operations
    • Xilfpga: Adds Partial Bitstream loading support to the xilfpga library