Programming via xbflash2

Alveo U45N Data Center Accelerator Card User Guide (UG1636)

Document ID
Release Date
1.0 English

This section details how to flash the Alveo data center accelerator card FPGA using the AMD board flash utility (xbflash2). Xbflash2 is a standalone command line utility used to flash a custom Vivado flow MCS image onto an Alveo card or to revert a card running a Vivado design back to its golden image over PCIe. Because it communicates directly with the card through the PCIe BAR, it does not require Xilinx Runtime (XRT) drivers (xocl/xclmgmt) to be installed or a programming cable. For xbflash2 command details, refer to the xbflash2 command documentation.

To program the card via the xbflash2 utility, a flashed and running design must have a flash controller (via the AXI Quad SPI IP) with proper configurations and mapping to the PCIe BAR.

Tip: The manufacturing image (sometimes referred to as the golden image) comes pre-installed on new cards with the flash controller incorporated.

Use the following to flash a card with xbflash2.

Note: The following steps assume the U45N card has the original manufacturing image installed.

When flashing a card with xbflash2 command, it is necessary to include the base address (BAR offset of the QUAD SPI IP/flash controller.

The Alveo data center accelerator card manufacturing image base address offset is 0x50000.

To flash a card, use the following command:

sudo xbflash2 program --spi --image <MCS_FILE> --bar-offset <BAR_OFFSET> -d <MGMT_BDF>


  • MCS_FILE - MCS file to flash to the card.
  • MGMT_BDF - Management Bus:Device.Function assigned to the card being programmed.
  • BAR_OFFSET - QUAD SPI IP/Flash controller base address offset. This address is dependent on current image flashed on the card

After running this command, the new image will be flashed to your card.

Perform a cold reboot on the host machine to complete the card update.

See Updating Vivado images via PCIe with xbflash for how to incorporate a flash controller in your design to enable xbflash.