FPGA Setup
The following installation steps are FPGA-specific and should be run on all run farm
machines that install an FPGA. You might need sudo access to setup the FPGA.
Poweroff your machine.
Insert your Xilinx VCU118 FPGA into an open PCIe slot in the machine. Also, ensure that the SW16 switches on the board are set to
0101to enable QSPI flashing over JTAG (i.e.,position 1 = 0,position 2 = 1,position 3 = 0, andposition 4 = 1. Having the switch set to the side of the position label indicates 0.)Attach any additional power cables between the FPGA and the host machine. For the VCU118, this is usually ATX 4-pin peripheral power (NOT PCIe power) from the system’s PSU, attached to the FPGA via the “ATX Power Supply Adapter Cable” that comes with the VCU118.
Attach the USB cable between the FPGA and the host machine for JTAG.
Boot the machine.
Obtain an existing bitstream tar file for your FPGA by opening the
bitstream_tarURL listed underxilinx_vcu118_firesim_rocket_singlecore_4GB_no_nicin the following file:${CY_DIR}/sims/firesim-staging/sample_config_hwdb.yaml.Download/extract the
.tar.gzfile to a known location. Inside, you will find four files; the ones we are currently interested in will be calledfiresim.mcsandfiresim_secondary.mcs. Note the full path of thefiresim.mcsandfiresim_secondary.mcsfiles for the next step.Open Vivado Lab and click “Open Hardware Manager”. Then click “Open Target” and “Auto connect”.
Right-click on your FPGA and click “Add Configuration Memory Device”. For a Xilinx VCU118, choose
mt25qu01g-spi-x1_x2_x4_x8as the Configuration Memory Part. Click “OK” when prompted to program the configuration memory device.For Configuration file, choose the
firesim.mcsfile from step 7 and for Configuration file 2, choose thefiresim_secondary.mcsfile from step 7.Uncheck “Verify” and click OK.
Right-click on your FPGA and click “Boot from Configuration Memory Device”.
When programming the configuration memory device is completed, power off your machine fully (i.e., the FPGA should completely lose power). Then, set the SW16 switches on the board to
0001to set the board to automatically program the FPGA from the QSPI at boot (i.e.,position 1 = 0,position 2 = 0,position 3 = 0, andposition 4 = 1. Having the switch set to the side of the position label indicates 0.))Cold-boot the machine. A cold boot is required for the FPGA to be successfully re-programmed from its flash.
Once the machine has booted, run the following to ensure that your FPGA is set up properly:
lspci -vvv -d 10ee:903f
If successful, this should show an entry with Xilinx as the manufacturer and two memory regions. There should be one entry for each FPGA you’ve added to the Run Farm Machine.
Note
If necessary, you can remove the USB cable for JTAG (the FPGA is programmed through PCIe for FireSim simulations on the Xilinx VCU118). However, we still recommend leaving the cable attached, since it will allow you to re-flash the SPI in case there are issues.