FPGA JTAG

Prev Next

FMADIO Gen4 200G

In cases where the FPGA can not be recovered from the AMD/Xilinx golden image, updating the FPGA via JTAG is the next process. The following steps is a guide on how to update the FPGA image.

Step 1) Connect a Micro USB cable to the FPGA

Install a Micro USB to USB A cable with the following mapping.

NOTE: the MicroUSB port might require nudging in, as its very close to the top of the PCI Bracket

Step 2) Confirm the USB JTAG can be seen

Run the following command

lsusb

The USB JTAG shows up as the following device

If the device does not show up, it may be cause the MicroUSB is not fully connected due to the edge of the PCI bracket. Try reseat it / push the connector in further.

Step 3) Install the remote JTAG Software

Download the JTAG install package (contact support for the URL) and copy to the following directory

cp vivado_lab_2023.2.tar.gz /mnt/store0/tmp2/

Extract the tarball

cd /mnt/store0/tmp2
tar xfzv vivado_lab_2023.2.tar.gz

Total disk space is about 3.6GB

Step 4) Run the remote JTAG software

Using the Vivado Lab remote hardware device allows a base JTAG device to be controlled remotely over the network. This enables Vivado Lab to run on a windows PC or on a desktop system with minimal install on the FMADIO device.

in the directory

cd /mnt/store0/tmp2/2023.3/bin

Run the jtag software

./hw_server

The output should look similar to below

Here the JTAG software is listening on TCP port 3121, if a firewall port needs to be opened or SSH tunnel is required this is the port to use.

Step 5) Download the recovery image

Please download the bitstream provided from the support team, this is the recovery image and save it to where Vivado is

Step 6) Connect Vivado Lab

Open Vivado Lab Hardware Manager per below

Open target

Open New target

Next

Remote server

Expected to find a device as highlighted below

Next

Finish

GUI should look like the following

Step 7) Program the bitstream

Using the right mouse button , select Program Device

Select the bitstream file provided by support

It may ask about a debug file, Cancel is ok

Finally program the device

When completed it displays

The FPGA is now programmed with a new image, it requires a reboot for the image to become active.

Step 8) Warm reboot the system

Issue a WARM reboot (a cold reboot will loose the just programed image)

sudo reboot

Step 9) Confirm the FPGA image is present

Now the FPGA has been programed and the system rebooted, confirm the FPGA is present on the PCIe bus

 lspci | grep e1

The device shows up at bus address e1:00 as shown below

Step 10) Program a new FPGA image in the NAND

Program a new FPGA image, as recommended by FMADIO Support. To do this use the fnic_flash utility example shown below.

sudo fnic_flash --write fNICBoard_U55C_2x40G.bin

Example output looks as below, this writes the image into the non-volatile NAND memory on the FPGA.

It will take about 5min to complete

When complete it looks per below

Step 11) Cold power cycle

A cold power cycle is required to activate the new FPGA image.

Run the following command

sudo ipmitool power cycle

Step 12) Confirm new FPGA

Confirm the new FPGA image is present using

lspci| grep e1

Depending on the FPGA image the expected output looks similar to below.

If no entries are found please contact support for further assistance

And confirm the FPGA version, support will provide the expected version output

cat /opt/fmadio/status/fpga_version

Example shown below

Step 13) Finished

Recovery completed.

FMADIO Packet Capture systems