scisdk

SDK for SciCompiler generated firmware


Keywords
CAEN, Nuclear, Instruments, SciCompiler, firmware, fpga
License
MIT
Install
pip install scisdk==1.1

Documentation

SciSDK Library Introduction

The Software Development kit for SciCompiler User Firmware

The SciSDK is a cross-platform library to write custom control and readout software for SciCompiler generated user firmware.

SciCompiler is a Nuclear Instruments (http://www.nuclearinstruments.eu) tool to generate FPGA firmware con NI/Caen OpenHardware FPGA (https://www.caen.it/families/open-fpga-digitizers/)

Documentation

You can access to the SciSDK User Guide website (https://nuclearinstruments.github.io/SCISDK)

Installation on Windows

Download last setup from Github releases and install it in your system. The libraries for all supported board and the SciSDK library will be installed in your system.

Installation on Linux from source

** SciSDK does not include the low levels so library required to communicate with the board **

You must prior install the low level libraries and then compile and install the libSCISDK.

Install board specific low level library

The list of the repository is the following:

Verify installed version of the library [Windows]

In the bin\x64 folder or bin\Win32 folder you can find the executable file "SciSDK_DLL_Info.exe" that prints the version of the library installed in your system.

The tool will print the path of the library and the version of the library.

Execute this file in the folder you want to use the library (for example the folder where you are compiling your application ) and run it.

It will display the information of the library that will be used by your application.

This tool will also print the board low level library path.

Verify installed version of the library [linux]

In folder tools/src you can find the source code of the tool "SciSDK_DLL_Info.cpp" that prints the version of the library installed in your system.

g++ SciSDK_DLL_Info.cpp -o scisdk_info -ldl

Execute this file in the folder you want to use the library (for example the folder where you are compiling your application ) and run it.

It will display the information of the library that will be used by your application.

Example: How to compiler low level library for DT1260

Update your system:

sudo apt update
sudo apt install build-essential

Download and install FTDI drivers:

wget https://ftdichip.com/wp-content/uploads/2022/07/libftd2xx-x86_64-1.4.27.tgz
tar xvf libftd2xx-x86_64-1.4.27.tgz
sudo cp  ./release/build/libftd2xx.so.1.4.27 /usr/local/lib/.
cd /usr/local/lib
sudo ln -s libftd2xx.so.1.4.27 libftd2xx.so 
sudo chmod 0755 libftd2xx.so.1.4.27

Change udev permission and install DT1260 low level library in the system

cd
git clone https://github.com/NuclearInstruments/SCIDK-SDKLinux.git
cd SCIDK-SDKLinux/
cd udev
sudo cp *.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules 
sudo udevadm trigger
cd ..
make
sudo make install

Compile and install SciSDK in your system

In order to install on Ubuntu the library:

Update your system:

sudo apt update
sudo apt install build-essential
sudo apt-get install autoconf libtool

Download and install library:

cd
git clone https://github.com/NuclearInstruments/SCISDK.git
cd SCISDK
autoreconf  -f -i -Wall,no-obsolete
mkdir -p linuxbuild
cd linuxbuild
../configure
make -j16
sudo make install

check that /usr/local/lib is in your LD_LIBRARY_PATH.

echo $LD_LIBRARY_PATH

if not you can add it simply (temporany)

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"

or permanent (you must log out and login again to apply it)

nano ~/.profile
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"