Background image

User Firmware Generator and Compiler for CAEN Programmable Boards

SCI-Compiler subfam

Photo of User Firmware Generator and Compiler for CAEN Programmable Boards

Overview

The increasing use of programmable logic devices in trigger and data acquisition systems makes clear that having a general purpose platform and technicians dedicated to the firmware development is becoming more and more important. The advantage of employing programmable logic devices with respect to standard logic modules (like NIM logic modules) is remarkable: a single programmable logic device includes the potentiality of hundreds of thousands of standard logic modules. For the technicians, who usually work with standard logic modules, the use of specific languages like VHDL or Verilog for the firmware development could represent a limitation in the spread of these powerful devices.

We introduce an innovative method to simplify the firmware development. This method is based on a graphical programming interface consisting of blocks specifically developed for nuclear physics applications. For instance, any trigger logic could be implemented by connecting specific blocks in the graphical interface, as easily as physically connecting NIM modules in a rack.

SCI-Compiler allows to develop both purely digital applications, exploiting blocks like scaler, counter, pattern matching, logic Analyzer and state machine, and analog processing applications, such as custom multichannel Analyzer using charge integration, trapezoidal filter, spectrum and oscilloscope blocks. In addition, the SCI-Compiler software provides the function to read and test some ASICs, enabling the user to develop a sequencer for the ASIC control.

The SCI-Compiler software focuses the attention only on the functional blocks of the application to be implemented and does not require a deep knowledge of the device in use, enabling the employment of programmable logic devices also to users who are not experts in firmware development.

How it works SCI-Compiler is an automatic code generator software that starts from a graphical block diagram to generate a VHDL piece of code that implements the required functionalities. It uses a prebuilt library set containing macroblocks with complex functionalities. Each macroblock could be imagined as a modular instrument (MCA, Oscilloscope, Digitizer, TDC) that the user could connect with other macroblocks. Programming with SCI-Compiler is much more similar to implement an experimental setup than developing a firmware:

  1. The user places the macro-functional blocks and connects them together;

  2. SCI-Compiler generated the VHDL code starting from the user design;

  3. SCI-Compiler executes the nedded FPGA compiler in background, in order to generate the bitstream;

  4. SCI-Compiler converts the bitstream in the proper configuration file compatible with one of the supported hardware

  5. SCI-Compiler downloads the bitstream on the target hardware platform;

  6. SCI-Compiler generates C/C++/C#/Python libraries and a correspondent example application code in order to test the communication bus.

Highlights

SCI(entific)-Compiler is a software for Open FPGA programming, designed to accelerate the firmware implementation for signal processing in scientific instrumentation. It is an automatic code generator that, starting from a graphical block diagram, generates a VHDL peace of code that implements the required functions, with no need to have a deep knowledge of FPGA programming language as well as of the programmed hardware.


User Firmware Generator and Compiler for CAEN Programmable Boards Models

SCI-Compiler SMART

Evaluation and learning kit for SCI-Compiler SCI-Compiler SMART is a hardware + software kit for non-expert users who are approaching the open FPGA programming. We introduce them to an innovative method to simplify the firmware development using SCI-Compiler software, a block-diagram-based programming interface consisting of a prebuilt set of functions (for example oscilloscope, TDC, MCA, charge integration, etc.) specifically developed for physics/engineering applications. Placing and interconnecting the available blocks on a diagram, SCI-Compiler is able to automatically generate a VHDL piece of code that implements the required function and deploy it to the FPGA. In this way, even a non-expert user can write his own firmware code without having any knowledge of the VHDL/Verilog programming language.

More info

SCI-Compiler Pro

SCI Compiler PRO: same method, more power

SCI-Compiler is compatible with CAEN high-end hardware to implement more complex firmware and experimental setups. Thanks to the wide range of example projects provided for each board, the user is eased in the design process of its firmware and can focus totally on the goal of his/her application, more than on the programming effort.

SCI-Compiler PRO supports the following CAEN products:

  • DT5495 – V2495 Programmable Logic Units
  • DT5550 DAQ System with User Programmable FPGA and sequencer
  • DT5550W Weeroc ASICs Development system
  • R5560 128-channel Open FPGA Digitizer with differential inputs
  • R5560SE 128-channel Open FPGA Digitizer with single-ended inputs
  • DT5560SE 32-channel Open FPGA Digitizer

More info