66
Universit` a degli Studi di Bologna Facolt ` a di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea in Progetto di Sistemi Elettronici Progettazione ed ottimizzazione di readout digitale veloce di sensori a matrice di pixel per la prossima generazione di esperimenti in fisica delle alte energie Candidato: Relatore: Francesco Conti Chiar.mo Prof. Mauro Villa Correlatore: Dott. Filippo Maria Giorgi Anno accademico 2009/2010 - Sessione II

Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Embed Size (px)

Citation preview

Page 1: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Universita degli Studi di Bologna

Facolta di Ingegneria

Corso di Laurea in Ingegneria Elettronica

Tesi di laureain

Progetto di Sistemi Elettronici

Progettazione ed ottimizzazione di readout digitale veloce

di sensori a matrice di pixel per la prossima generazione

di esperimenti in fisica delle alte energie

Candidato: Relatore:Francesco Conti Chiar.mo Prof. Mauro Villa

Correlatore:Dott. Filippo Maria Giorgi

Anno accademico 2009/2010 - Sessione II

Page 2: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea
Page 3: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Indice

Introduzione 7

1 Tracciatori al silicio in fisica delle alte energie 91.1 Rivelatori di vertice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.1.1 Struttura e principi di funzionamento . . . . . . . . . . . . . . . . 101.2 Stato attuale dei tracciatori al silicio . . . . . . . . . . . . . . . . . . . . 14

1.2.1 ATLAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.2.2 CMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.3 Prossima generazione di tracciatori al silicio . . . . . . . . . . . . . . . . 161.3.1 SuperB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.3.2 ILC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2 Architetture di readout digitale: la serie APSEL 212.1 APSEL3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2 APSEL4D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.3 SuperPix0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3 Il chip SuperPix1 273.1 Struttura del chip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.2 Architettura di readout . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3 Entita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.3.1 Sweeper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.3.2 Sparsifer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.3.3 Barrel2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.3.4 Concentrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.3.5 Barrel1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.3.6 Final Concentrator . . . . . . . . . . . . . . . . . . . . . . . . . . 423.3.7 Slow Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.4 Simulazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.5 Ottimizzazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.5.1 Implementazione dei Barrel . . . . . . . . . . . . . . . . . . . . . 503.5.2 Implementazione dello Sweeper . . . . . . . . . . . . . . . . . . . 513.5.3 Problematiche relative al clocking . . . . . . . . . . . . . . . . . . 56

3.6 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3

Page 4: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Indice

3.6.1 Prestazioni dell’architettura di readout SQUARE . . . . . . . . . 583.6.2 Risultati delle simulazioni funzionali (pre-sintesi) . . . . . . . . . 603.6.3 Risultati delle ottimizzazioni (post-sintesi) . . . . . . . . . . . . . 60

Conclusione 61

Ringraziamenti 63

Bibliografia 65

4

Page 5: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Elenco delle figure

1.1 Il rivelatore dell’esperimento ATLAS all’acceleratore LHC . . . . . . . . 101.2 Schema di un pixel contenente sensore, front-end e latch . . . . . . . . . 111.3 Confronto fra un sensore MAPS e un sensore hybrid-pixel . . . . . . . . . 131.4 Particolare del rivelatore di SuperB . . . . . . . . . . . . . . . . . . . . . 171.5 Moduli DSSD disposti attorno al vertice d’interazione . . . . . . . . . . . 181.6 Rappresentazione schematica di un modulo DSSD . . . . . . . . . . . . . 19

2.1 La matrice di APSEL3D e l’organizzazione in macropixel . . . . . . . . . 232.2 Alcune fasi della lettura di un macropixel in APSEL3D . . . . . . . . . . 242.3 Efficienza di APSEL4D . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.1 Visione d’insieme del chip SuperPix1 . . . . . . . . . . . . . . . . . . . . 283.2 Schema di principio del front-end analogico . . . . . . . . . . . . . . . . . 293.3 Logica digitale interna al pixel in SuperPix1 . . . . . . . . . . . . . . . . 303.4 Architettura di readout di una sottomatrice nell’architettura SQUARE . 313.5 Estrazione ordinata delle hit in una porzione di matrice in SQUARE . . 313.6 Gerarchia delle entity dell’architettura SQUARE . . . . . . . . . . . . . . 343.7 Ingressi e uscite dello Sweeper . . . . . . . . . . . . . . . . . . . . . . . . 353.8 Funzionamento dello Sweeper in modalita triggered . . . . . . . . . . . . 383.9 Ingressi e uscite dello Sparsifier . . . . . . . . . . . . . . . . . . . . . . . 393.10 Codifica delle hit in uscita dallo Sparsifier . . . . . . . . . . . . . . . . . 393.11 Ingressi e uscite del Barrel2 . . . . . . . . . . . . . . . . . . . . . . . . . 403.12 Ingressi e uscite del Concentrator . . . . . . . . . . . . . . . . . . . . . . 413.13 Ingressi e uscite del Barrel1 . . . . . . . . . . . . . . . . . . . . . . . . . 423.14 Ingressi e uscite del Final Concentrator . . . . . . . . . . . . . . . . . . . 433.15 Ingressi e uscite dello Slow Control . . . . . . . . . . . . . . . . . . . . . 433.16 Testbench per l’architettura SQUARE . . . . . . . . . . . . . . . . . . . 453.17 Distribuzione ϕ-z (y-x) dei cluster di pixel colpiti . . . . . . . . . . . . . 463.18 Estrazione del pattern per uno spread 5× 5 . . . . . . . . . . . . . . . . 473.19 Loop responsabile di difficolta di sintesi nel Barrel2 . . . . . . . . . . . . 503.20 Loop corretto nel Barrel2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.21 Loop non ottimizzato nello Sweeper . . . . . . . . . . . . . . . . . . . . . 523.22 Elaborazione con schema sequenziale . . . . . . . . . . . . . . . . . . . . 533.23 Elaborazione con schema ad albero . . . . . . . . . . . . . . . . . . . . . 533.24 Albero binario utilizzato nello Sweeper . . . . . . . . . . . . . . . . . . . 55

5

Page 6: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Elenco delle figure

3.25 Segnali di temporizzazione nell’architettura SQUARE e nel suo testbench 573.26 Flip-flop D in VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6

Page 7: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Introduzione

Questa tesi riguarda il lavoro di progettazione ed ottimizzazione del readout di sensori amatrice di pixel da me svolto presso il Dipartimento di Fisica dell’Universita di Bologna,nell’ambito del progetto di ricerca VIPIX dell’Istituto Nazionale di Fisica Nucleare.

La moderna fisica delle particelle e una delle branche della scienza che piu di tut-te necessitano di un incessante avanzamento tecnologico, per far fronte alla crescentecomplessita dei problemi che si trovano ad affrontare gli sperimentatori. Per ottenereun maggior numero di indizi sulla Nuova Fisica, infatti, una delle strade che si stannoseguendo e quella di aumentare la luminosita degli acceleratori (ovvero il rate di arrivodelle particelle per unita di superficie): si prevede che l’acceleratore SuperB, in corso diprogetto, potra raggiungere luminosita dell’ordine di 1036 cm−2 s−1 [1]; valori cosı elevatirichiedono rivelatori in grado di sopportare un rate di particelle in arrivo molto alti,dell’ordine di 100 MHz/cm2.

Una delle categorie di rivelatori piu importanti, e al tempo stesso sottoposti ad unrate di particelle particolarmente elevato, e quella dei tracciatori o rivelatori di vertice,cosı chiamati in quanto volti a ricostruire le tracce delle particelle dotate di carica elet-trica che li hanno attraversati. I rivelatori di vertice costituiscono tipicamente i primistrati di un rivelatore e sono di conseguenza esposti al massimo numero di particelle percm2; essendo collocati a ridosso dell’interazione primaria, essi forniscono informazioni sulpunto d’origine delle tracce. Oggetto del primo capitolo e appunto descrivere l’attualestato dell’arte della tecnologia dei tracciatori allo stato solido (utilizzati ad esempio negliesperimenti ATLAS e CMS al Large Hadron Collider del CERN di Ginevra) e tracciareuna panoramica delle notevoli innovazioni attualmente in corso di studio, volte a mas-simizzarne l’efficienza in condizioni come quelle su descritte, con particolare attenzioneall’esperimento SuperB per il quale sono stati sviluppati i readout trattati nei capitolisuccessivi.

Nel secondo capitolo, invece, si entrera piu nel dettaglio descrivendo una specifica fa-miglia di tracciatori: la serie di chip APSEL, sviluppata nell’ambito del progetto SLIM5dell’Istituto Nazionale di Fisica Nucleare; essi sono dotati di numerose caratteristicheinnovative. Anziche affidarsi a tecnologie collaudate come quelle delle Strip o Striplets(che forniscono un’informazione monodimensionale nello spazio riguardo al passaggio diparticelle), i chip APSEL contengono una matrice di pixel, e forniscono dunque un’in-formazione spaziale bidimensionale. Nel capitolo saranno descritte diverse architetturedi readout e tecnologie di realizzazione, volte a massimizzare l’efficienza e diminuire lalatenza del sensore, che si sono sperimentate via via nei diversi chip della serie.

7

Page 8: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Introduzione

Il terzo capitolo riguarda il readout del chip SuperPix1, “successore spirituale” dellaserie APSEL, che riprende e migliora l’idea alla base degli ultimi chip della serie intro-ducendo molte innovazioni e una nuova architettura di readout denominata SQUARE.Vi si trova descritta in dettaglio l’architettura del readout di SuperPix1; sono inoltreriportate in dettaglio tutte le operazioni compiute durante lo svolgimento di questa te-si per aggiungere nuove caratteristiche e ottimizzare le prestazioni, nonche una sintesidelle perfomance del chip previste (messe a confronto con readout di esperimenti giaattivi) e dei risultati delle simulazioni effettuate, riguardanti in particolare l’efficienzadel readout.

8

Page 9: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 1

Tracciatori al silicio in fisica delle alteenergie

1.1 Rivelatori di vertice

Gli esperimenti di fisica delle alte energie consistono nell’accelerare due particelle adenergie molto elevate, dell’ordine di centinaia di GeV, per poi farle scontrare per pro-durre nuove particelle, spesso di massa molto piu elevata di quelle di partenza. A lorovolta queste possono decadere, generando cosı uno “sciame” di particelle via via menomassiccie e veloci (e piu stabili). Studiando le traiettorie di questo sciame di particel-le, e possibile associare ad ogni particella rivelata energia, momento e carica elettrica,identificandone la natura; oppure, all’inverso, se la natura della particella e gia nota epossibile determinarne le proprieta con precisione maggiore di quella precedentementenota.

La collisione fra le due particelle accelerate avviene in una zona dello spazio chepuo essere assimilata ad un punto privo di dimensione, detto vertice dell’interazione.Attorno a questo punto si trova il rivelatore, che e costituito di diversi strati sensoricoassiali disposti attorno al tubo in cui e iniettato il fascio di particelle. In particolare,gli strati piu interni del rivelatore costituiscono il rivelatore di vertice (detto anchetracciatore o vertex tracker) che ha il compito di ricostruire accuratamente le traiettoriedelle particelle che escono dal punto o dai punti di interazione.

I principali parametri di progetto per un tracciatore sono la risoluzione, ovvero ilgrado di precisione con cui esso puo riconoscere il punto di incidenza di una particella,e l’efficienza, cioe la percentuale di particelle incidenti che vengono rivelate come tali.La risoluzione puo essere aumentata aumentando il numero di canali e avvicinando iltracciatore al vertice d’interazione; in tal caso pero il rate dei passaggi di particelle nelrivelatore aumenta e questo ne incide negativamente l’efficienza. Un altro parametroimportante e lo spessore del tracciatore, che deve essere mantenuto il minore possibileper evitare che il passaggio attraverso uno spesso strato di materiale causi una deviazionedelle particelle dalla loro traiettoria iniziale (fenomeno noto come multiple scattering).

Attualmente i migliori tracciatori in uso negli acceleratori sono realizzati in siliciosfruttando la moderna tecnologia per i circiti integrati, che permette di integrare elettrodi

9

Page 10: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 1 Tracciatori al silicio in fisica delle alte energie

Figura 1.1: Il rivelatore dell’esperimento ATLAS all’acceleratore LHC

di dimensioni nell’ordine del micron con altissima densita. Un sensore realizzato insilicio e facilmente collegabile all’elettronica di readout, che puo persino essere posta nelmedesimo substrato con il grande vantaggio di diminuire sensibilmente lo spessore delsensore, fino all’ordine di 100 µm.

1.1.1 Struttura e principi di funzionamento

Tutti i tracciatori in silicio, a prescindere dal form factor e dalle caratteristiche specifiche,si basano sui medesimi principi. Ogni sensore e suddiviso in canali, ognuno dei qualideve essere in grado di rivelare il passaggio di una singola particella. Ogni canale ecostituito da diverse parti:

1. il sensore, ovvero una capacita che ha il compito di raccogliere la carica elettrica chesi forma per la produzione di coppie elettrone-lacuna al passaggio di una particellaionizzante, traducendola in un segnale in tensione su uno dei suoi nodi, dettocatodo di raccolta. Il passaggio di una particella di basso potere ionizzante causala deposizione di circa 22 000 coppie elettrone-lacuna (circa 3.5 fC) per ogni 300 µmdi silicio attraversato, per cui il sensore deve essere molto sensibile. Il sensore esolitamente realizzato mediante una giunzione p-n polarizzata inversamente con

10

Page 11: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

1.1 Rivelatori di vertice

Figura 1.2: Schema di un pixel contenente sensore, front-end e latch

una tensione V : il substrato viene svuotato dai portatori di carica e al passaggiodi una particella incidente le cariche generate sono attirate verso il polo positivodella capacita di giunzione, causando una temporanea diminuzione della tensioneV .

2. l’elettronica analogica di front-end, costituita da un amplificatore, uno shaper e undiscriminatore a soglia, riceve in ingresso il segnale V prodotto dal sensore e lo ela-bora per renderlo persistente nel tempo e renderne l’escursione abbastanza ampiain tensione da essere rilevato dall’elettronica digitale. A seconda che il segnale am-plificato raggiunga o meno una determinata soglia, esso verra infatti memorizzatocome un bit a ’1’ in un latch associato al sensore. Il principale parametro di pro-getto dell’elettronica di front-end e l’ENC (Equivalent Noise Charge) che misura ilrumore dell’elettronica come una “carica equivalente” segnalata erroneamente dalsensore.

3. il latch, l’elemento di memoria che viene settato quando l’elettronica di front-endrileva il passaggio di una particella, cioe quando il segnale oltrepassa la soglia; essoe resettato solo dopo che il read-out ha letto l’informazione contenuta nel latch.Questo significa che quando il latch e attivo, nuovi passaggi di particelle rivelati dalsensore non vengono rilevati dal readout: e quindi necessario mantenere minimo il

11

Page 12: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 1 Tracciatori al silicio in fisica delle alte energie

tempo, detto dead time, che intercorre fra l’istante in cui un latch viene settato equello in cui e letto e resettato.

4. il readout, che e l’elettronica digitale che si occupa dell’estrazione delle informazionidai latch dei diversi canali. Puo essere progettato in maniera molto diversa: adesempio puo essere esterno ai canali oppure incluso in ciascun canale, e puo averearchitetture molto varie.

Le due principali tipologie di sensori dei vertex tracker sono i sensori a strips o stripletse i sensori a matrice di pixel. Nella prima tipologia, il sensore e una giunzione p-n diforma allungata (da cui il nome strip ovvero striscia) larga circa 50 µm e lunga qualchecentimetro. A causa dell’elevata capacita della giunzione, che aumenta con l’area, ilsegnale prodotto da questi sensori e relativamente lento ed essi hanno un alto consumoenergetico. Inoltre essi forniscono solo un’informazione monodimensionale sul passaggiodi una particella; per ottenere un’informazione bidimensionale e necessario usare duelivelli di sensori disposti perpendicolarmente. Il principale vantaggio di questa categoriadi dispositivi e che e possibile realizzare grandi superfici sensorie (circa 1 cm2) con unnumero relativamente piccolo di canali di lettura, dell’ordine del migliaio. Tuttavia, inpresenza di piu di una traccia che attraversi lo stesso sensore puo diventare complessoassociare le hit relative ai due diversi livelli.

I tracciatori a pixel, invece, sono matrici di sensori di forma quadrata che forniscononaturalmente un’informazione bidimensionale e sono caratterizzati da segnali piu veloci(per la minore capacita di giunzione) e piu precisi (per il maggior numero di canalipresenti). Di contro, essi hanno un costo per unita di area superiore: sono dunquepiu indicati per i livelli piu interni del tracciatore, dove la precisione richiesta per unacorretta ricostruzione delle traccie e superiore e l’area e minore, mentre nei livelli esternisi utilizzano di solito sensori a strips per via del costo minore e della minore densita delletracce.

I sensori a matrice di pixel per la fisica delle particelle presentano un certo numero disomiglianze con i diffusi sensori presenti in molti dispositivi elettronici, come ad esempionelle macchine fotografiche digitali. In entrambi i casi, il passaggio di una o piu particelle(fotoni nel caso dei sensori delle macchine fotografiche, particelle cariche per i sensoriper la fisica delle particelle) provoca la presenza di carica in eccesso nel sensore che vienerilevata dall’elettronica di front-end provocando l’accensione di un pixel. Esistono perodue importanti differenze:

• i sensori fotografici producono un’immagine fornendo una statistica sul passaggiodi fotoni in un certo intervallo di tempo (generalmente superiore al millisecondo):i pixel in cui sono passati piu fotoni risultano piu chiari. I sensori per la fisicadelle particelle di solito non producono immagini, in quanto solo i pixel colpitivengono letti; quest’operazione e svolta il prima possibile, perche come detto soprai pixel colpiti non possono rivelare nuovi passaggi di particelle: di solito si cerca

12

Page 13: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

1.1 Rivelatori di vertice

di mantenere il tempo fra una lettura della matrice e la successiva nell’ordine delmicrosecondo.

• i sensori fotografici sono a livelli: un certo livello di luminosita corrisponde al pas-saggio di un certo numero (generalmente elevato) di fotoni, cosicche la luminositadell’immagine finale e una statistica sul passaggio dei fotoni nei diversi punti delsensore. I sensori per la fisica delle particelle, invece, devono essere in grado dirivelare anche il passaggio di una singola particella, e addirittura risultano “ciechi”all’arrivo di nuove particelle sullo stesso pixel finche questo non viene svuotato.Sebbene si potrebbe misurare la quantita di carica rilasciata nel pixel, questo gene-ralmente non si fa perche e un’operazione che richiede relativamente molto tempo,e i sensori sono invece ottimizzati per rendere il dead time il minore possibile.

Queste differenze significative spiegano l’assoluta diversita fra le problematiche tipichedell’imaging e quelle presenti nei sensori per la fisica della particelle, tanto che le soluzioniadottate per questi ultimi non avrebbero senso in caso di sensori per immagini. Adesempio, una supposizione (supportata da considerazioni statistiche) che si fa in moltearchitetture di readout per sensori di particelle e che il numero di colonne diverse conpixel attivi sia piccolo; questo ovviamente non accade nei sensori per immagini, in cuici si aspetta normalmente che tutte le colonne contengano informazioni di interesse.

Sensor

Front-end

~40 µm~20 µm

MAPS sensorHybrid-Pixel sensor

to Readoutto Readout

Sensor

Front-end+

Figura 1.3: Confronto fra un sensore MAPS e un sensore hybrid-pixel

I sensori a pixel attuali sono generalmente fabbricati nella tecnologia detta hybridpixel : in questo caso il sensore e realizzato su un substrato di silicio ad alta resistivitaseparato rispetto al front-end analogico, realizzato in tecnologia standard CMOS (abassa resistivita); i due substrati sono “incollati” e connessi mediante bump bonding.Il front-end e interconnesso con il readout digitale, anch’esso realizzato in tecnologiaCMOS. Sensori di queto tipo sono gia oggi utilizzati negli esperimenti ATLAS e CMS,in corso all’acceleratore LHC del CERN di Ginevra.

Una tecnologia emergente per sensori a matrice di pixel per la fisica delle particelle equella dei monolithic active pixel sensors o MAPS. Nei sensori MAPS l’apparato sensorioe il front-end sono realizzati sul medesimo substrato e il front-end e spostato a livellodel pixel: per questo motivo i sensori MAPS sono molto piu sottili degli hybrid pixele potrebbero essere utilizzati anche laddove e necessario mantenere minimo lo spessoredel sensore. Per un utilizzo efficiente dei sensori MAPS in esperimenti di fisica delleparticelle e pero ancora necessario risolvere alcuni problemi: ad esempio, la presenza

13

Page 14: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 1 Tracciatori al silicio in fisica delle alte energie

di dispositivi sullo stesso substrato del sensore puo causare cattura di carica da partedi collettori “competitivi” con quelli dei pixel; laddove esiste anche logica digitale sullostesso substrato esso puo inoltre causare rumore digitale di cui bisogna tenere conto.

1.2 Stato attuale dei tracciatori al silicio

Due dei principali esperimenti dell’acceleratore LHC, ATLAS e CMS, contengono nellaparte piu interna del rivelatore un tracciatore al silicio di tipo hybrid pixel. Entrambigli esperimenti forniscono dunque un esempio dell’attuale stato dell’arte per quantoriguarda i tracciatori al silicio.

1.2.1 ATLAS

Il rivelatore ATLAS e uno dei principali esperimenti dell’acceleratore LHC, sviluppatoprincipalmente per lo studio di urti protone-protone. La parte interna del rivelatore,chiamata Inner Detector, e composta da tracciatori al silicio per la rivelazione e il trac-ciamento di particelle cariche ed e a sua volta suddivisa in sezioni, la piu interna dellequali e un rivelatore a pixel ibridi contenente in tutto circa 80 milioni di canali e ca-pace di lavorare alla luminosita massima di 1034 cm−2 s−1 [2]. Gli scopi principali delrivelatore a pixel sono l’identificazioni dei vertici dei decadimenti secondari e anche delvertice primario, in caso di interazioni multiple. Il sensore a pixel deve essere in gradodi fornire una buona risoluzione nell’asse longitudinale z per l’identificazione del verticeprimario con deviazione standard inferiore ad 1 mm, il funzionamento in un range dipseudorapidita |η| < 2.5 (ovvero per particelle con angolo compreso circa nell’intervallo0.164 rad < θ < 2.978 rad rispetto alla direzione del fascio), e capacita di individuazionedel vertice in tre dimensioni, oltre ad una ottima efficienza e a uno spessore minimo, inmodo da evitare lo scattering multiplo.

Per soddisfare queste richieste, il rivelatore e composto da tre strati di pixel a una di-stanza minima dal vertice d’interazione di 5 cm; per motivi tecnologici legati al progettodell’elettronica la dimensione minima raggiungibile dai pixel e di 50 µm×400 µm (rispet-tivamente nelle direzioni ϕ e z). Il rivelatore e composto da diversi moduli contenenticiascuno 46 080 pixel. I tre livelli di sensore hanno uno spessore, misurato in terminedella lunghezza di radiazione X0, che varia a seconda del parametro η, raggiungendo unpicco di circa 0.20X0 per il layer piu interno, 0.25X0 per quello intermedio e 0.30X0 perquello piu esterno.

In ciascuno dei moduli sono presenti 16 chip di front-end (FE) in processo tecnologicoCMOS a 250 nm collegati mediante bump bonding ad una matrice di 18×160 pixel; i datidei FE sono trasmessi ad un Module Control Chip (MCC) attraverso collegamenti serialiLDVS (Low Voltage Differential Signalling) e quest’ultimo e a sua volta collegato ad unchip chiamato Read-Out Driver (ROD) fuori dal rivelatore attraverso un collegamentoin fibra ottica. L’architettura di readout e di tipo data-pull: benche tutti i dati presenti

14

Page 15: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

1.2 Stato attuale dei tracciatori al silicio

nei chip FE e MCC vengano spediti all’anello superiore della catena, l’estrazione dellehit dal sensore, e basata su un trigger di livello 1. Infatti le hit rilevate vengono salvatesu appositi buffer nella periferia del chip insieme al loro timestamp in attesa dell’arrivodel trigger; se la differenza fra il timestamp attuale e quello salvato supera la latenzadel trigger (circa 3.2 µs) senza che sia giunto alcun trigger, le hit vengono eliminate,altrimenti vengono spedite all’esterno nello stesso ordine dell’arrivo dei trigger.

Ai fini del readout, la matrice e suddivisa in 9 doppie colonne da 160 pixel ciascuna.Poiche il front-end analogico e realizzato in modo che la durata del segnale prodotto daldiscriminatore sia proporzionale all’ampiezza del segnale rilevato dal sensore, a ciascunahit vengono associati due timestamp a 8 bit: uno, detto Leading Edge (LE), all’inizio delsegnale del discriminatore, l’altro, detto Trailing Edge (TE), alla fine; entrambi vengonomemorizzati localmente. L’estrazione procede concorrentemente su tutte le 9 doppiecolonne: partendo dalla riga piu in alto, vengono estratte tutte le coppie di pixel incui si trovi almeno una coppia di pixel, alla frequenza di 5, 10 o 20 MHz (l’estrazionedi una coppia richiede due periodi di clock). Le hit estratte vengono processate e iltimestamp LE viene sottratto dal TE per produrre il Time Over Threshold (ToT); LEe ToT, oltre all’indirizzo della hit (8 bit per la riga piu 1 per la colonna), vengonosalvati in un buffer da 64 hit chiamato End Of Column (EoC), in cui rimangono peril tempo di latenza del trigger (circa 3.2 µs). Se dopo 3.2 µs non e ancora arrivato iltrigger relativo, le hit vengono cancellate, altrimenti vengono spedite verso la periferiadel chip di front-end dove vengono impacchettate in eventi riguardanti lo stesso triggere poi inviate serialmente con codifica LVDS al MCC.

1.2.2 CMS

Il rivelatore CMS e sviluppato con metodi differenti ma scopi simili al rivelatore ATLAS.Il layer a pixel del vertex tracker dell’esperimento CMS e costituito di circa 1500 modulidi sensori disposti su tre livelli su cui si trovano montati mediante bump-bonding circa16000 chip per il readout di circa 45 milioni di canali in tutto. Nella parte centrale del ri-velatore i moduli ospiteranno ciascuno 16 Read-Out Chip (ROC), ognuno dei quali leggeuna matrice di 53×52 pixel di 100 µm×150 µm. Anche in questo caso il rivelatore dovrasopportare una luminosita di 1034 cm−2 s−1, che per il layer piu interno (a una distanzadi circa 4 cm dal vertice d’interazione) significa un rate massimo di 115 MHz/cm2.

Come nel rivelatore di ATLAS, il readout e di tipo triggered e la matrice e suddivisain 26 doppie colonne che vengono lette in parallelo, dotate ciascuna di un’unica lineaColumnOR che segnala la presenza di almeno un pixel acceso. In ciascuna doppia colonna,l’elettronica nella periferia comincia ad ogni fronte del segnale di bunch-crossing unaspazzolata (chiamata fase di “drain”) alla ricerca delle hit presenti (saltando i pixel nonaccesi) relative a quel BC: queste vengono scritte, alla frequenza di 40 MHz, in un bufferpresente nella periferia, in attesa del segnale di trigger (dopo circa 3.2 µs) che stabilira setenere o meno quelle hit. A differenza di ATLAS, in cui l’ampiezza del segnale analogico

15

Page 16: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 1 Tracciatori al silicio in fisica delle alte energie

viene ricostruita a seconda del ToT, in CMS il segnale analogico viene convertito da unADC e salvato anch’esso nei buffer in attesa del trigger.

Le hit rimaste dopo l’intervento del trigger vengono spedite verso il sistema di DataAcquisition mediante un collegamento ottico analogico a 40 MHz; per risparmiare banda,gli indirizzi dei pixel colpiti vengono codificati mediante una codifica analogica a 6 livelli.

1.3 Prossima generazione di tracciatori al silicio

Lo sviluppo dei tracciatori di vertice in silicio del futuro e un’area di ricerca molto attivoe in continuo mutamento. Entrambi gli esperimenti citati nei paragrafi che seguono,SuperB e ILC, fanno riferimento all’utilizzo di tracciatori in silicio che saranno perorealizzati in modo molto diverso sia per quanto riguarda la struttura, sia per quantoriguarda l’architettura di readout.

1.3.1 SuperB

L’esplorazione della fisica oltre il Modello Standard non si ferma al solo acceleratoreLHC. Sono gia in corso di studio e di progetto esperimenti che anziche esplorare unascala di energie ancora piu elevate rispetto ad LHC, lavoreranno ad una maggiore lumino-sita per effettuare misure piu precise su fenomeni gia noti ed individuare nuovi fenomeni,mai osservati perche estremamente rari. L’Istituto Nazionale di Fisica Nucleare ospitaun progetto internazionale volto alla costruzione di un acceleratore di nome SuperB perstudiare la violazione della simmetria CP nel decadimento del mesone B. SuperB dovralavorare ad una luminosita di almeno 1036 cm−2 s−1 [1] per poter individuare fenomeniattualmente sconosciuti. SuperB e attualmente in fase di progetto e di studio di fatti-bilita; la costruzione dell’acceleratore, che dovrebbe essere sito vicino all’Universita diRoma - Tor Vergata, non e ancora stata finanziata. Per la sua costruzione potrannoessere riutilizzate molte parti di un esperimento precedente, denominato BaBar.

Nel rivelatore di BaBar lo strato piu interno e costituito da un tracciatore di verticein silicio (SVT) formato da cinque livelli di sensori a strip. Per il rivelatore di SuperBe allo studio un nuovo SVT che dovra sopportare L = 1036 cm−2 s−1 e garantire unarisoluzione temporale adeguata per le misure sulla violazione di CP: per quest’ultimomotivo il nuovo SVT sara dotato di un ulteriore livello interno, detto Layer0, posto acirca 1.2 cm dal vertice d’interazione.

Il programma scientifico dell’esperimento SuperB necessita di analisi dipendenti daltempo, poiche dopo l’interazione sono previsti due decadimenti B separati da un inter-vallo di tempo ∆t, che si traduce in una distanza ∆z fra i due vertici di interazionedi circa 125 µm [1]. Per raggiungere la precisione desiderata, il Layer0 dovra avere siauna ottima risoluzione spaziale (inferiore a 20 µm) sia una ottima risoluzione temporale(inferiore a 200 ns).

16

Page 17: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

1.3 Prossima generazione di tracciatori al silicio

Figura 1.4: Particolare del rivelatore di SuperB

Il Layer0 potra essere del tipo a striplet oppure un sensore a matrice di pixel, realiz-zato nella tecnologia MAPS oppure hybrid-pixel: queste varie possibilita sono tuttorain corso di studio. I sensori a striplet (DSSD, double-sided silicon strip detectors) costi-tuiscono attualmente la configurazione di base per il Layer0 del SVT, grazie alle ottimeperformance dal punto di vista fisico e poiche sono una tecnologia ampiamente collauda-ta. I sensori a pixel hanno pero una maggiore resistenza al rumore di fondo in condizionimolto rumorose, e potrebbero dunque costituire un ottimo sostituto per le striplet so-prattutto in una seconda fase della vita di SuperB [3]. I Layer piu esterni (1-5) sarannoinvece costruiti con la medesima tecnologia usata per BaBar, utilizzando un doppiostrato di sensori a strip in silicio per ogni Layer.

Le specifiche del Layer0 del SVT sono molto stringenti, poiche esso dovra fornireun’ottima risoluzione spaziale anche a fronte di un elevato rumore di fondo. La sfidaprogettuale per quanto riguarda i sensori a pixel, che offrono un rapporto segnale-rumoremolto elevato, e mantenere lo spessore del Layer0 abbastanza piccolo da non deteriorarele performance del vertex tracker. In questo caso, il parametro di riferimento non e lospessore espresso in unita metriche, bensı lo spessore in unita di lunghezze di radiazioneX0. Questa grandezza fornisce una misura della probabilita che le particelle interagisca-no con il sensore; essa dipende fortemente dal tipo di materiale attraversato ed e moltobassa per materiali a base di carbonio e ossigeno e molto elevata per i metalli pesan-

17

Page 18: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 1 Tracciatori al silicio in fisica delle alte energie

ti. In termini della lunghezza di radiazione X0, i sensori a striplet hanno attualmenteuno spessore dell’ordine di 0.005X0, i MAPS di 0.007X0 e gli hybrid-pixel di 0.01X0.Il passaggio delle particelle attraverso uno strato piu spesso di materiale puo causarefenomeni secondari quali lo scattering multiplo (ovvero un elevato numero di deviazioniche portano la particella a muoversi su una traiettoria molto diversa dalla traiettoriaoriginaria) che rendono molto piu difficoltosa l’operazione di tracciamento del vertice.

Il SVT e in particolare il Layer0 dovranno anche essere in grado di sopportare elevatilivelli di rumore di fondo, dovuti a diversi fenomeni fisici. A livello del Layer0, il fenomenopiu rilevante e la produzione di coppie e+e− → e+e−e+e−; il rumore e in parte soppressograzie al forte campo magnetico presente all’interno del rivelatore (circa 1.5 T) che fası che solo le coppie con velocita trasversale particolarmente elevata possano arrivare alivello del SVT; le altre rimangono “intrappolate” su orbite a spirale all’interno del tubodell’acceleratore. Di conseguenza, il rate di particelle rumorose (principalmente elettronicon energie dell’ordine del MeV) previsto sul Layer0 e di circa 5 MHz/cm2. Il SVT saraprogettato con un fattore di sicurezza 5, e dovra quindi poter sopportare rate di rumoredell’ordine di 25 MHz/cm2.

Figura 1.5: Moduli DSSD disposti attorno al vertice d’interazione

Nell’opzione di base, per il Layer0 saranno utilizzati sensori a strip in silicio a doppiafaccia, ovvero double-sided silicon strip detectors (DSSD). Le striplet hanno uno spessoredi circa di 200 µm (0.002X0) e un passo di 50 µm. Il Layer0 a striplets sara costituito da 8moduli rettangolari di 9.7 cm×1.29 cm, disposti a formare un ottagono attorno al verticed’interazione a un raggio di circa 1.5 cm (vedi figura 1.5). Ogni modulo sara coperto suentrambe le facce di striplets a 45 ◦; le striplets su una faccia saranno perpendicolari aquelle su quella opposta in modo da poter fornire informazioni bidimensionali sul pas-saggio di una particella. Le striplet saranno realizzate con la stessa tecnologia utilizzatain BaBar, realizzate dall’IRST-FBK di Trento, e saranno connesse all’elettronica direadout per mezzo di piazzole di connessione integrate nel sensore.

18

Page 19: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

1.3 Prossima generazione di tracciatori al silicio

Figura 1.6: Rappresentazione schematica di un modulo DSSD

Ciascun modulo DSSD sara connesso con l’elettronica di readout per mezzo di circa3050 canali. I chip che effettueranno il readout (FSSR2, sviluppati per l’esperimentoBTeV, oppure una loro evoluzione attualmente in corso di studio), dotati ciascuno di128 canali analogici in ingresso, saranno montati su due schede ibride che ne potrannoospitare 6 per ogni faccia: in tutto, per ogni modulo saranno usati 24 chip FSSR2. Ichip del readout saranno connessi alle striplet di silicio mediante un circuito flessibilemultistrato, che sara incollato sul sensore e connesso mediante wire bonding oppure TapeAutomated Bonding alle striplet.

I chip FSSR2 utilizzati hanno 128 canali analogici in ingresso e un output digitalesparsificato, in grado di fornire informazioni su indirizzo, timestamp e intensita dell’im-pulso rivelato. Sono realizzati in un processo CMOS da 0.25 µm specializzato per avereun’elevata tolleranza alle radiazioni. FSSR2 e stato progettato per lavorare con unagranularita temporale di 132 ns utilizzando per il readout un clock piu veloce a 70 MHz.E in grado di usare un numero selezionabile di linee di output; con tutte le 6 linee attive,puo raggiungere un throughput in uscita di 840 Mb/s. Un parametro importante pervalutare le prestazioni di un sensore di questo tipo e la occupancy da parte del rumore difondo, ovvero quanti dei canali disponibili vengono occupati da rumore di fondo (e nonsono dunque disponibili per la rivelazione di particelle) in media su tutta la superficiedel sensore e sulla finestra temporale. Simulazioni Verilog attualmente in corso hannoindicato che, per i sensori a striplet, tale occupancy nella finestra temporale di 132 ns edel 12% circa e che l’efficienza del chip FSSR2 dovrebbe essere superiore al 90%; sebbe-ne questa inefficienza non sia necessariamente significativa dal punto di vista fisico, e incorso di studio anche l’eventualita di riprogettare il readout digitale di FSSR2.

19

Page 20: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 1 Tracciatori al silicio in fisica delle alte energie

Nel corso del ciclo di vita di SuperB, il Layer0 realizzato a striplet potrebbe esseresostituito da un tracciatore a pixel, realizzato in tecnologia hybrid-pixel oppure MAPS;il grande vantaggio delle soluzioni a pixel sta nel fatto che, per un sensore con pitch di50 µm, la occupancy derivata dal rumore di fondo e molto minore che in un tracciatore astriplet, per via del numero di canali enormemente superiore a parita di probabilita cheun canale venga occupato dal rumore di fondo. Le collaborazioni SLIM5 e VIPIX dell’I-stituto Nazionale di Fisica Nucleare hanno realizzato e stanno realizzando architetturedi readout e alcuni prototipi di chip a matrice di pixel (serie APSEL, SuperPix0) checercano di soddisfare i requisiti del Layer0 di SuperB: essi saranno descritti in maggioredettaglio nel capitolo successivo.

I sensori a pixel ibrido sono una tecnologia collaudata, ma necessitano comunque diun notevole impegno di ricerca per poter soddisfare i requisiti per il Layer0 di SuperB:in particolare e necessario ridurre il pitch dei pixel a circa 50 µm e diminuire lo spessoretotale di materiale rispetto ai sensori a pixel ibridi realizzati per gli esperimenti di LHC.Non e stato ancora realizzato alcun prototipo con matrice delle dimensioni desiderate;ciononostante, simulazioni VHDL effettuate con l’obiettivo di un rate di 100 MHz/cm2

sul Layer0 hanno fornito ottimi risultati dal punto di vista dell’efficienza (98% con unclock di 60 MHz).

I sensori MAPS richiedono ancora piu ricerca, ma hanno il grande vantaggio di poteressere estremamente sottili (poche decine di µm, circa 0.05%X0) poiche il sensore e ilreadout si trovano nello stesso strato di silicio realizzato in tecnologia CMOS. I prototipirealizzati fino ad ora sfruttano il processo commerciale CMOS a triple well per realizzareall’interno del pixel una deep N-well (DNW) che viene utilizzata come catodo di raccoltaper la carica. La DNW copre una parte considerevole della superficie del pixel: e quindipossibile realizzare all’interno del medesimo pixel altre N-well piu piccole per il front-endche possano ospitare dispositivi PMOS, a patto che la loro area complessiva sia moltominore di quella delle DNW contenute nei pixel; se cosı non fosse le N-well della logica,che si comportano come collettori di carica “in concorrenza” con la DNW, causerebberoun degrado significativo dell’efficienza nella raccolta della carica. Il vantaggio di poterdisporre di transistor PMOS e comunque significativo, poiche in questo modo e possibilefare pieno uso della tecnologia CMOS realizzando logica piu efficiente per processare ilsegnale al livello del pixel, come avviene nei pixel ibridi. Questo permette di effettuareil readout in modo sparsificato e concettualmente analogo a quello di un sensore hybridpixel.

1.3.2 ILC

20

Page 21: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 2

Architetture di readout digitale: laserie APSEL

Acquisire dati da esperimenti di fisica delle alte energie non e un compito semplice,soprattutto se si vuole mantenere molto elevata l’efficienza, per minimizzare il rischiodi non rivelare completamente eventi rari. Poiche ogni evento e costituito delle hitraccolte da migliaia di chip, anche con una efficienza del 99% rimarrebbero sempre unadecina di sensori da cui non arriva informazione: questa perdita puo rivelarsi fatalenel caso di eventi molto rari, in cui una perdita di informazione non e accettabile. Ilprincipale vincolo del progetto dell’elettronica di readout e, proprio per questo motivo,la minimizzazione del dead time dei pixel: questo obiettivo puo essere perseguito siaaumentando la frequenza del clock del readout (con alcuni vincoli come si vedra piu indettaglio in seguito), sia con modifiche architetturali mirate.

La successione temporale delle hit e scandita da un apposito clock di temporizzazionee codificata in uscita in parole dette timestamp: questo clock, chiamato BCOclk nell’ar-chitettura di APSEL, definisce la granularita temporale del readout, che non e in gradodi distinguere differenze nell’istante di arrivo di hit associate al medesimo timestamp.E utile che il BCOclk sia piu rapido possibile, per avere la massima risoluzione tempo-rale, ma al tempo stesso non tanto rapido da rendere la risoluzione temporale moltominore del tempo medio di lettura della matrice, che potrebbe riempirsi di hit non letteabbassando pesantemente l’efficienza del readout.

Come accennato in precedenza, non e necessario effettuare la lettura sequenziale del-l’intera matrice di pixel, ma solo dei pixel in cui e effettivamente rilevata una hit. Tipi-camente, il readout di un rivelatore di vertice e di tipo sparsificato, ovvero l’estrazionedei dati avviene con l’accesso casuale ai soli pixel effettivamente colpiti in una qualun-que zona della matrice attraversata da una particella. In un readout sparsificato, nonviene scansionata l’intera matrice ma solo le zone contenenti un pixel colpito e in uscitavengono segnalate solo le coordinate dei pixel effettivamente colpiti. Benche con questoapproccio non sia possibile sapere deterministicamente in fase di progetto quale sara labanda necessaria per codificare le hit relative ad un unico timestamp, il tipo di utilizzodel sensore in esperimenti di fisica delle particelle garantisce che statisticamente solouna piccola parte della matrice sara accesa (il throughput medio e dunque calcolabile

21

Page 22: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 2 Architetture di readout digitale: la serie APSEL

in modo statistico). Il tempo medio di estrazione delle hit relative ad un timestamp,detto anche mean sweeping time o MST, e un parametro molto importante: minore eil tempo di lettura, minore sara il dead time medio dei pixel e di conseguenza maggiorel’efficienza.

Una volte estratte, le hit devono essere codificate in una stringa che contenga sia l’indi-rizzo del pixel sia il timestamp e poi memorizzate o spedite ad un sistema di acquisizionedati (DAQ - Data AcQuisition). Alcuni sensori inviano al sistema di DAQ tutte le hitche vengono estratte: si parla in questo caso di architetture data-push, poiche il readoutspinge fuori verso il DAQ tutte le hit che ha estratto. In altri casi, e il DAQ che richiedeal sensore di mandargli solo alcune hit (quelle associate ad un certo timestamp, ad esem-pio): queste architetture sono dette data-pull o triggered poiche e il DAQ ad effettuarela richieste delle sole hit che soddisfano una certa condizione sul timestamp. Le archi-tetture data-push richiedono una minore quantita di memoria on-chip per memorizzarele hit, ma una banda maggiore in uscita per inviarle tutte senza perdere in efficienza.All’opposto, le architetture data-pull richiedono la presenza di una grande quantita dimemoria a bordo del chip per memorizzare le hit in attesa di essere estratte o eliminate(a seconda di un comando esterno), ma richiedono una banda passante molto minore. Ilchip SuperPix1, cui e dedicato il capitolo successivo, cerca di superare questa dicotomiacon un’architettura in grado di funzionare bene in entrambe le modalita, sebbene siastato studiato in particolare per funzionare in modo data-push.

Nel progetto di un readout va tenuto in conto anche un altro aspetto: quello dellascalabilita dell’architettura. Un readout facilmente adattabile a matrici differenti e sicu-ramente piu vantaggioso, in quanto puo essere utilizzato anche in chip con caratteristichemolto diverse. Per realizzare un readout scalabile, si collega il pixel con il readout postoin un’altra porzione dell’area del chip mediante sole linee globali, condivise tra tutti ipixel di una riga o di una colonna, che scalano linearmente con la larghezza della matricee non quadraticamente come farebbero linee dedicate.

Nell’ottica della ricerca per realizzare sensori a matrice di pixel piu moderni ed ef-ficienti di quelli attuali, tarati sulle esigenze degli esperimenti di fisica delle particelledi prossima generazione, la collaborazione SLIM5 dell’Istituto Nazionale di Fisica Nu-cleare ha realizzato una serie di chip denominati APSEL. Nei chip APSEL si sono spe-rimentate molte innovazioni nel readout e diverse tecnologie costruttive: ad esempiotecnologie planari quali la tecnologia triple n-well a 130 nm di STMicroelectronics, siainnovative tecnologie ad integrazione verticale come il processo Tezzaron-Chartered TSV(through-silicon via) first.

2.1 APSEL3D

Il chip APSEL3D e costituito da un sensore MAPS planare costruito nella tecnologiatriple n-well di STM con processo tecnologico a 130 nm e da un’architettura di readoutsparsificato denominata AREO (Apsel REad Out). La matrice di APSEL3D e composta

22

Page 23: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

2.1 APSEL3D

Figura 2.1: La matrice di APSEL3D e l’organizzazione in macropixel

da 32 colonne e 8 righe di pixel con pitch di 50 µm, suddivise in regioni di 4 × 4 pixeldette macropixel ; due macropixel in colonna compongono una macrocolonna. Ad ognimacropixel sono connesse una linea di fast-or e una di latch-enable private: la prima siattiva ogni volta che almeno un pixel del macropixel si accende, la seconda permette didisabilitare i latch inclusi nei pixel del macropixel per “congelarli”.

La granularita temporale di APSEL3D e data da un clock detto di bunch crossing(BC); il readout segue invece un clock piu rapido, sincrono con il precedente, dettoRDclk. Ad ogni fronte di salita del BCOclk, il contatore del timestamp viene incrementatoe tutti i macropixel che presentano una linea di fast-or attiva vengono congelati e nonpossono piu accettare nuove hit in arrivo (vedi figura 2.2). Successivamente inizia lafase di lettura delle hit, che vengono estratte colonna per colonna su un Pixel DataBus largo 8 bit: il contenuto delle 4 colonne appartenenti a ciascuna macrocolonna conalmeno un fast-or acceso viene portato sul pixel data bus. Completata la lettura di unamacrocolonna, tutti i latch dei macropixel con fast-or attivo vengono resettati.

Le hit lette in ogni colonna, contenute nel pixel data bus, vengono spedite allo sparsi-fier, che codifica ciascuna hit con le proprie coordinate spaziali (x e y del pixel colpito)e temporali (il timestamp). Tutti gli 8 bit del pixel data bus sono gestiti contempora-neamente, per cui per ogni ciclo di RDclk lo sparsifier puo produrre fino a 8 parole checorrispondono alla codifica di 8 hit diverse. La codifica impiega 12 bit, di cui 3 indicanola macrocolonna, 2 la colonna all’interno della macrocolonna, 3 la riga, 4 il timestamp.

Le hit codificate vengono memorizzate in un buffer chiamato barrel : si tratta di unacoda FIFO asimmetrica che puo memorizzare fino ad 8 hit per ciclo di clock, ma con unthroughput in uscita di solo una hit per ogni RDclk. Il barrel di APSEL3D e profondosolo 16 parole, a causa delle dimensioni ridotte della matrice. Poiche ad ogni ciclo diRDclk una hit viene presa dal barrel e mandata in uscita, senza alcuna selezione da partedi un trigger, l’archittettura AREO e di tipo data-push.

APSEL3D e dotato di una digital matrix, ovvero una memoria programmabile orga-nizzata in modo da simulare la matrice reale; essa puo essere riempita dall’esterno e

23

Page 24: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 2 Architetture di readout digitale: la serie APSEL

Figura 2.2: Alcune fasi della lettura di un macropixel in APSEL3D

collegata al readout al posto della matrice reale a fini di test. Questa operazione, insie-me alla lettura e alla scrittura dei registri e delle maschere, e effettuata mediante slowcontrol. Lo slow control si basa su una comunicazione sincrona con l’esterno (che devefornire un clock SCclk, piu lento di RDclk) e avviene su un bus composto da 3 bit dimodalita (che definiscono il tipo di operazione di slow control) e 8 per la trasmissionedei dati.

Dell’architettura di APSEL3D e stata realizzata a fini di test una versione in processotecnologico Tezzaron-Chartered; il chip prodotto e stato chiamato APSEL3D TC ed eancora in fase di produzione. Il processo Tezzaron-Chartered usato per APSEL3D TCpermette l’integrazione verticale, ovvero la sovrapposizione di substrati fortemente as-sottigliati connessi non mediante bump bonding (come accade ad esempio nei chip apixel ibridi), ma tramite apposite through-silicon vias. Questo permette, ad esempio, larealizzazione di chip MAPS molto piu ricchi di elettronica a livello del pixel.

2.2 APSEL4D

L’architettura AREO e stata implementata, in una versione leggermente aggiornata, an-che su un chip piu grande di APSEL3D, chiamato APSEL4D. Come il suo predecessore,esso e formato da un sensore MAPS e da una architettura di readout sparsificato. Lamatrice di APSEL4D e costituita da 128×32 pixel organizzati in 256 macropixel di 4×4pixel; entrambe le sue dimensioni sono dunque quadruplicate rispetto ad APSEL3D.

Poiche nell’architettura AREO la lettura dei pixel colpiti (sweeping) avviene per co-lonne, non e stato necessario effettuare alcuno scaling in questa direzione: la maggiorelunghezza delle righe significa solamente un mean sweeping time piu lungo. In vertica-

24

Page 25: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

2.2 APSEL4D

le, invece, non si sono modificati sparsifier e barrel in modo da poter gestire un’interacolonna, ma si e scelto di replicare gli sparsifier e i barrel: ci sono dunque 4 coppie disparsifier e barrel che lavorano in parallelo.

Per risequenzializzare i dati, l’uscita dei quattro barrel e connessa ad uno sparsifierout che li scrive in un barrel final. Tutti i barrel hanno profondita di 32 parole e graziead un circuito di feedback la lettura della matrice puo essere fermata se uno dei barrel siriempie, per evitare di perdere dati a livello del readout (anche se dall’altro lato si puoavere un aumento del dead time dei pixel).

Il chip APSEL4D e stato ampiamente studiato sia tramite simulazioni sia per viasperimentale; nel settembre 2008 e stato effettuato un test beam in un acceleratoresecondario del CERN di Ginevra, il CERN Proton Synchrotron. La maggior parte dellesimulazioni hanno cercato di quantificarne l’inefficienza, definita come la frazione diinformazione che viene persa. Essa e in parte dovuta ad inefficienze a livello del pixel,per esempio a hit che arrivino nel dead time del pixel e non possano essere rivelate dalsensore; in parte al congestionamento nel readout, ovvero tipicamente al riempimentodei barrel: queste due inefficienze sono del tutto incorrelate.

Figura 2.3: Efficienza di APSEL4D

Dalle simulazioni (vedi figura 2.3) si e potuto osservare come, aumentando il rate dellehit in arrivo, sotto i 300 MHz l’inefficienza e dovuta principalmente al dead time, mentresopra il readout fatica a tenere il passo: si attiva il circuito di feedback e l’inefficienzadovuta al dead time dei pixel aumenta bruscamente poiche la lettura viene fermatamentre i barrel vengono svuotati. Inoltre, si e verificato che la massima efficienza siottiene quando il tempo di BC e maggiore rispetto al MST, ma non di molto: in questomodo lo sweeper e sempre attivo e tutte le hit vengono spazzolate il prima possibile. Seinvece il MST e molto piu piccolo del tempo di BC, il tempo fra uno sweep e l’altro emolto lungo e la matrice si riempie di hit non estratte. Nel caso MST sia, al contrario,maggiore del tempo di BC, l’inefficienza cala drasticamente poiche il readout non puosvuotare la matrice a velocita sufficiente.

25

Page 26: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 2 Architetture di readout digitale: la serie APSEL

2.3 SuperPix0

Il successore di APSEL4D, chiamato APSEL6D, e stato studiato con una architetturaprofondamente rinnovata chiamata SORTEX. APSEL6D e stato progettato con unamatrice di pixel MAPS di dimensione 320 × 256 (suddiviso in 4 sottomatrici 80 × 256)ma il chip effettivamente sottomesso alla fonderia e prodotto, chiamato APSEL5D, edotato di una piu piccola matrice 128 × 32, suddivisa in due sottomatrici 64 × 32.L’architettura di readout realizzata e la stessa nei due casi; alcune delle componenti delreadout di APSEL5D sono collegate a massa in modo da essere disattivate.

Gli studi e le simulazioni effettuati su APSEL4D hanno permesso di effettuare alcu-ne importanti modifiche all’architetture per renderla maggiormente efficiente. Alcunesimulazioni tramite un toy Monte Carlo in C++ hanno portato all’idea di modificare laforma del macropixel per sfruttare il parallelismo verticale dell’architettura: poiche ognimacrocolonna con fast-or attivo viene letta interamente e poiche per la lettura di unasingola colonna e necessario un ciclo di RDclk, le forme piu convenienti per un macropixelrisultano quelle con meno colonne: 2× 8 o 1× 16. In base a considerazioni di caratterefisico, si e preferito utilizzare macropixel di 2 × 8 pixel poiche le hit possono formarecluster di tipo 2 × 1 con probabilita abbastanza alta, mentre nel toy Monte Carlo nonvi era alcuna correlazione fra le hit.

Una seconda innovazione a livello di architettura e dovuta alla considerazione cheordinare temporalmente le hit dopo la loro estrazione puo essere un compito moltodifficoltoso. AREO non garantisce l’ordine temporale delle hit: poiche il chip APSEL4Dviene tipicamente fatto funzionare con MST ≈ BC (WIP).

26

Page 27: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3

Il chip SuperPix1

SuperPix1 e un chip prototipo in corso di sviluppo costituito da un sensore di tipo hybrid-pixel accoppiato ad una architettura di lettura veloce, denominata SQUARE. Questa estata studiata per rispondere alle esigenze del Layer0 del SVT di SuperB: il chip finaledovra essere in grado di sopportare un rate di particelle incidenti di 100 MHz/cm2 suun’area di circa 1.2-1.3 cm2 con pixel di lato 50 µm. L’archittetura SQUARE comprendeuna matrice di 256× 192 pixel, corrispondenti ad una banda massima in output di circa4 Gbps (20 bit a 200 MHz).

L’architettura SQUARE e una versione migliorata e modificata della precedente ar-chitettura SORTEX (SORTed hit EXtraction), implementata in un chip chiamato Su-perPix0 o FE4D128x32. SuperPix0 e stato sottomesso alla fonderia nell’ottobre 2009,fabbricato nella tecnologia 130 nm di STMicroelectronics ed e attualmente in fase di testpresso l’Istituto Nazionale di Fisica Nucleare.

Rispetto al predecessore, SuperPix1 sara dotato di un’architettura maggiormente ot-timizzata e con nuove modalita di lavoro. Benche infatti l’architettura SQUARE siascalabile, alcune parti del codice VHDL che la descrive, scritte troppo ad alto livello,non erano sintetizzabili in tempi ragionevoli. Una parte del lavoro svolto per questatesi ha riguardato l’ottimizzazione di tale parti di codice per renderle sintetizzabili in untempo piu breve e con maggiori prestazioni, mentre un’altra attivita svolta ha riguardatola modifica di alcune entity per rendere il chip capace di lavorare in modalita triggered.

3.1 Struttura del chip

Il chip SuperPix1 e in corso di sviluppo da parte di diversi gruppi di lavoro dell’IstitutoNazionale di Fisica Nucleare di Bologna, Pisa, Pavia, Bergamo; ciascun gruppo si occupadi una diversa parte del lavoro complessivo: la matrice di pixel e il front-end analogicosono stati sviluppati in modo full custom, mentre il readout digitale e sviluppato a cellestandard tramite la stesura di codice VHDL sintetizzabile.

Il front-end analogico e sviluppato seguendo lo stesso approccio generale illustratonel primo capitolo: un preamplificatore con resistore MOS in feedback, uno shaper eun discriminatore; quest’ultimo sara anche dotato di un circuito di fine tuning per latensione di soglia del sensore, con un DAC a 3 o 4 bit interno al pixel che permettera di

27

Page 28: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

Figura 3.1: Visione d’insieme del chip SuperPix1

intervenire a livello del pixel per piccole correzioni sulla tensione di soglia. La sensibilitarichiesta alla componente analogica e di circa 50 mV/fC a valle del preamplificatore; iltempo di picco a valle dello shaper di circa 200 ns. La parte analogica del pixel consumeracirca 7.5 µW, il che corrisponde a circa 300 mW/cm2. Per quanto riguarda la sensibilita,per accendere un pixel saranno necessari fra 4000 e 16 000 elettroni; la carica equivalentedi rumore(ENC) e prevista essere di circa 160 e−, per cui si avra un rapporto SNR dicirca 25 (raddoppiabile con il fine-tuning della tensione di soglia).

Il readout di SuperPix1 rende possibile l’estrazione in ordine temporale delle hit senzache esse debbano essere memorizzate in un buffer: questa innovazione e resa possibiledall’inserimento di logica digitale all’interno del pixel. Mentre nei chip della serie AP-SEL e in SuperPix0 gli unici elementi digitali presenti nel pixel erano il latch, il fast-or eil reset del latch, in SuperPix1 sono stati inseriti anche un altro latch di 8 bit destinatoalla memorizzazione del TS relativo ad una hit ricevuta e un comparatore in grado diconfrontare questo TS memorizzato con quello fornito dall’esterno; il risultato del con-fronto e utilizzato nella generazione del fast-or (che si alza solo se il timestamp richiestocorrisponde a quello memorizzato) e di una modalita di reset (segnale MASK COL SELb),che permette di resettare solo i pixel relativi ad un dato TS. E inoltre presente un altrolatch che permette il mascheramento del singolo pixel, ad esempio nel caso che esso siaparticolarmente rumoroso.

L’introduzione di questa quantita di logica all’interno del pixel e uno dei principalimotivi per cui, al contrario dei suoi predecessori della serie APSEL, SuperPix1 sara

28

Page 29: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.2 Architettura di readout

Figura 3.2: Schema di principio del front-end analogico

realizzato con la tecnologia dei pixel ibridi e non con quella MAPS. Per poter metterecosı tanta logica CMOS nel sensore, esso deve avere una cospicua area libera: questonon era possibile nei chip MAPS bidimensionali poiche avrebbe ridotto troppo l’area delsensore. Nei pixel ibridi, in cui sensore e front-end sono realizzati su substrati separati, ilproblema non si pone; per riuscire a fare lo stesso in un sensore MAPS e necessario farericorso a tecnologie di vertical integration per realizzare logica e area sensoria su stratidiversi. Queste tecniche sono attualmente allo studio ma presentano notevoli difficolta;ciononostante un chip MAPS con integrazione verticale e struttura e readout uguali aSuperPix1 e in corso di progetto con il nome di ApselVI.

3.2 Architettura di readout

L’architettura SQUARE e un’architettura ibrida, che puo funzionare sia in modalitadata-push sia in modalita triggered, dotata di readout sparsificato e adatta a chip consensori hybrid-pixel come SuperPix1, oppure MAPS a integrazione verticale. In figura3.4 e riportato uno schema complessivo dell’architettura SQUARE.

La matrice di pixel dell’architettura SQUARE e stata progettata per essere di 256×196pixel, suddivisa in quattro sottomatrici di 256 × 48 pixel, ciascuna con un proprio rea-dout dedicato. Il chip SuperPix1 che verra effettivamente sottomesso in foundry e usatocome prototipo avra probabilmente un numero minore di sottomatrici e una dimensioneverticale piu piccola, tornando alle dimensioni del precedente SuperPix0 (128 × 32 pi-xel). Oltre all’elettronica analogica e al latch che memorizza l’arrivo di una hit, i pixelnell’architettura SQUARE contengono anche un’etichetta temporale (il timestamp as-sociato alla hit segnalata dal latch) e la logica necessaria per confrontare tale etichetta

29

Page 30: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

Figura 3.3: Logica digitale interna al pixel in SuperPix1

con un timestamp fornito alla matrice dall’esterno, per selezionare solo i pixel colpiti inun dato timestamp. Al contrario delle architetture precedenti, in SQUARE non esiste ilconcetto di macropixel e ogni linea di FastOr e associata ad una colonna: nessuna pixelche non venga effettivamente colpito viene mai congelato, di conseguenza l’efficienza emolto superiore rispetto all’architettura AREO.

Gran parte del readout e sincrona con il clock RDclk (max 100 MHz); fa eccezione lostadio finale, composta da Barrel1 e Concentrator, che sono sincroni con il piu rapidofast clk (max 200 MHz). Oltre a questi due clock, e presente un terzo segnale moltoimportante denominato BCOclk, il cui scopo e determinare la granularita temporale deitimestamp.

Una delle caratteristiche fondamentali sia di SQUARE sia di SORTEX e la capacitadi estrarre le hit dalla matrice in modo sequenziale, ovvero in ordine temporale. Mentrein SORTEX questo scopo era stato ottenuto mediante una memoria FIFO di notevolidimensioni (detta Scan Buffer) per memorizzare tutti i macropixel in attesa di essereletti, in SQUARE, grazie all’introduzione del timestamp a livello di pixel, questo non epiu necessario. Lo schema in figura 3.5 raffigura una porzione della matrice ed illustrala prima fase del readout.

Il readout fornisce ad ogni Submatrix il timestamp che si vuole leggere (Reading TS)e il timestamp attuale (BCO counter). I pixel colpiti vengono etichettati con il TS=2e congelati in attesa di essere letti; la matrice attiva le linee di FastOr solo in corri-

30

Page 31: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.2 Architettura di readout

Barrel2

Barrel2

Barrel2

Barrel2

Sweeper

Submatrix

Sparsifiers

Barrel1 to FinalConcentrator

Concentrator

Figura 3.4: Architettura di readout di una sottomatrice nell’architettura SQUARE

spondenza dei pixel etichettati con TS pari a Reading TS e porta sul Pixel Data Bus(PIX DATA) il contenuto dei pixel di un’unica colonna per ogni sottomatrice detta ActiveColumn.

Figura 3.5: Estrazione ordinata delle hit in una porzione di matrice in SQUARE

Lo Sweeper, la parte di readout dedicata all’estrazione delle hit, fornisce alla Sub-matrix il Reading TS e l’indirizzo della Active Column. La modalita di funzionamentopredefinito e quella data-push, che prevede che ad ogni fronte di BCOclk si proceda aduno sweep (“spazzolamento”) della matrice alla ricerca delle hit relative al timestampimmediatamente precedente. Lo sweep si svolge in questo modo: ad ogni ciclo di RDclk,lo Sweeper controlla i FastOr della matrice e attiva una delle relative colonne, proce-dendo ordinatamente da quella di ascissa piu bassa a quella di ascissa piu alta; in medialo sweep impiega un tempo poco minore di un ciclo di BCOclk. Le hit in uscita sul bus

31

Page 32: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

PIX DATA sono spedite agli Sparsifier per essere codificate. Ad ogni ciclo di BCOclk ilsegnale di Reading TS e incrementato, quindi le hit di tutti i TS vengono estratte dallamatrice.

In modalita triggered, lo Sweeper puo ricevere dall’esterno del chip un segnale ditrigger, sincrono col BCOclk. Ad ogni fronte di BCOclk, lo Sweeper controlla se haricevuto o meno un trigger e lo memorizza in una piccola memoria FIFO insieme altimestamp a cui il trigger si riferisce (BCO counter meno una latenza fissata in unregistro). A differenza di quanto avviene in modalita data-push, lo Sweeper non attendeil BCOclk per avviare una lettura, ma procede con un ciclo continuo in cui legge la FIFO,controlla se ha ricevuto un trigger per il TS memorizzato; se sı procede con lo sweepin modo analogo a quanto avviene nella modalita data-push, altrimenti resetta in ununico ciclo di RDclk tutti i pixel relativi al TS memorizzato. In questo modo per averetriggering non e necessario memorizzare i pixel attivi relativi ai diversi timestamp in unamemoria separata di grandi dimensioni, ma e sufficiente sfruttare come memoria i latchcontenuti nella matrice; il reset dei TS precedenti a un certo momento e necessario pernon diminuire l’efficienza della matrice in modo drastico.

Quale che sia la modalita di funzionamento, ad ogni sweep che effettua lo Sweeperinvia anche un segnale di SOS (Start Of Scan), che viene mantenuto attivo solo per unciclo di RDclk prima dell’arrivo delle hit “spazzolate”.

Il Pixel Data Bus della sottomatrice, che e composto da 256 bit, e suddiviso in 4gruppi di 64 bit, a loro volta suddivisi in 8 gruppi di 8 bit detti zone. Ciascun gruppo di64 bit e collegato ad uno Sparsifier, il componente deputato all’encoding delle hit nellaforma in cui saranno portate all’uscita. Quando SOS e attivo, gli Sparsifier scrivono unaword speciale contenente il timestamp relativo alle successive hit codificate. Dopo loSOS, ogni Sparsifier puo scrivere in uscita su una memoria FIFO speciale detta Barrel2fino a 8 hit di 18 bit in parallelo, una per ogni zona ad esso collegata.

I Barrel2 sono memorie FIFO asimmetriche (profonde 32 word) che possono riceverein ingresso fino a 8 word e ne scrivono in uscita una sola in ogni ciclo di RDclk; in questomodo le hit emesse in parallelo da uno Sparsifier vengono sequenzializzate. Poiche loSparsifier, per ogni ciclo di RDclk, emette solo hit afferenti allo stesso timestamp (grazieall’estrazione ordinata effettuata dallo Sweeper), in questa sequenziazione non si perdela correttezza dell’ordine temporale.

I quattro Barrel2 scrivono la loro uscita su un’altra FIFO asimmetrica, denominataBarrel1, profonda 128 word e in grado di ricevere 4 word in ingresso in parallelo perogni ciclo di RDclk e di scriverne una in uscita per ogni ciclo di fast clk. Perchel’ordine temporale sia conservato, un altro elemento chiamato Concentrator si occupadi bloccare i Barrel2 che portano in uscita parole relative ad un TS piu recente rispettoad un altro Barrel2. In questo modo le parole scritte sul Barrel1 conservano un ordinetemporale corretto.

Lo stadio finale di uscita del readout e il Final Concentrator, cui sono collegati iBarrel1 di tutte e quattro le sottomatrici. Il Final Concentrator effettua un ciclo suiquattro Barrel1 scrivendo in ogni ciclo di fast clk un’unica parola in uscita; come il

32

Page 33: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.3 Entita

Concentrator si occupa anche di mantenere l’ordine temporale bloccando eventualmentela lettura di alcuni Barrel1.

Tutte le operazioni sono controllate dallo Slow Control: tramite comunicazioni sudue linee (SDA e SCL) che avvengono secondo il protocollo I2C e possibile scriveree leggere dall’esterno 16 registri di sola lettura (RO) e 16 registri scrivibili (RW) perimpostare alcuni parametri di funzionamento del chip.

SuperPix1 sara collegato ad un sistema di acquisizione dati (DAQ) costituito da unascheda EDRO (Event Dispatch and ReadOut), da un sistema di memorie associative, daun computer e da un dispositivo di storage (tipicamente un altro computer). La schedaEDRO e attualmente una scheda madre 9U VME che monta diverse FPGA: la principalee una Altera Stratix II a 1508 pin (con 6 Mbit di memoria); vi sono inoltre due schedemezzanine EPMC (EDRO Programmable Mezzanine Card) che ospitano ciascuna unaFPGA Altera Cyclone II 35. La EDRO puo gestire una banda massima di circa 5 Gbit/sin ingresso; le hit in arrivo vengono tradotte in un formato comprensibile dalla EDROdalle schede EPMC e poi immagazzinate localmente nella EDRO e, contemporaneamen-te, spedite ad un trigger di primo livello costituito da un banco di memorie associative.Qui le hit vengono sottoposte a un rapido pattern-recognition che identifica le traccepresenti, che vengono riunite alle hit salvate nella EDRO; tutto l’insieme viene speditoattraverso una scheda S-Link SLC (Link Source Card) al dispositivo di storage via fibraottica (il throughput massimo in uscita e di circa 1 Gbit/S). Il controllo della sche-da EDRO puo avvenire mediante la lettura/scrittura di registri interni tramite un busVME controllato da una FPGA Altera Cyclone. L’architettura SQUARE e progettataper avere un throughput massimo in uscita di 4 Gbit/s (20 bit@200 MHz), anche se labanda potrebbe essere minore a seconda della scelta del fast clk: per questo motivo,potrebbe essere necessario aggiornate il sistema di DAQ per farlo funzionare a frequenzepiu elevate.

3.3 Entita

L’architettura di readout del chip SuperPix1 e completamente descritta mediante codiceVHDL (Very High Speed Integrated Circuit Hardware Description Language) sintetiz-zabile: ognuno dei componenti dell’architettura descritti sinteticamente nel paragrafoprecedente e implementato da entity VHDL, la cui gerarchia e riportata in figura 3.6. Ilcodice e scritto in stile comportamentale, principalmente sotto forma di macchine a stati(process VHDL) che svolgono una delle particolari funzioni della entity, ed e altamenteparametrizzato: cio significa, ad esempio, che e possibile modificare il numero di pixel diuna sottomatrice o la lunghezza delle memorie FIFO semplicemente modificando alcuniparametri e mantenendo inalterato il codice.

La matrice e stata sviluppata esternamente al gruppo di lavoro che ha programmatoil readout e, come riportato in maggiore dettaglio nella sezione riguardante le simula-

33

Page 34: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

sweeper.vhdSweeper

sparsifier.vhdSparsifier

barrel2.vhdBarrel2

barrel1.vhdBarrel1

funnel.vhdConcentrator

funnel_out.vhdFinal Concentrator

readout.vhdReadout

slow_control.vhdSlow Control

i2c_interface.vhdI2C Interface

register_file.vhdRegister File

time_counter.vhdTime Counter

newpix.vhd

SQUAREarchitecture

sweepLevel0.vhdsweepLevel0

sweepLevelI.vhdsweepLevelIpix_package.vhd

Package

Figura 3.6: Gerarchia delle entity dell’architettura SQUARE

34

Page 35: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.3 Entita

zioni, ne e stato realizzato un modello in VHDL non sintetizzabile per permettere lasimulazione del corretto funzionamento del readout.

Il readout in VHDL viene simulato mediante il software ModelSim di Mentor Gra-phics e sintetizzato con Design Compiler di Synopsis. Una parte del lavoro di questatesi ha riguardato la riscrittura di parti di codice scritte in modo troppo astratto peril sintetizzatore, che trovava notevoli difficolta nella loro compilazione e di conseguenzaimpiegava molto tempo (in particolare per matrici di grandi dimensioni). Queste sezionisono state riscritte in modo maggiormente strutturale, cercando una soluzione efficien-te sia per quanto riguarda il tempo di sintesi sia per la frequenza massima finale delcomponente.

3.3.1 Sweeper

trigger_latency (7:0)

reset

SOS

Sweeper

RDclk

BCOclk

BCO_counter (7:0)

test_cycle

sweep_hold

reset_sweeping

triggered_mode

row_mask (255:0)

X_idx (5:0)

PIX_DATA_out (255:0)

col_ena (47:0)

matrix_TS_reset (47:0)

FastOR_masked (47:0)

PIX_DATA (255:0)

to sparsifiers

to submatrix

enable_TC

trigger

Reading_TS (7:0)

common or from EDRO

from registers

from submatrix

Figura 3.7: Ingressi e uscite dello Sweeper

Lo Sweeper e il componente devoluto all’estrazione delle hit. Il suo nucleo fondamen-tale e composto da tre processi: reading, pixdata wrapping, delay ; ne ho successivamenteaggiunto un’altro, triggerFifo, per permettere il funzionamento dello Sweeper anche inmodalita triggered. Tutti i processi dello Sweeper sono sincroni con il clock del readoutRDclk.

Il processo reading, nella versione precedente all’aggiunta della modalita triggered, euna macchina a stati con tre stati: RST, IDLE, SCAN. In sintesi, essa inizia un nuovoprocesso di lettura (o sweep) ogni volta che non e occupata con una lettura precedente etrova che il timestamp da leggere (segnale Reading TS) e diverso dall’attuale timestamp(BCO counter).

35

Page 36: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

Lo stato iniziale della macchina, RST e quello a cui essa viene indirizzata in caso diricezione di un segnale di reset e si limita a portare la macchina nella sua condizioneiniziale di funzionamento in IDLE. In quest’ultimo stato, reading :

1. controlla se e in atto un reset dello sweeper (se il segnale reset sweeping e attivo),nel qual caso non fa nulla;

2. controlla se BCO counter e Reading TS sono diversi, se la macchina non deveaspettare (waiting= 0), e se non e stato appena spedito un segnale di Start OfScan (SOS sent): in questo caso si puo far partire un nuovo sweep, quindi vengonoattivati i segnali SOS int2 e SOS sent e la macchina passa in SCAN.

3. se invece e necessario aspettare, si controlla che la macchina non sia in hold(sweep hold attivo) e se non lo e si azzera waiting.

In fase di SCAN, si controlla nuovamente se alla macchina giunge uno sweep hold,nel qual caso si porta waiting a 1 perche, una volta nuovamente in IDLE, la macchinaattenda prima di far partire un nuovo SOS. La funzione principale dello stato SCAN eeffettuare lo “spazzolamento” che da il nome alla entity. In un singolo intervallo di RDclk,le colonne vengono controllate da quella di indirizzo piu basso a quella di indirizzo piualto per verificare se ci sono hit; non appena una hit viene trovata, se ne spedisce in uscital’indirizzo perche un altro processo (pixdata wrapping) possa estrarla. Nello specifico, sicontrolla se almeno uno dei fast-or della sottomatrice (segnale FastOR masked) e attivoe, in tal caso, spedisce in uscita sul segnale X idx l’indirizzo della colonna attiva diindirizzo piu basso e attiva il relativo segnale di enable per la colonna della sottomatricecol ena; il fast-or il cui indirizzo e stato spedito deve essere mascherato per non essererispedito all’istante di RDclk successivo. Il processo reading permane in SCAN finchec’e ancora almeno un fast-or acceso (mantenendo un flag di sweep on attivo), dopodichetorna in IDLE disattivando il segnale di SOS sent ed incrementando il Reading TS.

Il processo delay e semplicemente una serie di registri a scorrimento volti a ritardarealcuni segnali (Reading TS, SOS) prima di mandarli alla matrice: essi devono infattiarrivare alla matrice in un certo ordine e con un certo sincronismo. Inoltre, nel processodelay e inclusa la logica per convertire i TS in codice gray se una opportuna costanteviene impostata.

Il terzo processo, pixdata wrapping, si occupa dell’effettiva estrazione dei dati dallamatrice e del loro “wrapping”, ovvero il loro inscatolamento in una struttura dati VHDLun po’ piu articolata di un semplice vettore di bit. La matrice, ricevendo in ingresso uncerto Reading TS e vedendo attivato uno dei col ena, restituisce su un bus PIX DATA ilcontenuto dei pixel relativi alla colonna abilitata. Il processo pixdata wrapping prende idati in uscita sul bus PIX DATA e, finche uno sweep e in corso (ovvero sweep on e attivo),li inscatola in un array di array di zone di 8 bit, cosı come descritto in un paragrafoprecedente. E possibile anche effettuare un mascheramento disattivando alcuni bit dellamaschera row mask, che rende visibili solo alcuni pixel di ciascuna colonna. Tramite

36

Page 37: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.3 Entita

questo processo e anche possibile effettuare un test dello sweeper mandando in ingressoal chip, tramite slow control, una serie di indirizzi di pixel che viene tradotto in unsegnale test cycle, un “treno” di hit di test inserito in uno shift register. In caso ditest, il normale funzionamento dello sweeper e inibito e le hit vengono prese dall’uscitadello shift register.

La modalita di funzionamento dello Sweeper descritta fino ad ora e quella data-push:infatti il processo reading inizia uno sweep per ogni timestamp. Sebbene il tempo disweep possa essere maggiore del periodo di BCOclk (nel caso di un elevato numero dicolonne diverse colpite), il MST deve essere minore: per questo in normali condizionidi funzionamento tutti i timestamp vengono letti con efficienza elevata e tutte le hitvengono mandate all’esterno, per essere selezionate solo successivamente. Una delleprincipali innovazioni studiate ed implementate durante lo svolgimento di questa tesi estato l’inserimento di una modalita di funzionamento triggered, in cui lo Sweeper deveestrarre solo i trigger indicati da un segnale esterno detto trigger, sincrono con ilBCOclk. Il trigger viene prodotto dallo stesso rivelatore quando un altro componente,il calorimetro (???) rivela un evento ritenuto interessante; il DAQ rende il segnaledel calorimetro sincrono con il segnale di BCO e lo spedisce al chip SuperPix1, doveviene sincronizzato con il RDclk (vedi il successivo paragrafo sul clocking). Il principalevantaggio di lavorare in modalita triggered e che, a parita di frequenza di clock e diBCO, il readout e in grado di sopportare un rate piu elevato senza congestionarsi; ilprezzo e la maggiore inefficienza dovuta al dead time e la possibile (ma improbabile)perdita di hit dovuta ad un mancato trigger.

Poiche il trigger non e istantaneo, ma richiede una seppur piccola latenza, il funziona-mento in modalita triggered richiede una cospicua quantita di memoria in cui mantenerele hit in arrivo finche non si sa se vanno spedite all’esterno oppure cancellate; nell’ar-chitettura SQUARE si utilizza un accorgimento astuto per evitare di inserire memoriaaggiuntiva nel readout: sfruttare i latch della matrice stessa come memoria. Al prezzodi un abbassamento dell’efficienza dovuto all’aumento del dead time, le hit di cui non siconosce ancora il destino vengono lasciate sulla matrice in attesa del trigger; per latenzenon eccessivamente elevate l’inefficienza rimane contenuta. Se il chip e in modalita trig-gered, ad ogni fronte di BCOclk il contenuto del segnale di trigger e la differenza fral’attuale timestamp BCO counter ed un registro denominato trigger latency vengonoscritti in una FIFO di 16 parole implementata nel codice VHDL dal processo trigger-Fifo. Il contenuto del registro trigger latency e la latenza, in termini di timestamp,del segnale di trigger: se il trigger giunge al timestamp BCO counter, il timestamp cheviene chiesto di leggere dalla matrice e BCO counter− trigger latency.

Concorrentemente alla scrittura, la FIFO manda in uscita il TS ed il trigger piuvecchi che contiene sui segnali TS FIFO out e trigger to do. Nei test effettuati finoad ora il riempimento massimo raggiunto dalla FIFO e stato di 3 locazioni di memoria;in ogni caso se la FIFO fosse piena il funzionamento non sarebbe garantito e alcuniTS rimarrebbero sulla matrice senza essere estratti ne cancellati, causando un enormeaumento dell’inefficienza: per questo si e scelto di resettare tutta la matrice in questa

37

villa
Cross-Out
non sarei per niente specifico qui. Basta dire che c'e' un altro rivelatore o un insieme di rivelatori che possono dare il trigger.
Page 38: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

7 8 9

TS = 0, trigger = 0TS = 1, trigger = 1TS = 2, trigger = 1

triggerFifo

BCO_counter

BCOclk

trigger

trigger_latency = 7

sweep TS = 2

reset TS = 0sweep TS = 1

matrix_TS_reset

reading_TS 0 1 2

sweep_on

Figura 3.8: Funzionamento dello Sweeper in modalita triggered

eventualita.

I segnali TS FIFO out e trigger to do vengono sfruttati dal processo reading, la cuifunzione e analoga al caso data-push. In questo caso, in IDLE reading attende l’arrivodi un segnale di trigger to do dalla FIFO. Se trigger to do e 0, allora (rimanendo inIDLE) in un colpo di RDclk si manda alla matrice sul segnale Reading TS il timestampTS FIFO out che deve essere cancellato e poi, nell’intervallo di clock successivo, si mandaeffettivamente il segnale di reset relativo al TS richiesto (segnale matrix TS reset). Seinvece trigger to do e 1, allora Reading TS viene portato a TS FIFO out e si mandaalla FIFO un segnale di acknowledgment cosicche essa possa aggiornare il proprio stato,poi si attende in uno stato di PRE SCAN per un intervallo di RDclk che i fast-or possanoalzarsi, infine si passa in SCAN dove lo sweep avviene in modo del tutto analogo al casodata-push.

Una importante differenza fra le due modalita e che in data-push lo sweeper aspettasempre un fronte di BCO per passare da IDLE a SCAN; in modalita triggered, invece,aspetta semplicemente l’arrivo di un nuovo trigger to do dalla FIFO. In caso di sweepbrevi e di FIFO vuota, il nuovo trigger to do arrivera di fatto dopo il fronte di BCOin maniera analoga a quanto avviene in modalita data-push; se invece la FIFO contienediversi trigger lo sweeper non aspetta il fronte di BCO per iniziare uno sweep: questoper mantenere sempre la FIFO piu vuota possibile.

3.3.2 Sparsifer

Gli Sparsifier sono i componenti dell’architettura SQUARE che si occupano di trasfor-mare i dati su timestamp e pixel colpiti estratti dalla matrice in pacchetti chiamati hit ;ce ne sono 4 collegati ad ogni sottomatrice. Nelle architetture precedenti a SORTEX, la

38

Page 39: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.3 Entita

reset

Sparsifier

RDclkcommon or from EDRO

from barrel2 enable_TC

SOS

X_idx (5:0)

data_in (63:0)

TS (7:0)

from sweeper to barrel2

data2write (3:0)

data_out (143:0)

Figura 3.9: Ingressi e uscite dello Sparsifier

sparsificazione riguardava un unico pixel ed ogni hit conteneva timestamp e coordinatedi un unico pixel; in SORTEX ed in SQUARE, per massimizzare le prestazioni nel casodi cluster verticali di pixel colpiti, si e deciso di procedere in modo diverso. I 64 pixelin ingresso a ciascuno Sparsifier sono suddivisi in 8 zone da 8 pixel; se in una zona c’eun pixel a 1, l’intera zona viene scritta nella hit in uscita. Questo non comporta alcunsovraccarico sullo sweeper, dato che le zone sono verticali e dunque tutti i pixel dellastessa zona vengono letti nel medesimo intervallo di clock. Inoltre, le hit non contengonopiu il timestamp che, grazie all’ordinamento temporale, e presente solo in una specialeparola spedita in uscita prima di tutte le hit relative ad un determinato TS. In figura3.10 e riportato il formato delle parole in uscita, formate ciascuna da 18 bit.

Timestamp

