Talks - Tim Paine: Building FPGA-based Machine Learning Accelerators in Python

Learn how to develop ML accelerators on affordable FPGAs using Python tools, without hardware languages. See real examples of high-performance inference and open source development workflows.

Key takeaways
  • FPGAs (Field Programmable Gate Arrays) can now be programmed entirely using Python tools, making hardware development more accessible to software developers

  • Entry-level FPGA development boards are available for under $200, with educational discounts making them even more affordable

  • Key open source tools like Litex, Amaranth, and Brevitas enable Python-based hardware development workflows without requiring hardware description languages like Verilog

  • Machine learning models can be deployed on FPGAs using Python frameworks, with capabilities to handle quantization and optimization for hardware

  • Modern FPGAs often come as Systems on Chip (SoC) combining ARM processors with FPGA fabric, allowing mixed software/hardware development

  • The open source hardware ecosystem has evolved significantly in the past 10 years, with many formerly proprietary tools now having open source alternatives

  • PCIe-based FPGA boards can achieve significant performance for ML inference, with examples showing 133,000 images/second throughput

  • Companies like Xilinx (AMD), Intel/Altera, and Lattice provide development tools that increasingly support Python-based workflows

  • Hardware verification and testing can be done using Python frameworks like CocoaTB

  • The barrier to entry for FPGA development has decreased substantially, though still requires more domain knowledge than pure software development