6.1. Loading an AFU Image into the FPGA
You can utilize the fpgasupdate utility to load an AFU image. In Acceleration Stack 2.0.1 and later versions, the Intel® FPGA PAC must be programmed with AFU images that have been prepended with mandatory headers. These headers are applied by the PACSign tool. For more information on the PACSign tool, please refer to the Security User Guide: Intel FPGA Programmable Acceleration Card D5005.
If the Intel® FPGA PAC is programmed with a root entry hash following the steps in the Security User Guide: Intel FPGA Programmable Acceleration Card D5005, then the provided AFU bitstreams (for example: hello_afu_unsigned.gbs) must be signed using PACSign with the appropriate root and code signing keys before you can successfully program the signed AFU bitstream.
sudo fpgasupdate <AFU image>
The fpgasupdate tool can program an unsigned AFU bitstream provided that there is no root entry hash programmed into the flash.
The fpgasupdate tool also accepts PCIe* Bus:Device:Function (BDF) as an additional optional argument if multiple cards are connected to the server. Use the help text (-h) to see how additional arguments must be passed. For example: sudo fpgasupdate -h.
To identify the BDF run the following command:
lspci | grep 0b2b
37:00.0 Processing accelerators: Intel Corporation Device 0b2b (rev 01)
In the Sample Output, the PCIe Bus is 0x37, the Device is 0x00, and the Function is 0x0.