LightningSim: Fast and Accurate Trace-Based Simulation for High-Level Synthesis

04/21/2023
by   Rishov Sarkar, et al.
0

High-Level Synthesis allows hardware designers to create complex RTL designs using C/C++. The traditional HLS workflow involves iterations of C/C++ simulation for partial functional verification and HLS synthesis for coarse timing estimates. However, neither C/C++ simulation nor HLS synthesis estimates can account for complex behaviors like FIFO interactions and pipeline stalls, thereby obscuring problems like deadlocks and latency overheads. Such problems are revealed only through C/RTL co-simulation, which is typically orders of magnitude slower than either C/C++ simulation or HLS synthesis, far too slow to integrate into the edit-run development cycle. Addressing this, we propose LightningSim, a fast simulation tool for HLS that combines the speed of native C/C++ with the accuracy of C/RTL co-simulation. LightningSim directly operates on the LLVM intermediate representation (IR) code and accurately simulates a hardware design's dynamic behavior. First, it traces LLVM IR execution to capture the run-time information; second, it maps the static HLS scheduling information to the trace to simulate the dynamic behavior; third, it calculates stalls and deadlocks from inter-function interactions to get precise cycle counts. Evaluated on 33 benchmarks, LightningSim produces 99.9 estimates up to 95x faster than RTL simulation. Our code is publicly available on GitHub.

READ FULL TEXT

page 1

page 6

research
12/17/2018

Rapid Cycle-Accurate Simulator for High-Level Synthesis

A large semantic gap between the high-level synthesis (HLS) design and t...
research
05/22/2020

Accelerate Cycle-Level Full-System Simulation of Multi-Core RISC-V Systems with Binary Translation

It has always been difficult to balance the accuracy and performance of ...
research
08/21/2023

GSA to HDL: Towards principled generation of dynamically scheduled circuits

High-level synthesis (HLS) refers to the automatic translation of a soft...
research
11/09/2021

vlang: Mapping Verilog Netlists to Modern Technologies

Portability of hardware designs between Programmable Logic Devices (PLD)...
research
02/16/2022

Simulation-based Verification of SystemC-based VPs at the ESL

SystemC-based Virtual Prototypes (VPs) at the Electronic System Level (E...
research
08/29/2023

Compiler Discovered Dynamic Scheduling of Irregular Code in High-Level Synthesis

Dynamically scheduled high-level synthesis (HLS) achieves higher through...
research
08/25/2023

An Intermediate Representation for Composable Typed Streaming Dataflow Designs

Tydi is an open specification for streaming dataflow designs in digital ...

Please sign up or login with your details

Forgot password? Click here to reset