The RAD Flow
Introduction
The RAD flow is an open source academic architecture exploration and evaluation flow for novel beyond-FPGA reconfigurable acceleration devices (RADs). These devices incorporate conventional FPGA fabrics, several coarse-grained domain-specialized accelerator blocks, and high-performance packet-switched networks-on-chip (NoCs) for system-level communication. The flow consists of the following tools:
RAD-Sim: A SystemC simulator for rapid design space exploration and architecture-application co-design
RAD-Gen: A push button tool for silicon area/timing/power implementation results of hard (ASIC) RAD components, FPGA fabric circuitry, and different 3D considerations (Under development)
How to Cite
The following paper may be used as a general citation for RAD-Sim:
@article{rad-sim,
title={{Architecture and Application Co-Design for Beyond-FPGA Reconfigurable Acceleration Devices}},
author={Boutros, Andrew and Nurvitadhi, Eriko and Betz, Vaughn},
journal={IEEE Access},
volume={10},
pages={95067--95082},
year={2022},
publisher={IEEE}
}
RAD-Sim Documentation
- Quick Start Guide
- Create Your First RAD-Sim Module
- Code Structure
- Overview
- Simulator Infrastructure (
sim) - Application Designs (
example-designs)- Modules Directory (
modules/) - Design Top-level (
<design_name>_top.{cpp/hpp}) - Design Testbench (
<design_name>_driver.{cpp/hpp}) - Design System (
<design_name>_system.{cpp/hpp}) - Clock Settings File (
<design_name>.clks) - NoC Placement File (
<design_name>.place) - CMakeLists File (
CMakeLists.txt) - RAD-Sim Configuration File (
config.yml)
- Modules Directory (
- Compiling a RAD-Sim Module with RTL
- Examples
- RAD-Sim Developers
RAD-Gen Documentation