QuantumBOX Firmware

FPGA firmware for the Nuclear Instruments QuantumBOX (NIDAQ121), a digitizer for quantum optics experiments with SiPM and PMT detectors. All the front-end processing runs on the board in real time: signal conditioning, triggering, energy measurement, timestamping, coincidences and event readout. The host only sets parameters and reads data over Ethernet.

Overview

  • 8 analog processing channels with 4 ns sampling
  • Two operating modes: photon counting and photon timing
  • Leading edge and CFD triggers on every channel
  • QDC charge integration or peak holder for energy
  • Timestamps with 4 ns resolution, or about 2 ps with CFD interpolation
  • Hardware energy spectra, counters and coincidence units
  • Built-in oscilloscopes and a test pulse generator
  • Full control over Ethernet through SciSDK

Signal processing chain

Input routing. The 8 physical inputs (two RJ45 connectors with 4 differential pairs each) go through an input router (INSEL1…INSEL8). Any input can be mapped to any processing channel, which helps with non-standard wiring or when several channels should process the same signal.

Conditioning. Each channel has:

  • a programmable input delay
  • baseline restoration with selectable mode, length, hold and constant
  • pole-zero compensation, which can be bypassed
  • an adjustable baseline zero offset

Triggering. Each channel has two discriminators:

  • Leading edge: threshold, low threshold (hysteresis), inhibit time and polarity.
  • CFD (constant fraction): delay, fraction and threshold. Gives sub-sample timing that does not depend on pulse amplitude.

Energy. Pulse charge is integrated by a QDC with programmable pre-integration, integration time (QDC_TQLONG) and gain. A peak-holder mode can be selected instead. Calibration energy spectra are built in hardware for all channels.

Operating modes

Photon counting (ACQ_MODE = 0)

A common trigger samples all 8 channels at the same time. The trigger can be validated by AND/OR logic over a selectable channel mask, with a programmable coincidence window and delay, and an optional acquisition gate.

Each event goes to the List_0 FIFO as a 32-byte record:

FieldSizeNotes
Energies8 × uint16one per channel, 16 bit
Timestampuint644 ns LSB
T0 countuint32trigger counter
Paddinguint320xFFFFFFFF

Host software uses these events for photoelectron classification, photon statistics (mean, variance, Fano, g²(0)) and channel-pair correlations (g₁₁, NRF, γ).

Photon timing (ACQ_MODE = 1)

Each channel triggers on its own. Events from all channels are merged by a round-robin arbiter into the List_1 FIFO. Each event is a 64-bit word:

BitsFieldNotes
63–61Channel0–7
60–14Timestamp47 bit
13–0Amplitude14 bit
  • Leading edge: the timestamp is linear with a 4 ns LSB. It wraps after about 6.5 days.
  • CFD: bits 46–16 are the coarse time (4 ns LSB, wraps after about 8.59 s). Bits 15–0 are the signed fine time (1 sign + 4 integer + 11 fraction bits, in samples), for about 1.95 ps resolution.

Event order is guaranteed within a channel but not between channels. Cross-channel measurements must therefore match events by time on the host side. Typical uses are inter-arrival histograms and channel-to-channel time differences.

Monitoring

  • HW counters: per-channel event counts in both modes (EVCOUNTS, page_chcounts_X_COUNTS_TOT), lost events, and trigger-input and lost counters in counting mode.
  • Coincidence units: independent blocks, each with an 8-bit channel mask (bit = 1 means the channel is excluded), its own counter, and per-channel trigger pulse width and delay (TRG_C_WIDTH, TRG_C_DELAY).

Diagnostics

  • Trigger oscilloscope (Oscilloscope_CFD): input and CFD signals.
  • Channel oscilloscopes (page_ch_core_X_Oscilloscope_1): input plus a selectable second trace (QDC input or CFD), with digital traces for trigger and gate signals.
  • Pulse generator: programmable period and width, for tests without detectors.

Interface

The board is reached over Ethernet (default 192.168.102.199:8888) through the SciSDK library. Registers and components are described by the register map daq1x1.json. List_0 and List_1 can be read on separate connections, so streaming data never blocks register access or oscilloscope readout.

Supported software:

  • QUANTA: desktop application for configuration, calibration, acquisition and analysis
  • quantumbox-sdk: Python package (pip install quantumbox-sdk)

License

© Nuclear Instruments. All rights reserved.

Qunatumbox Firmware DAQ141 icon

Qunatumbox Firmware DAQ141

QuantumBOX (NIDAQ121) FPGA firmware for SiPM/PMT quantum optics experiments. 8 channels with baseline restoration, LE/CFD triggers and QDC energy. Photon counting mode: common-trigger 8×16-bit energies. Photon timing mode: per-channel 47-bit timestamps, ~2 ps CFD. HW counters, coincidences, scopes.

License: