Setting up the FireSim Repo
Lets fetch FireSim’s sources with Chipyard. Chipyard provides all the necessary target designs (e.g. RISC-V SoCs) and software (e.g. Linux) used for the rest of this guide.
Note
This guide was built using Chipyard version dbc082e2206f787c3aba12b9b171e1704e15b707. It is recommended to use the most up-to-date version of Chipyard with this tutorial.
Run:
git clone https://github.com/ucb-bar/chipyard
cd chipyard
# ideally use the main chipyard release instead of this
git checkout dbc082e2206f787c3aba12b9b171e1704e15b707
./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
This will have initialized the AWS shell, added the RISC-V tools to your path, and
started an ssh-agent that supplies ~/firesim.pem automatically when you use
ssh to access other nodes. Sourcing this the first time will take some time –
however each time after that should be instantaneous. Also, if your firesim.pem key
requires a passphrase, you will be asked for it here and ssh-agent should cache it.
Every time you login to your manager instance to use FireSim, you should cd
into your firesim directory and source this file again.
Completing Setup Using the Manager
The FireSim manager contains a command that will interactively guide you through the rest of the FireSim setup process. To run it, do the following:
firesim managerinit --platform f2
This will first prompt you to setup AWS credentials on the instance, which allows the
manager to automatically manage build/simulation nodes. You can use the same AWS access
key you created when running setup commands on the t2.nano instance earlier (in
Run scripts from the t2.nano). When prompted, you should specify the same region that you’ve
been selecting thus far (e.g. us-east-1, us-west-2, etc.) and set the default output format to
json.
Next, it will prompt you for an email address, which is used to send email notifications upon FPGA build completion and optionally for workload completion. You can leave this blank if you do not wish to receive any notifications, but this is not recommended. Next, it will create initial configuration files, which we will edit in later sections.
Now you’re ready to launch FireSim simulations! Hit Next to learn how to run single-node simulations.