Speaker
Description
Summary
The Matrix Processor is a generic processing module designed for use in the GCT Muon system as well as a prototype for the next-generation CMS trigger system which is anticipated for future upgrades of the off-detector electronics. The board combines advanced telecoms switching and the latest Xilinx Virtex 5 FPGAs in a dense 3U uTCA form-factor. Being a specification based on serial links, uTCA provides definitions of how to design electronics that can interoperate using several standard protocols, including Gigabit Ethernet (GbE) and PCI express (PCIe), as well as a card management interface derived from the Inter-IC (I2C) specification (called IPMB). The Xilinx Virtex-5 FPGAs natively support GbE and PCIe, containing both tri-mode Ethernet MACs and PCIe endpoints. These can be driven either into the uTCA backplane or to the optical fibres on the front of the Matrix board. The board also provides a 10/100 Ethernet control interface via an NXP microcontroller. This provides a plethora of interfaces to choose from for both command/control and DAQ functionality.
In this paper we discuss the usage of these interfaces in the context of a larger configurable trigger system. The implications of using these industry-standard interfaces and the replacement of more traditional simplex bus interfaces such as VME is also considered. To that end we discuss the development of a new Hardware Abstraction Layer (HAL) based on overlapped I/O that allows the concurrent completion of register reads/writes from a single application in a thread-safe manner, necessary for optimal performance when using such interfaces. Coupled to this we discuss a possible bus implementation that simplifies the construction of the internal configuration space in the FPGA firmware.