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.
Use the following to flash a card with xbflash2.
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>
Where:
- 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.