This section describes how to program the board using the xbsak flash command directly from the deployment computer and its Linux OS. The command line prompt is used to program the configuration memory (flash memory device) on the FPGA board with specified configuration files from which the FPGA can boot.
1.Before programming the board, check which device support archive (DSA) is currently programmed onto the configuration memory of the board as follows:
$ sudo <xbinst-area>/runtime/bin/xbsak flash scan
or equivalently:
$ sudo ‘which xbsak flash scan’;
Typical output is:
$ sudo `which xbsak` flash scan
XBFLASH -- AMD Board Flash Utility
SCAN found the following devices:
[0]
DBDF: 0000:03:00.1
DSA: AMD_vcu1525_dynamic_5_1
Flash: SPI
In this example, the board does not need to be re-flashed because it is already up-to-date.
All of the AMD boards are already programmed and are visible with the following command, which confirms that the board is programmable using the xbsak flash because it is visible as a PCI device:
$ lspci -d 10ee:
03:00.0 Serial controller: AMD Corporation Device 6a90
03:00.1 Serial controller: AMD Corporation Device 6a8f
2.Source the setup.{sh,csh} from the xbinst area to use xbsak flash:
$ source <xbinst-area>/setup.{sh|csh}
3.Find the necessary MCS files:
$ find <xbinst-area> -name '*.mcs'
°For a Kintex UltraScale KCU1500 board, this command returns two MCS files—the primary and the secondary MCS files that are needed for the xbsak flash command:
$ find -name '*.mcs'
./firmware/AMD_kcu1500_dynamic_5_0_primary.mcs
./firmware/AMD_kcu1500_dynamic_5_0_secondary.mcs
$ xbsak flash -m <primary mcs file> -n <secondary mcs file>
°For a Virtex UltraScale+-based VCU1525 board, this command returns one MCS file needed for the xbsak flash command:
$ find -name '*.mcs
./firmware/AMD_vcu1525_dynamic_5_1.mcs
$ xbsak flash -m <mcs file>