SciSDK
Overview of SciSDK library for interfacing with SCI-Compiler generated hardware designs. Modern middleware library compatible with most programming languages.
Overview
This updated version of SciCompiler includes the SciSDK library for interfacing with your hardware.
SciSDK is a modern library compatible with most popular programming languages, designed to act as a middleware between low-level board SDKs and user software.
Migration to SciSDK
Soon, SciCompiler will stop generating custom software support for specific designs and move towards the use of SciSDK.
Currently, for board X5560 and SciSDK you can find the legacy generated code in the
library/legacy folder, but we discourage its use in new projects.
The DT5550X, X2495 families are not yet supported in SciSDK; they continue to use the legacy generated code.
How SciSDK Works
SciSDK code should not be generated or compiled each time the SciCompiler project is
modified. It uses the RegisterFile.json (found in the project/library folder) to
detect the IPs in your design and provides easy direct access to each one.
The SciSDK library is completely independent of the board you generated your project for and can manage multiple boards of different models simultaneously.
RegisterFile.json
RegisterFile.json is a file generated in the project library folder that describes
the IP cores included in your design.
This file is used by:
- SciSDK
- Resource Explorer
- Other SciCompatible software
The RegisterFile.json points the driver to the correct elements inside your design.
Documentation
Complete SciSDK documentation is available at:
https://nuclearinstruments.github.io/SCISDK/
Download
Windows
Pre-installed in C:\OpenHardware\SciSDK on Windows.
Latest version can be downloaded from:
https://github.com/NuclearInstruments/SCISDK/releases
Linux
At present, the Linux library must be downloaded as source code and compiled.
The source code is available on:
https://github.com/NuclearInstruments/SCISDK
Note: You must also compile and install all the low-level SDKs for all instruments you want to connect to. SciSDK is only a middleware and needs the SDK to interface with the hardware.
Soon, a repository for Ubuntu, Centos, and Scientific Linux will be available with pre-compiled libraries.
Python Support
Once the library is installed on your system (Windows with the installer, Linux:
./configure && make && make install) you can install the library from the official
PyPI repository:
pip install scisdk
Examples
Several examples are already installed in C:\OpenHardware\SciSDK\examples for Windows.
For Linux, examples are available at:
https://github.com/NuclearInstruments/SCISDK/tree/master/examples
Related Documentation
- Memory Mapped Components - Understanding RegisterFile structure
- Resource Explorer - Testing firmware with SciSDK
- Firmware Compilation - Generating RegisterFile.json