SOS=1 (TS)

X address

Zone pattern

Always '0'

SOS=0 (Hit)

0717

Start of Scan

Hit

0

1 0

0717

01

0

13

Zone Y address

16

0 0 0 0 0 0 0 0

Figura 3.10: Codifica delle hit in uscita dallo Sparsifier

Ad ogni RDclk lo Sparsifier puo scrivere da 0 ad 8 parole da 18 bit sull’uscita data out

verso il Barrel2 (in tutto, 144 bit al massimo); il numero di parole scritte e indicato sudata2write. Ad ogni ciclo di RDclk, lo Sparsifier controlla se e in arrivo un segnale diSOS; in questo caso scrive in uscita un’unica parola di 18 bit: il primo bit e lo stesso SOS

(quindi 1), gli 8 bit meno significativi contengono l’attuale TS (il segnale Reading TS

proveniente dallo Sweeper), mentre gli altri bit della parola sono inutilizzati. Se inveceSOS e 0, lo Sparsifier controlla tutte le 8 zone da 8 pixel in ingresso sul bus data in

(64 dei 256 bit complessivi del PIX DATA out relativo ad una sottomatrice). Se in una

39

Page 40: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

zona trova almeno un bit a 1 (corrispondente ad un pixel acceso), ne trascrive il patterncompleto negli 8 bit meno significativi di una delle parole in uscita; utilizza poi altri6 bit per memorizzare l’indirizzo X idx della colonna a cui appartengono i pixel e altri3 bit per indicare l’indirizzo verticale della zona. Il bit piu significativo della parola eposto a 0 per indicare che si tratta di una hit e non di uno SOS.

La sparsificazione a zona, anziche a singolo pixel, e una scelta strategica dovuta allanatura dei dati che verranno raccolti, che si presenteranno sotto forma di cluster conelevata probabilita. In particolare, l’eventualita che due pixel appartenenti alla stessazona siano accesi e abbastanza elevata da giustificare l’utilizzo della sparsificazione azona per risparmiare banda; le simulazioni fisiche effettuate hanno riscontrato che lasparsificazioen a zona dovrebbe portare ad un fattore di compressione del 15% circa.

3.3.3 Barrel2

resetRDclk

common or from EDRO

from concentrator hold

to registers

data2write (3:0)

data_in (143:0)from sparsifier

full

B2_almost_full

B2_empty

req_counter_out (4:0)

data_out (17:0)

data_validto concentrator

Barrel2

Figura 3.11: Ingressi e uscite del Barrel2

Come gia accennato in precedenza, il Barrel2 e una FIFO asimmetrica profonda 32parole di 18 bit; nell’architettura SQUARE ce n’e uno per ogni Sparsifier (quindi 4 perogni sottomatrice). Nel Barrel2 e possibile scrivere fino ad 8 locazioni di memoria inunico colpo di RDclk; in uscita (sempre in sincronia con RDclk) ne viene portata unasola alla volta. Il Barrel2 e controllabile da parte dell’elemento a valle, il Concentrator,mediante un segnale di hold.

Il codice VHDL che descriveva il Barrel2 precedentemente a questa tesi era molto sin-tetico e ad alto livello, ed era di difficile comprensione per il sintetizzatore che impiegavamolto tempo e creava una logica molto contorta per realizzarlo; riscrivere il Barrel2 inmodo piu comprensibile al sintetizzatore (e dunque sintetizzabile in un tempo minore)e stato il primo lavoro svolto nell’ambito della tesi.

3.3.4 Concentrator

Lo Sweeper assicura l’estrazione delle hit dalla sottomatrice in ordine temporale, mapoiche esse vengono scritte in quattro Barrel2 diversi, nulla vieta che le hit in uscita dai

40

Page 41: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.3 Entita

resetRDclk

common or from EDRO to registers

from barrel2

err (1:0)

data_out (17:0)

sweep_hold to sweeper

hold (3:0)

ConcentratorB2_almost_full

B2_empty

data_in (143:0)

data_valid_in (3:0)

operating_mode (1:0)from registers

data2write (2:0) to barrel1

to barrel2

Figura 3.12: Ingressi e uscite del Concentrator

quattro Barrel2 ad un dato istante appertengano a TS diversi. Per questo motivo, quan-do devono essere scritte su un unico Barrel1, e necessario che un componente separatodetto Concentrator si occupi di mantenere l’ordine temporale delle hit prima che essevengano scritte sul Barrel1.

Il Concentrator e in grado di leggere le uscite di tutti i Barrel2 nello stesso intervallodi RDclk e di scrivere fino a quattro parole nel Barrel1; il formato delle uscite delConcentrator e identico a quello delle uscite degli Sparsifier, con l’aggiunta di 2 bit cheidentificano il Barrel2 di provenienza. Il Concentrator puo funzionare in due modalitadiverse, a seconda che la coppia di bit di controllo operating mode sia posta a “00”oppure “11”. Se operating mode e “11”, il Concentrator si limita a copiare le hit egli SOS che riceve in ingresso nel Barrel1 senza effettuare alcun controllo sull’ordinetemporale.

Se operating mode e “00” (la modalita di funzionamento predefinita), il Concentra-tor usa un algoritmo sofisticato per mantenere l’ordinamento, implementato nel processoprocessing. Prima di tutto esso controlla tutti gli ingressi per verificare se sono stati rice-vuti nuovi SOS e carica in due variabili interne del processo i bit di SOS (SOS received)e i TS ricevuti (serving TS). A questo punto l’algoritmo procede in modo differente aseconda del contenuto di queste variabili:

• se tutti e quattro i bit di SOS received sono attivi, il Concentrator controlla chei quattro serving TS siano uguali (nel caso che non lo siano, imposta a “01” ilsegnale di errore err), poi scrive nel Barrel1 un’unica parola di SOS contenente ilnuovo TS.

• se solo alcuni dei quattro bit di SOS received sono attivi, i dati in input sono inparte SOS e in parte hit. In questo caso, il Concentrator attiva il segnale di holdper tutti i Barrel2 da cui ha ricevuto uno SOS e scrive in uscita le hit. Poiche ilsegnale di hold viene ricevuto dal Barrel2 con un RDclk di ritardo, puo capitareche arrivi un nuovo dato anche al clock successivo all’impostazione del Barrel2 inhold. In questo caso, la parola in ingresso viene scritta su un buffer in attesa chegli altri Barrel2 portino in uscita tutte le hit del vecchio TS.

41

Page 42: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

• se nessun bit di SOS received e attivo, tutti i dati ricevuti sono hit e possonoessere scritti sul Barrel1, a meno che il relativo Barrel2 non sia in hold. In que-st’ultimo caso anche queste hit vengono scritte su un buffer per essere recuperatesuccessivamente.

• quando da nessun Barrel2 arrivano piu dati validi perche sono tutti in hold, ilConcentrator scrive gli SOS e poi le hit memorizzate nei buffer e poi sblocca tuttie quattro i Barrel2; nel caso un Barrel2 mandi in uscita consecutivamente due SOS,la procedura viene leggermente modificata per mettere anche il secondo SOS in unbuffer (altrimenti verrebbe perso): in questo caso i Barrel2 vengono mantenuti inhold per un RDclk in piu.

3.3.5 Barrel1

resetfast_clk

common or from EDRO

from finalconcentrator

hold

to registersdata2write (2:0)

data_in (159:0)from concentrator

full

req_counter_out (7:0)

data_out (19:0)

data_validto final

concentrator

Barrel1

phase_sel (1:0)

multiplier (1:0)from registers

Figura 3.13: Ingressi e uscite del Barrel1

Il Barrel1 e una memoria FIFO asimmetrica simile al Barrel2, larga 20 bit e profonda128 parole, in cui e possibile scrivere fino a 4 parole in ingresso contemporaneamentema che puo scriverne unicamente una in uscita. Si tratta di un componente sincrono alfast clk, mentre i dati in ingresso sono sincroni con il RD clk: in ingresso al Barrel1si trova dunque il contenuto di due registri RW, phase sel e multiplier, che indicanorispettivamente la fase e la frequenza di fast clk (espressa come multiplo di quelladi RDclk): in base a questi segnali il Barrel1 puo campionare correttamente il dato iningresso. Non vi sono altre differenze significative fra il Barrel1 e il Barrel2.

3.3.6 Final Concentrator

Il Final Concentrator ha un compito concettualmente analogo a quello del Concen-trator: prendere le uscite dei quattro Barrel1 (riguardanti ciascuno una sottomatricedistinta), metterle insieme in modo da preservare l’ordinamento temporale e scriverlenel bus di output. L’algoritmo e pero leggermente diverso: in questo caso il Final Con-centrator svuota un Barrel1 alla volta finche non trova uno SOS. A questo punto mette

42

Page 43: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.3 Entita

reset

FinalConcentrator

fast_clkcommon or from EDRO

outputto EDRO

data_valid

data_out (19:0)

timeout (15:0)from registers

from barrel2B2_almost_full

B2_empty

data_in (79:0)

data_valid_in (3:0)

hold (3:0) to barrel1

to registerserr (1:0)

Figura 3.14: Ingressi e uscite del Final Concentrator

in hold il Barrel1 che stava leggendo e passa al successivo, svolgendo la medesima ope-razione. Quando ha messo tutti e quattro i Barrel1 in hold, puo ripartire dall’inizio conlo SOS successivo. L’algoritmo differente e dovuto al fatto che mentre i Barrel2 conten-gono hit appartenenti alla stessa sottomatrice, i Barrel1 contengono hit di sottomatricidiverse: si e quindi ritenuto opportuno far uscire i dati delle quattro sottomatrici senzamescolarli fra loro.

3.3.7 Slow Control

reset

Slow Control

RDclkcommon or from EDRO SDA*

SCL

chip_addr

reg_in_ro (255:0)

reg_out_ro (255:0)

reg_out_rw (255:0)

row_mask (255:0)

col_mask (191:0)

mask_col_sel (191:0)to matrix

mask_bit (191:0)

mask_row_sel (191:0)

to registers

to readout

SDA*

from registers

* = bidirectional

to EDRO

Figura 3.15: Ingressi e uscite dello Slow Control

L’architettura SQUARE prevede la comunicazione verso l’esterno con la lettura escrittura di registri interni attraverso un’interfaccia di Slow Control che segue unaversione ridotta del protocollo I2C. L’interfaccia I2C prevede la comunicazione serialefra un master (in questo caso sempre la scheda EDRO) e uno slave (il chip) identificatoda un indirizzo fisico chip addr. La comunicazione avviene su due linee: la linea SDA(bidirezionale) su cui sono trasmessi i dati seriali e un segnale di temporizzazione SCLgenerato dal master che e fatto oscillare mentre si inviano o ricevono dati.

43

Page 44: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

0x00 MSK COUNTER1 0 contatore delle operazioni di LOAD MASK (sottomatrici 1 e 0)

0x01 MSK COUNTER3 2 contatore delle operazioni di LOAD MASK (sottomatrici 3 e 2)

0x02 ERROR FLAGS flag di errore: dei concentratori (bit 13:6), di riempimentodei Barrel1 (bit 5:2), del final concentrator (bit 1:0)

0x03 HIT RATE 16 bit selezionati mediante CONFIG 0 da un registro privato a32 bit contenente il rate globale, espresso in formato unsignedcome hit count/(5 · 216 · TRDclk/SUBMAT Y SIZE)

0x08 - 0x0B B1 FILL LEVELX riempimento attuale dei Barrel1 X in formato unsigned (X =address− 0x08)

0x0C - 0x0F B1 MEAN FILLX riempimento medio del Barrel1 X in formato unsigned (X =address− 0x0C)

Tabella 3.1: Registri RO dello Slow Control

0x10 COMMAND REGISTER

Registro comandi:NO CMD 0x0000LOAD MASK0 0x0002LOAD MASK1 0x1002LOAD MASK2 0x2002LOAD MASK3 0x3002RESET TIME COUNTER 0x0003CYCLE TEST 0x0004SET MASK BIT 0x0005RESET MASK BIT 0x0006

0x11 OPERAND Operando per i comandi inseriti in COMMAND REGISTER

0x12 CONFIG 0

Registro di configurazione:Triggered/Data Push bit 13Enable Time Counter bit 12fast clk Phase bit 11:10Rate Range Selector bit 9:6Concentrator Mode bit 5:4fast clk Multiplier bit 3:2Calibration Mode bit 1Activate Pixels bit 0

0x13 CONFIG 1 Non utilizzato in SQUARE

0x14 FLUSH TIMEOUT Timeout del concentratore in periodi di fast clk

0x15 TRIGGER LAT Latenza del trigger

Tabella 3.2: Registri RW dello Slow Control

44

Page 45: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.4 Simulazioni

Mediante l’interfaccia I2C e possibile leggere 16 registri RO, mostrati in tabella 3.1, escrivere 16 registri RW, in tabella 3.2.

La entity Slow Control ne contiene al suo interno altre due: un Register File, con-tenente i 32 registri e una I2C Interface che traduce i segnali ricevuti dall’interfacciaI2C in comandi per il Register File. C’e inoltre un processo cmd parser che si occupadi eseguire i comandi inseriti attraverso lo speciale COMMAND REGISTER.

3.4 Simulazioni

Figura 3.16: Testbench per l’architettura SQUARE

Il funzionamento dell’architettura SQUARE descritta nei paragrafi precedenti e statocontrollato tramite numerose simulazioni effettuate nel software Mentor Graphics Mo-delSim SE 6.3f con un apposito testbench VHDL, costituito da un generatore MonteCarlo, un modello della matrice, l’intero architettura di readout sintetizzabile e alcuniprocessi che effettuano il log di alcuni dati utili per l’analisi dell’efficienza. Tutti i com-ponenti del testbench funzionano sincroni al clock test clk (con periodo di 1 ns), conl’eccezione della matrice che funziona con il RDclk e del readout.

Il modello della matrice affiancato all’architettura sintetizzabile di SQUARE e inVHDL ed e di tipo comportamentale1. Gli ingressi e le uscite del modello della matrice

1Questo modello, sviluppato dal gruppo di lavoro che si occupa del readout, verra in futuro pro-babilmente sostituito con un modello Verilog realizzato dal gruppo che ha sviluppato la matricefull-custom.

45

Page 46: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

sono quelli realmente presenti sulla matrice, fatta eccezione per due segnali: CMP, unvettore contenente le uscite di tutti i 49152 comparatori analogici (uno per pixel) simulatinel Monte Carlo Generator, e PXL LATCH, un vettore contentente le uscite di tutti i 49152latch in uscita verso il Monte Carlo Generator.

Figura 3.17: Distribuzione ϕ-z (y-x) dei cluster di pixel colpiti

Il Monte Carlo genera i segnali CMP sulla base di un algoritmo relativamente complesso,basato su simulazioni della reale distribuzione dei pixel colpiti. La probabilita che undeterminato pixel venga colpito (ovvero che il relativo CMP si alzi) e data da tre fattoriche si considerano incorrelati:

• la probabilita che una particella colpisca l’intero sensore in un determinato istantedi tempo, che e collegata unicamente con il rate di arrivo delle particelle. Al-l’interno del generatore Monte Carlo si fa l’assunzione che tale probabilita siadistribuita uniformemente, sebbene considerazioni di carattere fisico potrebberoin realta portare a separare la probabilita di arrivo in una componente di rumorea distribuzione uniforme e una componente di segnale con una distribuzione conun picco (ad esempio gaussiana). Ad esempio, se il rate e 100 MHz/cm2 con unsensore di 1.23 cm2, si hanno 0.123 hit/ns, ovvero ad ogni fronte di test clk laprobabilita di generare una hit e del 12.3%.

46

Page 47: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.4 Simulazioni

• la probabilita che, posto che il sensore sia stato colpito, un determinato pixel siastato il primo attraversato da una particella. Questa probabilita e consideratauniforme (quindi uguale a 1/49152) sull’intera superficie del sensore.

• la probabilita che attorno al primo pixel attraversato si sia formato un cluster dipixel anch’essi attraversati dalla medesima particella. Infatti, nel caso del pas-saggio di una singola particella, esiste una considerevole probabilita che piu di unpixel venga acceso: tramite alcune simulazioni riguardanti la fisica del sensore estato possibile valutare la probabilita che il cluster sia formato da un certo nume-ro di pixel adiacenti nella direzione assiale z dell’acceleratore (corrispondente alladirezione x del sensore) e nella direzione trasversale ϕ (y nel sensore); il risulta-to e riportato sotto forma di grafico in figura 3.17. Come si puo osservare, sonopiuttosto elevate le probabilita di cluster 2× 1, 1× 2 e 2× 2, oltre ovviamente chequella di particelle isolate.

Figura 3.18: Estrazione del pattern per uno spread 5× 5

Il meccanismo di generazione delle hit tiene conto di tutti questi fattori. Ad ogni frontedi test clk, il generatore Monte Carlo valuta se una variabile casuale di distribuzioneuniforme generata tramite la funzione random() del VHDL e o meno superiore ad unasoglia definita come 1− ratehit/ns. Se questo test viene superato significa che deve esseregenerata una hit, quindi si determina, sempre secondo una distribuzione uniforme, laposizione di un pixel sulla matrice. Si valuta poi, secondo la distribuzione dei clustervisualizzata in figura 3.17, la distribuzione x × y del cluster e a seconda del valoreottenuto si genera un pattern con questa distribuzione. Se, ad esempio, si ottiene unadistribuzione 5×5 (come in figura 3.18) si prendono due punti P1 e P2 casuali all’internodei pixel ai vertici opposti di un rettangolo di 5× 5 pixel, che corrispondono ai punti di“ingresso” e “uscita” di una particella; la retta che li collega passa per un certo numero

47

Page 48: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

di pixel che saranno quelli che formano il pattern. Questo pattern viene poi applicatoal punto della matrice precedentemente determinato (eventuali pixel fuori dalla matricevengono eliminati dal pattern).

Oltre al generatore delle hit, il testbench comprende anche diversi processi di log chesalvano su file testuali molte informazioni riguardanti la simulazione effettuata e la seriecompleta delle hit generate, dei timestamp triggerati e dei dati passati per i barrel emandati in output. L’aggiunta della modalita triggered all’architettura SQUARE harichiesto molte modifiche ai processi di logging, poiche mentre in modalita data-push esufficiente controllare che tutte le hit generate siano mandate in output e che le hit inoutput siano nell’ordine temporale corretto, in modalita triggered e necessario controllareanche che le hit in uscita siano effettivamente uguali a quelle generate e che appartenganoai timestamp richiesti e non ad altri: per questo motivo e stato necessario aggiungereai log informazioni sul tempo assoluto di generazione delle hit e sul tempo assoluto deitimestamp, e poi effettuare numerose correzioni per assicurarsi che i tempi assoluti sianocorretti in ogni circostanza. I log piu importanti generati nel testbench sono:

• run parameters.txt, in cui vengono salvati tutti i parametri di tutti i run di simu-lazione: numero del run, periodi di BCOclk, RDclk e fast clk, modalita (triggeredo data-push), latenza dei trigger, dimensioni della matrice, delle sottomatrici, deiBarrel e in generale tutti i parametri fondamentali dell’architettura SQUARE.Inoltre, si trovano qui i primi risultati sintetici riguardo alle prestazioni dell’ar-chitettura: l’inefficienza dovuta a pixel gia colpiti e, nel caso di una simulazionedata-push, l’efficienza dei Barrel e l’efficienza finale del readout; nel caso di simu-lazioni triggered le informazioni sull’efficienza del readout sono piu difficoltose daottenere e vengono calcolate da un apposito script.

• trigger report.txt, in cui viene salvata l’intera sequenza dei valori di BCO counter

associati al trigger arrivato in input al chip durante quel BCO (sempre 1 nel casodi modalita data-push) e al tempo assoluto di chiusura di un timestamp, ovverol’istante di transizione di BCO counter al valore successivo.

• gen data.txt, in cui viene salvata la sequenza delle hit generate e l’istante esattodi generazione di ciascuna di esse.

• read data out.txt, in cui e salvata la sequenza delle hit in uscita corredate dalloro timestamp.

• read raw data out.txt, che contiene i dati validi in uscita dal chip in forma-to esadecimale senza alcuna formattazione, esattamente come verrebbero letti daun’unita esterna al chip.

Per effettuare alcuni controlli (ad esempio il controllo di ordine dei timestamp) evalutare in modo corretto l’efficienza per la modalita triggered, ho sviluppato uno scriptin linguaggio Python prendendo largamente spunto da un programma C++ preesistente

48

Page 49: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.5 Ottimizzazioni

che svolge uno scopo simile per la modalita data-push. Lo script prende in input i fileprodotti dal testbench ed effettua diverse operazioni:

1. crea una lista composta dai soli timestamp triggerati, sfruttando trigger report.txt

e la latenza del trigger, fornita dall’esterno.

2. importa tutte le hit uscite dal chip da read data out.txt (nella forma di paroledi SOS e parole di hit) e crea una lista di hit tutte con relativo timestamp e unalista di tutti gli SOS.

3. controlla che la lista degli SOS in uscita sia uguale alla lista dei timestamp trigge-rati, per verificare che l’ordinamento temporale sia conservato.

4. importa tutte le hit generate da gen data.txt e le associa ciascuna al propriotimestamp preso dalla lista dei timestamp.

5. elimina le hit generate ma non triggerate dalla lista.

6. effettua un controllo incrociato fra la lista delle hit triggerate e quella delle hit inuscita: tutte le hit con uguali coordinate spaziali e temporali vengono eliminatedalle liste; il risultato e composto da due liste, una contenente tutte le hit triggeratema non lette in uscita e l’altra tutte le hit lette in uscita ma non triggerate.Entrambe le liste vengono stampate in uscita per permettere un eventuale debug.

7. calcola l’efficienza del readout come

εreadout = 1− hit in uscita ma non triggerate + hit triggerate ma non in uscita

hit triggerate

che e il 100% nel caso le hit lette in uscita siano esattamente le hit triggerate.

Il risultato di questi controlli viene salvato in un file di output eff report.txt.

3.5 Ottimizzazioni

Una parte considerevole del lavoro effettuato per questa tesi ha riguardato l’ottimiz-zazione di parti del readout gia esistenti in precedenza e descritte sinteticamente neiparagrafi precedenti, in particolare dei Barrel e dello Sweeper. Scopo principale di que-ste ottimizzazioni era quello di semplificare la sintesi di questi componenti descrivendo inmaniera piu precisa (e a livello piu basso) il loro funzionamento; precedentemente eranodescritti in maniera comportamentale e molto sintetica e questo causava alcuni problemial sintetizzatore che impiegava molto tempo ad ottimizzare l’architettura. Come effet-to positivo secondario, la massima frequenza di funzionamento di questi componenti eaumentata: essi non costituiscono piu un collo di bottiglia per il sistema.

49

villa
Sticky Note
Dove hai detto che questi componenti costituiscono il collo di bottiglia??
Page 50: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

3.5.1 Implementazione dei Barrel

Nel caso dei Barrel, il principale problema e il fatto che il Barrel e una FIFO asim-metrica in cui piu di una cella viene scritta in ingresso nello stesso intervallo di clock.Precedentemente all’ottimizzazione, questo meccanismo era descritto tramite un loop inmodo molto simile a quanto avverrebbe in un comune linguaggio di programmazione:ciascuna parola in ingresso era trattata separatamente, come si puo osservare nel codicein figura 3.19, tratto dal processo che implementa la FIFO del Barrel2 (ma il caso delBarrel1 e del tutto analogo).

-- [...]

f o r i i n 0 to N_BARREL_YZONE -1 l oopi f i < to_integer(data2write) then

i f req_counter < B2_DEPTH thenRAM(to_integer(wr_addr )) <= data_in(i);

wr_addr := wr_addr + to_unsigned (1, B2_ADDR_WIDTH );

req_counter := req_counter +1;

end i f ;end i f ;

end loop ;

-- [...]

Figura 3.19: Loop responsabile di difficolta di sintesi nel Barrel2

Il sintetizzatore non riesce a fare di meglio che trattare un loop come questo in ma-niera ricorsiva: in altre parole l’operazione di scrittura di ciascuna parola dipende daquelle di tutte le precedenti. Le variabili wr addr e req counter devono infatti esserepropagate da ogni livello al successivo, tutte le volte incrementate di 1, ed ogni livellosfrutta entrambi i segnali per scrivere la parola nei registri della FIFO. Chiaramentequesto metodo non e per nulla efficiente: di per se srotolare un loop di questo generenon e banale, inoltre viene generata una grande quantita di logica del tutto non neces-saria che rende il percorso da registro a registro estremamente lungo. Il sintetizzatoreimpiega dunque molto tempo per ottimizzare questa logica e farla rientrare nei vincolitemporali prestabiliti. Il risultato finale e che la presenza di Barrel non ottimizzati ral-lenta fortemente la sintesi del chip nel suo complesso, che contiene ben 16 Barrel2 e 4Barrel1.

Per migliorare il Barrel non e necessario effettuare modifiche sostanziali al suo fun-zionamento, ma e sufficientemente migliorarne la descrizione eliminando la pericolosacatena di segnale che si propaga per tutti gli 8 livelli (4 nel caso del Barrel1) e rendendola logica assolutamente parallela: in figura 3.20 e mostrato il risultato. Prima di tutto,il numero di dati di scrivere viene limitato in modo da non superare la capienza delBarrel. Poi, anziche usare un unico indirizzo wr addr, si usa un vettore di indirizzi esi inseriscono in parallelo tutti i dati nella FIFO. Il contatore del riempimento viene

50

Page 51: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.5 Ottimizzazioni

direttamente incrementato del numero di dati da scrivere, cosı come tutti gli elementidel vettore di indirizzi.

-- [...]

i f (req_counter + to_integer(data2write) - 1) < B2_DEPTH thendata_ovfl := data2write;

e l s edata_ovfl := to_unsigned(B2_DEPTH -req_counter ,

BARREL_YZONE_ADDRESS_WIDTH +1);

end i f ;f o r i i n 0 to N_BARREL_YZONE -1 l oop

i f i < data_ovfl thenRAM(to_integer(wr_addr(i))) <= data_in(i);

end i f ;end loop ; -- i

req_counter := req_counter + to_integer(data_ovfl );

f o r i i n 0 to N_BARREL_YZONE -1 l oopwr_addr(i) := wr_addr(i) + data_ovfl;

end loop ; -- i

-- [...]

Figura 3.20: Loop corretto nel Barrel2

Il sintetizzatore implementa questo codice come 8 scritture (4 nel caso del Barrel1)parallele e del tutto indipendenti fra loro. Non c’e alcun segnale che viene modificatoun grande numero di volte prima di essere registrato, e la quantita di logica combi-natoria presente nel Barrel e considerevolmente minore: in questo modo i Barrel noncostituiscono piu un ostacolo per l’ottimizzazione del sistema, che puo procedere moltopiu rapidamente.

3.5.2 Implementazione dello Sweeper

