Quick start

Objective

SciCompiler it’s an hardware development tool that convert a block diagram in a physical electronic system using digital reconfigurable devices.

SCI(entific) Compiler is a Nuclear Instruments software designed to accelerate the implementation of firmware for signal processing in scientific instrumentation.
The software is targeted to generate custom applications for nuclear physics world. For example it is possible to implement:

  • Complex trigger logic
  • Event Counters
  • Single Channel (SCA) and Multi Channel Analyzer (MCA)
  • Time to Digital Converter
  • Replacement for any old digital NIM module logic based system
  • Time tagging logic
  • Wave digitizer
  • Logic Analyzer
  • Read out of both digital and analog ASICs

Firmware and software Codesign

SciCompiler tools library include almost 200 cores that can be connected together in order to implement a complex readout and real-time processing chain. It is easy like connect cables of real scientific and laboratory instruments

Sci-Compiler does not limits to generate VHDL code and compile the realtime FPGA project. Sci-Compiler will help you in the full design cycle of your readout system.
For each virtual block that has readout capabilities, for example oscilloscope, spectrum block, imaging readout block, logic analyser, registers, etc. Sci-Compiler will automatically generate a C function to directly access to the resource at a very high level.

IDE User Interface

The SciCompiler IDE is designed to simplify the development of the readout system.
It’s a Virtual Laboratory with hundreds of Virtual Instruments that user can peak up and connect together with virtual cables.

Instruments are collected in the top toolbar, visual hierarchical  design with sub-design allows sub-design reuse, the online guide helps users to understand how to connect and user each virtual instrument.
Components in the development area can be placed, moved, and rotated; double click on one block it is possible to edit properties.

SciCompiler Design Flow

1

CREATE A PROJECT FOR THE TARGET ARCHITECTURE

SciCompiler support multiple hardware platform. It is possible generates template project starting from several examples

2

PEAK THE VIRTUAL BLOCK FROM THE INSTRUMENTS TOOLBAR

Virtual blocks works exactly like a desktop laboratory instrumentation. Peak one from the toolbar menu, configure it and than connect cables with other virtual instrument inside your design

3

DESIGN THE BLOCK DIAGRAM

Wires propagate data between virtual instruments. SCI-Compiler help you connecting together virtual instruments with online rule check and in-context help

4

CREATE REGISTER TO CONFIGURE THE DEVICE

Registers map internal DAQ parameters inside the control library automatically generated by the SciCompiler. As register, virtual instruments like oscilloscope, spectrum, imaging block, data list are blocks capable to transfer data from the DAQ to the user PC

5

COMPILE THE FIRMWARE

SciCompiler generate VHDL code starting from the designed block diagram. The VHDL code is then compiled into a bitstream using Xilinx Vivado or Intel Quartus Prime

6

DOWNLOAD THE FIRMWARE ON THE CAEN PROGRAMMABLE DEVICE

CAEN programmable platform integrates hardware debugger and in field firmware upgrade solution. The brand new firmware can be downloaded on the instruments in few seconds directly from SciCompiler

OpenHardware family DAQ systems incorporate a Xilinx compatible debugger on a dedicated USB port. During firmware development it is possible to fast download the firmware in the device without opening the box, exploiting the standard Xilinx debugging tools like signal analyser and Xilinx SDK debugger. SoC based platform (ZYNQ) also integrate a USB to serial port adapter in order to have direct access to the Linux console from the frontal panel of the instrument

7

TEST THE FIRMWARE WITH RESOURCE EXPLORER

Resource Explorer is a software integrated in SciCompiler that automatically recognize all the blocks compiled in a firmware and implements a graphical widget to direct interact with them without writing a line of code

Resource explorer uses USB/ethernet, VME or optical link to manage and readout data from virtual blocks like:

  • Registers: set and get value of registers, periodic readout and log on file
  • Oscilloscope: view waveforms and control trigger acquisition
  • Wave dump: save waveform on files at high speed
  • List transfer: save on file list of data
  • Spectrum: show spectrum with binning options
  • Image: decode 2D data in event monitor and save list of event of file
  • Logic analyzer: probe digital signals

8

DEVELOP CUSTOM APPLICATION

Off-line data processing is your job. We made as easy as possible the integration with your favorite development tool or data analysis tool.

SciCompiler automatically generate a customized library and driver to interact with your designed firmware

It also generate code example to quick start the development of your final application in C, C#, VB.NET, Python