Set up a development machine

Koheron SDK V1 documentation. You are reading the documentation for the V1 branch. It uses 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.

See also

[email protected]