Search papers, labs, and topics across Lattice.
This paper introduces ATLAS, an automated flow that translates high-level deep learning model descriptions into hardware implementations on FPGAs with custom in-fabric hardblocks, eliminating the need for manual RTL design. By leveraging GEMM as a universal abstraction layer, ATLAS consists of a compiler frontend that converts DL layers into HLS C code and an architecture-aware backend that generates RTL wrappers with necessary control logic. Evaluation across 11 deep learning designs demonstrates significant improvements in productivity and ease of use for FPGA engineers, enhancing the integration of domain-specific hardware accelerators in deep learning applications.
ATLAS automates the transition from high-level deep learning models to FPGA implementations, drastically reducing the manual effort required for custom hardware acceleration.
FPGA architectures increasingly incorporate domain-specific in-fabric hardblocks to accelerate DL inference, particularly GEMM, which dominates DL computation. To realize the performance gains of these hardblocks, manual RTL design is required: the programmer must understand the hardblock microarchitecture, instantiate them in RTL, and manage tiling and control logic. While programming in C/C++ and using HLS tools has increased the abstraction level and productivity of FPGA engineers, HLS tools do not support code generation for custom hardblocks natively. Prior work has demonstrated that blackbox mechanisms in HLS tools can be used to target custom hardblocks, but this still requires explicit function calls in user-written HLS C and manual creation of RTL IP libraries, significant effort that must be repeated for every layer in a DL model. Furthermore, for DL, an even high-level programming interface, e.g., Pytorch/Keras instead of C/C++, is desirable for improved programmability and user adoption. We present ATLAS, a fully automated flow from a high-level DL model description to a hardware implementation on an FPGA with custom in-fabric DL-optimized hardblocks, requiring no manual RTL design or explicit hardblock instantiation from the end user. Our approach uses GEMM as a universal abstraction layer and comprises two components: (1) hls4ml-GEMM, a compiler frontend that transforms DL layers into HLS C code with architecture-agnostic GEMM function calls, and (2) a GEMM IP Generator, an architecture-aware backend that produces hardblock-based RTL wrappers with tiling logic, control FSMs, and scheduling metadata. We evaluate the flow across 11 DL designs, including individual fully connected, convolution, and attention layers, as well as full CNN, MLP, and Transformer models targeting an FPGA architecture with Tensor Slices using Catapult for HLS and VTR for implementation.