Intel® Acceleration Stack User Guide: Intel FPGA Programmable Acceleration Card N3000

ID 683040
Date 6/14/2021
Public
Document Table of Contents

5.1. Using fpgasupdate

The fpgasupdate tool updates board firmware including BMC and FPGA SR user image. This section describes how to update the FPGA SR user image. While in the upgrade process, the fpgasupdate tool securely updates the Intel® MAX® 10 BMC with an Intel provided signed file.

The new Intel® FPGA PAC N3000 is shipped with either the 4x25G or the 8x10G factory image for 25G cards and 10G cards respectively. The following steps describe how to load FPGA images into the FPGA flash user partition. You may follow the steps to load or re-load the factory image if required.
Note: Do not switch between 8x10G to 2x2x25G or 4x25G Intel® Arria® 10 images. The XL710 devices are configured in different modes to support either 10G or 25G traffic. The XL710 devices cannot be configured to switch between 10G and 25G, and thus Intel recommends you to not switch Intel® Arria® 10 image supporting different speed configurations.
Depending on the configuration on your Intel FPGA PAC N3000, the XL710 has one of the following device ID’s:
XL710 Device ID Valid Configuration
0x0d58(25G)

2x2x25G

4x25G

0x0cf8(10G) 8x10G
To identify the XL710 device ID on the Intel FPGA PAC N3000:
$ lspci -d :0d58
$ lspci -d :0cf8
  1. Run the fpgasupdate command:
    $ sudo fpgasupdate <FPGA Bitstream> <PCIe B:D.F>
    Note: Running fpgasupdate involves binary file verification and writing the FPGA flash, as a result the fpgasupdate command takes approximately 40 minutes to complete.
    Note: If you have programmed the static region root entry hash, then the sr_vista_rot_*_unsigned.bin must be signed with appropriate root key and code signing key using the appropriate Hardware Security Module (HSM). For more information, refer to the Security User Guide: Intel FPGA Programmable Acceleration Card N3000 .
    If you want to reload the Intel provided factory image in the FPGA flash user partition, perform the following:
    $ sudo fpgasupdate /usr/share/opae/n3000/super-rsu/<config>/\
    sr_vista_rot_*_unsigned.bin [PCIe B:D.F]
    where <config> = 2x2x25G or 4x25G or 8x10G, based on the installed configuration.
  2. Perform remote system update to power cycle the Intel® FPGA PAC N3000 so that the updated images are loaded into FPGAs:
    $ sudo rsu bmcimg B:D.F
Note: As a result of using the rsu command, the host rescans the PCI bus and may assign a different Bus/Device/Function (B/D/F) value than the originally assigned value. The Intel XL710 Ethernet controller should be considered unavailable during the operation. Intel recommends you to stop or pause any applications until the update is complete.