Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
“LA SAPIENZA”
DISSERTAZIONE
1
Relatore
Candidato
2
3
INDICE
Introduzione
4
1.3.3 I dispositivi di tipo FPGA
5
2.4.3 Conclusioni sul danno da radiazioni
Conclusione
Appendice A – Acronimi
Bibliografia
6
7
Introduzione
L’elettronica, per ovvi motivi, gioca un ruolo di primo piano nel mondo moderno
e in particolar modo nella fisica sperimentale. Col passare degli anni i dispositivi
elettronici sono divenuti sempre più efficienti, veloci piccoli e flessibili, grazie
anche a queste migliorie sono stati realizzati strumenti sempre più raffinati e
sofisticati che hanno apportato un grande contributo alla ricerca sperimentale.
In particolar modo l’esigenza di flessibilità ha portato allo sviluppo di dispositivi
programmabili, o riconfigurabili, dall’utente, tra i quali, quelli di tipo FPGA sono
tra i più usati.
I vantaggi di un dispositivo riprogrammabile sono innanzitutto relativi
all’affidabilità e alla flessibilità. Più affidabile per via dell’integrazione maggiore
e quindi per il minor numero di interconnessioni e interfacce esterne, rispetto a un
dispositivo implementato tramite logica cablata. Più flessibile perché può essere
riprogrammato, quindi usato in ambiti diversi.
Inoltre, quando non è richiesto un gran numero di dispositivi che implementino lo
stesso sistema digitale, il costo del singolo dispositivo non programmabile, risulta
molto maggiore rispetto al corrispondente riconfigurabile.
I dispositivi di tipo FPGA hanno dimostrato delle ottime prestazioni e ormai
vengono utilizzati normalmente per implementare una buona parte dell’elettronica
nei laboratori e nei satelliti.
Spesso, negli esperimenti di fisica, i dispositivi elettronici sono utilizzati in
ambienti radioattivi; di conseguenza sono soggetti a forti sollecitazioni e incorrono
in danni, spesso significativi, che possono alterarne il funzionamento sino a
renderli inoperativi o, nel caso di errori temporanei, alterare in maniera grave i dati
contenuti e rielaborati dal sistema .
Negli anni passati è stato affrontato con molta attenzione il problema della
tolleranza dell’elettronica alle radiazioni, e in letteratura è possibile trovare molti
dati e informazioni relative al comportamento dei dispositivi elettronici in
ambienti radioattivi e alle soluzioni progettuali trovate per ovviare ai problemi che
insorgono con l’esposizione a radiazioni .
Nel primo capitolo di questo lavoro si espongono le tecnologia alla base
dell’elettronica digitale e come dalla logica cablata si sia arrivati ai vari tipi di
dispositivi logici programmabili. Nella seconda parte di questo capitolo, si
analizza la struttura dei circuiti integrati più diffusi, distinguendo quelli di tipo
FPGA da quelli di tipo CPLD.
Il secondo capitolo ha come scopo quello di descrivere il tipo di radiazioni a cui è
soggetta l’elettronica negli esperimenti di fisica e i processi che avvengono
all’interno dei dispositivi e che con l’andare del tempo ne degradano i parametri di
funzionamento sino, in certi casi, alla disfunzione totale.
Dopo aver descritto i processi che influenzano il funzionamento dell’elettronica e
quindi anche dei dispositivi di tipo FPGA, vengono esposte alcune soluzioni
tecnologiche per ovviare a questi problemi.
8
Nell’ultimo capitolo di questo lavoro, viene sviluppato un progetto di una
macchina a stati, implementata tramite il sistema di sviluppo proprietario
dell’Altera, Max + Plus II. Tale macchina a stati, da me progettata, prevede,
inoltre, un sistema di controllo degli errori che permette di rilevare un tipo di
errore molto frequente nei dispositivi programmabili sottoposti a radiazione, e, se
possibile nel caso di errore singolo, correggerlo.
9
CAPITOLO 1
DAI COMPONENTI DISCRETI AI DISPOSITIVI PROGRAMMABILI.
10
La differenza fondamentale tra questi due gruppi è di natura tecnologica, mentre i
primi sfruttano i diodi e i transistor a giunzione per realizzare il singolo elemento
logico, il secondo gruppo utilizza come tecnologia i MOSFET (Metal Oxide
Semiconductor Field Effect Transitor). Ciò comporta una differenza di base molto
importante, che influisce in maniera rilevante sul comportamento del singolo
elemento logico. Mentre nelle famiglie del primo gruppo la corrente circolante nel
circuito è funzione dei portatori di maggioranza e di minoranza, nel secondo
gruppo essa risulta essere funzione solo dei portatori di maggioranza.
Le famiglie TTL e MOS sono quelle più popolari; in commercio, è possibile
reperirne diverse serie; per esempio per la TTL:
1. H (HIGH SPEED)
2. LS (LOW POWER SCHOTTKY)
3. ALS (ADVANCED LOW POWER SCHOTTKY)
4. F (FAST)
Per la famiglia MOS, invece, abbiamo:
1. N (che sfrutta i MOSFET di tipo n)
2. P (che sfrutta i MOSFET di tipo p)
3. C (Complementary MOS)
4. HCT (High speed CMOS, TTL compatibile)
I parametri che caratterizzano le famiglie logiche sono: tpd (tempo di propagazione
del segnale),Pd (dissipazione di potenza), il loro prodotto tpdxPd, tensioni dei livelli
logici in ingresso e uscita e relative correnti(VIH; VIL;VOH; VOL; IIH,IIL…)1, F/I (fan
in, cioè numero di ingressi di porta logica), F/O (Fan Out, numero massimo di
ingressi appartenenti a circuiti della stessa famiglia logica che possono essere
collegati alla singola uscita di un circuito senza che i livelli di tensione siano nella
zona di incertezza), fmax (frequenza massima di lavoro) e N.I. (Noise Immunity,
ovvero l’immunità ai disturbi).
La famiglia logica TTL è quella maggiormente impiegata nei progetti a SSI (Small
Scale Integration) e MSI (Medium Scale Integration)2.L’elemento circuitale, con
1
VIH = tensione di ingresso per il riconoscimento del livello logico alto ; VIL= tensione di ingresso per il riconoscimento del livello logico
basso;VOH=tensione di uscita per il riconoscimento del livello logico alto; …
2
SSI (Small-Scale Integration): Fino a 10 porte logiche per chip
MSI (Medium- Scale Integration): Da 10 a 100 porte logiche per chip
LSI (Large- Scale Integration): Da 100 a 1000 porte logiche per chip
VLSI (Very Large- Scale Integration): Da 10000 a 100000 porte logiche per chip
11
cui sono realizzate tutte le porte logiche nella famiglia TTL, è il transistor bipolare
a giunzione (BJT), che viene pilotato in corrente. Le famiglie logiche TTL riescono
ad avere tempi di commutazione abbastanza rapidi, in particolare la serie F(tpd ≈ 3
ns), di contro però, hanno degli assorbimenti di potenza piuttosto elevati (Pd ≈
4mW) e non possono essere usati nei progetti ad elevata integrazione, a causa
dell’area occupata dal singolo componente.
Consideriamo due configurazioni di uscita per gli elementi della famiglia TTL:
Emettitore Comune (CE)
Totem-Pole
Un’uscita TTL agisce come un pozzo di corrente nello stato basso, in quanto riceve
la corrente dall’ingresso della porta che sta pilotando; mentre, nello stato alto,
agisce da sorgente di corrente.
Di seguito riportiamo lo schematico di una porta NAND (fig. 1) nella
configurazione Totem Pole. Questo schematico può essere diviso in tre stadi:
Stadio di Ingresso
Stadio di sfasamento
Stadio di uscita
Nello stadio di ingresso si
Fig. 1-
Porta Nand trova un transistor multi-
Totem Pole.
emettitore (T1), con una
resistenza di ingresso
bassa, che si trova sul pin
in entrata. Il collettore
del transistor T1 è
connesso al transistore
T2, che si trova nello
stadio di sfasamento.
Quando uno qualsiasi dei segnali in ingresso è nello stato logico basso, si ha che la
giunzione base-emettitore è polarizzata direttamente e il transistor T1, di ingresso,
conduce, ponendo così il transistor T2 in interdizione. Dall’elemento T2 si arriva
allo stadio d’uscita “Totem Pole”, che si chiama così per il posizionamento dei due
transistor posti in tale stadio. T2 fornisce a questi due transistor delle differenze di
ULSI (Ultra Large- Scale Integration): Più di 100000 porte logiche per chip
12
potenziale complementari, grazie alle quali i due transistor dello stadio di uscita,
T3 e T4, si trovano sempre in due stati differenti, infatti quando uno di questi si
trova nello stato di saturazione, e quindi conduce, l’altro è in interdizione. L’unica
differenza tra la configurazione a emettitore comune e quella “totem pole”, è che
nella configurazione CE, sono assenti i transistori T3 e T4 e l’uscita viene prelevata
direttamente dal transistore T2(avendo eliminato, altresì R4,3 sostituendola con un
cortocircuito). Il vantaggio principale della configurazione “totem pole”, rispetto a
CE, consiste principalmente nell’equalizzazione dell’andamento temporale
sull’uscita nelle due commutazioni alto-basso e basso-alto. Infatti la resistenza di
uscita varia a seconda dello stato in cui si trova il transistor, di conseguenza varia la
costante di tempo τ del transistor e quindi anche la durata temporale della
commutazione. Quando il transistor si trova nello stato di saturazione la resistenza
di uscita è più bassa di quella che avrebbe se si trovasse nello stato di interdizione,
di conseguenza la transizione che porta dallo stato di saturazione a quello di
interdizione avviene più velocemente di quella che invece dallo stato di
interdizione fa assumere al transistor lo stato di saturazione. Nella configurazione
totem pole si hanno due transistor in uscita che si trovano sempre in due stati
diversi per cui, la resistenza d’uscita rimane costante e i tempi di commutazione
risultano uguali per entrambe le transizioni.
L’elemento circuitale, invece, con cui sono realizzate le porte logiche della
famiglia MOS, è il MOSFET. Con l’avvento dei MOSFET (Metal Oxide
Semiconductor Field Effect Transistor), si è riusciti a realizzare dei dispositivi con
assorbimenti di potenza molto inferiori, con migliori margini di rumore, un
maggior F/O e una minore area di chip, per cui possono essere usati nei progetti a
più elevata integrazione. La tecnologia MOS di maggior successo è indubbiamente
la CMOS (Complementary MOS).
Il transistore C-MOS è costituito da due transistori MOS fra loro complementari
,uno di tipo P-MOS e l'altro di tipo N-MOS, entrambi però cresciuti per diffusione
sullo stesso substrato di un chip di silicio come mostrato in fig. 2.
13
Un CMOS comandato con un unico segnale di ingresso, che varia tra 0 e Vcc,
fornisce un segnale unico in uscita che vale: 0 quando il segnale di ingresso è Vcc,
e Vcc quando il segnale di ingresso è zero(vedi fig. 3a).
La caratteristica fondamentale di un componente CMOS è che viene pilotato in
tensione, e non in corrente come il BJT, ciò comporta una ridottissima potenza
dissipata in condizioni statiche: circa 10nW per porta logica e un ampio intervallo
di valori di tensione di alimentazione: da 1,8V a 15V. Inoltre, hanno VIL compreso
tra 0 e VCC/3, per il riconoscimento del livello logico alto hanno VIH compreso tra
2VCC/3 e VCC. La zona di interdizione per tali dispositivi va da VCC/3 a 2VCC/3. I
livelli di tensione che si ottengono in uscita, in assenza di carico applicato, sono:
VOL = 0 ; VOH = VCC. Le correnti di ingresso IIL e IIH sono praticamente nulle
perchè l'ingresso dei transistor MOSFET presenta resistenza infinita. Le correnti di
uscita IOL e IOH dipendono dalla particolare serie CMOS utilizzata e comunque
generalmente non superano il valore di alcuni milliampère.
Nella fig. 3a e 3b è possibile osservare due porte not, la prima realizzata in
tecnologia TTL, la seconda in tecnologia CMOS. Confrontando questi due
schematici, si comprende il perché della scala d’integrazione maggiore della
famiglia CMOS rispetto alla famiglia TTL.
14
Fig. 3 a - NOT in
tecnologia CMOS
15
Programmable Logic Device), che sono abbastanza semplici ma con una capacità
logica molto limitata. Anche questi dispositivi venivano programmati dalla casa
produttrice realizzando la maschera di connessioni[1].
Nello stesso anno vennero prodotte le PROM (Programmable Read Only Memory),
queste venivano programmate applicando specifiche tensioni sulle linee di
ingresso, in concomitanza delle PROM nacquero i dispositivi programmatori. Nei
dispositivi di tipo PROM le linee di indirizzo vengono usate come ingressi di
circuiti logici e le linee di dati, come uscite. Con l’aumentare però della
complessità delle funzioni logiche da implementare, i dispositivi di tipo PROM si
dimostrarono inefficienti nella realizzazione di circuiti logici.
Col passare del tempo i dispositivi PLA si dimostrarono la scelta migliore per
l’implementazione di funzioni logiche. Un PLA è costituito da due livelli di porte
logiche: un piano di porte AND e un piano di porte OR, entrambi programmabili.
La struttura generica dei PLA è visibile in figura 4. L’unica limitazione sulla
funzione logica, implementata tramite PLA, è che essa deve poter essere espressa
come somma di prodotti, e che non può avere più di n variabili di ingresso ed m
variabili di uscita. Alcune varianti del dispositivo PLA descritto prima, vennero
prodotti con un piano di porte OR prefissato e non programmabile dall’utente,
inoltre inserendo dei flip-flop immediatamente prima del piano delle porte OR, fu
possibile implementare funzioni logiche sequenziali tramite tali dispositivi. Essi
appartengono ad una famiglia di dispositivi programmabili chiamati SPLD (Simple
Programmable Logic Device), il cui nome deriva dalla capacità logica limitata.
16
Il successo dei dispositivi PLD fu reale solo dopo il 1978 quando la Monolitic
Memories Inc. realizzò dei dispositivi programmabili detti PALA (Programmable
Associative Logic Array) basati sulla tecnologia delle PROM. Al successo di tali
dispositivi contribuì il linguaggio di programmazione usato per effettuare il set up
di tali dispositivi, il PALASM(PALa ASeMbler), un linguaggio molto simile al
FORTRAN, che consentiva di implementare funzioni logiche molto più complesse
rispetto al passato.
In quegli anni quasi tutti i dispositivi PAL venivano sviluppati con tecnologia di
tipo bipolare, con cui erano state realizzate le prime PROM.
Nel 1984 l’ALTERA iniziò a produrre i componenti EP300, realizzati con
tecnologia CMOS. La nuova tecnologia consentiva di realizzare dispositivi a
densità di integrazione più elevata, con maggiore complessità e migliori
prestazioni. Tuttavia questi dispositivi richiedevano la realizzazione di “tool” di
supporto più sofisticati, quale fu il sistema A+PLUS, per PC IBM. Questo sistema
comprendeva oltre a un programma, un dispositivo programmatore che andava
inserito sulle schede di espansione del calcolatore.
Sempre nel 1984, venne fatto un altro passo importante nell’evoluzione dei
dispositivi programmabili, che fu la nascita dei dispositivi FPGA, con
l’introduzione dei dispositivi LCA (Logic Cell Array) prodotti dalla Xilinx. La
differenza principale che distingue FPGA da PLD, è che mentre questi ultimi sono
costituiti da un'unica struttura programmabile, i componenti FPGA, comprendono
una matrice di celle configurabili CLB (Configurable Logic Block) in grado di
realizzare qualunque funzione logica di un numero limitato di variabili e connesse
da interconnessioni programmabili.
Con l’aumentare della scala d’integrazione divenne possibile realizzare circuiti con
capacità logica superiore a quella dei dispositivi SPLD. I nuovi chip vennero
chiamati CPLD (Complex Programmable Logic Device), essi, insieme ai
dispositivi FPGA, sono i circuiti integrati più utilizzati per implementare funzioni
logiche. In figura 5 è possibile notare la capacità logica in funzione del tipo di PLD
utilizzato.
17
Figura 5 – Capacità dei dispositivi logici programmabili.
18
1.3 Struttura dei principali dispositivi CPLD e FPGA; loro utilizzo
Uno degli interruttori più semplici è quello che sfrutta il transistor bipolare, lo si
può vedere in figura 6. In questo circuito, quando l’interruttore è aperto non scorre
corrente nel circuito e il transistor è in uno stato detto di
interdizione, mentre quando l’interruttore è chiuso, il transistor Figura 6 -
passa dalla condizione di interdizione a quella di saturazione e sul Interruttore a
transistor
carico scorre corrente. Quindi, per controllare l’interruttore, basta
controllare la corrente di base.
Si può ottenere un interruttore anche sostituendo un FET(Field
Effect Transistor) al transistor bipolare, nello stesso circuito.
E infatti sono i MOSFET, con la tecnologia CMOS, a coprire, oggi,
la maggior parte del mercato degli interruttori programmabili.
Le tecnologie con cui vengono prodotti gli interruttori
programmabili sono principalmente: per i dispositivi CPLD le
EPROM (Erasable Programmable Read Only Memory) ed
EEPROM 3(Electrical Erasable Programmable Read Only Memory);
per i dispositivi di tipo FPGA le SRAM(Syncronous Read Access Memory) e
ANTIFUSE (antifusibili). Le EPROM, le EEPROM, gli antifusibili e le SRAM
vengono realizzati in tecnologia CMOS.
3
Una EPROM è una memoria ad accesso casuale cancellabile, solo nella sua totalità, tramite raggi ultravioletti,
mentre un EEPROM può essere cancellata elettricamente, cella per cella, senza dover ricorrere ai raggi UV.
19
Un transistor EPROM, o EEPROM viene usato come interruttore programmabile,
nei CPLD, ponendo il transistor tra due fili, in un modo che faciliti
l’implementazione delle funzioni AND (vedi figura 7). In questo modo diviene
possibile realizzare il piano degli AND di un CPLD.
In termini tecnici non ci sono ragioni per le quali EEPROM, o EPROM, non
possano essere usati nelle FPGA, tuttavia le FPGA disponibili in commercio, non
utilizzano questa tecnologia e sfruttano, invece, le SRAM o gli antifusibili. Il
difetto principale delle SRAM è che esse devono essere riprogrammate ogni volta
che il dispositivo viene spento, infatti sono un tipo di memoria volatile. Gli
antifusibili invece, non hanno bisogno di essere riprogrammati, essi hanno
inizialmente delle resistenze altissime, se al loro interno viene fatta scorrere una
corrente elevata, essi si comportano come dei cortocircuiti.
Di seguito riportiamo una tabella (Tabella 1) con le principali caratteristiche di
ogni tecnologia [2],[3].
20
1.3.2 CPLD
21
Per quanto riguarda l’ALTERA MAX 7000, la sua struttura è quella riportata in
figura 8: essa comprende dei vettori di blocchi logici chiamati LAB (Logic Array
Block) e una risorsa di interconnessione chiamata PIA (Programmable Interconnect
Array). Il compito della PIA è quello di
Figura 8 - Struttura della MAX 7000
connettere due qualsiasi
LAB, mentre ogni LAB
può essere considerato
come un SPLD, con
una struttura un po’ più
complessa, così che si
può pensare l’intero
chip come un array di
SPLD. Ogni LAB (vedi
figura 9) è costituito da
due insiemi di otto macrocelle, dove ogni macrocella comprende un insieme di
termini programmabili che si basano su porte OR e Flip-Flop. La serie 7000,
inizialmente, era stata realizzata con la tecnologia EPROM, questo particolare però
rendeva la serie 7000 programmabile solo fuori dal circuito, successivamente
venne realizzata la serie MAX 7000S, che sfrutta la tecnologia EEPROM, e che
quindi diviene programmabile, anche nel circuito.
22
Un altro produttore importante di CPLD è la ditta AMD(Advanced Micro Device),
con la famiglia Mach. La AMD offre 5 sotto-famiglie di CPLD: Mach 1, Mach 2,
Mach 3, Mach 4, Mach 5. Tutti questi chip sono realizzati con la tecnologia
EEPROM, il che li rende riprogrammabili nel circuito, e alla base delle loro
architetture ci sono i dispositivi SPLD chiamati PAL (Programable Array Logic).
In generale la Mach 1 e la Mach 2 sono i prodotti più economici e sono basati sul
SPLD 22V16PAL, mentre le serie Mach 3 Mach 4 sono basate su un dispositivo
PAL ottimizzato, la cui sigla è 34V16PAL, infine la serie Mach 5 ha una struttura
del tutto simile a quella della serie Mach 4 ma è migliorata nella velocità.
Consideriamo la struttura della sotto-famiglia Mach 4, in quanto rappresenta il
dispositivo più avanzato nella serie Mach, con un ritardo “pin to pin” di 7,5 ns.
Come mostrato in figura 10 il chip Mach 4 è formato da blocchi di 34V16PAL,
multipli, e da una Central Switch Matrix che connette i vari blocchi. Ogni blocco
può essere costituito da un minimo di 6, fino a 16 blocchi di PAL, che
corrispondono all’incirca a 2000÷5000 porte equivalenti, il che rende, i dispositivi
della serie Mach, molto versatili.
Altri CPLD che vanno considerati sono quelli prodotti dalla Lattice, in particolare
la serie pLSI e iPLSI, che differiscono solo per la riprogrammabilità nel sistema,
23
infatti la i sta per “in system programmable”, entrambe le serie hanno dei ritardi
compresi tra i 7,5ns e i 10 ns. La struttura generale dei dispositivi pLSI e iPLSI ,è
quella mostrata nella figura 11 [nota bibliografica].
Intorno ai bordi esterni del “chip” sono disposti gli I/O, che sono connessi ai
blocchi logici (GLB, Generic Logic Block) e al Global Routing Pool (GRP). I
GLB sono delle piccole PAL in blocchi che contengono un piano di porte AND, un
“product term allocator” e delle macrocelle. Invece il GRP è un insieme di
connessioni che circondano l’intero “chip” e che servono a connettere gli ingressi e
le uscite del blocco GLB. Tutte le interconnessioni passano attraverso il GRP, e ciò
rende il “timing” dei dispositivi della Lattice pienamente prevedibile.
Altri dispositivi di tipo CPLD degni di nota sono: il Cypress FLASH370, che è
basato sulla tecnologia FLASH EEPROM, offre delle prestazioni di velocità con un
ritardo “pin to pin” compreso tra 8,5 ns e 15 ns, ha molti più I/O degli altri prodotti
concorrenti, ma non è programmabile nel sistema; lo Xilinx XC7000 CPLD che ha
una capacità logica che va da 600 a 1500 porte logiche equivalenti ed un ritardo di
25 ns.
24
1.3.3 FPGA
Anche i dispositivi FPGA, come quelli di tipo CPLD, possono avere architetture
molto differenti a seconda della ditta produttrice,tuttavia, è possibile riconoscere
una struttura comune che tutte tendono a seguire e che consiste nel replicare al
proprio interno delle strutture logiche semplici. Queste strutture, come mostrato in
figura 12 [2], sono disposte a scacchiera e collegate, tramite interconnessioni
programmabili, sia fra di loro, sia ai pin di connessione che verso l’esterno.
Qualsiasi funzione logica può essere realizzata connettendo tra loro un certo
numero di queste celle elementari.
25
che è di molto superiore alla capacità logica di un qualsiasi dispositivo del tipo
CPLD[1][4].
Le strutture logiche principali presenti in un dispositivo FPGA sono rappresentate
nella figura 13 e sono: le LC (Logic Cell), anche chiamate LB (Logic Block) e le
LUT (Look Up Tables), che sono piccoli array di memoria, dove le linee di
indirizzo per la memoria sono gli ingressi del blocco logico e le uscite della
memoria sono le uscite della LUT.
In alcune FPGA un blocco logico, LB, corrisponde alla struttura del tipo di una
PAL e realizza la parte combinatoria del circuito. Ai LB seguono poi dei Flip Flop
che realizzano la parte sequenziale del circuito.
Come anticipato prima, ci sono due categorie base di dispositivi FPGA: 1. Quelli basati
sulla SRAM e 2. quelli basati sugli antifusibili. Nella prima categoria, ALTERA, Xilinx
e AT&T sono i maggiori produttori. Mentre per i dispositivi FPGA basati sugli
26
antifusibili, Aktel, Quicklogic e Cypress sono le più importanti case costruttrici. Iniziamo
col considerare FPGA che sfruttano la tecnologia RAM della Xilinx; essi sono basati su
“array”, ciò significa che il chip è composto da un “array” bidimensionale di blocchi
logici. Questi, possono essere interconnessi sia orizzontalmente che verticalmente, come
mostrato in figura 12. La Xilinx ha prodotto diverse serie di FPGA con le sigle XC2000,
XC3000, XC4000, XC5000, di cui la serie XC4000, risulta essere la più popolare. I
dispositivi appartenenti a tale famiglia hanno capacità logica compresa tra 2000 e 15000
porte equivalenti, e i loro LB, chiamati CLB (Configurable Logic Block), hanno una
struttura del tipo mostrato in figura 14, basata sulle LUT. Il singolo blocco LB di questo
chip contiene 3 blocchi LUT separati, di cui due sono collegati sulle linee di ingresso ed
uno può lavorare in combinazione con gli altri due, infine una rete combinatoria di uscita
con due Flip Flop sulle uscite.
Per quanto riguarda l’ALTERA, invece le serie più importanti sono la FLEX8000 e la
FLEX10000. La sigla FLEX sta per Flexible Logic Element Matrix e si riferisce alla
struttura di questi FPGA, in cui i blocchi LE (Logic Elements) sono organizzati in
blocchi di matrici logiche (Logic Array Blocks) o LAB, come mostrato in figura 15, dove
vi è rappresentato lo schema di un FLEX10000. Ogni LAB, che ha una capacità logica di
96 porte(vedi figura 16) è organizzato in otto blocchi LE (vedi figura 17), che sono
collegati tramite una connessione locale, chiamata Local Internconnect [2].
27
Ciascun LE è composto da una “look up table” a quattro ingressi, un Flip-Flop
programmabile e alcune linee dedicate [1] [5][6]. Più LAB possono essere uniti
insieme per creare blocchi di complessità ancora maggiore.
28
29
Inoltre, sul chip sono presenti dei blocchi di nome EAB (Embedded Array Block)
che sono costituiti da blocchi di memoria, e possono essere usati per implementare
ROM, RAM, Registri FIFO e anche funzioni logiche complicate(vedere fig 18) [5]
[6] [7].
30
I blocchi logici (vedi figura 20), sono molto diversi da quelli visti fino ad ora, in
quanto basati su dei “multiplexers”, e non su delle LUT, con in ingresso due porte
logiche. Il multiplexer, insieme alle due porte logiche, può realizzare un gran
numero di funzioni logiche. Per quanto riguarda le risorse di interconnessione, i
canali, consistono di connessioni di varia lunghezza, e sono connessi alle porte
logiche e agli altri canali mediante degli antifusibili.
Il difetto principale di questi dispositivi è che i tempi di ritardo dei segnali non
sono pienamente prevedibili, visto che il numero degli antifusibili attraversati da un
segnale dipende da come sono state impostate le connessioni durante
l’implementazione del circuito, col programma di CAD (Computer Aided Design).
31
1.4 L’importanza dei dispositivi programmabili nel mercato moderno
32
piccolo, mentre hanno il pregio di avere delle ottime prestazioni e un costo che
decresce rapidamente col crescere del numero di dispositivi prodotti.
Proprio per questo, i dispositivi FPGA, vengono usati: nei laboratori di ricerca,
per esempio per implementare parte dei circuiti digitali e/o per gestire i flussi di
dati; nello spazio, per sviluppare l’elettronica dei satelliti in applicazioni come
sistemi automatici, acquisizione e trasmissione dati.
In particolare, l’uso di tali dispositivi negli esperimenti di fisica delle alte energie, e
nelle missioni spaziali, ha fatto emergere il problema della tolleranza alle radiazioni
di tali dispositivi [10].
33
CAPITOLO 2
34
creare, attorno al pianeta, delle bande (o domini) di elettroni o protoni che
formano le fasce di radiazioni della terra, o anche chiamate fasce di Van
Allen.
35
tempeste magnetiche trasferiscono dalla magnetosfera alla fascia forti flussi
di particelle, il loro numero cresce per poi diminuire all'estinguersi della
tempesta[11].
Nel caso dei raggi cosmici, le sorgenti principali sono due, il sole (raggi
cosmici di origine solare) e le sorgenti che si trovano al di fuori del sistema
solare (raggi cosmici d’origine galattica). I raggi cosmici di origine galattica
sono sempre presenti, quelli di origine solare, invece, scompaiono in assenza
di attività solare. Quando i raggi cosmici penetrano nella magnetosfera, le
particelle di bassa energia vengono attenuate, modificando così lo spettro che
prima era uniforme. Solo le particelle più energetiche possono penetrare la
magnetosfera. Nei grafici 1 e 2 è possibile vedere la distribuzione del flusso
di elettroni e di protoni in funzione dell’energia. In particolare nel grafico 2 si
nota anche la dipendenza dalla distanza radiale[12].
36
Inoltre, come fonti di danno per i circuiti integrati, vanno considerati anche i
raggi gamma e i raggi x, che provengono principalmente dai brillamenti di
raggi gamma e X, e solo in parte da processi secondari dovuti al passaggio di
particelle attraverso la materia.
37
Negli acceleratori di particelle, la fonte primaria di radiazioni è costituita dai
raggi X e raggi Gamma, che vengono prodotti con alta intensità e con
energie che variano moltissimo. Inoltre, si hanno emissioni di particelle
cariche pesanti, che possono raggiungere valori elevati di energia ed
emissioni di particelle beta (elettroni e positroni). Queste particelle possono
assumere diversi valori di energia e possono avere moltissime origini:
Decadimento di sorgenti radioattive;
Passaggio di radiazioni attraverso i materiali;
Interazioni secondarie (cattura da parte di un protone di un elettrone
degli orbitali atomici e p n , annichilimento di positroni).
Tutte queste radiazioni interagiscono con l’elettronica degli esperimenti,
causando in tempi lunghi anche la disfunzione completa dei circuiti.
38
2.2 Passaggio di radiazione elettromagnetica attraverso la
materia.
I fotoni interagiscono con la materia attraverso tre processi differenti (vedi
figura 3), chiamati:
1. effetto fotoelettrico;
2. effetto compton;
3. produzione di coppie.
39
relativa dei tre fenomeni, in funzione dell’energia del fotone incidente e del
numero atomico Z del mezzo.
Figura 4 – Importanza relativa delle modalità di interazione dei fotoni con la materia.
h Ek .
40
Dove:
- h è la costante di Planck,
- υ è la frequenza del fotone incidente,
- Φ è il lavoro di estrazione, che rappresenta l’energia minima richiesta
per rimuovere l’elettrone completamente dall’atomo.
- Ek è l’energia cinetica con cui viene espulso l’elettrone.
In concomitanza all’estrazione dell’elettrone interno, vedi figura 3a, si
osserva il passaggio di uno degli elettroni più esterni nello stato di energia
lasciato vacante dall’elettrone interno, con conseguente emissione di un
fotone di energia:
h Ein E fin
Dove Ein ed Efin sono l’energie relative, rispettivamente, allo stato iniziale e
finale dell’elettrone.
Perché si possa osservare questo fenomeno, l’energia del fotone, hυ, deve
essere maggiore del lavoro di estrazione Φ. Infatti, esiste una frequenza di
soglia della radiazione incidente, υ0, al di sotto della quale l’energia del
fotone non è sufficiente a ionizzare l’atomo. Inoltre “perché il processo
possa avvenire, occorre che l’elettrone sia vincolato al nucleo, il quale
assorbe l’impulso necessario perchè siano soddisfatte le leggi di
conservazione dell’energia e della quantità di moto.” 4. Infatti, su di un
elettrone libero non si può osservare l’effetto fotoelettrico, in quanto si
avrebbe che l’energia dell’elettrone dovrebbe essere E h cioè uguale
all’energia del fotone, ma in questo caso non risulterebbe soddisfatta
l’equazione della conservazione della quantità di moto[14].
Quando l’energia del fotone è dell’ordine o supera qualche MeV, l’effetto
fotoelettrico diviene un fenomeno di importanza secondaria. A queste
energie, infatti (vedi figura 4), domina il processo di diffusione del fotone
con gli elettroni del mezzo o effetto Compton (vedi figura 3b).
Se consideriamo l’effetto Compton a frequenze molto basse, è possibile
descriverlo correttamente utilizzando la nozione classica di onda
4
MarcelloConversi “Processi Elettromagnetici”dal corso di Fisica Superiore - Istituto di Fisica “G. Marconi”
Quaderni di Fisica Università di Roma 1969 (pag. 86)
41
elettromagnetica. Tuttavia a queste frequenze, come già visto, questo
fenomeno perde di importanza.
Utilizzando la nozione classica di onda elettromagnetica per descrivere la
diffusione Compton, bisogna supporre che il vettore elettrico dell’onda sia
polarizzato nella direzione x e che la sua equazione sia:
x A sin(t ) xˆ .
Dove:
A è l’ampiezza del campo elettrico;
ω è la pulsazione della radiazione;
t è il tempo.
Allora l’elettrone è soggetto all’accelerazione
x (eA / m) sin(t ) e
nell’unità di tempo irradia, a causa del “bremsstrahlung”(vedi più avanti) e
per la formula di Larmor5, l’energia per unità di tempo (cioè la potenza):
2
2e 2 2 2 e2 A
3
x 3 2
sin (t ) .
3c 3c m
Se il mezzo in cui si propaga la radiazione contiene n elettroni per unità di
volume, l’energia Wdiff per unità di tempo e per unità di volume, mediata nel
5
Utilizzando l’elettrodinamica classica, si ha che una carica elettrica sottoposta ad una accelerazione a , irradia
2 Z 2e2 2
classicamente onde elettromagnetiche con una potenza P a , detta formula di Larmor.
3 c3
42
Applicando le relazioni di conservazione dell’energia e della quantità di moto
all’urto elastico fotone-elettrone, si ottiene la differenza tra la lunghezza
d’onda del fotone incidente e quella del fotone emergente in funzione
dell’angolo di diffusione che è espressa dalla formula:
h
1 cos .
mc
Indicando infine, con E h e E h le energie del fotone incidente e di
quello diffuso, e considerando che
c c
,
si può ottenere una relazione che esprima il legame tra l’energia del fotone
diffuso e quella del fotone incidente:
E
E .
1 ( E mc 2 ) (1 cos )
Siccome stiamo considerando il caso in cui E h mc 2 , è facile verificare
E
che 1 , dove l’uguale vale solo nel caso in cui E h mc 2 . Ciò
E
significa che quello che accade nel fenomeno della diffusione Compton è che
una parte dell’energia del fotone incidente viene trasmessa all’elettrone,
liberandolo dall’atomo, ottenendo così un fotone di lunghezza d’onda, e
quindi di energia, inferiore e un elettrone con una data energia cinetica.
Per energie del fotone ancora maggiori (vedi figura 4), il fenomeno più
importante è quello della creazione di coppie elettrone-positrone (vedi
figura 3c). In questo processo, ciò che si osserva è l’annichilimento completo
di un fotone e la formazione di una coppia di elettroni (uno positivo e l’altro
negativo). Questo tipo di fenomeno non ha un analogo classico in quanto è di
natura strettamente quantistica ed è stato previsto nella teoria dell’elettrone
di Dirac [14].
Secondo la teoria dell’elettrone di Dirac, esiste un’equazione ondulatoria
dell’elettrone relativisticamente invariante, in base alla quale si trova che
l’elettrone può esistere in due tipi di stati quantici: l’uno di energia totale
positiva, l’altro di energia totale negativa. Si ha, cioè che l’elettrone libero
può avere autovalori che sono maggiori di +mc2, o minori di –mc2 (m è la
43
massa a riposo dell’elettrone), mentre nella regione compresa tra questi due
limiti non esistono energie possibili per l’elettrone (regione non fisica).
“Mentre gli stati di energia totale positiva rientrano nella normalità – nel
senso che un elettrone che esista in quello stato è uno dei normali elettroni
che noi possiamo osservare- gli stati di energia negativa possono a prima
vista sembrare la conseguenza di un artificio matematico al quale non
corrisponda un significato fisico. Ma le cose non stanno così, perché la
teoria prevede la possibilità di transizioni tra gli stati di energia positiva e
quelli di energia negativa.
L’importanza particolare della teoria dell’elettrone di Dirac, sta proprio
nell’aver previsto l’esistenza del positrone come la manifestazione di un
posto vacante nel “mare” degli stati di energia negativa. Infatti un posto
vacante si manifesta come occupato da una particella di energia positiva
(mancando una particella di energia negativa) e di carica +e (mancando una
carica –e).” 6. La teoria di Dirac, prevede cioè, che tutti gli stati negativi
dell’elettrone siano perennemente occupati, nel senso del principio di
esclusione di Pauli, e ciò comporta che nell’universo esistono elettroni in
eccesso rispetto al numero di stati energetici negativi, così che gli elettroni
ordinari di energia positiva vengono interpretati come quegli elettroni che,
non avendo trovato posto negli stati di energia negativa, sono costretti ad
occupare stati di energia positiva.
Secondo questa interpretazione, quando si libera uno stato di energia
negativa, questo si manifesta tramite un positrone.
Ciò che accade nel processo di formazione di coppie, secondo la teoria di
Dirac, è che un quanto di energia h 2mc 2 interagisce con un elettrone che
è inizialmente in uno stato di energia negativa e lo fa saltare, cedendogli tutta
la sua energia, su uno stato di energia positiva. Il processo che viene
osservato è quello della formazione di una coppia elettrone-positrone, dovuta
al fatto che l’elettrone trasportato nello stato di energia positiva diviene un
ordinario elettrone osservato, mentre il posto lasciato vacante tra gli stati di
energia negativa, si manifesta come positrone.
6
(Op. cit. nota 1) pag. 95.
44
In questo processo la conservazione dell’energia implica che valga la
relazione:
T e T e h 2mc 2
Dove la T(e-) e T(e+) sono le energie cinetiche, rispettivamente dell’elettrone
e del positrone emergenti dal processo, hν è l’energia del fotone incidente e
2mc2 è la somma delle masse dell’elettrone e del positrone formatisi. La
differenza a secondo membro rappresenta l’energia che viene ripartita tra le
particelle.
Naturalmente questo tipo di processo può avvenire solo quando l'energia del
fotone è pari almeno alla somma delle masse delle particelle create, cioè per
E >2mc² (1.022 MeV) e in presenza di un terzo corpo, in genere un nucleo,
affinché ci sia conservazione della quantità di moto.
Quando l'energia cinetica del positrone diventa bassa (confrontabile con
l'energia termica degli elettroni nel mezzo) esso si ricombina con un elettrone
dando luogo a due fotoni che sono emessi in direzioni opposte, ciascuno con
energia pari a 0.51 MeV. Successivamente questi due fotoni possono essere
riassorbiti per effetto fotoelettrico o Compton, dando vita a processi
secondari.
Per energie molto alte (qualche decina di GeV), si può osservare la
formazione di coppie protone-antiprotone.
45
2.3 Passaggio di particelle attraverso la materia
I fenomeni che caratterizzano il passaggio di particelle cariche nella materia
sono principalmente due:
La perdita di energia della particella incidente
La deflessione della particella in direzioni diverse da quella di
incidenza.
Questi eventi sono gli effetti primari di due processi:
1. Le collisioni anelastiche con gli elettroni atomici del materiale
2. La diffusione elastica dovuta agli urti con i nuclei.
Oltre questi due processi, possono essere osservati:
3. L’emissione di radiazione Cherenkov
4. Le reazioni nucleari
5. Bremsstrahlung, o irraggiamento.
Inoltre bisogna fare una distinzione tra i tipi di particelle, in quanto l’intensità
di tali processi dipende molto dalle masse delle particelle:
A. Particelle cariche pesanti (muoni, pioni, protoni,particelle α, ..)
B. Elettroni e positroni
Entrambi questi gruppi di particelle interagiscono con la materia attraverso le
interazioni 1 e 2. Ma mentre il Bremsstrahlung è trascurabile per le particelle
cariche pesanti, per gli elettroni e i positroni esso diviene un processo
dominante per quel che concerne la perdita di energia.
A questo punto, quindi, conviene separare la descrizione delle perdite di
energia delle particelle cariche pesanti da quelle degli elettroni e positroni.
46
una tratto infinitesimo di cammino all’interno del materiale e dE è l’energia
persa dalla particella per ionizzare ed eccitare gli elettroni degli atomi del
materiale.
Per ogni urto la particella perde solo una piccola parte della sua energia, ma il
numero di urti per unità di cammino è così elevato che si osserva una perdita
di energia elevata anche quando il materiale su cui la particella incide, è
veramente sottile. Per esempio, un protone con un energia di 10 MeV che
incide su una lamina di rame, perde tutta la sua energia cinetica dopo appena
0.25 mm.
Per descrivere la perdita di energia per ionizzazione bisogna considerare una
particella di massa M (con M me , dove me è la massa a riposo
7
v c , dove v è la velocità della particella e c la velocità della luce nel vuoto.
47
dopo l’urto (grazie al fatto che M me , si nota come questo non risulterebbe
I2 2 Z 2e 4
E (b) .
2me me v 2b 2
Questa espressione di E è, naturalmente, funzione del parametro d’urto b, e
si riferisce ad un singolo urto tra la particelle ed un elettrone atomico.
Per ottenere un’espressione della variazione di energia per unità di cammino,
bisogna considerare la densità di elettroni del materiale in questione, Ne. A
questo punto si ha che l’energia data a tutti gli elettroni con un parametro
d’urto compreso tra b e b+db,
in uno spessore dx, è:
4 Z 2 e 4 db
dE (b) E (b ) N e dV N e dx ,
me v 2 b
dove dV è l’elemento di volume dV 2 bdbdx . Integrando questa formula
tra bmin e bmax, si ha:
dE 4 Z 2 e 4 bmax
N e ln ,
dx me v 2 b
min
dove bmax e bmin sono i valori massimo e minimo del parametro d’urto b tali
da poter rendere possibile la reazione.
Questa formula prende il nome di formula di Bohr.
Per calcolare bmax e bmin bisogna considerare che, classicamente, la massima
energia trasferibile nell’urto è quella in cui l’elettrone emergente ottiene
8
Per ragioni di simmetria, la componente longitudinale della forza non dà contributo all’impulso. E per il teorema
di gauss si ha: E 2 bdx 4 Ze
48
1
un’energia di me (2v) 2 ed è anche quella per cui il parametro d’urto assume
2
il valore minimo. Se si considerano gli effetti relativistici si ha 2 2 me v 2 , dove
1
1 2 2 e v c . Ora considerando che l’energia ricevuta
I2 2Z 2 e4
dall’elettrone è data da E (b) , quindi si trova,
2me me v 2b 2
uguagliando tale energia all’energia massima:
2Z 2e4 2 2 Ze2
2 mv bmin
me v 2b 2 e quindi
me v 2 .
Per quanto riguarda bmax, bisogna tenere conto del fatto che gli elettroni
atomici sono legati agli atomi e che hanno una frequenza orbitale ν. Quindi,
affinché l’elettrone assorba l’energia, la perturbazione causata dal passaggio
della particella deve durare in termini di tempo, molto meno del periodo
b dell’elettrone legato all’atomo, se così non fosse la perturbazione
sarebbe adiabatica e non ci sarebbe energia trasferita. Per le collisioni che
stiamo considerando, la durata tipica dell’interazione è t b , che
b 1
.
Siccome ci sono diversi stati per l’elettrone legato con differenti frequenze,
compare la frequenza media , che è la frequenza mediata su tutti gli stati
legati. Da questo limite sul tempo si ottiene il limite superiore per b, cioè
bmax, ed esso vale:
bmax
Fino adesso abbiamo considerato la formula di Bohr. Essa dà una buona
descrizione della perdita di energia per le particelle cariche pesanti, come
particelle alfa e altri ioni pesanti, tuttavia diviene inesatta nel caso di protoni
e altre particelle più leggere, a causa degli effetti quantistici e in questo caso
diviene necessario utilizzare la formula di Bethe Bloch, nella quale viene
tenuto conto della quantizzazione del momento angolare e dell’energia.
49
La formula di Bethe Bloch è parametrizzata in termini del momento
trasferito, che è una quantità misurabile. La formula, con l’aggiunta della
correzione per l’effetto di densità δ e la correzione per l’effetto di schermo C,
è:
dE 2 2 Z z 2 2me 2 v 2Wmax 2 C
2 N a re me c ln 2 2
dx A 2 I2 Z
Dove:
eccitazione incidente
A: Peso atomico del
1 1 2
materiale assorbente
: correzione di densità
: densità del materiale
C: correzione per l’effetto di
assorbente
schermo
50
Nel calcolare la perdita di energia si è fatta l’ipotesi che la particella incidente
attraversi il mezzo senza apprezzabili variazioni della sua traiettoria.
In realtà si osserva, oltre alla diminuzione di energia, il fenomeno della diffusione
coulombiana, cioè si osservano una serie di deviazioni dovute agli urti elastici tra
la particella e i campi coulombiani dei nuclei. Questo tipo di interazione non va
ad influenzare realmente la perdita di energia della particella (tranne nei casi in
cui la particella incidente abbia massa paragonabile a quella dell’atomo del
bersaglio) ma comporta una successione di alterazioni di quella che era la
traiettoria iniziale della particella. Questo tipo di fenomeno è particolarmente
vistoso per particelle leggere di bassa energia.
51
c 1 1
cos ,
n V n
Che significa che è tanto più ampio quanto maggiore è l’indice di rifrazione n del
mezzo, ma non si può mai avere θ = π/2, in quanto significherebbe avere n .
Quel che accade nell’effetto Cherenkov è che gli atomi del mezzo, in prossimità
dei quali passa la particella carica con velocità βc, subiscono una deformazione
per effetto del campo elettrico della particella, che agisce sugli elettroni atomici.
Gli atomi deformati si comportano come dipoli elettrici e il mezzo diventa perciò
polarizzato in prossimità della posizione P occupata, in un certo istante, dalla
particella carica. Quando la particella si allontana dalla posizione P, gli atomi
deformati riprendono le loro forme originali. Così ogni regione intorno alla traccia
della particella riceve un brevissimo impulso elettromagnetico.
52
Nel primo caso il campo di dipolo associato all’effetto di polarizzazione è
simmetrico sia rispetto alla traiettoria sia rispetto al verso del moto, in quanto la
polarizzazione del mezzo fa in tempo, per così dire, a seguire la particella nel suo
moto. In questo caso tra particella e mezzo vi è un continuo scambio di energia.
Nel secondo caso la polarizzazione del mezzo non conserva più la simmetria
rispetto al verso del moto, in quanto i dipoli non “fanno in tempo” a orientarsi in
modo tale da seguire la variazione di campo elettrico dovuta allo spostamento
della particella. Quel che accade è che il mezzo rimane polarizzato anche dopo il
passaggio della particella. Ma questo stato di cose non si può mantenere a lungo,
in quanto subito dopo il mezzo si depolarizza, dando luogo ad un breve impulso di
onde e.m. che viaggiano nel mezzo con la velocità di fase c/n. La radiazione
Cherenkov risulta inoltre polarizzata, con il vettore campo elettrico ovunque
perpendicolare alla superficie del cono ed il vettore campo magnetico tangente a
tale superficie.
L’energia persa attraverso irradiazione Cherenkov è espressa dalla formula:
dE 4 e 2 1
2 d 1 2 2
dx c n
L’integrale è esteso per quelle frequenze per cui n 1 . Questa perdita di
energia è già inclusa nella formula di Bethe Bloch e diventa grande per velocità
relativistiche. Comunque, anche a queste energie il suo contributo è piccolo se
comparato alle perdite dovute alle collisioni.
53
classicamente onde elettromagnetiche con una potenza P (energia per unità di
tempo), espressa dalla formula di Larmor (vedere § 2.2).
Tale espressione è valida a condizione che la particella accelerata abbia velocità
tale che c c .
Fino ad energie di pochi MeV, questo processo è ancor poco rilevante. Comunque
appena l’energia inizia a crescere, raggiungendo qualche decina di MeV, la
perdita di energia per irraggiamento diviene confrontabile, se non addirittura
maggiore della perdita di energia per ionizzazione. Per energie al di sopra di
questa energia critica, il bremsstrahlung diviene la principale causa di perdita di
energia delle particelle.
In generale quindi, abbiamo che la perdita di energia degli elettroni e dei
positroni è composta da due parti:
dE dE dE
.
dx tot dx irragg . dx ioniz .
La parte dovuta alle collisioni anelastiche, è quella descritta dalla formula di
Bethe Bloch.
La prima parte è quella invece dovuta al processo di bremsstrahlung.
L’irraggiamento è un fenomeno che dipende dall’intensità del campo elettrico
sentito dall’elettrone, quindi in questo processo gioca un ruolo fondamentale
l’effetto di schermo degli elettroni dell’atomo. La sezione d’urto (vedi
APPENDICE B) dipende non soltanto dall’energia dell’elettrone incidente ma
anche dal parametro d’urto e dal numero atomico Z, del materiale.
L’effetto di schermo può essere espresso tramite la quantità:
100me c 2 h
E0 EZ 1 3
54
data da P x exp N x 9, si ha che la sezione d’urto differenziale per
d 2 1 1 2 1
d 4Z 2re2 1 ln Z f Z 2 ln Z f Z
4 3 3 4 3
,
con :
E 1
, , f Z è la correzione di Coulomb, 1 e 2 sono le
E0 137
funzioni dell’effetto di schermo dipendenti da ξ [14].
Per quanto riguarda 1 e 2 , per atomi con Z≥5, vengono calcolate
che tiene conto dell’interazione coulombiana tra elettrone e campo elettrico del
nucleo.
Integrando l’espressione della sezione d’urto, N volte (N sarà il numero di
interazioni), sulle energie si ottiene l’energia irradiata:
0
dE d
dx
N h
d
E0, d .
rad 0
9
Dove N è la densità di centri e σ la sezione d’urto
55
Figura 7 – Confronto tra perdite di energia per Bremsstrahlung
e per ionizzazione, di un flusso di elettroni incidenti su una lastra
di rame.
56
1 rad = 100 erg/g.
Un’altra unità di misura molto importante è il Gray (Gy), dove:
1Gy = 1 J/Kg = 100 rad.
Per studiare gli effetti medi delle radiazioni su un circuito integrato esistono varie
tecniche raggruppabili in due categorie:
Tecniche elettriche
Tecniche microstrutturali
Nelle tecniche elettriche si studiano le caratteristiche elettriche (tensione di soglia,
capacità, mobilità dei portatori, timing, ecc.) dei transistori, prima e dopo
l’irraggiamento e si confrontano i risultati ottenuti, un esempio dei risultati
ottenuti con questo tipo di tecnica è mostrato in figura 8 [12], dove è
rappresentato un grafico della corrente di drain in funzione della tensione di gate
prima e dopo l’irraggiamento con una dose di 500 Krad.
57
Un esempio, invece, di tecnica microstrutturale è l’ESR (Electron Spin
Resonance), dove si raccolgono misure dell’energia associata al momento
angolare di spin. Il materiale viene immerso in una cavità di risonanza, dove un
elettrone spaiato può risuonare tra i due livelli possibili di energia legati allo spin.
Le misure dell’assorbimento di energia in risonanza danno informazioni
riguardanti la simmetria dei difetti acquisiti.
Questa tecnica ha il limite però di funzionare solo con atomi o ioni
paramagnetici, cioè che possiedono uno o più elettroni spaiati, in modo tale che
sia possibile osservare assorbimento in risonanza (in figura 9 è possibile osservare
uno spettro di risonanza tipico per un materiale paramagnetico).
58
Se è presente un campo elettrico lungo l’ossido del transistor MOS, appena
vengono generati, gli elettroni nella banda di conduzione e le lacune nella banda
di valenza, iniziano ad essere trasportati in direzioni opposte.
Gli elettroni sono molto mobili nel biossido di silicio (SiO2) e in genere vengono
portati al di fuori dell’ossido in tempi dell’ordine dei picosecondi. Comunque,
prima che gli elettroni possano lasciare l’ossido, alcune frazioni degli elettroni si
ricombinano con le lacune nella banda di valenza dell’ossido. La quantità di
coppie elettrone-lacuna che si ricombinano è fortemente dipendente dall’intensità
del campo elettrico e dall’energia della particella incidente che causa la
ionizzazione degli atomi. In generale, se la particella incidente è fortemente
ionizzante si formano dense colonne di cariche in cui il tasso di ricombinazione è
veramente elevato; se invece la particella incidente è poco ionizzante, essa genera
coppie di cariche relativamente isolate, e il tasso di ricombinazione è minore. Per
quanto riguarda invece la dipendenza del tasso di ricombinazione dal campo
elettrico, in figura 11 [12] è possibile osservare un grafico che mostra la frazione
59
di lacune non ricombinatesi in funzione del campo elettrico nell’ossido, per
diversi tipi di radiazione (particelle α con energie di 2 MeV, raggi gamma da Co-
60, protoni con energia di 700 KeV e raggi X con energia di 10 KeV). Ciò che si
osserva, per tutte le fonti, è che all’aumentare del campo elettrico aumenta la
frazione di lacune che non si ricombinano, come era facile aspettarsi.
Così si ha che il numero totale di lacune generate nell’ossido che sfuggono alla
ricombinazione è:
N h f Eox g0 Dtox ;
unità di cm), mentre g 0 è la densità di coppie generate per unità di dose cumulata
(rad).
60
Immediatamente dopo l’irraggiamento, gli elettroni si accumulano rapidamente
(con tempi dell’ordine del picosecondo), intorno al gate mentre le lacune si
accumulano verso le giunzioni Si/SiO2.
Un altro danno che si osserva è il danno da dislocamento, che è causato dal gran
numero di carenze di ossidi dovute alla diffusione verso l’esterno di atomi
d’ossigeno nel reticolo dell’ossido e sulla superficie. Questi posti liberi nel
reticolo, possono funzionare come centri di intrappolamento, cioè nei posti lasciati
liberi dagli atomi tendono ad accumularsi i portatori di cariche positive. Quindi
quando alcune lacune si avvicinano all’interfaccia, alcune di queste rimangono
intrappolate.
Il numero di lacune che rimangono intrappolate è dato dalla sezione d’urto di
cattura nelle vicinanze dell’interfaccia, che è un parametro fortemente dipendente
dalle caratteristiche costruttive. La frazione di lacune intrappolate può variare da
qualche punto percentuale, per i dispositivi resistenti alle radiazioni, fino al 50-
100%, per i dispositivi meno resistenti. L’accumulo di carica positiva, dovuto
all’accumulo di lacune intrappolate, causa una variazione negativa della tensione
di soglia, sia per il canale n che per il canale p dei transistor. Nel grafico di figura
12 [12] è possibile osservare la variazione della tensione di soglia dovuta
all’intrappolamento di cariche negli ossidi, ΔVot,, in funzione del campo elettrico
nell’ossido.
61
Figura 12 – Variazione della tensione di soglia ΔVot in funzione del campo
elettrico nell’ossido. I cerchi pieni rappresentano i dati misurati, quelli vuoti i
dati rinormalizzati. La linea tratteggiata rappresenta invece E-1/2.
Per campi elettrici maggiori di 0.5 V/cm, ΔVot decresce come E-1/2.
Oltre a provocare trappole nell’ossido, la radiazione può causare anche trappole
nell’interfaccia Si/SiO2. Le trappole di interfaccia si trovano all’interno della
banda di gap del silicio sull’interfaccia. A causa della loro localizzazione
sull’interfaccia le cariche accumulate in queste trappole possono essere facilmente
cambiate applicando una polarizzazione esterna.
Le trappole di interfaccia possono essere positive, neutre o negative. Le trappole
nella porzione inferiore della banda di gap sono prevalentemente donatori, e
quindi sono caricate positivamente. Un transistor drogato p, possiede
primariamente trappole d’interfaccia nella parte inferiore della banda di gap,
quindi per il canale p le trappole di interfaccia sono prevalentemente positive. Al
contrario, le trappole nella porzione superiore della banda di gap sono
principalmente accettori e quindi caricate negativamente. Un transistor drogato n,
possiede principalmente trappole nella parte superiore della banda di gap, sicché
le trappole di interfaccia sono prevalentemente negative.
62
La variazione totale della tensione di soglia per un transistor [12] è data dalla
somma delle variazioni dovute alle trappole nell’ossido e alle trappole
nell’interfaccia:
Vsogl .ossido e Vsogl .int erfaccia possono essere determinate tramite la formula:
tossido
1
Vossido ,int erfaccia
Cossido tossido x x dx ,
0
può diventare grande e negativo, mentre Vsogl .int erfaccia cresce di poco, vista la
poca mobilità degli elettroni e visto che gli effetti delle radiazioni per manifestarsi
sull’interfaccia richiedono tempi più lunghi. In figura 13 è possibile osservare un
grafico della variazione della tensione di soglia in funzione del tasso di dose
(dose/tempo, rad/s).
63
Figura 13- Variazione della tensione di soglia ΔVth in
funzione del “dose rate”.
0
,
1 N it
64
Figura 14 – Variazione della mobilità dei portatori in
funzione dell’incremento delle trappole di interfaccia. I
dati sono normalizzati rispetto ai valori precedenti
all’irraggiamento.
65
2.4.2 EFFETTI DA EVENTO SINGOLO
Uno degli effetti più distruttivi sull’elettronica è l’effetto da danno singolo.
A differenza dell’effetto da dose totale, che è un effetto medio, relativo al volume
del dispositivo e quindi generato da moltissimi eventi, gli effetti da evento singolo
sono dovuti ad un solo fenomeno che li genera e sono quindi relativi alla
superficie del dispositivo che stiamo considerando.
Esistono diversi tipi di effetti da danno singolo SEE (Single Event Effects):
SEU(Single Event Upset), SEB (Single Event Burnout), SEGR (Single Event
Gate Rupture), “latchup” e “snapback” .
Il SEU consiste nel cambiamento di stato di un transistor ed è un errore leggero,
correggibile tramite software, cioè può essere risolto tramite un codice di
correzione o tramite un riprocessamento dell’informazione.
Quando una particella carica pesante (per esempio protoni) con elevata energia
penetra in un circuito integrato, essa può depositare una quantità di energia
sufficiente da causare un SEU. La quantità di energia rilasciata da uno ione al
circuito è data dal LET (Linear Energy Transfer), e vale:
1 dE
LET ,
dx
dE
dove è la densità del materiale e la perdita di energia per unità di
dx
lunghezza nel materiale attraversato.
Per gli effetti da evento singolo un parametro molto importante è la carica
depositata nel materiale. La carica depositata per unità di lunghezza Q/x, lungo il
cammino di una particella può essere calcolata tramite la formula seguente:
Q 1.6 102 LET
,
x E
dove E è l’energia minima richiesta per creare una coppia elettrone lacuna in
66
avviene all’incirca in un centinaio di picosecondi. Questa carica, in figura15, è
rappresentata dalla quantità QD (dove d sta per “drift”).
Un altro contributo alla carica raccolta viene dalla diffusione dei portatori verso il
bordo della giunzione nelle regioni di svuotamento e di incanalamento. In figura
15 la componente dovuta alla diffusione è rappresentata dalla quantità QDF.
L’ammontare di carica che è raccolta attraverso il moto dei portatori attraverso la
regione di svuotamento può essere enormemente incrementata dal fenomeno
dell’”incanalamento di campo” (field funneling). La densità di coppie elettrone
lacuna create attraverso il passaggio dello ione è molto maggiore della densità
dovuta al drogaggio tipico di una giunzione p-n. Le alte concentrazioni di elettroni
e lacune distorcono la forma originale della regione di svuotamento della
giunzione, formando un cilindro che segue il cammino dello ione. Di conseguenza
si crea una regione di incanalamento che si estende oltre il normale perimetro
della regione di svuotamento, come mostrato in figura 15.
67
In una memoria, le informazioni vengono memorizzate nei nodi. Un nodo cambia
di stato se la carica depositata dalle radiazioni è maggiore della carica critica. La
carica critica è definita come la carica minima necessaria a cambiare lo stato
memorizzato. Per una DRAM, questa è la differenza tra l’ammontare di carica
contenuta nel nodo e la carica minima richiesta per leggere in maniera attendibile
il dato salvato. La carica critica è una quantità che dipende fortemente dal
dispositivo e dal circuito in questione. Essa può anche essere molto piccola , per
esempio, dell’ordine dei fC, cioè all’incirca 6250 elettroni. Questo è un esempio
di come la carica depositata dal passaggio di uno ione su un circuito integrato può
causare un SEU (Single Event Upset), cioè un errore logico all’interno di un
circuito digitale.
L’errore di tipo SEU può essere risolto attraverso la riprogrammazione, ma in
alcuni casi gli ioni pesanti possono causare danni permanenti ai transistor. Questo
tipo di errori spesso vengono chiamati errori gravi e due principali esempi di
questo tipo di errori sono:
- SEB (Single Event Burnout)
- SEGR (Single Event Gate rupture)
L’errore SEB può causare un danno permanente a un transitor bipolare o ai
MOSFET di potenza. Quello che succede in questo tipo di errore è che il
passaggio della particella carica causa un accumulo di cariche tale da rompere la
giunzione del transistor considerato, causando così un cortocircuito.
Di maggiore importanza, per i circuiti digitali di tipo MOS, è il danno di tipo
SEGR, che può avvenire quando lo ione passa attraverso l’ossido del gate e solo
per elevati livelli di campo elettrico nell’ossido, come quelli che ci sono durante la
scrittura o la lettura in una SRAM o EEPROM. Esso, infatti, è causato dalla
combinazione del campo elettrico applicato con l’energia depositata dallo ione.
Quando lo ione passa attraverso l’ossido del gate, esso forma un plasma con alta
conducibilità tra il silicio e il dielettrico. A causa del campo elettrico applicato
lungo l’ossido, le cariche scorrono lungo il plasma depositando energia
nell’ossido. Se l’energia è sufficientemente alta, si può avere un surriscaldamento
localizzato e potenzialmente, una condizione di rottura termica. Se si raggiunge
tale condizione, la temperatura locale lungo il plasma diviene abbastanza alta da
causare la diffusione termica dei materiali della porta, facendo sciogliere il
dielettrico ed evaporare i materiali conduttivi adiacenti. La resistenza del
68
cammino iniziale dello ione è inversamente proporzionale all’energia lineare
trasferita LET dello ione. Se la LET cresce, la resistenza si abbassa e così viene
ridotta la richiesta di differenza di potenziale necessaria a sostenere la conduzione
all’interno del dispositivo. In figura 16, è possibile osservare la tensione di soglia
di collasso VFT in funzione di 1/LET.
Figura 16 – Tensione di soglia di collasso VFT per un danno di tipo SEGR, in funzione
dell’inverso della LET dello ione incidente, per un diossido di silicio di 45 nm e per un
dielettrico composto da 2.2 nm di diossido di silicio (SiO2) e da 35 nm di Si3N4. La curva
superiore rappresenta la VFT per l’ossido composto da SiO2 e da Si3N4, mentre quella
inferiore rappresenta la VFT per il diossido di silicio, SiO2.
Dal grafico si nota che, per entrambi i dielettrici, la tensione di soglia di collasso
cresce al decresce della LET. Per il diossido di silicio con uno ione incidente
perpendicolarmente alla superficie, il campo elettrico critico per osservare un
guasto di tipo SEGR è dato da:
41106
Ecr 1
(V cm)
.
LET 2
69
Quindi uno ione di germanio (Ge) con un’energia di 180 MeV, con una LET di
36.8 MeVcm2/mg, induce un campo elettrico critico di 6.7 MV/cm.
Oltre a dipendere dal campo elettrico e dalla LET, la tensione di soglia di collasso
dipende anche dall’angolo della particela incidente. Sperimentalmente si è notato
che VFT cresce linearmente all’aumentare di 1/cosθ , dove θ è l’angolo con cui la
particella incide sulla superficie del dielettrico. Una possibile spiegazione alla
dipendenza angolare della VFT è che quando l’angolo di incidenza cresce, la
lunghezza del cammino tra il silicio e il materiale del gate cresce, aumentando
così la resistenza effettiva lungo il cammino dello ione. In figura 17 è possibile
osservare un grafico della VFT in funzione dell’angolo di incidenza dello ione.
Figura 17 – Dipendenza angolare della tensione di soglia di collasso VFT per una
rottura di porta da evento singolo (SEGR).
Per una memoria, la probabilità di avere un guasto da SEGR dipende dal tempo
passato dal dispositivo in scrittura, o in altre modalità che richiedono campi
70
elettrici elevati. Per molte delle applicazioni di una memoria non volatile queste
operazioni rappresentano solo una piccola parte delle operazioni totali, quindi la
probabilità di ottenere un guasto di tipo SEGR è fortemente dipendente dal tipo di
applicazione che i dispositivi in questione stanno svolgendo.
Il latchup è una condizione di corrente elevata che si ottiene in conseguenza del
passaggio di una particella carica e che interessa solo i dispositivi basati su
tecnologia CMOS. La carica depositata dalla particella attiva un percorso n-p-n-p,
all’interno del quale scorre un considerevole flusso di corrente. Se l’energia
sviluppata dal flusso di corrente eccede la capacità di dissipazione termica del
materiale considerato, si può arrivare alla distruzione del dispositivo (“break
down” distruttivo), in maniera del tutto analoga a quanto avviene nel SEGR. Il
percorso attraverso il quale scorre il flusso di corrente, rimane attivo fino a che
non viene tolta l’alimentazione al dispositivo. Per controllare l’importanza di
questo tipo di danno, viene monitorato il consumo di potenza del circuito. Per
evitare che questo tipo di effetti porti alla distruzione del dispositivo, spesso,
viene posto un limite di sicurezza alle correnti di alimentazione.
71
tipo distruttivo e sono molto più sensibili ai danni dovuti allo spostamento degli
atomi dal reticolo.
I dispositivi di tipo FPGA, essendo sviluppati in tecnologia CMOS, sono
particolarmente sensibili agli effetti da dose totale e inoltre risultano essere molto
più soggetti ai SEE dei dispositivi non programmabili. In particolare ciò che si
nota nei dispositivi di tipo FPGA è la perdita di riprogrammabilità, probabilmente
legata all’uso di SRAM nelle celle che compongono il dispositivo.
L'effetto di “Total Dose” è connesso all'accumulo di carica all'interno degli ossidi.
Le particelle incidenti attraversando gli ossidi tendono a depositarvi cariche che
alterano il funzionamento dei dispositivi. L'effetto maggiore di questa alterazione
è la variazione della tensione di soglia nei MOSFET, ovvero una riduzione della
tensione di soglia degli NMOS ed un aumento in modulo della tensione di soglia
dei PMOS( § 2.4). Ciò si traduce in un peggioramento dei margini di rumore e
nell'aumento della corrente e della potenza dissipata. Purtroppo contro questo
fenomeno non esistono efficaci soluzioni architetturali e l'unica soluzione
disponibile è quella dell’utilizzare tecnologia resistente alle radiazioni (Radiation
Hard), anche se è stato riscontrata una maggiore resistenza a questo tipo di danni
da parte delle tecnologie ad alta miniaturizzazione come la CMOS a 0.25 µm, che
avendo uno spessore dell’ossido molto ridotto (tox = 5nm) , risulta meno soggetta
al danno da dose totale, e che ha dimostrato avere delle variazioni nella tensione
di soglia contenute ed accettabili fino a dosi totali assorbite di 30 Mrad. Il vero
problema invece risulta essere legato all’ossido laterale , che risiede ai bordi del
canale e sotto il gate, e all’ossido di isolamento tra i dispositivi differenti, che
essendo più spessi accumulano una quantità maggiore di carica, pregiudicando
così le capacità di isolamento.[16].
Inoltre, come mostrato in diversi test, i circuiti implementati con logica
programmabile tendono ad essere molto più sensibili all’errore di tipo SEU
rispetto alla loro controparte non riprogrammabile. In un irradiazione fatta al fine
di testare la tolleranza ai SEE, con ioni pesanti su degli “shift register” , di cui
alcuni erano implementati in logica cablata ed altri in logica programmabile.
“I registri progettati usando logica dinamica, con una LET di soglia inferiore ai
3.2 MeV cm2 mg-1, hanno dimostrato di essere considerevolmente più sensibili ai
Single Event Upset rispetto alla loro controparte in logica cablata, che ha una LET
di soglia di circa 15 MeV cm2 mg-1” (op cit. [16]).
72
In un integrato come un dispositivo FPGA basato su SRAM vi è un'altissima
concentrazione di celle di memoria statica. Ciò implica che uno dei più rilevanti
fenomeni di Single Event Effect siano quelli connessi ai Single Event Upset degli
elementi di memoria. Una particella incidente è in grado di depositare una carica
sufficiente a far variare il valore memorizzato in una cella statica e ciò può
generare effetti distruttivi per una FPGA (per esempio effetti di tipo SEGR) se gli
elementi di memoria, che contengono la programmazione, non sono
adeguatamente rinforzati. Infatti ( ved. § 2.4.2) durante le operazioni di lettura,
scrittura e reset in una RAM si ottengono, ampiamente, le condizioni per le quali è
possibile osservare un danno di tipo SEGR.
Per ovviare ai problemi generati dall’esposizione a radiazioni, in passato, è stata
sviluppata una tecnologia particolare, resistente a radiazioni (“radiation hard”),
nella quale vengono usate particolari tecniche di produzione per aumentare la
resistenza alle radiazioni.
Accorgimenti particolari di layout e di circuito (sistemi “radiation tolerant”)
possono risolvere queste problematiche senza dovere ricorrere a tecnologie
specializzate con processi di produzione dedicati, che ai fini pratici sono meno
avanzate, hanno un costo elevato ed una resa inferiore alle tecnologie
commerciali[17] [18] [19]. Questi accorgimenti risultano in pratica nel modificare
la forma di tutti i transistori MOS a canale n, eliminando il bordo del canale e così
l'ossido laterale, ed in più aggiungere ad essi un anello di guardia p+ circostante
per isolarli da altri dispositivi. Il gate, che diviene di forma circolare, circonda
quindi completamente il drain, posto al suo interno, mentre il source rimane
all'esterno (vedi figura 18). Tutto questo si traduce ovviamente in una riduzione
della massima densità di componenti per unità di area.
73
Figura 18 – Transistor a geometria chiusa (enclosed Layout). In genere il
Drain si trova al centro e il source è all’esterno del gate circolare. Con questo
tipo di layout si riducono le probabilità di incorrere nel SEL.
74
Figura 19 – Tipico esempio di macchina a stati con registri, linee di input
e di output. In questo tipo di macchina non è presente alcun tipo di
ridondanza.
75
Figura 20 – Macchina a stati triplicata con linea di “feedback”. In questo caso la
macchina a stati è ripetuta tre volte e vi è aggiunta una rete che si occupa della
logica di maggioranza, tramite la quale si seleziona la parola non soggetta ad
errore e la si passa all’output del dispositivo. Mentre la linea di feedback rimanda
indietro lo stato corretto.
76
CAPITOLO 3
FPGA FLEX 10K10 dell’ALTERA
Si è visto, nello scorso capitolo che per evitare una incidenza eccessivamente elevata
dei SEU nei dispositivi di tipo FPGA in ambienti radioattivi, è conveniente nella fase di
programmazione del dispositivo, inserire dei sistemi di controllo dei dati.
In questo capitolo ci si occupa della progettazione di una macchina a stati sincrona con
architettura alla Moore che includa il controllo delle parole digitali in uscita.
77
programmabili Field Programmable Gate Array (FPGA), sfruttando una porta parallela
del PC, tramite un interfaccia fornita dal produttore dell’FPGA.
La metodologia di progetto, seguita usando Max + Plus II (vedere schema IN Figura 1
nella pagina seguente), prevede nella prima fase lo sviluppo dello schematico e quindi
l’implementazione delle funzioni logiche e/o delle reti logiche sequenziali. Questa fase
può essere affrontata tramite due metodologie principali, la prima è quella di sviluppare
lo schema logico tramite l’interfaccia grafica, la seconda metodologia prevede l’utilizzo
del linguaggio VHDL (VHDL = VHSIC-HDL, Very High Speed Integrated Circiuts
Hardware Description Language), un linguaggio sviluppato per la descrizione dei
sistemi digitali. Indipendentemente da quale sia la metodologia scelta, Max + Plus II da
la possibilità di sviluppare il progetto in modo gerarchico, semplificandone di molto lo
sviluppo. Infatti, si ha la possibilità di sviluppare il progetto tramite blocchi logici che,
partendo dal livello gerarchico più basso, contengono al loro interno i livelli gerarchici
superiori sino ad arrivare alle singole porte logiche. Inoltre, questo permette di testare il
funzionamento di ogni singolo blocco e di modificarne, se è il caso, le caratteristiche,
riducendo così la quantità di errori di progettazione.
Successivamente alla fase di implementazione del sistema si passa alla fase di
compilazione, dove è possibile verificare la presenza di altri errori e dove vengono
creati i “files” necessari alla simulazione.
L’ultima fase è quella di simulazione, effettuata tramite un “file” in cui l’utente deve
aver inserito le eccitazioni da fornire agli ingressi del sistema.
Se la fase di simulazione dà esito positivo, e quindi il sistema si comporta come ci si
aspettava, si può caricare il progetto all’interno del dispositivo, altrimenti si torna alla
fase di sviluppo iniziale (Fig. 1).
78
Figura 1 – Diagramma di flusso di progettazione, tramite MAX+PLUSII
79
Figura 2- Comparatore digitale realizzato con Max+Plus II
80
- RLC (Rete Logica Combinatoria) che implementa la logica di maggioranza e dà
informazioni sull’eventuale presenza dell’errore e su quale registro a scorrimento
esso si trova.
Figura 3 - – Diagramma di flusso del sistema di base senza correzione degli errori
In questo sistema solo i primi tre stadi si trovano ad essere esposti a radiazione, la parte
dell’apparato relativa all’ultimo e al penultimo blocco logico (logica di maggioranza) si
trova lontana dalle sorgenti radioattive in modo da evitare di subirne gli effetti.
In figura 4 è possibile notare il diagramma a blocchi della parte centrale di questo
progetto. All’ingresso i tre “shift register” a 8 bit, tre 74LS198 selezionati dalla libreria
standard del sistema Max+Plus II, caricano il dato proveniente dal registro di ingresso,
al segnale di clock successivo questi iniziano a lavorare e a far scorrere i bit della
parola digitale, durante queste operazioni, se il sistema è immerso in ambiente
radioattivo la probabilità che si verifichi un errore può essere elevata. Se si verifica un
errore singolo, la parola digitale memorizzata all’interno di uno dei tre registri a
scorrimento risulta diversa da quella memorizzata negli altri due. Tramite i comparatori
e la rete logica combinatoria di uscita è possibile determinare la posizione dell’errore.
81
Figura 4 - Diagramma a blocchi del sistema descritto in figura 3
82
Per riepilogare tutti gli altri casi e per sviluppare il progetto di questa RLC riportiamo
di seguito, la tavola della verità relativa a questo progetto (TABELLA 1).
83
Figura 5 – Schematico della RLC per la votazione. I buffer non invertenti servono per equalizzare gli ingressi.
Per quanto riguarda i comparatori sono stati realizzati facendo lavorare in parallelo 8
comparatori da un bit come quelli mostrati in figura 1, il risultato è mostrato in figura 6.
84
Dopo aver disegnato e compilato il progetto del sistema di base descritto nelle figure 3
e 4, si è passati alla fase di prova della rete.
Per quanto riguarda, questa fase di sviluppo, ci si aspettava di ottenere delle forme
d’onda come quelle mostrate nelle figure 7 e 8, riguardanti la prima un timing senza la
rilevazione dell’errore e la seconda un timing che mette in evidenza un errore.
Figura 7- - Timing aspettato per l’RLC senza la presenza di errori. La variabile OK è sempre posta a 1, ciò
significa che il sistema non ha riscontrato alcuna discrepanza tra i dati contenuti nei tre SHIFT REGISTER
Figura 8 - Timing aspettato per l’RLC con la presenza di errori. Quando la variabile OK assume il valore logico
0 il sistema sta rilevando una discrepanza, in particolare, in questo caso, l’errore viene rilevato sul terzo SHIFT
REGISTER.
In realtà i diagrammi dei tempi ottenuti sono diversi da quelli mostrati nelle figure 7 e
8, e sono riportati nelle figure 9 e 10. In queste figure è possibile notare dei picchi
(spikes) sui segnali, che non ci si era aspettati di rilevare. Tramite altre simulazioni e
85
tramite una analisi più approfondita della parte combinatoria del circuito ci si è accorti
che questi picchi sono strettamente connessi alla rete logica combinatoria e, in
particolare, essi vengono generati nei comparatori di un bit quando entrambe le
variabili di ingresso commutano contemporaneamente. Per ovviare a tale problema ed
evitare che tali picchi non desiderati, influenzino, i risultati sarà necessario aggiungere
all’uscita della rete combinatoria un registro cadenzato.
Sono stati generati due “files” di forme d’onda da fornire in ingresso al sistema: il
primo senza errori in ingresso, il secondo con un errore presente sul terzo SHIFT
REGISTER. I risultati ottenuti per un clock con un periodo di 200 ns nel primo caso e
con un clock di periodo di 400 ns nel secondo, sono riportati nelle figure 9 e 10.
Come si può notare mentre nel primo caso, in cui non è presente l’errore, la funzione
OK, assume il valore logico 1, nel secondo caso dopo il fronte di salita del clock
l’uscita relativa al segnale di OK va a zero con un ritardo di circa 23 ns, e con un
ritardo all’incirca uguale, l’uscita relativa al segnale di errore nel terzo “SHIFT
REGISTER”, in figura ERSRIII, assume il valore logico 1. Questi ritardi, sono i ritardi
di propagazione dei segnali all’interno dei blocchi logici, da non confondere con i
ritardi delle porte TTL con cui la rete è stata disegnata, infatti il dispositivo all’interno
del dispositivo FPGA viene implementato in tecnologia CMOS, anche se gli elementi
di libreria utilizzati svolgono funzioni tratte dagli elementi della serie TTL LS.
Figura 9 - Timing ottenuto per l’RLC, tramite simulazione in MAX+PLUSII, senza la presenza di errore. I
picchi (spikes) sono dovuti allo stadio di comparazione e probabilmente ad un effettiva differenza di
propagazione dei segnali nelle due porte logiche che compongono lo stadio di comparazione del singolo bit.
86
Figura 10- Timing ottenuto per l’RLC, tramite simulazione in MAX+PLUSII, con la rivelazione di un errore sul
terzo SHIFT REGISTER, dopo un tempo di 423 ns dall’inizio della simulazione.
87
3.2.2 PROGETTO DELLA RETE LOGICA SEQUENZIALE PER LA CORREZIONE
DEGLI ERRORI
Fino adesso abbiamo trattato la rivelazione degli errori, ma non la loro correzione.
Da questo punto in poi ci si è occupati di uno sviluppo ulteriore del progetto fino
adesso realizzato, volto a correggere gli effetti del SEU.
Al fine di correggere gli errori dovuti alle radiazioni, è possibile implementare
esternamente al dispositivo fino ad ora sviluppato, per esempio tramite un’altra FPGA,
una rete logica sequenziale che si occupi della correzione degli errori tramite delle linee
di feedback. Un dispositivo di questo tipo è rappresentato in figura 11.
Figura 11 – Sistema di rivelazione degli errori, con aggiunta del feedback per la loro correzione.
La rete logica sequenziale posta in uscita alla rete combinatoria, si occupa della
correzione della parola in ingresso e del controllo della temporizzazione dell’intero
sistema, generando i clock da inviare ad ogni parte della macchina completa.
All’interno di essa vi sono posti anche tre registri tristate, di tipo 74373, che si
occupano della memorizzazione delle parole in uscita dai SHIFT REGISTER, per un
eventuale correzione.
88
Per realizzare la macchina sequenziale il primo passo effettuato è stato quello di
realizzare un diagramma a stati alla Moore che evidenziasse tutti gli stati possibili in
cui la macchina si può trovare, vedere figura 12.
Figura 12 - Schema a blocchi della rete logica sequenziale per la correzione degli errori. Il segno (*) sta ad
indicare che la variabile in questione è attiva bassa. OER* LER sono l’”OUTPUT ENABLE” e il “LATCH
ENABLE” del registro di ingresso, OEI,II,III* e LEI,II,III sono gli ”OUTPUT ENABLE” e i “LATCH
89
ENABLE” dei tre registri di sicurezza, ENSR è il segnale che abilita il clock degli SHIFT REGISTER, S0S1 sono
i segnali di controllo degli SHIFT REGISTER, mentre MR* è il loro segnale di MASTER RESET. Per quanto
riguarda S0S1 se nella condizione 00 essi sono in “hold”, se nella condizione 11 in “parallel load”, se in 01 stanno
facendo scorrere la parola verso destra.
Ogni stato è definito da una condizione da imporre sui FLIP FLOP, alla quale è
associata una particolare condizione per le variabili principali di uscita. La transizione
da uno stato all’altro, invece, è definita dalle configurazioni delle variabili principali
d’entrata che controllano le transizioni.
Per il nostro sistema sono stati identificati 5 stati possibili (3 FLIP FLOP), con 5
variabili principali di ingresso, di cui solo due per il controllo delle transizioni e 10
variabili principali di uscita.
Le variabili principali d’uscita sono riferite ai seguenti segnali:
OER* e LER sono i controlli dell’uscita e dell’ingresso del registro principale di ingresso,
rispettivamente attivo basso e attivo alto;
OEI,II,III* e LEI,II,III sono i controlli dell’uscita e dell’ingresso dei registri di emergenza,
cioè dei registri che memorizzano i dati per un eventuale correzione;
ENSR è il segnale che attiva e disattiva il clock degli SHIFT REGISTER;
S0, S1, MR* sono i controlli che definiscono la modalità di funzionamento degli “shift
register” e il loro Master Reset.
Per quanto riguarda le variabili principali di ingresso :
GO è un segnale controllato dall’utente che se attivo fa lavorare la macchina se disattivo la
riporta nello stato di IDLE;
OK è il segnale che proviene dalla logica di maggioranza: se attivo indica l’assenza di errori,
mentre se disattivo indica la presenza di un errore;
SRI,II,III sono i segnali che provengono dalla logica di maggioranza: indicano la posizione
dell’errore.
In questo diagramma sono descritte tutte le possibili configurazioni della macchina che
si vuole progettare.
Nel primo stato, la macchina è in attesa che il segnale di GO venga posto nello stato
attivo, in questa configurazione tutte le parti della macchina sono in attesa.
Nel secondo stato, LOAD R, i dati vengono caricati nel registro principale di ingresso.
90
Se il segnale di GO continua a rimanere attivo la macchina passa nello stato di LOAD
SR, in questo stato la parola digitale viene caricata negli SHIFT REGISTER. Se invece
il segnale di Go si disattiva la macchina torna nello stato di IDLE.
Arrivati allo stato WORK gli SHIFT REGISTER iniziano far scorrere la parola digitale
e l’uscita del registro di ingresso viene posta in alta impedenza, mentre i registri di
correzione della macchina sequenziale continuano a caricare la parola in uscita dai
registri a scorrimento. Il sistema permane in questo stato finché non viene rilevato un
errore o finché si annulla il segnale di GO.
Nel caso in cui venga rilevato un errore (OK=0), il sistema va nello stato ERROR
DETECTION, in questo stato si inibisce il segnale di clock degli SHIFT REGISTER ed
essi vanno in modalità hold, nel frattempo viene abilitata l’uscita del registro di
sicurezza che contiene la parola esatta.
Se il segnale di GO continua ad essere abilitato si raggiunge l’ultimo stato della
macchina (ERROR CORRECTION), in cui gli SHIFT REGISTER vengono abilitati a
caricare la parola esatta, dopo di che se il segnale OK torna alto, il sistema torna nello
stato di WORK fino al prossimo errore.
Al fine di testare la correttezza della macchina a stati di figura 11 e 12, si è pensato di
ricorrere ad un programma di simulazione di FSM (Finite States Machine), in
particolare si è scelto di usare un programma “freeware” sviluppato dall’università di
Deusto, Spagna, denominato BOOLE DEUSTO.
Nell’utilizzare questo programma si sono incontrate delle difficoltà legate al numero
limitato (soltanto cinque) di variabili principali d’uscita che il programma può
supportare. Essendo il nostro sistema più complesso, si è scelto di partizionare la nostra
macchina a stati in due, in maniera tale da poterne simulare il comportamento prima di
implementarla tramite MAX+PLUSII. Questa procedura è possibile grazie
all’indipendenza delle variabili principali d’uscita, che dipendono dalla configurazione
assunta dai FLIP FLOP.
Nella prima macchina sono state inserite le seguenti variabili di controllo: OER*,
LER,S0,S1,ENSR.
Nela seconda macchina invece sono state inserite: OEI,II,III*, LENI,II,III, MR*.
Nella figura 13 è possibile vedere le due macchine simulate nel programma BOOLE.
91
Figura 13 – Macchine a stati finiti, ottenute dal partizionamento della macchina principale. Lo stato di IDLE è
quello centrale, da quello si dipanano poi gli altri stati. Le condizioni di transizione sono indicate accanto alle
frecce.
92
dal diagramma a stati e dalla quale sono state ricavate le funzioni di eccitazione e di
uscita della rete logica sequenziale.
Successivamente tramite il programma Karnaugh minimizer sono state ottenute le
funzioni di eccitazione dei FLIP FLOP: DnA, DnB, DnC; e le funzioni di uscita MR*,
S0, S1, EN_SR
In figura 14 è rappresentato il livello gerarchico 0, detto anche “TOP LEVEL”, della
rete logica sequenziale, dove sono rappresentati tutti gli ingressi e le uscite.
Si è scelto inoltre di comandare i registri di sicurezza, per la correzione dell’errore e di
porli all’esterno della rete logica sequenziale al fine di ridurre il numero di linee di
ingresso e di uscita.
Figura 14 - – Blocco gerarchico di livello 0. Sono rappresentate tutte le linee di ingresso e uscita utilizzate dalla
rete logica sequenziale. Si è aggiunta alla RLS un contatore del numero di errori a 8 bit, che viene comandato
dal segnale di GO.
93
- Una RLC di uscita che generi le funzioni desiderate.
In figura 15 è possibile osservare il diagramma a blocchi della rete logica sequenziale.
Mentre in figura 16 è possibile notare lo schematico realizzato tramite MAX+PLUSII
della RLC di input della RLS, in figura 17 lo schematico della RLC di output della
RLS.
94
Figura 16 – Schematico RLC di input della RLS
95
Figura 17 – RLC di uscita della RLS, con le varie funzioni sulla destra
Inoltre si è fatto uso di un contatore, per dividere il clock e mandare ad ogni blocco
della macchina il giusto segnale di cadenza. Questo in quanto si ha la necessità di far
lavorare con delle velocità diverse le varie parti della macchina, per lasciare il tempo ai
segnali di propagarsi e per fare in modo che la macchina rispetti in tutto e per tutto il
diagramma a stati.
96
Subito dopo aver implementato la rete logica sequenziale, si è passati alla fase di prova
del circuito per vedere se il comportamento era quello aspettato.
La prima prova di timing è quella rappresentata in figura 18, dove è possibile notare dei
picchi di tensione che questa volta ci si aspettava e che provengono dalla RLC.
Inizialmente si è pensato che queste “spikes”, fossero tutte generate all’interno dei
comparatori, come già abbiamo scritto nello scorso sottoparagrafo (vedere 3.2.1), ma in
realtà, come si mostrerà più avanti, non è così .
Al di là delle “spikes” la macchina sequenziale si è comportata come ci si aspettava,
attivando i segnali giusti per la correzione dell’errore quando questo era necessario e
quindi, assumendo gli stati desiderati a seconda delle condizioni esterne a cui è
sottoposta.
Figura 18 - – Diagramma temporale della macchina sequenziale. I picchi (spikes) sono dovuti alla logica
combinatoria: sia a quella nella rete che si occupa del voto di maggioranza, sia alla rete combinatoria di uscita
della macchina sequenziale.
Per risolvere il problema dei picchi non desiderati si è scelto di inserire un registro
cadenzato in ingresso alla rete sequenziale, come mostrato nello schema a blocchi di
figura 19.
97
Figura 19– Schema a blocchi della RLS con registro cadenzato in ingresso per eliminare i picchi non desiderati
Applicando la soluzione descritta sopra si pensava di eliminare il problema delle
“spikes, che possono essere molto pericolose per il sistema di correzione degli errori.
In realtà, anche dopo quest’ultima modifica, si sono continuate ad osservare delle
“spikes” durante la simulazione. Allora si è pensato che le “spikes” fossero dovute alla
logica combinatoria di uscita della macchina sequenziale e si è effettuata una
simulazione sulle singole funzioni logiche, per verificarlo.
Dopo tale simulazione, si è pensato di aggiungere un altro registro cadenzato, in uscita
alla rete combinatoria della macchina sequenziale, al fine di eliminare le “spikes”. In
figura 20 è possibile osservare il nuovo schema a blocchi così ottenuto.
98
Figura 20 -Schema a blocchi della macchina sequenziale con un registro cadenzato in ingresso e un altro in
uscita, che hanno la funzione di eliminare le "spikes".
Con questo nuovo sistema si è ottenuto un nuovo timing, in cui non sono più presenti i
picchi (spikes) mostrati in precedenza. La figura 21 mostra il diagramma temporale
della rete sequenziale con il registro cadenzato in ingresso.
99
Figura 21 – Diagramma temporale della macchina sequenziale, alla quale è stato aggiunto un registro
cadenzato in ingresso. In questo caso non vi è la presenza di picchi che potrebbero disturbare il funzionamento
del sistema.
100
3.2.2 POSSIBILI ULTERIORI SVILUPPI
Per testare l’efficacia del sistema ancora prima di inserirlo in ambiente radioattivo, a
questo progetto può essere aggiunta una rete esterna che si occupi di simulare l’errore
(vedi figura 21).
Questa rete agisce sul sistema iniettando dei bit errati all’uscita degli SHIFT
REGISTER e va connessa direttamente alla rete logica sequenziale.
Questo sistema ha moltissimi vantaggi, di cui forse il più importante è la possibilità di
prevedere l’efficienza del sistema di correzione quando questo sarà immerso in
ambiente radioattivo.
La rete logica sequenziale, infatti, non distingue tra errore simulato ed errore causato da
radiazioni.
101
Per motivi di tempo, non è stato possibile implementare la parte di simulazione degli
errori all’interno del sistema.
Per completezza riportiamo nella pagina seguente, la figura 22 che rappresenta lo
schema a blocchi del sistema completo con il blocco di simulazione degli errori.
Figura 23 - Schema a blocchi intero apparato con sistema di simulazione degli errori. In questo schema sono
incluse tutte le parti fino adesso discusse, in più è stata aggiunta nella parte inferiore del diagramma un RLS che
si occupi di immettere un errore all’uscita degli “shift register”, che simula gli effetti di un SEU all’interno del
dispositivo.
102
Conclusioni
Da quanto detto fino ad ora si evince che l’uso dei dispositivi programmabili di tipo
FPGA in ambienti radioattivi è possibile a livelli bassi di dose assorbita dal dispositivo.
Tale livello inizia a crescere se il dispositivo viene fornito di una logica di controllo
dell’errore (logica ridondante), che però riduce le prestazioni dei dispositivi in termini
di densità di funzionalità integrabile in un singolo dispositivo. La logica di controllo
permette infatti di limitare gli effetti dovuti ai SEU: in condizione di errore singolo si
riesce ad annullare la probabilità che gli effetti dovuti ad un SEU passi in uscita al
dispositivo.
Il lavoro affrontato è stato molto interessante, perché ha permesso di prendere
dimestichezza con un problema reale, che la fisica sperimentale è costretta ad
affrontare nella ricerca moderna. Inoltre, il progetto che è stato sviluppato nel terzo
capitolo, ha dato la possibilità di affrontare il problema in maniera efficiente e di
trovare una soluzione applicabile nella pratica.
103
APPENDICE A
ACRONIMI
104
EPROM: ERASABLE PROM
ESR: ELECTRON SPIN RESONANCE
105
LCA: LOGIC CELL ARRAY
LE: LOGIC ELEMENT
LET: LINEAR ENERGY TRANSFER
LUT: LOOK UP TABLE
106
S
107
APPENDICE B
LE SEZIONI D’URTO
108
d 1 dN s
E,
d F d
d
cioè, è la frazione media delle particelle che nell’interazione sono state diffuse
d
nell’angolo solido dΩ per unità di tempo e per unità di flusso F.
Da notare che siccome F è un flusso, d ha le dimensioni di una superficie, anche se
non va confusa con la sezione geometrica di attraversamento delle particelle. In quanto
solo una frazione di queste particelle interagirà con il bersaglio.
d
In generale il valore di dipenderà dall’energia della reazione e dall’angolo con cui
d
la particella viene diffusa.
La sezione d’urto totale, per una data energia E, in generale, è definita come l’integrale
d
di su tutto l’angolo solido:
d
d
E d .
d
Nella realtà, a differenza di quanto visto nell’esempio di prima, il bersaglio non è mai
un punto infinitesimo, in generale esso sarà una lastra di un determinato materiale,
contenente moltissimi centri di “scattering”, cioè tanti punti bersaglio come quello
descritto in figura 1, tutti vicini l’uno all’altro. Assumendo che la lastra non sia molto
spessa, così che ci si trova nella situazione in cui è raro trovare un bersaglio dietro
l’altro. Se il flusso di particelle è più ampio del bersaglio e A è l’area totale del
bersaglio, il numero di particelle incidenti che possono interagire è dato allora da FA.
Quindi il numero medio di particelle deviate dΩ per unità di tempo è allora:
d
N s FAN x .
d
Integrando su tutto l’angolo solido si ha che il numero totale di particelle che
interagiscono è dato da:
N tot FAN x .
109
Bibliografia
[2] Roberto Dell’Orso e al. “Utilizzo dei Field Programmable Gate Arrays nei
Laboratori didattici di Fisica.” Dipartimento di Fisica Enrico Fermi Università di Pisa
[4] http://www.princeton.edu/~wolf/modern-vlsi/Overheads/CHAP6-3/sld024.htm
[5] http://www.altera.com/literature/ds/dsf10k.pdf
[6] http://www.df.unipi.it/~flaminio/laboratori/pdf_files/IntroFPGA.pdf
[7] http://www.sealab.dibe.unige.it/sitoDidattica/Files/FPGA.pdf
[8] http://www.actel.com/
[9] http://www.fpgajournal.com/articles_2005/20050906_actel.htm
[10]http://66.249.93.104/search?q=cache:W0EHrxhz1CEJ:www.pg.infn.it/eventi/scuol
e/comqual/materialedidattico/Danno%2520da%2520radiazione%2520nei%2520compo
nenti%2520utilizzati%2520nello%2520spazio(MENICHELLI).pdf+FPGA:+danno+da
+radiazioni&hl=it
[11] http://en.wikipedia.org/wiki/Van_Allen_radiation_belt
[12] James R. Schwank “Basic Mechanisms of Radiation Effects in the Natural Space
Environment”- Sandia National Laboratories, Radiation Technology and Assurance
Depatrment
[13] http://en.wikipedia.org/wiki/Photoelectric
110
[15] T.P. Ma & Paul V. Dressendorfer “Ionizing Radiation Effects in MOS Device and
Circuits”- John Wiley & Sons
[16] F. Faccio, G. Anelli, M. Campbell e al. “Total Dose and Single Event Effects
(SEE) in a 0.25 µm CMOS Technology”- CERN Ginevra
[18] p. Jarron, G. Anelli, e al. “Deep submicron CMOS technologies for the LHC
experiments”. CERN Ginevra
[19] David R. Alexander “Design Issues For Radiation Tolerant Microcircuits For
Space – Section V”- Mission Research Corporation
111