Sci-SDK

Sci-SDK is the official Software Development Kit for firmware generated with Sci-Compiler. It provides a simple and consistent way to communicate with supported hardware, allowing developers to configure devices, control FPGA firmware, and acquire data from custom applications.

Designed for both rapid prototyping and production software, Sci-SDK abstracts the underlying communication layer, enabling the same application to work across different hardware platforms and connection interfaces with minimal code changes. Whether you are developing a laboratory application, an automated test system, or a complete data acquisition solution, Sci-SDK provides the building blocks needed to interact with your hardware.

Internally, the SDK uses the hardware description generated by Sci-Compiler to expose FPGA resources through a high-level programming interface. Registers, oscilloscopes, digitizers, histograms, list-mode acquisitions, and other firmware components can be accessed using a common API, regardless of the target device. Official bindings are available for C, C++, C#, Python, Java, MATLAB, LabVIEW, Octave, and ROOT, making integration straightforward in a wide range of development environments.

Installation

Windows

Download the latest Windows installer from the versions section and run the setup. The installer includes the Sci-SDK runtime together with the low-level communication libraries required by most supported hardware.

Linux

Sci-SDK is distributed through the official Nuclear Instruments Package Repository.

The recommended way to configure the repository is by running the setup script:

curl -fsSL https://sh.nuclearinstruments.eu/ni-repo | bash

Once the repository has been configured, install the package using your distribution's package manager.

Ubuntu / Debian

sudo apt install scisdk

AlmaLinux

sudo dnf install scisdk

The package manager automatically installs the required runtime dependencies and keeps Sci-SDK up to date through your system's regular package updates.

Note

When installing Sci-SDK from the standalone DEB or RPM packages downloaded from this page, only the Sci-SDK library is installed. The board-specific low-level communication libraries required to interface with supported hardware are not included and must be installed manually.

When Sci-SDK is installed through the official Nuclear Instruments Package Repository using your distribution's package manager, all required dependencies are resolved and installed automatically.

The required low-level libraries for each supported hardware platform can be downloaded from the following links:

Board(s)Repository / Download
DT1260 / SciDKSCIDK-SDK Linux
R5560 / R5560SE / DT5560r5560_sdk
DT5550 / DT5550WDT5550Wgcc
V/DT274XCAEN FELib
V2495PLU Library, VME Library, Comm Library

Build from Source

The complete source code is available on GitLab for developers who need the latest development version, wish to customize the SDK, or want to build it for unsupported Linux distributions. Before compiling Sci-SDK, the low-level communication libraries for the target hardware must be installed.

Documentation

The complete User Guide includes installation instructions, API documentation, tutorials, and examples:

https://sci-sdk.sci-compiler.com/

Source Code

The Sci-SDK source code is publicly available on GitLab:

https://gitlab.sci-compiler.com/sdk/sci-sdk

Sci-SDK icon

Sci-SDK

Sci-SDK is a cross-platform software library used to control and read data from FPGA firmware generated with Sci-Compiler. It provides a simple interface to access registers, oscilloscopes, lists, histograms and other firmware blocks. Using the JSON file generated by Sci-Compiler, Sci-SDK automatically maps the available components. This makes software development more reusable and independent from the specific hardware connection.

Author:

Nuclear Instruments

License:
Source Code
Git Repository