Tutorial Table of Contents
- What are FireSim and Chipyard?
- Tutorial Schedule
- Attendee Logistics/Requirements
- Remote attendees
We’re running a hands-on full-day tutorial on FireSim and Chipyard at ISCA 2023!
We’ll be providing access to AWS EC2 F1 instances to in-person attendees free-of-charge to interactively follow the tutorial, thanks to the generosity of AWS and Xilinx! Remote attendees, please see the remote attendees section below.
Attendees will be able to customize an industry and silicon-proven RISC-V microprocessor design, run their own high-performance FPGA-accelerated simulations of their design in the cloud, and learn how to push their design to silicon, guided by the FireSim and Chipyard developers. See the tentative schedule below for more details.
What are FireSim and Chipyard?
Chipyard is a one-stop shop for generating complex RISC-V SoCs, including in-order and out-of-order processors, uncore components, vector co-processors, and other kinds of accelerators. Users can customize any component of the system and push it through automated ASIC flows (e.g. Hammer), software simulation (e.g. Verilator and VCS), and FPGA-accelerated simulation flows (e.g. FireSim) to enable agile end-to-end computer architecture research with a single re-usable toolchain.
FireSim is an open-source FPGA-accelerated simulation framework that can simulate designs built in Chipyard and deploy them to cloud FPGAs, running complex software stacks (e.g. Linux + applications) at 100s of MHz. FireSim simulations exactly and deterministically model Chipyard designs, matching cycle-by-cycle bit-by-bit behavior of the design as if it were taped out in silicon. I/Os like DRAM, UART, and Ethernet are also modeled cycle-accurately, allowing users to model complex systems, including large clusters, beyond the capabilities of test-chips.
Together, Chipyard and FireSim bridge the gap between open-hardware and architecture research, automating many common tasks of architecture and VLSI researchers in a single, easy-to-use platform.
Tentative Tutorial Schedule
|Time (PDT)||Session Name||Speaker||Slides|
|8:00am||Introduction/Overview, Amazon EC2 Instance Setup, Logistics||Sagar Karandikar|
|8:30am||Chipyard Basics||Jerry Zhao|
|9:00am||Building Custom RISC-V SoCs in Chipyard||Jerry Zhao|
|10:00am||Hammer VLSI Flow Intro||Nayiri Krzysztofowicz|
|11:00am||Running Hammer to Generate a GDS for a Chipyard SoC||Nayiri Krzysztofowicz|
|11:30am||FPGA Prototyping||Nayiri Krzysztofowicz|
|1:30pm||FireSim Introduction||Sagar Karandikar|
|2:00pm||Building Hardware Designs in FireSim||Sagar Karandikar|
|2:30pm||Building Software Workloads with FireMarshal||Abraham Gonzalez|
|3:30pm||Running a FireSim Simulation: Password Strength Checking on a RISC-V SoC with SHA-3 Accelerators and Linux||Sagar Karandikar|
|4:00pm||Debugging and Profiling FireSim-Simulated Designs||Abraham Gonzalez|
|4:40pm||FireSim Local (On-Prem) FPGA and Distributed Metasimulation Support||Abraham Gonzalez|
|5:00pm||End of Tutorial|
No prior experience with FireSim/Chipyard/RISC-V/Chisel is necessary. To follow along with the tutorial on the EC2 instances we provide, attendees will need to bring a laptop with an ssh client installed. Users may want to consider installing mosh (https://mosh.org/), a reliable ssh-client replacement. Our EC2 instances will also support connecting via mosh.
Unfortunately, there is currently no plan to have live virtual attendence.
However, slides and scripts to enable remote attendees to follow along using their own accounts will be available on this page in-advance of the tutorial.
To attend the tutorial, you must register for ISCA 2023. Please make sure you select the FireSim/Chipyard tutorial on the registration form, so we can provision a sufficient number of EC2 instances for attendees.
We will continue to update this page as the tutorial is finalized. Join the FireSim mailing list and follow the FireSim Twitter account to stay up-to-date as we finalize the tutorial!
Thanks to the following sponsors for their generous support in running this tutorial: