Stato e prospettive del lavoro sulle memorie associative. Daniel Magalotti, Leonello Servoli 8/7/2011 1
Introduzione al lavoro L’attività del lavoro si è concentrata sulla comprensione delle problematiche legate all’uso delle AM (in collaborazione con ATLAS-Pisa) In particolare è stato sviluppato il firmware per la scheda di memorie associative Sulla base del lavoro proponiamo una soluzione per adattare le memorie associative al livello 1 8/7/2011 2
Associative Memory Board (HW) GLUE Virtex II pro xc2vp100 4 Local Associative Memory Bank Ogni LAMB contiene 32 chip di AM 16 per lato GLUE CPLD sulla LAMB Interfaccia VME 6 FIFOs in ingresso Crate 9U 8/7/2011 3 3
Firmware AMBoard L’attività si è concentrata sulla progettazione del firmware di livello 2 per la scheda di memorie associative FIRMWARE MODULO di INPUT: riceve in parallelo gli hit dalle 6 FIFO in ingresso e spedirli sempre parallelamente alle 4 LAMB MODULO di OUTPUT: multiplexa le road in uscita dalle 4 LAMB in un unico flusso di uscita FSM: macchina a stati che controlla il flusso dei dati e gestisce l’invio degli OPCODE alle LAMB 8/7/2011 4 4
Attività svolta EREDITATO: il firmware testato a Bologna (Luglio 2010) che aveva il seguente problema: FMS si bloccava, in modo intermittente, su uno stato => Problemi di codice => Problemi di alimentazione alle LAMB Sono partito dal problema sulla FSM fino … Riscritto una buona parte del codice del FPGA Sistemato il codice del CPLD (GLUE) sulla LAMB Testato il codice da VME con programmi sviluppati per CDF e riadattati Test intensivo a Bologna (Aprile 2011) 8/7/2011 5
Test Bologna Aprile 2011 Non si sono riscontrati problemi di firmware Problema sulla alimentazione delle 4 LAMB S-link Roads+ hits Pixel clust. S-links DO Pixel clust. EDRO AMBOARD 8/7/2011 6
Proposta per utilizzare le memorie associative a LIVELLO 1 8/7/2011 7
Memorie associative L1 (1/4) Le informazioni di ciascun canale vengono registrate a ciascun bunch crossing n1 ∙ fAM Channel 1 FIFO n2 ∙ fAM Channel 2 FIFO AM Banks Channel 3 n3 ∙ fAM FIFO Channel 6 n6 ∙ fAM FIFO 1° vincolo: il front end si deve svuotare più velocemente di come si riempie (tempo di latenza) 2° vincolo: Le FIFO non si devono riempire 8/7/2011 8
Memorie associative L1 (2/4) Il trigger con le memorie associative può dare una risposta al meglio <n> cicli di clock dopo il bunch crossing 1° vincolo: le memorie associative devono dare una risposta entro il tempo di latenza del sistema di readout 2° vincolo: le memorie associative devono dare una risposta ogni bunch crossing. TLAT: fissato dal sistema fAM: frequenza di lavoro dell’AMBoard fSPS : frequenza di bunch crossing N: numero di LAMB 8/7/2011 9
Memorie associative L1 (3/4) Uno schema realistico di utilizzo delle memorie associative a livello 1 AMBOARD LAMB LAMB1 FIFO HW FPGA Channel 1 SWITCH LAMB2 FIFO LAMB3 Channel 2 SWITCH FIFO LAMB4 8/7/2011 10
Memorie associative L1 (4/4) N T 8 E V E N T 4 E V E N T FPGA VIRTEX II LAMB0 . . . E V E N T 3 7 11 E V E N T 2 6 10 E V E N T 1 5 9 E V E N T 4 8 . . . E V E N T 9 E V E N T 5 E V E N T 1 LAMB1 . . . . . . . . . . . . E V E N T 10 E V E N T 6 E V E N T 2 LAMB2 . . . . . . E V E N T 11 E V E N T 7 E V E N T 3 LAMB3 . . . 8/7/2011 11
Tempi e costi Cose da fare: Progettazione firmware AMBoard per il livello 1 (3 mesi) Adattare i programmi per analisi dati per test da VME (2 mesi) Primi risultati per inizio 2012 Cosa serve: Scheda di memorie associative 4 LAMB Crate VME CPU-CERN like 8/7/2011 12
Backup
AM board internals VME INTERFACE FCLOCK@40MHz Virtex II PRO ROADs GLUE INTERFACE AM VME FCLOCK@40MHz INDI Virtex II PRO FIFOS One output links ROADs LAMB 6 hit bus serialazer CONNECTORs CONNECTOR HIT 14
Caratteristiche AMBoard Frequenza : 40MHz Input : 6 buses da 18 bits 18 bits x 6 x 40 MHz = 4.3 Gbit/sec Output : 1 bus da 31 bits 30 bits x 40 MHz = 1.24 Gbit/sec Pattern : 5000 pattern/chip 16 x 4 x 5000 = 320000 patt/AMBoard 32 x 4 x 5000 = 640000 patt/AMBoard Latenza : 18 LAMB + 12 AMB cicli di clock 30 x 25nsec = 0.75 usec #hit/layer x 25nsec #road x 25nsec
FTK board VME INTERFACE FCLOCK@100MHz AM INDI 8 hit busses serialazer Spartan 6 XC6SLX75T 8 GTXs Spartan 6 XC6SLX75T 8 GTXs 8 hit busses serialazer Spartan 6 XC6SLX75T 8 GTXs L’evoluzione della scheda AMBSlim avrà 4 FPGA Spartan 6, due per l’input e due per l’output al posto del singolo FPGA centrale e ciascun servirà due LAMB. Verranno utilizzate GTX interni all’FPGA che permette di realizzare comunicazioni seriali ad alta velocità dell’ordine dei GHZ. La scheda lavorerà a 100MHz. CONNECTOR Spartan 6 XC6SLX75T 8 GTXs Multiple road output links HIT 16