FPG-201 · FPGA & Acceleration · Advanced

Linux Drivers for FPGA Accelerators — full syllabus

Making an accelerator usable from Linux: memory mapping, DMA, interrupts and a sane userspace interface.

Duration3 full days in person · 6 half-days online
Cohortmax 14 in person · 20 online
Pricefrom SAR 9,000 in person · local pricing per city
Delivery35% principles · 20% guided investigation · 45% engineering studio

Who this course is for

Engineers productizing FPGA accelerators under Linux — responsible for the kernel driver and the userspace contract that makes programmable logic usable by an application team.

Prerequisites

Course outline

Day 1 — Registers and the user boundary

  • The Zynq PS-PL boundary: what the A53 actually sees of your fabric
  • Register maps and MMIO: ioremap, readl/writel and the barriers between
  • Device tree for PL peripherals: compatible, reg, interrupts, clocks
  • AXI4-Lite as the control plane, and what a bad register map costs
  • Exposing control: ioctl vs sysfs vs mmap, and what each promises

Day 2 — DMA and data movement

  • DMA design for accelerator data movement: coherent vs streaming buffers
  • Ownership transitions and the cache maintenance that prevents stale data
  • The dmaengine API; AXI DMA and scatter-gather operation
  • Zero-copy buffer strategies: dma-buf and contiguous carve-outs
  • Backpressure and flow control between producer logic and consumer software

Day 3 — Interrupts, reconfiguration and the API

  • Interrupt handling: request_irq, threaded IRQs and completion signalling to userspace
  • Signalling patterns that scale beyond one interrupt
  • The FPGA manager framework: loading bitstreams from Linux
  • Partial reconfiguration: when it pays and what the driver must coordinate
  • Designing an API your application team will accept: versioning, error reporting, recovery

Hands-on labs

  1. Lab: Bring up a device-tree-described AXI-Lite peripheral; map its registers and verify reads and writes from a kernel driver
  2. Lab: Implement a DMA transfer path with correct cache ownership — then reproduce a stale-data bug by getting the barriers wrong
  3. Lab: Wire an interrupt from the PL to a threaded IRQ handler and signal a userspace waiter; measure the latency path
  4. Lab: Load a bitstream through the FPGA manager framework and handle the failure modes cleanly
  5. Lab: Critique a supplied accelerator userspace API and produce a better versioned design your application team would sign

Capstone project

Given a working PL accelerator block on the ZCU104 with a register map and a streaming interface, deliver the Linux side end to end: a device-tree binding, a kernel driver with MMIO control, DMA data movement with provable cache correctness, interrupt-driven completion, and a documented userspace API — demonstrated by an application streaming data at a measured sustained rate with an integrity check on every buffer.

What you leave with

Upcoming dates

DatesWhereSeatsEarly birdRegular
22 Nov – 24 Nov 20263 full days RiyadhIn person · KAFD Conference Centre 6 of 14 SAR 8,100until 23 OctSAR 9,000
22 Nov – 24 Nov 20263 full days Kuwait CityIn person · Al Hamra Tower 11 of 14 KWD 670until 23 OctKWD 740
29 Nov – 1 Dec 20263 full days MuscatIn person · Knowledge Oasis Muscat 6 of 14 OMR 830until 30 OctOMR 920
6 Dec – 13 Dec 20266 half-days Gulf bandLive online · 09:00–13:00 GMT+3 6 of 20 US$1,580until 6 NovUS$1,750
7 Dec – 9 Dec 20263 full days OttawaIn person · Kanata North Tech Park 11 of 14 CAD 2,930until 7 NovCAD 3,260
7 Dec – 9 Dec 20263 full days TorontoIn person · MaRS Discovery District 6 of 14 CAD 2,930until 7 NovCAD 3,260
7 Dec – 14 Dec 20266 half-days Europe bandLive online · 09:00–13:00 CET 11 of 20 US$1,580until 7 NovUS$1,750
14 Dec – 16 Dec 20263 full days LondonIn person · Shoreditch Works 11 of 14 GBP 1,680until 14 NovGBP 1,870
14 Dec – 21 Dec 20266 half-days Americas bandLive online · 13:00–17:00 ET 16 of 20 US$1,580until 14 NovUS$1,750
21 Dec – 23 Dec 20263 full days BerlinIn person · Factory Görlitzer Park 6 of 14 EUR 1,990until 21 NovEUR 2,210

Book a seat, or bring this course to your team

Seats can be reserved online; private delivery runs on-site or live online, adapted to your stack.

Course page & booking

Questions about fit or prerequisites? Email hello@kernelsystems.academy. To save this syllabus, print this page to PDF from your browser.