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