2018-05-14 03:40:34 +08:00
# FireSim: Easy-to-use, Scalable, FPGA-accelerated Cycle-accurate Hardware Simulation
2018-06-20 02:00:23 +08:00
![FireSim Documentation Status ](https://readthedocs.org/projects/firesim/badge/ )
2019-02-25 07:12:54 +08:00
## Contents
1. [Using FireSim ](#using-firesim )
2. [What is FireSim? ](#what-is-firesim )
3. [What can I simulate with FireSim? ](#what-can-i-simulate-with-firesim )
4. [Need help? ](#need-help )
5. [Contributing ](#contributing )
6. [Publications ](#publications )
2018-05-14 03:40:34 +08:00
## Using FireSim
To get started with using FireSim, see the tutorials on the FireSim documentation
2019-02-25 07:12:54 +08:00
site: https://docs.fires.im/.
2018-05-14 03:40:34 +08:00
2019-02-25 07:12:54 +08:00
Another good overview (in video format) is our tutorial from the Chisel Community Conference on [YouTube ](https://www.youtube.com/watch?v=S3OriQnJXYQ ).
2018-08-13 00:18:31 +08:00
2019-02-25 07:12:54 +08:00
## What is FireSim?
2018-05-14 03:40:34 +08:00
2019-02-25 07:12:54 +08:00
FireSim is an [open-source ](https://github.com/firesim/firesim ) 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][ucb-bar] in the [Electrical Engineering and Computer Sciences
Department][eecs] at the [University of California, Berkeley][berkeley].
2018-05-14 03:40:34 +08:00
You can learn more about FireSim in the following places:
2018-08-13 00:18:31 +08:00
* **FireSim website**: https://fires.im
2019-02-25 07:12:54 +08:00
* **FireSim ISCA 2018 Paper**: [Paper PDF ](https://sagark.org/assets/pubs/firesim-isca2018.pdf ) | [IEEE Xplore ](https://ieeexplore.ieee.org/document/8416816 ) | [ACM DL ](https://dl.acm.org/citation.cfm?id=3276543 ) | [BibTeX ](https://sagark.org/assets/pubs/firesim-isca2018.bib.txt ) | Selected as one of IEEE Micro’ s “Top Picks from Computer Architecture Conferences, 2018”.
2018-08-13 00:18:31 +08:00
* **FireSim documentation**: https://docs.fires.im
* **Two-minute lightning talk from ISCA 2018** (FireSim simulating a datacenter): [YouTube ](https://www.youtube.com/watch?v=4XwoSe5c8lY )
2019-02-25 07:12:54 +08:00
* **Chisel Community Conference Tutorial**: [YouTube ](https://www.youtube.com/watch?v=S3OriQnJXYQ )
* **Updates/News**: [Changelog ](/CHANGELOG.md ) | [FireSim Blog ](https://fires.im/blog/ ) | [Twitter ](https://twitter.com/firesimproject )
## What can I simulate with FireSim?
FireSim can simulate arbitrary hardware designs written in
[Chisel ](https://chisel.eecs.berkeley.edu ). 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][riscv] [Rocket Chip][rocket-chip] and [BOOM][boom]), with an optional
**cycle-accurate network simulation** tying them together. FireSim also
provides a [Linux distribution ](https://github.com/firesim/firesim-software )
that is compatible with the RISC-V systems it simulates and
[automates ](https://docs.fires.im/en/latest/Advanced-Usage/Workloads/Defining-Custom-Workloads.html )
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](https://twitter.com/firesimproject/status/1031267637303508993). Users
can even [SSH into simulated systems in
FireSim](http://docs.fires.im/en/latest/Advanced-Usage/Miscellaneous-Tips.html#experimental-support-for-sshing-into-simulated-nodes-and-accessing-the-internet-from-within-simulations)
and access the Internet from within them.
Head to the [FireSim Website ](https://fires.im ) to learn more.
2018-05-18 01:56:49 +08:00
## Need help?
* Join the FireSim Mailing list: https://groups.google.com/forum/#!forum/firesim
* Post an issue on this repo
2018-05-19 02:05:49 +08:00
* Follow on Twitter for project updates: [@firesimproject ](https://twitter.com/firesimproject )
2018-05-18 01:56:49 +08:00
## Contributing
2019-02-25 07:12:54 +08:00
* See [CONTRIBUTING.md ](/CONTRIBUTING.md )
2018-05-14 03:40:34 +08:00
2019-02-25 07:12:54 +08:00
## Publications
2018-05-14 03:40:34 +08:00
2019-02-25 07:12:54 +08:00
### **ISCA 2018**: FireSim: FPGA-Accelerated Cycle-Exact Scale-Out System Simulation in the Public Cloud
2018-05-14 03:40:34 +08:00
2019-02-25 07:12:54 +08:00
You can learn more about FireSim in our ISCA 2018 paper, which covers the overall FireSim infrastructure and large distributed simulations of networked clusters. This paper was **selected as one of IEEE Micro’ s “Top Picks from Computer Architecture Conferences, 2018”.**
> Sagar Karandikar, Howard Mao, Donggyu Kim, David Biancolin, Alon Amid, Dayeol
2018-05-14 03:40:34 +08:00
Lee, Nathan Pemberton, Emmanuel Amaro, Colin Schmidt, Aditya Chopra, Qijing
Huang, Kyle Kovacs, Borivoje Nikolic, Randy Katz, Jonathan Bachrach, and Krste
Asanović. **FireSim: FPGA-Accelerated Cycle-Exact Scale-Out System Simulation in
2018-07-11 23:50:52 +08:00
the Public Cloud**. *In proceedings of the 45th International Symposium
2018-05-14 03:40:34 +08:00
on Computer Architecture (ISCA’ 18)*, Los Angeles, CA, June 2018.
2019-02-25 07:12:54 +08:00
[Paper PDF ](https://sagark.org/assets/pubs/firesim-isca2018.pdf ) | [IEEE Xplore ](https://ieeexplore.ieee.org/document/8416816 ) | [ACM DL ](https://dl.acm.org/citation.cfm?id=3276543 ) | [BibTeX ](https://sagark.org/assets/pubs/firesim-isca2018.bib.txt )
### **FPGA 2019**: FASED: FPGA-Accelerated Simulation and Evaluation of DRAM
Our paper from FPGA 2019 details the DRAM model used in FireSim:
> David Biancolin, Sagar Karandikar, Donggyu Kim, Jack Koenig, Andrew Waterman, Jonathan Bachrach, Krste Asanović, **FASED: FPGA-Accelerated Simulation and Evaluation of DRAM**, In proceedings of the 27th ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Seaside, CA, February 2018.
[Paper PDF ](http://people.eecs.berkeley.edu/~biancolin/papers/fased-fpga19.pdf )
2018-08-13 00:18:31 +08:00
2019-02-25 07:12:54 +08:00
You can find other publications, including publications that *use* FireSim on the [FireSim Website ](https://fires.im/publications/ ).
2018-08-13 00:18:31 +08:00
[ucb-bar]: http://bar.eecs.berkeley.edu
[eecs]: https://eecs.berkeley.edu
[berkeley]: https://berkeley.edu
[riscv]: https://riscv.org/
[rocket-chip]: https://github.com/freechipsproject/rocket-chip
[boom]: https://github.com/ucb-bar/riscv-boom