Block Preview

Introduction

TimestampGeneratorESS provides a 64-bit timestamp synchronized to the European Spallation Source (ESS) facility timing system.

Unlike the standard TimestampGenerator which uses a local counter, this block extracts the timestamp directly from the ESS optical timing link, ensuring all instruments at the facility share a common, synchronized time reference.

The ESS timestamp is essential for:

  • Correlating neutron events across multiple detector systems
  • Synchronizing data acquisition with the proton pulse structure
  • Enabling time-of-flight measurements with facility-wide precision

Pin Description

TIMESTAMP Output 64 bit BIT VECTOR
64-bit ESS timestamp output. Contains the facility-synchronized timestamp extracted from the ESS optical timing link. This value is common across all ESS instruments connected to the timing distribution system.

Usage

Functional overview

TimestampGeneratorESS is a simplified block that directly outputs the ESS facility timestamp received via the optical timing distribution system.

Feature Value
Output Width 64 bits (fixed)
Clock Source ESS Timing System
Synchronization Facility-wide

ESS Timing System

The European Spallation Source uses a distributed timing system based on optical links to synchronize all instruments to the proton accelerator. The timing system provides:

  • Pulse ID: Identifies each proton pulse
  • Timestamp: 64-bit nanosecond-resolution time
  • Event codes: Trigger signals for specific events

This block extracts the ESS_TIMESTAMP signal from the board’s timing interface and makes it available for use in SCI-Compiler designs.

Architecture

  ┌─────────────────────────────────────┐
│         ESS Optical Link            │
│    (Timing Distribution System)     │
└─────────────────┬───────────────────┘
                  │
                  ▼
┌─────────────────────────────────────┐
│      ESS_TIMESTAMP (64-bit)         │
│         (Board Signal)              │
└─────────────────┬───────────────────┘
                  │
                  ▼
┌─────────────────────────────────────┐
│     TimestampGeneratorESS Block     │
│                                     │
│  TIMESTAMP[63:0] ◄── ESS_TIMESTAMP  │
└─────────────────────────────────────┘
  

Use Cases

  • Neutron scattering experiments: Correlate detector events with proton pulse timing for time-of-flight measurements
  • Multi-detector systems: Synchronize multiple detector modules across the facility
  • Event timestamping: Provide nanosecond-precision timestamps for all acquired data

Compatibility

This block is specifically designed for ESS instruments and requires:

  • Hardware with ESS timing link interface
  • ESS timing distribution network connection
  • Proper timing system configuration