Set up a development machine
CFG=.../config.mk, memory.yml, Linux FPGA Manager and device-tree overlays. It is not backward-compatible with 0.x instruments.
Goal
Prepare a Linux host that can build instruments, FPGA bitstreams, C++ servers, web assets and bootable images. The V1 branch is developed and tested on Ubuntu 24.04 with Vivado/Vitis 2025.1 installed under /tools/Xilinx/2025.1.
Clone the SDK branch
git clone -b V1 https://github.com/Koheron/koheron-sdk.git
cd koheron-sdk
Host requirements
Use Ubuntu 24.04 when possible. Other Linux distributions may work, but make doctor reports Ubuntu 24.04 as the preferred host.
Install Xilinx Vivado and Vitis 2025.1 at the SDK default paths:
/tools/Xilinx/2025.1/Vivado
/tools/Xilinx/2025.1/Vitis
The Makefile derives these paths from VIVADO_VERSION := 2025.1; if your installation is elsewhere, override the Makefile variables consistently for your shell/build environment before running the build.
Run the setup target
make setup
The setup target prepares the host environment used by the SDK. It installs host dependencies, creates the Python virtual environment, installs the Koheron Python package, prepares Docker and builds the SDK Docker images.
If Docker was just configured for your user, log out and back in before building without sudo.
Verify the installation
Run the host checks first:
make doctor CFG=examples/alpha250/fft/config.mk
Then build the reference instrument:
make -j CFG=examples/alpha250/fft/config.mk
If this succeeds, verify deployment with a board on the network:
make -j CFG=examples/alpha250/fft/config.mk HOST=192.168.1.100 run
Replace HOST with the board IP address.
Build an image only when needed
A bootable image can be built with:
make -j CFG=examples/alpha250/fft/config.mk image
This is not needed for every instrument change. During normal development, build and upload the instrument archive with the run target.
Build artefacts
Generated files are written under tmp/.
The exact subdirectories depend on the selected board and instrument.

