Can an FPGA be used as a cloud instance?
Yes. Here a Zynq 7-series FPGA was provisioned and configured through OpenStack, so an orchestrator could load a design and route work to it like any other instance.
Video decode is cheap on a phone and expensive at fleet scale. Treating an FPGA as a cloud instance — something an orchestrator can provision, load and tear down — turns a fixed accelerator into elastic capacity, but only if the reconfiguration and the datapath both work through the cloud's own machinery rather than around it.
The programme built exactly that: a Zynq 7-series design where an FPGA instance is configured through OpenStack to receive an H.264 stream, decode it, and send it back — with the decoder itself implemented in Vivado HLS rather than hand-written RTL.
The interesting part is the seam. The decoder is a hardware block; OpenStack is a cloud orchestrator; ICAP is the FPGA's own reconfiguration port. Making those cooperate — so a remote client sends video over Ethernet and gets decoded video back — is the work.
Stated before they had answers.
The accelerator had to be provisioned and configured through OpenStack, not flashed by hand.
The H.264 decoder was implemented in Vivado HLS, trading hand-tuned RTL for a higher-level flow.
Loading the design used ICAP, the FPGA's internal configuration access port, under cloud control.
A remote client had to send the encoded stream and receive decoded video over Gigabit Ethernet, reliably.
An OpenStack controller provisions and configures the FPGA instance over a Gigabit link, using ICAP to load the design. On the Zynq 7-series device the H.264 decoder — built in Vivado HLS — sits in the programmable logic alongside the MAC and the processing system. A remote client sends the encoded stream and receives decoded video back over 1 Gbps Ethernet.
The specific scope, rather than a capability list.
Written out because a reader facing the same programme gets more from this than from a summary of what went well.
The hard part was the seam between OpenStack, ICAP reconfiguration and the decoder — three systems that had to cooperate to look like one elastic service.
Implementing H.264 decode in Vivado HLS meant expressing an inherently stateful, control-heavy algorithm in a flow that prefers streaming dataflow.
Driving ICAP from the orchestrator, safely, so an instance can be loaded and reloaded without wedging the fabric.
Encoded in, decoded out, over 1 Gbps, without loss between a remote client and the fabric.
Provisioned through OpenStack, decoding a stream and returning it to a remote client.
The codec expressed in high-level synthesis rather than hand-written RTL.
The design loaded through ICAP under OpenStack control.
An approach for treating FPGA accelerators as provisionable cloud capacity.
Customer projects are presented at property, capability, outcome and integration level. Customer names, internal architecture and confidential deliverables are not disclosed. Where a figure would identify a customer or a design, it is omitted rather than approximated. More detail is available under a non-disclosure agreement, within the limits each customer has agreed.
Every item links to its own page.
FPGA and SoC design.
SERVICEArchitecture, HDL, timing closure.
CAPABILITYOrchestration and fleet control.
SOLUTIONThe wider body of imaging work.
CASE STUDYAnother codec in hardware.
CAPABILITYDatapaths and acceleration.
Yes. Here a Zynq 7-series FPGA was provisioned and configured through OpenStack, so an orchestrator could load a design and route work to it like any other instance.
The Internal Configuration Access Port — the FPGA's own port for reconfiguring the fabric. It was used, under cloud control, to load the decoder design.
High-level synthesis raises the design abstraction above hand-written RTL. Applying it to H.264 decode — a stateful, control-heavy codec — was part of what the programme set out to do.
A remote client sends the H.264 stream over 1 Gbps Ethernet; the FPGA decodes it and returns the decoded video over the same link.
Tell us the codec, the device and how it has to be provisioned. Turning accelerators into elastic capacity is core Faststream work.