This page covers building a PandABlocks FPGA image with make and Vivado,
producing a panda-fpga-<app>_<version>_all.ipk package ready for deployment.
This is the only build route for FPGA images — Yocto/kas is not involved; the
meta-panda layer only includes
the resulting .ipk in the PandA system image.
For how to select and deploy the resulting bitstream on a PandA, see Choose the FPGA bitstream in the meta-panda docs.
Prerequisites¶
A clone of this repository.
Xilinx Vivado (the supported version is the
VIVADO_VERdefault in the top-levelMakefile, currently 2023.2), plus a licence able to build the Zynq part for your target.A build environment with the FPGA build dependencies. The recommended way to get one is the development container with Vivado mounted in — see Develop locally with the devcontainer
Build steps¶
Create your build configuration by copying the example and editing it:
cp CONFIG.example CONFIGIn
CONFIG, set at least:APP_NAME— which app to build. Valid names are theapps/*.app.inifiles without the extension, e.g.:APP_NAME = pandabox-no-fmcThe first dash-separated component of the app name (e.g.
pandabox) selects the target platform it is built for.VIVADO(andVIVADO_VERif not using the default) — the path to your Vivadosettings64.sh.BUILD_DIRif you want build products somewhere other than the default.
Run the build:
makeThe default target builds the FPGA bitstream for
APP_NAMEand packages it, producingpanda-fpga-<APP_NAME>_<version>_all.ipkin the build directory. (make ipkis equivalent;make all-ipksbuilds every app inapps/.)Copy the package to your PandA and install it:
scp <build-dir>/panda-fpga-<app>_*.ipk root@<panda-ip>:/tmp/ ssh root@<panda-ip> opkg install /tmp/panda-fpga-<app>_*.ipkYou can also install it through the Web Admin interface — see managing packages in the meta-panda docs.
Next steps¶
After installing the .ipk, see
Choose the FPGA bitstream
to configure the PandA to load your new bitstream, or
Test firmware changes
for the development and test workflow.