Lo Sweeper e uno degli elementi centrali dell’architettura nonche uno dei piu complessi,cosa che rende fondamentale la sua ottimizzazione per poter sintetizzare l’architettura nelmodo piu rapido possibile e con il minor utilizzo di celle possibile. Il principale problemanella prima stesura dello Sweeper stava nel modo generico (visibile in figura 3.21 con cuiveniva descritta l’operazione di sweep di tutte le colonne volta ad individuare, in unicociclo di RDclk, la colonna di indice piu basso con fast-or attivo e non ancora letta.

Un loop come questo, banale in un normale linguaggio di programmazione, non efacilmente interpretabile da parte del sintetizzatore. Il ciclo, essendo interno ad un pro-cesso, deve infatti essere interamente eseguito dopo un singolo fronte di clock. Come nelcaso dei Barrel, il problema sta nel fatto che questo codice genera una struttura ricorsi-va, in cui la scelta dell’operazione da compiere sull’ultima colonna dipende dall’esito di

51

Page 52: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

-- [...]

looping : f o r i i n 0 to SUBMAT_X_SIZE -1 l oopi f FastOR_masked(i) = ’1’ and already_read(i) = ’0’ then

sweep_on <= ’1’;

already_read(i) <= ’1’;

X_idx_int <= to_unsigned(i,SUBMAT_X_ADDRESS_WIDTH );

col_ena(i) <= ’1’;

new_col_found := ’1’;

e x i t looping;

end i f ;end loop ;

-- [...]

Figura 3.21: Loop non ottimizzato nello Sweeper

tutte le operazioni compiute sulle 47 colonne precedenti. Il problema e particolarmenteinsidioso poiche il segnale che si propaga e viene modificato in tutti i 48 livelli non edefinito esplicitamente, ma dipende dal comando exit looping. Il sintetizzatore, unavolta tradotto il codice in questa lunghissima catena di segnale, provvede a cercare dimigliorarla, ma da una soluzione cosı poco ottimizzata non puo ottenere quella ottimae nemmeno avvicinarcisi.

Anche in questo caso, come per i Barrel, la soluzione sta nell’aumentare il paralleli-smo. Non esiste alcun motivo per cui cio che accade sull’ultima colonna debba dipenderedall’operazione compiuta su tutte le altre; in realta cio che interessa e semplicementedefinire una precedenza per cui le hit che vengono da colonne di indice piu basso de-vono essere estratte prima. La soluzione elaborata dopo un certo numero di tentativie una soluzione generale, che sfrutta uno schema ad albero fortemente parametrizzato(e possibile variare il numero dei “rami” e il numero di elementi elaborativi per ogni“ramo” cambiamndo parametri). La soluzione migliore fra quelle trovate e quella adalbero puramente binario.

Il problema puo essere trattato in modo semplice ma molto generale. Nelle figure3.22 e 3.23 sono mostrati i due schemi generali a cui si possono far risalire le due diver-se implementazioni dello Sweeper. Nel primo schema, quello usato dalla versione nonottimizzata, si hanno solamente N blocchi combinatori, ma la struttura e fortementeasimmetrica: il segnale in blu arriva a destinazione immediatamente e il suo percorsoprima di arrivare all’ultimo blocco elaborativo ha lunghezza 1, mentre il segnale in rossodeve passare per tutti i blocchi elaborativi precedenti prima di arrivare all’ultimo bloccoe quindi il suo percorso ha lunghezza N . Nel caso dello Sweeper, N e 48 (il numerodelle colonne). Il secondo schema e invece strutturato in modo del tutto simmetrico, adalbero binario: si ricava rapidamente che tutti i percorsi hanno la medesima lunghezzaceil(log2N) + 1, pari al numero di livelli dell’albero (N e sempre il numero dei blocchi di

52

villa
Highlight
Page 53: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.5 Ottimizzazioni

1 2 3 4

depends on1,2,3,4max path = N = 4

Figura 3.22: Elaborazione con schema sequenziale

1 2 3 4

A

depends on1,2,3,4

α

A

path = log N + 1 = 32

Figura 3.23: Elaborazione con schema ad albero

53

Page 54: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

primo livello). Per N elevato, il percorso di segnale e molto piu breve che nella strutturasequenziale: per N = 48,

path = ceil (log2N) + 1 = ceil(5.585) + 1 = 7� 48

Il prezzo per questa notevole riduzione del percorso di segnale e l’aumento della richiestadi risorse computazionali e dell’area occupata. Infatti, se per brevita n = ceil(log2N)+1,il numero di blocchi combinatori non e piu N ma

ceil

(n−1∑i=0

N

2i

)= ceil

(N

n−1∑i=0

1

2i

)=

= ceil

(N

∑n−1i=0 2i

2n−1

)=

= ceil

(N

2n − 1

2n−1

)che, per N = 48 (n = 7), e 96, esattamente il doppio dei blocchi utilizzati nella ver-sione sequenziale. Bisogna pero osservare che nel primo caso il sintetizzatore potrebbeeffettuare durante la fase di ottimizzazione operazioni quali inserire dei buffer al soloscopo di ritardare i segnali con il percorso piu breve o inserire altra logica per velociz-zare lo Sweeper trasformando il sistema in una via di mezzo fra i due descritti. Questaoperazione e pero svolta con metodi euristici: richiede tempo e non garantisce risultatiottimali; se si parte direttamente da un sistema strutturato in modo piu simmetrico, ilsintetizzatore ha molte meno difficolta a far rientrare tutti i segnali nei vincoli di setupe hold.

Seguendo questa tecnica, il loop descritto precedentemente e stato trasformato inun albero, implementato in VHDL strutturale attraverso le entity sweepLevel0 (peril primo livello dell’albero) e sweepLevelI (per tutti gli altri livelli); per ottenere lamassima generalita la struttura dell’albero, ovvero il numero delle diramazioni per livello,puo essere modificata per ogni singolo livello agendo su una serie di parametri. Non einfatti assicurato che la soluzione ad albero binario descritta precedentemente sia perforza la piu conveniente; alberi con piu diramazioni e meno livelli potrebbero risultare uncompromesso migliore. L’algoritmo utilizzato e il seguente, illustrato in figura 3.24 (con8 colonne): ciascuno degli mp blocchi di livello p prende in input np bit di FastOR masked

(dove np e sempre 2 per l’albero puramente binario, e negli altri casi e una potenza di 2)e np indirizzi a kp bit, corrispondenti agli n bit di FastOR masked; i kp bit costituisconola componente dell’indirizzo elaborata dai livelli precedenti. In uscita, ciascun bloccorestituisce un singolo bit che e l’or di tutti gli n bit in ingresso e un indirizzo a kp+1 =log2mp + kp bit costituito dal numero del blocco concatenato con l’indirizzo del bloccocon FastOR a 1 di indirizzo piu basso fra quelli in ingresso. Di conseguenza, ciascunlivello p manda al livello successivo p+ 1 in tutto np+1 = mp bit e indirizzi.

54

Page 55: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.5 Ottimizzazioni

11 10 01 00

1 0

0 11 0 0 01 1FastOR_masked and not already_read:

1 0 1 0 1 0 1 0

1 1 01111 100 010 00-

1 11111 0010

X_idx = 00101new_col_found =

Figura 3.24: Albero binario utilizzato nello Sweeper

In cima all’albero vengono forniti in input i FastOR masked, messi in and con un flagalready read, che lo Sweeper attiva quando ha completato la lettura di una determi-nata colonna. L’albero puo essere costruito in modo automatico solo se tutti i livellihanno un numero di rami che e una potenza di 2, quindi in realta al FastOR masked

devono essere aggiunti 16 bit collegati a massa: essi risulteranno in una parte dell’alberoche dara sempre 0 come risultato e sara dunque eliminata automaticamente dal sinte-tizzatore. Questo “trucco” semplifica molto l’implementazione e permette di renderlaassolutamente generale e dipendente solo da un ristretto numero di parametri, cambian-do i quali non e necessario riscrivere il codice dell’albero. In uscita, in fondo all’albero,si trova un bit new col found che indica se e stata trovata una nuova colonna ancora daleggere e l’indirizzo X idx della colonna di indirizzo piu basso ancora da leggere, ottenutadalla concatenazione di tutti gli indirizzi effettuata livello per livello.

L’implementazione di questo albero in modo generale ha richiesto molto tempo, maha permesso di effettuare alcune prove i cui risultati esatti sono riportati nel paragraforiguardante le performance del chip; le due versioni migliori dell’albero sono risultatel’albero completamente binario e un albero in cui tutti i rami sono binari ad eccezionedell’ultimo livello, che e quaternario. E probabile che aumentando il numero delle co-

55

Page 56: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

lonne e dunque dei livelli, un albero con alcuni rami quaternari (gli ultimi) risulti piuo altrettanto conveniente dell’albero binario per via del minore percorso medio dei varisegnali.

3.5.3 Problematiche relative al clocking

I principali segnali di clock e di temporizzazione utilizzati dal chip e dal suo testbenchVHDL sono cinque:

• RDclk, il clock sfruttato dalla maggior parte del readout (Sweeper, Sparsifiers,Barrel2, Concentrators), e fornito al chip dall’esterno e viene generato nel DAQ. Ilperiodo di RDclk che ho utilizzato nelle mie simulazioni varia tra i 20 e i 15ns (tra50 e 70 MHz circa), anche se si spera di poter mantenere il chip ben funzionantecon frequenze fino a 100 MHz (per maggiori dettagli, vedi il successivo paragraforiguardante le performance del chip).

• fast clk, il clock a cui lavorano il Barrel1 e il Final Concentrator, e generatoinsieme al RDclk con cui e sincrono. La sua frequenza e legata da un moltiplicatore(che puo assumere valore 1, 2 o 4) a quella di RDclk; difficilmente potra in ognicaso superare i 250 MHz.

• BCOclk e il segnale di temporizzazione che definisce la granularita temporale delsensore. Il BCOclk e generato dall’acceleratore stesso per pilotare tutti gli strumentidi rivelazione, e giunge al chip attraverso il DAQ come un segnale completamenteasincrono con RDclk, per cui esso e sincronizzato all’ingresso. Il periodo di BCOdovrebbe essere fra 100 e 200 ns.

• SCL e il clock dello slow control, utilizzato per fornire al chip la temporizzazionedella linea di comunicazione SDA secondo una versione ridotta del protocollo I2C.Nel testbench attualmente utilizzato il suo periodo e fissato a 8 volte quello diRDclk; in ogni caso la comunicazione I2C avverra a una velocita sensibilmenteminore rispetto a quella del readout. In assenza di lettura o scrittura dei registrida parte del sistema di DAQ, SCL e mantenuto basso per risparmiare potenza.

• test clk e il clock sfruttato all’interno del testbench e del generatore di hitMontecarlo; il suo periodo e di 1 ns.

Il significativo numero di segnali di clock separati (e fra loro asincroni) ha richiestouna certa attenzione in fase di progettazione e di simulazione dell’architettura SQUARE.Il simulatore VHDL infatti interpreta il medesimo codice in modo differente a secondache due segnali siano figli del medesimo albero di clock oppure no. Ad esempio, ilcodice in figura 3.26 e il modo standard per codificare un flip-flop in VHDL; tuttavia ilfunzionamento come flip-flop di questo codice presuppone che D sia un segnale generatoda un altro processo sincrono con C, e che quindi sia ritardato rispetto ad esso di un

56

Page 57: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.5 Ottimizzazioni

Figura 3.25: Segnali di temporizzazione nell’architettura SQUARE e nel suo testbench

microstep δ. Se invece C e D sono fra loro asincroni e non sfasati (ovvero generati dalsimulatore senza alcuno sfasamento, ma da processi incorrelati), D non e ritardato di unmicrostep rispetto a C e quindi, nel caso C e D abbiano un fronte nello stesso istante ditempo, il valore inserito in Q non e ritardato di un periodo di C come ci si aspetterebbeda un flip-flop. Il flip-flop si comporta allora piu come un latch.

DFF: p r o c e s s (CLR , C):

begini f CLR=’1’ then

Q <= ’0’;

e l s i f C’event and C=’1’ then -- il flip -flop e’ un latch

Q <= D; -- trasparente sui fronti di

end i f ; -- salita di C

end p r o c e s s ;

Figura 3.26: Flip-flop D in VHDL

Questo era precisamente cio che accadeva quando si campionava BCOclk all’internodell’architettura: poiche BCOclk e RDclk sono generati in modo asincrono ma senza al-cuno sfasamento, parte del codice interno all’architettura (in particolare nello sweeper),quando campionava BCOclk, riceveva in uscita lo stesso BCOclk dell’ingresso sincronizza-to con RDclk ma senza alcun ritardo. Questo comportamento ovviamente non e corretto,basandosi sull’assunzione propria del simulatore che i fronti di salita abbiano una du-rata “nulla” (ovvero pari ad un microstep δ), e puo portare ad un sistema sintetizzatofunzionalmente diverso da quello simulato prima della sintesi, oltre a sfasamenti nell’as-segnamento dei timestamp che abbiamo riscontrato all’interno del testbench. Per questomotivo, tutti i segnali in ingresso al chip, compresi i segnali di temporizzazione, sonostati sincronizzati al loro ingresso nel chip ai due clock principali del readout, ovveroRDclk e fast clk, mediante inserimento in una serie di due flip-flop. La transizione daldominio di RDclk (la parte piu interna del readout) a quello di fast clk (gli stadi diuscita) e gestita all’interno del Barrel1.

57

Page 58: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

La sincronizzazione di tutti i segnali ai due clock principali ovviamente non e dovutasolo ad esigenze di simulazione, ma anche a caratteristiche del sistema in cui il chip verraeffettivamente utilizzato. Il BCOclk e un segnale periodico di origine fisica generatodall’acceleratore stesso e dunque puo arrivare al chip sfasato e, anche se inizialmentesincrono con il RDclk, puo perdere sincronia: per questo motivo la scelta di sincronizzareBCOclk con una serie di due flip-flop e inevitabile. Di conseguenza, il BCOclk visibile dalreadout e certamente ritardato rispetto al reale segnale di BCO (che pilota anche moltealtre parti del rivelatore); i dati che arrivano nell’intervallo di tempo fra un fronte del veroBCO e quello del BCOclk interno verranno assegnati ad un timestamp errato. Inoltre,se il segnale di BCO ha un periodo che non e un multiplo esatto del periodo di RDclk,si ha un segnale BCOclk interno piu complesso, in cui i fronti di salita si susseguono inmodo regolare ma non uniforme: ad esempio, nel caso TBCO = 200 ns, TRDclk = 18 ns,i fronti di BCOclk sono otto volto separati da 198 ns, poi una volta da 216 ns, poi dinuovo otto volte da 198 ns e cosı via. La conseguenza di questa disomogeneita e che itimestamp non hanno piu tutti una durata fissa e pari al periodo del BCO esterno, mauna durata variabile che in media e pari al periodo di BCO. In altre parole, il segnaleinterno di BCOclk puo essere affetto da jitter; si tratta di un fenomeno sgradito ma nondevastante (per quanto riguarda il funzionamento del readout) in quanto BCOclk non emai utilizzato come clock di un registro.

3.6 Performance

3.6.1 Prestazioni dell’architettura di readout SQUARE

In tabella 3.3 sono riportate sinteticamente alcune caratteristiche dei readout nell’ar-chitettura SQUARE, nei chip di readout dei vertex tracker degli esperimenti ATLAS eCMS e dell’implementazione a striplets del Layer0 di SuperB. In questo modo e possi-bile effettuare un (pur incompleto) confronto delle diverse soluzioni adottate. ATLAS eCMS lavorano con una risoluzione temporale molto spinta, pari o addirittura superioreal clock del readout che, per ATLAS, e 20 MHz per quanto riguarda l’estrazione delle hit;al contrario l’architettura SQUARE ha specifiche meno stringenti sul periodo di BC e lasua massima frequenza di funzionamento, con RDclk a 100 MHz, e piu elevata delle altre.Inoltre, l’architettura SQUARE e dotata della piu elevata banda massima in uscita, ilche e sia un vantaggio che uno svantaggio: un vantaggio poiche e in grado di far usciregrandi quantita di dati rapidamente verso una scheda esterna dotata di grande quantitadi memoria, rimanendo dunque funzionale anche a rate elevati; uno svantaggio poiche ri-chiede ovviamente collegamenti piu costosi. Rispetto alle altre architetture, SQUARE eanche dotata della massima risoluzione spaziale e, per via dell’elevata quantita di canali,della minima occupancy da rumore di fondo. La diversa struttura e il diverso utilizzodei sensori portano a tecniche di estrazione diverse: mista per l’architettura SQUARE,solo triggered per ATLAS e CMS dove i BC si susseguono piu rapidamente e data-push,

58

Page 59: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

3.6 Performance

SQ

UA

RE

AT

LA

SC

MS

Layer0

Str

iple

t

Rea

dou

tf m

ax

100

MH

z20

MH

z40

MH

z70

MH

z

Max

outp

ut

ban

dw

idth

4G

bit/s

160

Mb

it/s

@M

CC

6le

vels

@40

MH

z(a

nalo

g)

840

Mb

it/s

BC

per

iod

150

ns

25

ns

25

ns

132

ns

Ch

ann

els

192×

256

pix

el18×

180

pix

el53×

52

pix

el1525

stri

ple

ts×

2si

des

Ch

ann

eld

imen

sion

s50

µm×

50µm

50µm×

180µm

100µm×

150µm

50µm×

1.83

cm

Typ

eD

ata-

pu

shor

trig

gere

dT

rigger

edT

rigger

edD

ata

-pu

sh,

toke

n-p

ass

ing

Tri

gger

late

ncy

6µs

3.2µs

3.2µs

-

Tab

ella

3.3:

Pre

staz

ioni

del

l’ar

chit

ettu

raSQ

UA

RE

,dei

read

out

di

AT

LA

Se

CM

Se

del

Lay

er0

aStr

iple

tdi

Sup

erB

59

Page 60: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Capitolo 3 Il chip SuperPix1

ma anche token-passing, nel sensore a striplet che ha un numero di canali decisamenteinferiore a quello utilizzato nell’architettura SQUARE.

(???) -¿ perche, pur avendo luminosita 100 volte minore, ATLAS riporta per il proprioLayer0 un rate (massimo) di 116 MHz/cm2 ?

3.6.2 Risultati delle simulazioni funzionali (pre-sintesi)

3.6.3 Risultati delle ottimizzazioni (post-sintesi)

60

villa
Sticky Note
La faccenda e' complicata. Essenzialmente la luminosita' non e' l'unico parametro. Entra in gioco anche la sezione d'urto che ad LHC (urti pp ad alta energia) e' molto piu' grande rispetto a SuperB (urti ee a bassa energia).
Page 61: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Conclusione

Il mio lavoro di tesi si e svolto in diversi fasi: dapprima ho lavorato solo su una porzionelimitata del readout di SuperPix1, ovvero sui Barrel e sullo Sweeper, implementandoli inmodo maggiormente parallelo per semplificarli e ridurne considerevolmente il tempo disintesi. Entrambe le ottimizzazioni, in particolare quella dello Sweeper, hanno richiestoun notevole impegno e diversi tentativi per cercare di elaborare il metodo migliore perreimplementare le funzionalita richieste.

Successivamente mi e stato assegnato il compito di implementare all’interno delloSweeper una funzionalita del tutto nuova, ovvero la modalita triggered. Ho dunqueaggiunto allo Sweeper un nuovo processo che implementa una piccola coda FIFO per itrigger in arrivo e ho esteso la macchina a stati dello Sweeper in modo da funzionare inmodo del tutto trasparente anche in modalita triggered. Si e scelto di non inserire unbuffer per estrarre subito le hit dalla matrice mentre si attende di sapere se sono trigge-rate o no perche la latenza dei trigger, dell’ordine dei 6 µs ovvero circa una quarantinadi BCO, e abbastanza elevata da richiedere un buffer molto ampio: si e ritenuto che laperdita di efficienza dovuta alla latenza non fosse tale da far convenire l’inserimento diuna simile quantita di memoria.

(WIP)

61

Page 62: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea
Page 63: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Ringraziamenti

63

Page 64: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea
Page 65: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Bibliografia

[1] M. Bona, E. Grauges et al., SuperB - A High-Luminosity Heavy Flavour Factory -Conceptual Design Report. Marzo 2007.

[2] G. Aad, M. Ackers et al., “ATLAS pixel detector electronics and sensors”. Insti-tute of Physics Publishing and SISSA Luglio 2008. http://iopscience.iop.org/1748-0221/3/07/P07007.

[3] E. Grauges, G. Donvito et al., SuperB Progress Reports - Detector. Luglio 2010.

[4] A. Gabrielli, F. M. Giorgi e M. Villa, High-Efficiency Digital Readout Systems forFast Pixel-Based Vertex Detectors. Scyio (in via di pubblicazione), 2010.

[5] F. M. Giorgi, “SVT - Pixel Layer0 Readout Architectures”. Presentazione al XIIISuperB General Meeting, Giugno 2010.

[6] G. Casarosa, “Thin pixel development for the SuperB Silicon Vertex Tracker”. 2010.

[7] S. Bettarini, L. Ratti et al., “The SLIM5 low mass silicon tracker demon-strator”. Nuclear Instruments and Methods in Physics Research Section A: Ac-celerators, Spectrometers, Detectors and Associated Equipment vol. 623, 2010.doi:10.1016/j.nima.2010.08.026.

[8] S. Ferretti, “Rivelatori a pixel monolitici attivi per la tracciatura di particelle cariche:principio di funzionamento e caratterizzazione”. Tesi di laurea triennale in Fisica,Universita di Pisa - Facolta di Scienze Matematiche, Fisiche e Naturali, 2009.

[9] F. Fuzzi, “Progettazione di readout digitale veloce di matrici a pixel integrato suASIC per applicazioni in fisica di alta energia”. Tesi di laurea triennale in Ingegneriaelettronica, Universita di Bologna - Facolta di Ingegneria, 2009.

[10] A. Cremonini, “Sistemi di lettura di matrici di pixel: dai CCD ai rivelatori diparticelle”. Tesi di laurea triennale in Ingegneria elettronica, Universita di Bologna,2010.

[11] R. Turchetta, J. D. Berst et al., “A monolithic active pixel sensor for charged particletracking and imaging using standard VLSI CMOS technology”. Nuclear Instrumentsand Methods in Physics Research Section A: Accelerators, Spectrometers, Detectorsand Associated Equipment vol. 458, 2001. doi:10.1016/S0168-9002(00)00893-7.

65

Page 66: Universit a degli Studi di Bologna - Istituto Nazionale di Fisica … Universit a degli Studi di Bologna Facolta di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di laurea

Bibliografia

[12] ModelSim SE 6 Reference Manual. Mentor Graphics, Marzo 2008.

[13] A. Gabrielli, M. Villa e F. M. Giorgi, FE4D128x32 - The Readout Data Sheet andUser Guide. Novembre 2009.

[14] J. M. Rabaey, A. Chandrakasan e B. Nikolic, Circuiti integrati digitali - L’ottica delprogettista. Pearson Education, Settembre 2005.

66