Initial Setup/Installation
Warning
⚠️ We highly recommend using the XDMA-based U250 flow instead of this Vitis-based flow. You can find the XDMA-based flow here: Xilinx Alveo U250 XDMA-based Getting Started Guide. The Vitis-based flow does not support DMA-based FireSim bridges (e.g., TracerV, Synthesizable Printfs, etc.), while the XDMA-based flows support all FireSim features. If you’re unsure, use the XDMA-based U250 flow instead: Xilinx Alveo U250 XDMA-based Getting Started Guide
FPGA and Tool Setup
Requirements and Installations
We require a base machine that is able to support a Xilinx Vitis-enabled U250 and running Xilinx
Vitis. For the purposes of this guide, we assume you are running with a Xilinx Vitis-enabled U250.
Please refer to the minimum system requirements given in the following link:
https://docs.xilinx.com/r/en-US/ug1301-getting-started-guide-alveo-accelerator-cards/Minimum-System-Requirements.
sudo access is not needed for the machine except for when the Xilinx Vitis-enabled U250 and
corresponding software is installed.
Next, install the Xilinx Vitis-enabled U250 as indicated: https://docs.xilinx.com/r/en-US/ug1301-getting-started-guide-alveo-accelerator-cards/Card-Installation-Procedures
We require the following programs/packages installed from the Xilinx website in addition to a physical Xilinx Vitis-enabled U250 installation:
Xilinx Vitis 2022.1
Xilinx XRT and Xilinx Vitis-enabled U250 board package (corresponding with Vitis 2022.1)
Ensure you complete the “Installing the Deployment Software” and “Card Bring-Up and Validation” sections in the following link: https://docs.xilinx.com/r/en-US/ug1301-getting-started-guide-alveo-accelerator-cards/Installing-the-Deployment-Software
Setup Validation
After installing the Xilinx Vitis-enabled U250 using the Xilinx instructions and installing the specific versions of Vitis/XRT, let’s verify that the Xilinx Vitis-enabled U250 can be used for emulations. Ensure that you can run the following XRT commands without errors:
xbutil examine # obtain the BDF associated with your installed Xilinx Vitis-enabled U250
xbutil validate --device <CARD_BDF_INSTALLED> --verbose
The xbutil validate command runs simple tests to ensure that the FPGA can be
properly flashed with a bitstream by using XRT.
Warning
Anytime the host computer is rebooted you may need to re-run parts of the setup
process (i.e. re-flash the shell). Before continuing to FireSim simulations after a
host computer reboot, ensure that the previously mentioned xbutil command is
successful.
Now you’re ready to continue with other FireSim setup!
Setting up your On-Premises Machine
This guide will walk you through setting up a single node cluster (i.e. running FPGA bitstream builds and simulations on a single machine) for FireSim use. This single machine will serve as the “Manager Machine” that acts as a “head” node that all work will be completed on.
Finally, ensure that the Xilinx XRT/Vitis tools are sourced in your shell setup (i.e.
.bashrc and or .bash_profile) so that any shell can use the corresponding
programs. The environment variables should be visible to any non-interactive shells that
are spawned. You can check this by ensuring that the output of the following command
shows that the Xilinx XRT/Vitis tools are present in the environment variables (i.e.
“XILINX_XRT”):
ssh localhost printenv
Setting up the FireSim Repo
We’re finally ready to fetch FireSim’s sources. Run:
git clone https://github.com/ucb-bar/chipyard
cd chipyard
# ideally use the main chipyard release instead of this
git checkout dbc082e2206f787c3aba12b9b171e1704e15b707
Next run:
./build-setup.sh
This will have initialized submodules and installed the RISC-V tools and other dependencies.
Next, run:
cd sims/firesim
source sourceme-manager.sh --skip-ssh-setup
This will perform various environment setup steps, such as adding the RISC-V tools to your path. Sourcing this the first time will take some time – however each time after that should be instantaneous.
Every time you want to use FireSim, you should cd into your FireSim directory
and source this file again with the argument given.
Completing Setup Using the Manager
The FireSim manager contains a command that will finish the rest of the FireSim setup process. To run it, do the following:
firesim managerinit --platform vitis
It will create initial configuration files, which we will edit in later sections.
Hit Next to continue with the guide.