AVED Updating FPT Image in Flash

After running the aved_install.sh script, the files required to update the OSPI flash image can be found in the /opt/amd/aved/<VBNV>*/flash_setup/ directory.

An update of the FPT table requires that the fpt_setup_<VBNV>_<Release>.pdi be written to flash via JTAG using the AMD Vivado™ hardware manager using the following steps.

1) Stop the AMI application using the following command.

Note: Before updating the FPGA image over JTAG, it is important to stop any communication between AMI (on the Host) and AMC (on the Card).

$ sudo rmmod ami

Only after stopping AMI is it safe to change the device image over JTAG.

2) Load Vivado

Select Open Hardware Manager

Note: V80 support was introduced to HW manager from 2024.1

image1

3) Select Open Target to connect to the AMD Alveo™ card you want to target.

image2


4) A list of available devices will be displayed in the hardware window. Right click on the device you wish to target (e.g. xcv80_1 when using the V80 card).

Select Add Configuration Memory Device

image3


5) Select the appropriate Configuration Memory Part. Reference the following table to determine the applicable Memory part for the target Alveo card.

Alveo CardConfiguration Memory PartTypeDensity (Mb)
V80cfgmem-ospi-x8-singleospi2048

image4

Select OK when asked if you want to program the configuration memory device now.

image5

6) Select the the fpt_setup pdi from the /opt/amd/aved/<VBNV>*/flash_setup/ directory as the configuration PDI and select the the initialization pdi from the same /opt/amd/aved/<VBNV>*/flash_setup/ directory as the Initialization PDI.

It is recommended that the Entire Configuration Memory Device option is selected from the Program Operations → Address Range Drop down menu, so that the flash memory is in a known state after FPT setup PDI update.

image6

Upon clicking OK, the initialization PDI is downloaded to the FPGA and used to transfer the Configuration PDI into the OSPI Flash Memory.

Tip: If the flash partition table is modified from the AVED example (e.g. if fw/AMC/scripts/fpt.json is modified), a new FPT Setup PDI is generated by the AVED build flow to be programmed to OSPI. However, no change is required to the Initialization PDI; the v80_initialization.pdi from the pre-built deployment package may be used.

7) When Finished, Hardware Manager will report that Flash Programming has completed successfully.

image7

8) It is now necessary to perform a cold reboot of the Host server in order to boot the new design from flash.

9) When the restart has completed, verification that the update has completed correctly can be done by running the ami_tool overview command.

The updated card should display a UUID which matches the logic_uuid value in the /opt/amd/aved/<VBNV>*/version.json file.

Note - if the ami_tool reports AMC other than READY then it is highly advised not to run cfgmem_program commands. This is most likely due to either a) something went wrong with the FPT update, or b) the wrong PDI was used for the FPT update.

See AVED Management Interface userguide (ami_tool)#overview2overview for more more information on the different AMC states.

ami_tool overview

AMI
-------------------------------------------------------------
Version          | 2.3.0  (0)
Branch
Hash             | 0bab29e568f64a25f17425c0ffd1c0e89609b6d1
Hash Date        | 20240307
Driver Version   | 2.3.0  (0)


BDF       | Device          | UUID                               | AMC          | State
-----------------------------------------------------------------------------------------
d8:00.0   | Alveo V80 ES3   | 9f50fc8fe7bc4d6e1ae0044cdf5f8f61   | 2.3.0  (0)   | READY
cat /opt/amd/aved/amd_v80_gen5x8_24.1/version.json
{
   "design": {
       "name" : "amd_v80_gen5x8_24.1",
       "release" : "20240926",
       "logic_uuid" : "9f50fc8fe7bc4d6e1ae0044cdf5f8f61",
       "application" : "hw_only"
    }
}

Page Revision: v. 29