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.

  1. Poweroff your machine.

  2. Insert your Xilinx Alveo U200 FPGA into an open PCIe slot in the machine.

  3. Attach any additional power cables between the FPGA and the host machine. For the U200, this is usually PCIe power coming directly from the system’s PSU.

  4. Attach the USB cable between the FPGA and the host machine for JTAG.

  5. Boot the machine.

  6. Obtain an existing bitstream tar file for your FPGA by opening the bitstream_tar URL listed under alveo_u200_firesim_rocket_singlecore_no_nic in the following file: ${CY_DIR}/sims/firesim-staging/sample_config_hwdb.yaml.

  7. Download/extract the .tar.gz file to a known location. Inside, you will find three files; the one we are currently interested in will be called firesim.mcs. Note the full path of this firesim.mcs file for the next step.

  8. Open Vivado Lab and click “Open Hardware Manager”. Then click “Open Target” and “Auto connect”.

  9. Right-click on your FPGA and click “Add Configuration Memory Device”. For a Xilinx Alveo U200, choose mt25qu01g-spi-x1_x2_x4 as the Configuration Memory Part. Click “OK” when prompted to program the configuration memory device.

  10. For Configuration file, choose the firesim.mcs file from step 7.

  11. Uncheck “Verify” and click OK.

  12. Right-click on your FPGA and click “Boot from Configuration Memory Device”.

  13. When programming the configuration memory device is completed, power off your machine fully (i.e., the FPGA should completely lose power).)

  14. Cold-boot the machine. A cold boot is required for the FPGA to be successfully re-programmed from its flash.

  15. 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

Remember to keep the USB cable for JTAG connected at all times when running FireSim simulations (it is used to program the FPGA).