Building truly efficient ML inference on FPGA fabric often demands more than what any single framework delivers out of the box. In practice, the best results come from cherry-picking building blocks across projects — combining the strengths of established toolchains like FINN and hls4ml rather than committing entirely to just one of them. Agentic coding is a key enabler for this approach: AI-assisted development helps bridge tool boundaries by navigating unfamiliar codebases and composing optimized solutions from heterogeneous components without requiring deep expertise everywhere.
This course highlights the opportunities that FINN can contribute to such a combined workflow. We begin with an overview of the FINN compilation flow and the dataflow architecture it targets before surveying the highly optimized kernel library that sets it apart. In contrast to hls4ml's HLS-only approach, FINN happily resorts to handcrafted RTL for allowing key operations to squeeze maximum performance from the target fabric. Its underlying library provides optimized implementations for ubiquitous linear operations (including DSP-packed dot products and convolutions with structured input generation), multi-threshold comparators for activation quantization, and floating-point compute kernels optimized for the current Versal fabric generation.
With agentic support, developers with little or no training in RTL design can embrace these highly optimized implementations. Techniques like HLS blackboxing even allow incorporating FINN's less accessible RTL kernels into an HLS-driven workflow with minimal friction. An AI coding agent can handle the mechanical integration work (generating wrappers, adapting interfaces and managing the tool invocations) so that users can focus on model architecture rather than hardware plumbing. This opens a practical pathway for physicists and ML engineers who want to benefit from FINN's efficiency even when they prefer to remain in their more familiar hls4ml ecosystem.
Lecturer Biography
Thomas Preusser is an AMD Fellow and lead of the FINN project. He earned a PhD from TU Dresden and has held research positions there and at the Systems Group of ETH Zürich. His industrial research journey started on an EU-funded Marie Skłodowska-Curie Individual Fellowship at Xilinx Research Labs in Dublin. His work focuses on computer arithmetic, application acceleration, and FPGA-based system design.