FINN+ is a fork of FINN, an experimental framework from the Integrated Communications and AI Lab of AMD Research & Advanced Development to explore deep neural network inference on FPGAs. It specifically targets quantized neural networks, with emphasis on generating dataflow-style architectures customized for each network. The resulting FPGA accelerators are highly efficient and can yield high throughput and low latency. The framework is fully open-source in order to give a higher degree of flexibility, and is intended to enable neural network research spanning several layers of the software/hardware abstraction stack.
- Getting Started - Start using FINN+ in minutes
- Wiki Documentation - Complete documentation and guides
- Feature Tracker - Current development status
FINN+ incorporates all upstream FINN development while adding significant enhancements across multiple areas:
- Transformer/Attention Support - Native support for modern transformer architectures
- Enhanced Streamlining - Improved optimization pipeline for better performance
- Smart FIFO Sizing (WIP) - Automatic folding and FIFO-sizing with better algorithms
- QoR Estimation (WIP) - Empirical quality-of-result estimation for design space exploration
- Hardware Profiling - Instrumentation for accurate performance measurement in simulation and hardware
- Alveo Support - Enhanced build flow for Xilinx Alveo cards
- Multi-FPGA - Support for distributed inference across multiple FPGAs
- Optimized Drivers - High-performance C++ drivers for better host-accelerator communication
- Better Diagnostics - Improved logging and error handling throughout the framework
- Type Safety - Comprehensive type hinting and checking for better code quality
- YAML Configuration - Alternative YAML-based build configuration system
- Simplified Setup - Containerless installation and setup process
Track Development: Check our Feature Tracker for real-time status updates on all features. We merge improvements early to accelerate development and enable cutting-edge research.
This is a quick overview of how to get started, for additional information please refer to our Wiki!
Before installing FINN+, ensure you have:
- Python: Version 3.10 or 3.11 (Python 3.12+ not yet supported)
- Xilinx Tools: Vivado, Vitis, and Vitis HLS (2022.2 or 2024.2)
- System Dependencies: See our dependency installation script for required packages
After preparing the dependencies mentioned above, simply run the following to start a build flow:
# Make sure to create a fresh virtual environment for FINN+
pip install finn-plus # Install FINN+ and its Python dependencies via pip
finn deps update # Ensure FINN+ pulled all further dependencies (this might update packages in your venv!)
finn build build_config.yaml model.onnx # Run a FINN+ build defined in a YAML file
For more detailed instructions, like installation for development use, please refer to our Wiki!
FINN+ is maintained by researchers from the Computer Engineering Group (CEG) and Paderborn Center for Parallel Computing (PC²) at Paderborn University, Germany as part of the eki research project.




