The ALICE O2 common driver for the C-RORC and CRU read-out cards

10/16/2017
by   Pascal Boeschoten, et al.
0

ALICE (A Large Ion Collider Experiment) is the heavy-ion detector designed to study the strongly interacting state of matter realized in relativistic heavy-ion collisions at the CERN Large Hadron Collider (LHC). A major upgrade of the experiment is planned during the 2019-2020 long shutdown. In order to cope with a data rate 100 times higher than during LHC Run 1 and with the continuous read-out of the Time Projection Chamber (TPC), it is necessary to upgrade the Online and Offline Computing to a new common system called O2 . The O2 read- out chain will use commodity x86 Linux servers equipped with custom PCIe FPGA-based read- out cards. This paper discusses the driver architecture for the cards that will be used in O2 : the PCIe v2 x8, Xilinx Virtex 6 based C-RORC (Common Readout Receiver Card) and the PCIe v3 x16, Intel Arria 10 based CRU (Common Readout Unit). Access to the PCIe cards is provided via three layers of software. Firstly, the low-level PCIe (PCI Express) layer responsible for the userspace interface for low-level operations such as memory mapping the PCIe BAR (Base Address Registers) and creating scatter-gather lists, which is provided by the PDA (Portable Driver Architecture) library developed by the Frankfurt Institute for Advanced Studies (FIAS). Above that sits our userspace driver which implements synchronization, controls the read-out card – e.g. resetting and configuring the card, providing it with bus addresses to transfer data to and checking for data arrival – and presents a uniform, high-level C++ interface that abstracts over the differences between the C-RORC and CRU. This interface – of which direct usage is principally intended for high-performance read-out processes – allows users to configure and use the various aspects of the read-out cards, such as configuration, DMA transfers and commands to the front-end. [...]

READ FULL TEXT
research
11/14/2014

Glider: A GPU Library Driver for Improved System Security

Legacy device drivers implement both device resource management and isol...
research
09/12/2019

Exploring the Behavior of Coherent Accelerator Processor Interface (CAPI) on IBM Power8+ Architecture and FlashSystem 900

The Coherent Accelerator Processor Interface (CAPI) is a general term fo...
research
03/24/2023

Honeycomb: ordered key-value store acceleration on an FPGA-based SmartNIC

In-memory ordered key-value stores are an important building block in mo...
research
11/18/2017

Mitigating Read-disturbance Errors in STT-RAM Caches by Using Data Compression

Due to its high density and close-to-SRAM read latency, spin transfer to...
research
10/03/2013

Cudagrind: A Valgrind Extension for CUDA

Valgrind, and specifically the included tool Memcheck, offers an easy an...
research
06/23/2018

A readout method based on 10 Gigabit Ethernet for Sipixel detector

With the rapid development of network protocol, TCP/IP has been widely a...
research
06/25/2018

FLIT-level InfiniBand network simulations of the DAQ system of the LHCb experiment for Run-3

The LHCb (Large Hadron Collider beauty) experiment is designed to study ...

Please sign up or login with your details

Forgot password? Click here to reset