L Electronique Back-End du détecteur SciFi O. Le Dortz Réunion du groupe LHCb-LPNHE
Plan Généralités sur les FPGA La chaîne électronique du détecteur SciFi L Electronique Back-End Terminologie AMC40, AMC PCIe40, TELL40, SOL40? MiniDAQ Le Firmware MiniDAQ et TELL40 Problématiques et Perspectives 2
Généralités sur les FPGA FPGA = Field-Programmable Gate Array Un Circuit Logique Programmable, reconfigurable, dont la fonction n est donc pas figée (à l opposé d un ASIC= circuit intégré spécifique, qui ne réalise qu une application particulière) Principaux fabricants: Xilinx et Altera Parmi les outsiders: Microsemi (ex-actel): circuits «radtol» 3
Principe de fonctionnement Un (très grand) réseau de cellules de base interconnectées Logique combinatoire ( or, and, not... ) Les interconnections entre les cellules sont «programmées» par l intermédiaire d une RAM (la configuration du FPGA) remplie à l allumage du circuit 4
Blocs durs embarqués En plus d un réseau de cellules logiques, les FPGA intègrent de plus en plus des blocs durs optimisés pour réaliser des fonctions spécifiques: Mémoires internes: RAM, ROM FIFOs Gestion d horloge PLL (Phase Locked Loop=Boucle à verrouillage de phase): Réduction du «jitter» d une horloge d entrée Production d horloges corrélées à une horloge d entrée (multiple ou sous-multiple par exemple) Arbre de distribution d horloge Liens séries rapides (entrées/sorties de plusieurs Gbits/s) Fonctions arithmétiques ( MAC= Multiplicateur Accumulateur par exemple) 5
Conception du «Firmware» La configuration du FPGA (la table d interconnections qui sera téléchargée dans la RAM de configuration= Firmware) est conçue via un logiciel spécifique au fabricant: Altera = Quartus Xilinx = ISE Les fonctions logiques que l on souhaite réaliser sont décrites en général dans un langage haut niveau (HDL=hardware description language): Verilog ou VHDL Les logiciels de design convertissent, durant la phase de «synthèse logique», la description HDL en circuit à base de cellules du FPGA D autres outils complémentaires sont également proposés pour instancier les blocs durs. Utilisation de wizard générant un fichier HDL permettant d intégrer les blocs durs requis Fichiers de contraintes = définition des I/O (position dans le boitier, format électrique), des horloges et de leur périodes (contraintes de timing)... La compilation est le processus complet de conception: Synthèse logique Placement Routage ( choix des cellules logiques, création des interconnections, insertion des E/S du circuit) Assemblage: fabrication du bitstream (image du circuit à charger dans le FPGA) 6
Validation et programmation du FW Design HDL: La simulation numérique permet de valider le comportement du FPGA dans son environnement (les périphériques= composants à l extérieur) Après compilation: Une simulation post-routage est possible, mais très lourde pour de grands projets Analyse de timing Configuration du FPGA: Le bitstream créé est téléchargé dans le FPGA par lien série (JTAG) Ou bien écrit dans une ROM flash reliée au FPGA. A l allumage, le FPGA récupère directement son FW de cette PROM 7
Chaîne électronique de l upgrade LHCb 8
Terminologie GBT: Gigabit Transceiver Lien série de communication rapide (max 112b@40 MHz~4.5Gbits/s) Initialement, le système back-end était basé sur le format ATCA: Une carte ATCA40 hébergeant 4 mezzanine AMC40 Carte TELL40: ATCA40 (avec 4 AMC40) avec un firmware dédié à récupérer les données du Front-End Carte SOL40: ATCA40, FW des 4 AMC40 dédiée à la distribution du timing (40 MHz, trigger type, etc...) et à la configuration «slow control» du FE et du BE (TFS/ECS) Système MiniDAQ: Un mini-système contenant une seule carte AMC40 Passage au format PCI express pour la production Les cartes AMC40 deviennent des PCIe40 Une carte TELL40 = une carte PCIe40 avec FW «backend» Une carte SOL40 = une carte PCIe40 avec FW «TFC/ECS» 9
Carte AMC40 (J.P. Cachemiche et al, CPPM) 24 liens GBT (du FE) 12 liens vers la DAQ: 10 Gbit Ethernet 10
MiniDAQ Hardware system developed by CPPM to enable standalone operation of AMC without a full ATCA board and crate Requires a dedicated firmware in the AMC40 to emulate the missing peripheral elements. Reduced modularity ( 6 instead of 24 incoming GBT links ) AMC40 control and monitoring performed by a Credit Card PC 11
PCIe40 12
Nombre de cartes nécessaires Renaud Le Gac: 1 carte = 8 kchf ( 6.7 k ) We have to get the final number before June 15 a binding agreement will be signed with each subsystem. 13
Firmware TELL40 / MiniDAQ 14
SciFi Front-End Data Stream Full detector: 576 Readout Boxes (4608=24x192 GBT outputs max) SiPM PACIFIC ASIC Clusterization FPGA DATA GBT Output 64 2 x 64 VTT Tx 128 28 To Tell40 2 x 128 64 2 x 64 128 analog channels 2 x 64 analog inputs 2 bits digital outputs per channel 28 E-links at 160 MHz x4 ½ Readout Box ( + 1 Master GBT for TFC/ECS per ½ Readout Box ) x 8 1 Readout Box PACIFIC outputs = 2 bits, results of 3 non linear thresholds applications Clusterization algorithm: Identify clusters in a set of contiguous SiPM channels Output = Zero suppressed Data field of the GBT frames = from 9 to <16 (to be refined by simulations) NZS Data = PACIFIC raw 2-bit outputs + cluster result ( 256 bits + cluster ) 15
Travail sur la MiniDAQ au LPNHE Simulations avec diverses architectures Installations hardware et software Pilotage de la MiniDAQ par le CCPC 16
Detector Topology Reminder Detector = 3 stations, each of 4 planes Max ~4 clusters in average per SiPM module (128 ch) per BCX Occupancy significantly decreases when SiPM recedes from the beam line X UVX X UVX 1 Quadrant ( 4 th of detection plane ) = 96 SiPM X UVX Beamline 17
Frame Format for SciFi High-occupancy regions (~20%): Fixed Header Size Variable Data Size (0 to n clusters per bunch crossing) Low-occupancy regions (~80%): Fixed Header Size Fixed Data Size One BCX One GBT frame Ex: 20b Header + 9b clusters 10 clusters max per BCX 18
FPGA Logic Resources Estimation First estimation of the PCIe TELL 40 Logic Resources In low occupancy regions where FF packing is affordable, 48 links could fit in 1 PCIe40 (total bandwidth to be checked, however) In high occupancy regions where FV packing and 16b Data length unit value is used, we could encounter problems when implementing 24 links per TELL40 (~70% while a limit of 60% is a reasonable limit) 19
Considered alternatives for High Occupancy Our main concerns are not bandwidth but, in priority: Simplicity of encoding by the front-end board (limited resources on the cluster FPGA) Ability to fit 100% of the standard PCIe40 24 links board to reduce total costs An example 20
Alternative for High Occupancy Regions Simulation and compilation exercise with Detector main constants: 112 gbt frame 20 bits header ( 8b BCID / 7 extra bits / 5 data size ) 9b data ( 32 data max) Simulation is OK up to the Data Processsing Unit But, obviously, compilation is not satisfactory ( 5 x more resources than a FV 16b/16b compilation ) Compilation could be more efficient if the decoding part handled padding. 21
Résumé de la problématique actuelle Nombre de cartes TELL40 à définir d ici Juin Les firmware actuels ne nous permettent pas d optimiser l occupation de ces cartes Travail actuel sur un format de communication spécifique au SciFi, permettant d utiliser le maximum de liens GBT / TELL40 22