What is FireSim?

FireSim is an open-source cycle-accurate FPGA-accelerated full-system hardware simulation platform that runs on cloud FPGAs (Amazon EC2 F1). FireSim is actively developed in the Berkeley Architecture Research Group in the Electrical Engineering and Computer Sciences Department at the University of California, Berkeley.

To get started with FireSim, you can find our documentation and tutorials at docs.fires.im. The FireSim codebase is open-source and lives at github.com/firesim/firesim.

This recent video from the Chisel Community Conference dives in-depth into FireSim. You can also scroll further down to read more FAQs.


What can I simulate with FireSim?

FireSim can simulate arbitrary hardware designs written in Chisel. With FireSim, you can write your own RTL (processors, accelerators, etc.) and run it at near-FPGA-prototype speeds on cloud FPGAs, while obtaining cycle-accurate performance results (i.e. matching what you would find if you taped-out a chip). Depending on the hardware design and the simulation scale, FireSim simulations run at 10s to 100s of MHz. You can also integrate custom software models for components that you don’t want/need to write as RTL.

FireSim was originally developed to simulate datacenters by combining open RTL for RISC-V processors with a custom cycle-accurate network simulation. By default, FireSim provides all the RTL and models necessary to cycle-exactly simulate from one to thousands of multi-core compute nodes, derived directly from silicon-proven and open target-RTL (RISC-V Rocket Chip and BOOM), with an optional cycle-accurate network simulation tying them together. FireSim also provides a Linux distribution that is compatible with the RISC-V systems it simulates and automates the process of including new workloads into this Linux distribution. These simulations run fast enough to interact with Linux on the simulated system at the command line, like a real computer. Users can even SSH into simulated systems in FireSim and access the Internet from within them.

What are some concrete use cases?

Where can I run FireSim?

FireSim runs on public cloud FPGAs on AWS EC2 F1, removing the high capex traditionally involved in large-scale FPGA-based simulation. FireSim is useful both for datacenter architecture research and for modeling or prototyping novel, single-SoC Chisel designs at 10s to 100s of MHz. By harnessing a standardized host platform and providing extensive automation/tooling, FireSim drastically simplifies the process of building and deploying large-scale FPGA-accelerated hardware simulations.

Our ISCA 2018 paper discusses the FireSim framework from the perspective of simulating a 1024-node datacenter built from custom RTL and network models. The beginning of the YouTube video above talks about this use case in-detail. You can also check-out our 2-minute lightning talk for ISCA on YouTube and our full talk slides from ISCA. Check out the Publications page to see the growing list of projects and papers that have used or are currently using FireSim.

Getting Started with FireSim

To get started with FireSim, you can find extensive documentation and tutorials at docs.fires.im. The FireSim codebase lives at github.com/firesim/firesim.


Recent News

Roundup of FireSim-related news from the 2018 RISC-V Summit

Posted by Sagar Karandikar

Last week at the RISC-V summit, there were lots of cool FireSim-related updates and announcements! In case you missed it, we’ve summarized them below:

Read more >>


Video and Slides from FireSim Tutorial at the Chisel Community Conference 2018 now available!

Posted by Sagar Karandikar

Our slides and video from our tutorial at the 2018 Chisel Community Conference are now available!

The tutorial was broken into 5 sections, links to the video/slides are below:

Full session video:

Read more >>


FireSim 1.4.0 released with new debugging tools!

Posted by Sagar Karandikar

Just in time for our tutorial at the first Chisel Community Conference, we’ve released a new version of FireSim that adds lots of new features! The headlining features with this release are new debugging tools, including assertion synthesis and Rocket Chip/BOOM commit log tracing. We’ve also bumped to more recent versions of Rocket Chip/BOOM, updated the block device model to be deterministic, started preparing infrastructure necessary to merge FireSim’s “supernode” mode to master, and done lots of other internal cleanup. See the full changelog on GitHub.

Read more >>


See older posts on the FireSim Blog »