Bitstream reference

Estimated reading time: 23 minutes

The bitstream kernels are the core component of every FPGA accelerated
application. In order to allow automation pipelines, InAccel introduces the
bitstream specification that can be used to automatically deploy FPGA
binaries on any cluster of FPGAs. It is the single source of information about
user's repository of accelerators, that enables Coral to explicitly manage all
the supported multi-FPGA platforms through a uniform interface, transforming any
set of FPGA bitstreams/kernels to a single pool of hardware accelerators.

A bitstream repository manages your end-to-end bitstream lifecycle while
providing consistency to your CI/CD workflow. A bitstream repository is both a
source for bitstream artifacts needed by an accelerated application, and a
target to deploy bitstreams generated in the build process. The bitstream
repository is crucial for the software development process. Multiple developers
from different sites use artifacts and 3rd party components from different
sources, causing testing problems to arise and thus slowing down your release
process. Add to all the above, the complexity of handling dozens of different
types of technologies and your software development process will be brought to a
halt.

InAccel’s universal bitstream packaging format supports the requirements of both
FPGA vendors (Intel, Xilinx) and is also integrated with all major repository
managers currently available (including
JFrog Artifactory and
Sonatype Nexus).

Let's suppose that we have built a new bitstream binary (with name
bitstream.bin) for our cool-fpga-platform. Our bitstream contains four
kernels and we want to describe it in a specification file in order to deploy it
as a package.