Sei sulla pagina 1di 111

UNIVERSITA’ DEGLI STUDI DI ROMA

“LA SAPIENZA”

FACOLTA’ DI SCIENZE MATEMATICHE FISICHE E


NATURALI

CORSO DI LAUREA TRIENNALE IN FISICA

DISSERTAZIONE

DISPOSITIVI LOGICI PROGRAMMABILI DI TIPO


FPGA IN AMBIENTI RADIOATTIVI

1
Relatore
Candidato

Prof. Franco Meddi


Raffaele Santagati

ANNO ACCADEMICO 2005/2006

2
3
INDICE

Introduzione

Cap. 1 Dai componenti discreti ai dispositivi


programmabili

1.1 Famiglie logiche, descrizione e caratteristiche


delle varie tecnologie

1.2 Nascita ed evoluzione dei dispositivi


programmabili: Le tecnologie in uso.

1.3 Struttura dei principali dispositivi CPLD e FPGA:


loro utilizzo.
1.3.1 Interruttori programmabili dall’utente
1.3.2 I dispositivi di tipo CPLD

4
1.3.3 I dispositivi di tipo FPGA

1.4 Importanza dei dispositivi programmabili nel


mercato moderno.

Cap. 2 Effetti delle radiazioni sui dispositivi


programmabili.

2.1 Radiazione nello spazio. Caratteristiche


principali.

2.2 Passaggio di radiazione elettromagnetica


attraverso la materia.

2.3 Passaggio di particelle cariche attraverso la


materia
2.3.1 Perdita di energia delle particelle cariche
pesanti
2.3.2 Effetto Cherenkov
2.3.3 Perdita di energia degli elettroni e dei
positroni

2.4 Effetti delle radiazioni sui circuiti integrati


2.4.1 Effetti da dose totale
2.4.2 Effetti da evento singolo

5
2.4.3 Conclusioni sul danno da radiazioni

Cap. 3 FPGA FLEX 10K10 dell’ALTERA

3.1 Sistema di sviluppo dell’ALTERA MAX+PLUSII

3.2 Progetto di un registro a scorrimento ad anello


chiuso con Hamming.

Conclusione

Appendice A – Acronimi

Appendice B – Le sezioni d’urto

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.

Nel seguente capitolo ci si propone l’obbiettivo di descrivere lo sviluppo tecnologico che ha


portato alla tecnologia oggi utilizzata nell’elettronica digitale, le sue basi e le strutture dei
principali dispositivi programmabili.

1.1 Famiglie logiche. Descrizione e caratteristiche delle principali


tecnologie.

Alla base dell’elettronica digitale, vi sono le porte logiche che combinate in


maniera opportuna possono produrre in uscita delle funzioni logiche, descritte dalla
logica boleana.
Le tecnologie di produzione delle porte logiche, dagli anni ’60 a oggi, si sono
evolute seguendo diverse esigenze: scala d’integrazione, velocità, assorbimento di
potenza, compatibilità, ecc.. così si è arrivati a sviluppare delle tecnologie che
risultavano migliori di altre su determinate caratteristiche, sono nate così le
famiglie logiche.
Le famiglie logiche sono insiemi di circuiti digitali, il cui raggruppamento dipende
dalle proprietà principali che caratterizzano gli elementi presi in considerazione.
Tali caratteristiche sono:
a) Tecnologia utilizzata,
b) Natura logico-funzionale,
c) Numero d’elementi contenuti nel circuito integrato (IC), cioè la
scala d’integrazione.
Alcune delle famiglie logiche più importanti, che sono state commercializzate negli
anni sono:
 TTL (Transistor to Transistor Logic)
 ECL (Emitter Coupled Logic)
 I2L (Integrated Injection Logic)
 MOS (Metal Oxide Semiconductor)
 CMOS (Complementary MOS)
In generale tutte le famiglie logiche possono essere suddivise in due grandi gruppi:
a) Famiglie logiche bipolari, quali TTL, ECL, I2L.
b) Famiglie logiche unipolari, quali la MOS e la CMOS.

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

1.2 Nascita ed evoluzione dei dispositivi programmabili. Le tecnologie in


uso.

Il limite principale dell’utilizzo di componentistica sia discreta, che anche a bassa


scala d’integrazione, nell’implementare funzioni logiche, è che i dispositivi
prodotti non sono riprogrammabili. Così nascono i PLD (Programmable Logic
Device). I primi PLD vennero progettati nella seconda metà degli anni ’60, con la
realizzazione di una “matrice a diodi configurabile”. Il dispositivo consentiva
l’implementazione di semplici funzioni logiche bruciando le connessioni tra i diodi
all’interno della matrice, tramite il passaggio di una corrente molto elevata
attraverso le connessioni stesse. La programmazione veniva eseguita dalla casa
produttrice.
Nel ’69 l’IBM sviluppò le memorie ROAM (Read Only Associative Memory).
Questo PLD era costituito da una matrice di porte logiche collegate da
interconnessioni programmabili.
Nel ’70 la Texas Instrument realizzò un circuito integrato basato interamente su
ROAM(con 8 Flip Flop), questi dispositivi presero il nome di PLA(Programmable
Logic Array), ed appartengono al gruppo dei dispositivi SPLD(Simple

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.

Figura 4 – Struttura tipica di una PLA


(Programmable Logic Array)

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

L’architettura dei dispositivi programmabili varia molto al variare del modello in


considerazione, della casa produttrice e della tecnologia utilizzata. Tuttavia per
comprendere il funzionamento di tali dispositivi è necessario dare uno sguardo,
anche di principio, agli interruttori programmabili, che sono alla base delle risorse
di interconnessione interne, nei dispositivi programmabili.

1.3.1 Interruttori programmabili dall’utente.

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.

Figura 7 - EPROM nelle interconnection


wires

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

I dispositivi del tipo CPLD sono costituiti da blocchi multipli di SPLD su di un


singolo circuito integrato. Sebbene alla base della loro architettura vi siano gli
SPLD, essi sono molto più sofisticati. Ogni CPLD ha, in media, la capacità logica
di 50 dispositivi di tipo SPLD, quindi hanno una disponibilità di porte logiche non
molto superiore. In generale ogni famiglia di CPLD ha una architettura propria,
cioè non vi è una struttura generale che è comune a tutti i dispositivi CPLD, per cui
per comprenderne le caratteristiche conviene esaminare gli schemi dei principali
dispositivi, disponibili sul mercato.
Il principale produttore di CPLD è l’ALTERA, i cui prodotti sono divisi in tre serie
principali: MAX5000, MAX7000, MAX9000.
La serie MAX5000 è quella più economica, mentre la serie MAX7000 offre una
capacità logica superiore e una maggiore velocità, con un tempo di ritardo “pin to
pin” che va dai 3,5 ns ai 5,5 ns, a seconda del chip che si sta considerando. Le serie
7000 e 9000 sono del tutto simili nell’architettura, l’unica differenza è nella
capacità logica che risulta più alta nella serie 9000[1].

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.

La differenza fondamentale tra CPLD e FPGA, è che i dispositivi FPGA non


contengono nella loro struttura piani di porte logiche AND ed OR, che invece sono
presenti nei dispositivi CPLD, ma contengono dei blocchi logici con all’interno
delle “look up tables” che implementano direttamente delle funzioni logiche. Tali
blocchi logici sono accessibili tramite blocchi di I/O che attraversano la parte
periferica del chip e che sono connessi, tra di loro, mediante dei blocchi di
interconnessione programmabili dall’utente. Un dispositivo di tipo FPGA può
contenere un numero di porte logiche equivalenti che va da 10000 a 1,5 milioni,

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].

A differenza dei dispositivi prodotti da ALTERA e da Xilinx, quelli prodotti da


Actel utilizzano gli antifusibili. Ci sono tre famiglie principali di FPGA, prodotti
dalla Actel che sono: Act1, Act2, Act3. La struttura dei chip appartenenti a queste
famiglie, è molto diversa da quella degli altri FPGA;(VEDI figura 19) i blocchi
logici sono organizzati in file denominate LBR(Logic Block Row) e ci sono dei
canali di collegamento denominati RC (Routing Channel) tra file adiacenti. [8]

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

La caratteristica principale dei dispositivi programmabili, è la loro alta flessibilità,


ciò li rende adatti a molti tipi di applicazioni, e ha fatto si che essi occupino oggi
una posizione dominante nel mercato dell’elettronica digitale.
I dispositivi CPLD possono essere usati per realizzare progetti abbastanza
complessi, come controllori grafici, controllori LAN, controllori di cache, e in
generale tutti quei circuiti che richiedono un numero abbastanza grande di porte
logiche, ma che non richiedono un numero troppo elevato di FLIP FLOP.
I dispositivi di tipo FPGA, vengono anch’essi usati spesso come controllori di
DRAM, oppure per applicazioni collegate a reti ETHERNET o ATM, ma in più
essi sono utili per realizzare circuiti digitali particolarmente complessi, con un
numero di porte logiche molto elevato e con delle buone prestazioni di velocità
[10].
In molte applicazioni, specialmente quelle in cui è richiesto un numero piccolo di
porte e in cui si hanno elevati volumi di produzione, i principali concorrenti dei
dispositivi programmabili sono quelli di tipo ASIC (Application Specific Integrated
Circuit). Questi ultimi hanno il difetto principale di non essere riprogrammabili e di
essere quindi progettati per applicazione specifiche; la prima conseguenza di ciò è
che essi hanno degli elevatissimi costi di produzione quando prodotti in numero

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

Effetti delle radiazioni sui dispositivi programmabili

Molte delle applicazioni dei dispositivi programmabili, comportano


l’esposizione a dosi anche elevate di radiazioni ionizzanti, per esempio nelle
missioni spaziali e negli esperimenti di fisica delle alte energie.
Risulta quindi di notevole interesse pratico, cercare di comprendere come
variano i parametri di funzionamento e l’affidabilità di tali dispositivi dopo e
durante l’esposizione alle radiazioni elettromagnetiche e alle particelle
cariche.
Nel seguente capitolo ci si propone l’obbiettivo di descrivere
qualitativamente il tipo di radiazioni a cui vengono sottoposti i dispositivi
programmabili, le interazioni tra radiazione e materia e tra particelle e
materia e le conseguenze di ciò sul funzionamento dei dispositivi.

2.1 Radiazione nello spazio e negli esperimenti di fisica


delle alte energie.
Le radiazioni e le particelle presenti nello spazio, al di fuori dell’atmosfera,
hanno principalmente due origini:
1. Particelle intrappolate nel campo magnetico terrestre
2. Raggi cosmici
Nel primo caso, ciò che accade è che il campo magnetico terrestre crea una
cavità “geomagnetica”, chiamata magnetosfera, nella quale le linee di campo
magnetico intrappolano le particelle cariche con energia bassa
(principalmente elettroni e protoni) [11][12].
Queste particelle viaggiano da un polo all’altro del pianeta compiendo una
traiettoria che forma delle spirali attorno alle linee di forza del campo
magnetico. Il moto di queste particelle è rappresentato in figura 1. Le
particelle, mentre ruotano attorno alle linee di forza, vengono deviate verso
direzioni che dipendono dalla carica elettrica, gli elettroni subiscono uno
spostamento verso est e i protoni verso ovest. In questo modo si vengono a

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.

Queste bande, formate da flussi di particelle, sono quelle che influenzano di


più il funzionamento dell’elettronica nei satelliti artificiali.

Figura 1 – Moto delle particelle cariche all’interno delle fasce di


Van Allen. Le particelle formano delle spirali attorno alle linee di
forza del campo magnetico e allo stesso tempo vengono deviate
verso Est o Ovest a seconda che la loro carica sia rispettivamente
negativa o positiva.

La Terra possiede due fasce di radiazione: una fascia interna, relativamente


compatta, situata ad un'altezza di circa 3000 km, composta da protoni di
energia 10-100 MeV, prodotti dagli urti tra i raggi cosmici e gli atomi
dell'atmosfera.(vedi figura 2).
Esiste poi una fascia esterna, una vasta regione costituita da protoni ed
elettroni di energia molto inferiore alla precedente e che si estende da 10000
a 65000 Km di altitudine. A differenza di quanto accade nella fascia interna,
la popolazione fluttua notevolmente (il numero delle particelle non è costante
nel tempo) in funzione dell'attività solare e della stagione. Quando le

35
tempeste magnetiche trasferiscono dalla magnetosfera alla fascia forti flussi
di particelle, il loro numero cresce per poi diminuire all'estinguersi della
tempesta[11].

Figura 2 – Fasce interna ed esterna di Van Allen

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.

Questi processi hanno un’importanza relativa che dipende fortemente


dall’energia dei fotoni. Alle basse energie domina l’effetto fotoelettrico, alle
alte energie la produzione di coppie, l’effetto compton avviene con maggior
probabilità ad energie dell’ordine dell’energia di riposo dell’elettrone
( me c 2  511KeV ). In figura 4 [12][13] è possibile osservare l’importanza

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.

I fotoni di energia più bassa interagiscono con la materia prevalentemente


tramite l’effetto fotoelettrico, illustrato in figura 3a.
Questo processo può essere interpretato secondo la teoria dei quanti
ammettendo che un quanto (o fotone) di energia hυ ceda totalmente la propria
energia ad un elettrone legato al nucleo di un atomo. Il fotone incidente eccita
l’elettrone legato dell’atomo bersaglio, fino a che quest’ultimo non risulta
emesso dall’atomo e quindi libero con una certa energia cinetica.
L’equazione che descrive questo fenomeno è:

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

tempo è data da:


2
n  e2 A 
Wdiff  3   .
3c  m 
Queste relazioni sono valide solo per frequenze relativamente basse della
radiazione incidente ( h  mc 2 ,dove m è la massa a riposo dell’elettrone).
Alle frequenze più elevate, cioè laddove il processo di diffusione Compton
diventa statisticamente rilevante, non si può trascurare la natura corpuscolare
della radiazione, e bisogna guardare il processo come un’interazione tra il
fotone incidente, con energia h e impulso h / c , e l’elettrone con energia
molto minore di h .

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.

2.3.1 PERDITA DI ENERGIA DELLE PARTICELLE CARICHE


PESANTI
Per le particelle cariche pesanti, la perdita di energia è dovuta principalmente
agli urti anelastici con gli elettroni degli atomi del materiale. In questi urti ciò
che accade è che l’energia delle particelle incidenti viene trasferita dalle
particelle agli atomi, causando così l’eccitazione o la ionizzazione
dell’atomo; questo tipo di perdita di energia, infatti è anche detta perdita di
energia per ionizzazione [12][14], e viene indicata con  dE dx , dove dx è

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

dell’elettrone) e di carica ze in moto con una velocità iniziale V   c 7in un


materiale omogeneo di numero atomico Z.
Se si trascurano gli effetti quantistici, si può considerare una formula
approssimata per  dE dx , che venne ottenuta da Bohr.
Per ottenere la formula di Bohr, bisogna considerare le collisioni in cui
l’interazione avviene con un elettrone del mezzo, a distanza b (parametro
d’urto) (vedi figura 5).

Figura 5 – Collisione di una particella di velocità V, massa M,


carica Ze, con un elettrone del mezzo.

Assumiamo che l’elettrone sia libero e inizialmente fermo, e che in seguito


all’urto con la particella assuma una velocità v  V   c , inoltre si assume
che la particella incidente non subisca modifiche sostanziali nella traiettoria,

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

possibile nel caso di un elettrone incidente).


Calcolando l’impulso che l’elettrone riceve è possibile trovare anche
l’energia che
esso riceve dalla particella incidente, si ha:
dt dx 2 Ze 2 8
I   Fdt  e  E dx  e  E  ,.
dx v bv
Da cui si può ricavare l’energia ricevuta dall’elettrone:

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

considerando la relatività diviene t   b    , così si ha

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:

re : raggio classico Wmax : Energia massima


dell’elettrone=2.817x10-13 trasferita nella singola
cm collisione
me : massa dell’elettrone Z: Carica della particella

N a : Numero di Avogadro incidente in unità di e

I: Potenziale medio di   vc della particella

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.

2.3.2 EFFETTO CHERENKOV

La radiazione Cherenkov è un fenomeno che si osserva quando una particella


carica attraversa un mezzo, trasparente e con indice di rifrazione n, con velocità V
maggiore della velocità della luce nel mezzo, cioè quando si ha:
V  c n  c ;
quindi considerando che la particella non può superare la velocità della luce nel
vuoto, per osservare radiazione cerenkov deve essere soddisfatta la condizione:
1   1
n
dove n è l’indice di rifrazione del mezzo e c la velocità della luce nel vuoto.
Il fenomeno della radiazione Cherenkov è analogo al fenomeno della produzione
di un’onda d’urto da parte di un aereo quando questo supera la velocità del suono
[14].
Questa radiazione viene emessa a spese dell’energia della particella ma l’energia
persa dalla particella a causa di questo fenomeno, è del tutto trascurabile se
confrontata con la perdita di energia per ionizzazione (vedi 2.3.1) o con le perdite
per irraggiamento (vedi § 2.3.3).
La radiazione Cherenkov viene emessa in ogni istante sulla superficie di un cono
che ha il vertice sulla posizione della particella in quel dato istante, e l’asse di
simmetria coincidente con la traiettoria della particella. Inoltre (vedi figura 6),
l’angolo θ di apertura del cono è dato dalla relazione seguente:

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.

Ci sono due possibilità:


1. La particella viaggia con velocità piccola..
2. La particella viaggia con velocità paragonabile alla velocità della luce nel
mezzo.

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.

2.3.3 PERDITA DI ENERGIA DEGLI ELETTRONI E DEI POSITRONI


Come le particelle cariche pesanti, gli elettroni e i positroni perdono energia
attraverso gli urti anelastici con gli atomi del mezzo, cioè eccitando e ionizzando
gli atomi del mezzo. Tuttavia, a causa della loro massa piccola, queste particelle
perdono energia anche attraverso altri meccanismi, in particolare, uno dei processi
dominanti è quello dell’irraggiamento (o bremsstrahlung), la particella cioè,
emette fotoni quando risulta deflessa nel campo del sistema atomico.
L’esistenza di questo processo è giustificata anche attraverso l’elettrodinamica

classica, dato che una carica elettrica ze sottoposta ad una accelerazione a , irradia

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

Con E0 : energia totale iniziale dell’elettrone (o positrone); E: energia totale finale

dell’elettrone; h : energia del fotone emesso, ( E0 - E ). Questo parametro è

piccolo,   0 , per un effetto di schermo pressoché completo e   1 , per un


effetto di schermo nullo. Considerando la definizione di sezione d’urto (vedi
appendice B) e considerando che la probabilità di non interazione in un tratto x è

54
data da P  x   exp   N x  9, si ha che la sezione d’urto differenziale per

energie relativistiche di qualche MeV è:

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

sfruttando il modello di Thomas Fermi dell’atomo.


La funzione f  Z  è invece una piccola correzione all’approssimazione di Bohr

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

Dove N è il numero di atomi per cm3 , N   N a A e  0  E0 h .


È interessante confrontare queste perdite alle perdite dovute all’eccitazione e
ionizzazione del materiale, come mostrato in figura 7.

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.

Mentre le perdite per ionizzazione variano logaritmicamente con l’energia e


linearmente con Z, le perdite per irraggiamento crescono linearmente con E e
quadraticamente con Z. Questo spiega il dominio delle perdite per bremsstrahlung
ad elevate energie.

2.4 Effetti delle radiazioni sui circuiti integrati digitali


Per quantificare e per studiare gli effetti delle radiazioni descritte sui circuiti
elettronici, è conveniente distinguere l’effetto da dose totale, che è un effetto di
volume e quindi medio, dall’effetto da evento singolo che è invece un fenomeno
di superficie.

2.4.1 EFFETTI DA DOSE TOTALE NEI DISPOSITIVI ELETTRONICI


Nello studio degli effetti da dose totale nei dispositivi elettronici riveste un ruolo
fondamentale il concetto di dose. La dose rappresenta la quantità di energia
assorbita, tramite radiazioni, da una data massa e si misura in rad [15], dove:

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.

Figura 8 – Corrente di Drain in funzione della tensione di Gate su un transistor


MOS prima e dopoun irradiazione di 500 Krad(Si).

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).

Figura 9 – Spettro di risonanza elettronico tipico di un materiale


paramagnetico.

Quando un dispositivo MOS è esposto a radiazione fortemente ionizzante si


osserva la creazione di coppie elettrone lacuna attraverso tutto il volume
dell’ossido.
Prima che gli elettroni lascino l’ossido, alcune frazioni di questi si ricombinano
con le lacune. Le frazioni di coppie elettrone lacuna che sfuggono alla
ricombinazione costituiscono il prodotto elettrone-lacuna (vedi fig.10).

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.

Figura10 – Diagramma degli spostamenti di cariche in un dispositivo


MOS polarizzato positivamente. Vi sono rappresentati tutti i processi di
produzione di cariche indotte.

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.

Figura 11 – Frazione di lacune non ricombinate in funzione del


campo elettrico nel caso di raggi X, protoni, raggi γ, e particelle
α.

Così si ha che il numero totale di lacune generate nell’ossido che sfuggono alla
ricombinazione è:

N h  f  Eox  g0 Dtox ;

dove f  Eox  è il numero di lacune prodotte in funzione del campo elettrico

nell’ossido, D è la dose di radiazioni (in rad) e tox è lo spessore dell’ossido (in

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:

Vtot . soglia  Vsogl .ossido  Vsogl .int erfaccia .

Vsogl .ossido e Vsogl .int erfaccia possono essere determinate tramite la formula:

tossido
1
Vossido ,int erfaccia 
Cossido tossido    x  x  dx ,
0

dove   x  è la distribuzione di carica delle cariche indotte dalle radiazioni,

Cossido è la capacità dell’ossido per unità di area e tossido è lo spessore dell’ossido.


La variazione totale della tensione di soglia ha segno opposto rispetto alla
distribuzione di carica, quindi per carica positiva, ΔVsoglia è negativa; al contrario,
per carica negativa ΔVsoglia è positiva.
Ad elevate dosi e piccoli tempi di esposizione, nei dispositivi MOS, Vsogl .ossido

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”.

Lo scostamento, causato dalle radiazioni, comporta un significativo incremento


della perdita di corrente tra il drain e il source del transistor legato alla perdita di
mobilità dei portatori. In figura 14 è possibile osservare la variazione della
mobilità in funzione dell’incremento delle trappole d’interfaccia, per diversi
dispositivi. I valori alto e basso di Nit e Not (rispettivamente numero di trappole
nell’interfaccia e nell’ossido) si riferiscono a dispositivi che sono stati prodotti in
maniera tale da avere alte o basse concentrazioni di carica nelle trappole
d’interfaccia o dell’ossido, indotte dalle radiazioni. L’espressione della mobilità
dei portatori è:

0
 ,
1    N it

dove µ0 è la mobilità prima dell’irradiazione e α è una costante.


La perdita di mobilità conduce, inevitabilmente ad un assorbimento maggiore di
corrente statica di alimentazione da parte del circuito, quindi ad una possibile
avaria del circuito stesso.

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 102  LET  
 ,
x E

dove E  è l’energia minima richiesta per creare una coppia elettrone lacuna in

unità di eV, LET è l’energia trasferita dalla particella al materiale in unità di


MeV-cm2/mg, ρ è la densità in unità di g/cm3, e Q/x è data in pC/µm.
Se lo ione passa attraverso una giunzione p-n, immediatamente dopo il passaggio
la carica depositata si accumula sugli elettrodi tramite il moto dei portatori
attraverso la regione di svuotamento. Lo spostamento della carica depositata

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.

Figura 15 – Diagramma schematico e dipendenza temporale dei fenomeni di


spostamento dei portatori(D), incanalamento(F) e diffusione, in seguito al
passaggio di uno ione su una giunzione p-n.

I campi elettrici all’interno della regione di incanalamento portano le cariche ad


accumularsi, molto rapidamente, sugli elettrodi. Il fenomeno dell’incanalamento
permane nel tempo, fin tanto che la concentrazione di coppie elettrone- lacuna
dovute al passaggio dello ione rimane maggiore della concentrazione dovuta al
drogaggio dei semiconduttori.

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:

41106
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.

2.4.3 CONCLUSIONI SUL DANNO DA RADIAZIONI


Per quanto riguarda la tolleranza delle varie tecnologie alle radiazioni, si ha, in
generale che i transistor BJT, e quindi la tecnologia TTL, non avendo gli ossidi
come elementi funzionali, come nel caso dei MOS, risultano essere più resistenti
al danno da dose totale. Ciò che si osserva, in maniera sensibile, nei dispositivi di
tipo TTL è un danno da ionizzazione evidente e un danno da dislocamento,
piuttosto limitato, che portano come conseguenza ad una perdita di efficienza
delle basi che può portare anche ad una perdita di funzionalità del circuito.
I transistor MOS sono poco sensibili ai difetti di spostamento, poiché la
conduzione avviene su un sottile strato in prossimità della superficie del
semiconduttore e non in profondità, dove la maggior parte dei danni si addensa.
Essi sono, infatti, più sensibili agli effetti da dose totale, essendo l’ossido una
parte funzionale del dispositivo. Di contro però, i dispositivi della famiglia TTL,
tendono a incorrere più facilmente nei SEE, che portano rapidamente a danni di

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.

Per ovviare ai problemi dovuti ai SEU che sono di particolare importanza


soprattutto nei registri delle macchine a stati finiti, in genere la soluzione
principale consiste nel creare circuiti logici con logica ridondante. La soluzione
utilizzata è di triplicare ciascuna macchina a stati finiti ed introdurre una logica di
voto sui tre dati in uscita da esse: il dato scelto da almeno 2 macchine su 3 verrà
posto in uscita (vedere figure 19 e 20). Lo stesso ragionamento è applicato per lo
stato memorizzato, che viene votato e ricaricato in ognuna delle tre macchine a
stati finiti con accorgimenti particolari. Il principale svantaggio di questa tecnica
naturalmente consiste nel triplicare la logica del circuito e quindi nel renderlo
molto più complesso e molto meno efficiente[17].
Un grande vantaggio di questo tipo di tecnica, invece, risiede nella perfetta
applicabilità ai dispositivi programmabili, che risultano particolarmente sensibili
agli errori di tipo SEU.

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.

3.1 Sistema di sviluppo dell’ALTERA: MAX+PLUS II

Max + Plus II è un software per la progettazione e la simulazione di sistemi digitali in


dispositivi programmabili (CPLD, FPGA) della ditta ALTERA.
Questo software consente di gestire gerarchicamente un progetto, infatti è possibile
sviluppare il progetto dal livello gerarchico più basso (interconnessioni tra singole porte
logiche e FLIP FLOP) sino al livello più alto dove le varie parti del sistema vengono
rappresentate come blocchi logici e vengono interconnesse attraverso le variabili di
ingresso e di uscita, di ogni blocco e dell’intero sistema.
Infine, il sistema di progettazione consente di simulare il comportamento di ogni blocco
al fine di verificarne il corretto funzionamento. Dopo di che, si ha anche la possibilità di
simulare il comportamento del progetto ultimato.
La progettazione interattiva e assistita dal calcolatore, è molto più rapida della
progettazione verificata direttamente sulla realizzazione hardware, pur risultando
affidabile.
Inoltre, l’interfaccia con l’utente è totalmente grafica, il che consente, utilizzando le
librerie dei componenti elettronici, di disegnare il progetto tramite blocchi logici ispirati
a circuiti integrati standard, esistenti in tecnologia con livello di integrazione inferiore.
L'ambiente di lavoro Max + Plus II consente di trasferire il progetto su circuiti integrati

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

In figura 2 è possibile osservare un progetto di comparatore digitale a un bit, effettuato


tramite Max + Plus II.

79
Figura 2- Comparatore digitale realizzato con Max+Plus II

3.2 Progetto di un registro a scorrimento ad anello chiuso con


controllo dell’errore

Per testare l’affidabilità di un sistema implementato tramite FPGA FLEX10K10


dell’Altera, immersa in ambiente radioattivo, è utile progettare un sistema basato su dei
registri a scorrimento [16][17]. Infatti in questo tipo di sistema, quando esso è
operativo, si effettuano ad ogni ciclo di clock le operazioni di lettura e scrittura su dei
“flip flop” e questo tipo di operazione può comportare l’insorgenza di SEU all’interno
dei registri a scorrimento. Al fine di evitare questo tipo di problemi, si sviluppa il
sistema con logica ridondante, fornendo al sistema un sistema di controllo basato su
logica di maggioranza.
Il sistema di base che si vuole sviluppare (vedi figura 3) è articolato in 4 parti
fondamentali:
- Registro di ingresso
- 3 “shift register” indipendenti, cioè che lavorano in parallelo e che caricano il dato
in ingresso ;
- Stadio di comparazione delle uscite dei tre “shift register”;

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

3.2.1 PROGETTO DELLA RETE LOGICA COMBINATORIA PER IL VOTO DI


MAGGIORANZA

La rete logica combinatoria che si occupa di stabilire la posizione dell’eventuale errore,


sfrutta i risultati della comparazione dei vari bit, effettuata dallo stadio di
comparazione.
Se ci troviamo nella situazione in cui il contenuto del registro a scorrimento I è diverso
da quello del II, il contenuto del registro a scorrimento II è diverso da quello del III,
mentre il contenuto del I e del III risultano uguali, sarà chiaro che l’errore si è verificato
all’interno del registro a scorrimento II e la nostra rete logica combinatoria di uscita,
dovrà porre a zero l’uscita di OK e porre a 1 l’uscita ER_SR_I.
Se invece ci si trova nella condizione per cui più di due comparatori risultano aver
trovato delle differenze, ci si trova nella condizione di errore multiplo che la nostra rete
logica indicherà semplicemente con un segnale di AMBIGUITÀ.

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).

TABELLA 1 – Tavola della verità per lo sviluppo della RLC. Se la funzione OK è


alta allora non ci sono errori, se ER_COMP_A è alta vuol dire che c’è un errore
nel comparatore A, se SRII è alta c’è un errore nel secondo “shift register”, e così
via.

Il sistema dà la possibilità di rilevare la presenza di errore anche sui comparatori.


Questo tipo di errore può essere eliminato ponendo il sistema di comparazione lontano
dalle sorgenti di radiazione.
Lo schematico della rete ottenuta tramite questa tavola della verità e sviluppato tramite
l’interfaccia grafica di MAX+PLUSII, è riportato di seguito in figura 5.

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.

Figura 6 - Schematico, in MAX+PLUSII, del comparatore a 8 bit realizzato nel progetto.

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.

La simulazione con Boole ha confermato il funzionamento previsto della macchina.


Dopo questo tipo di simulazione si è passati alla realizzazione della rete logica
sequenziale. Nella pagina seguente è possibile notare la tavola delle eccitazioni ottenuta

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.

La rete logica sequenziale è composta principalmente da tre parti fondamentali:


- Una RLC di ingresso per controllare le eccitazioni dei FLIP FLOP
- Una rete di FLIP FLOP che assumono la configurazione relativa allo stato e che
abbia un feedback sulla RLC di ingresso

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.

Figura 15 - Diagramma rete logica sequenziale

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.

Da questi diagrammi temporali si è dedotto che il sistema si comporta come previsto e


quindi corregge gli errori dovuti al SEU, che si possono verificare in ambiente
radioattivo. Inoltre è convinti che il dispositivo possa essere migliorato ancora,
soprattutto lavorando sul “timing” e sulla distribuzione dei clock.

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).

Figura 22 - Progetto con rete di feedback e rete di simulazione degli errori.

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

AHDL: ALTERA HARDWARE DESCRIPTION LANGUAGE


ALS: ADVANCED LOW POWER SCHOTTKY
AMD: ADVANCED MICRO DEVICE
ASIC: APPLICATION SPECIFIC INTEGRATED CIRCUIT

BJT: BIPOLAR JUNCTION TRANSISTOR

CAD: COMPUTER AIDED DESIGN


CE: COMMON EMITTER
CLB: CONFIGURABLE LOGIC BLOCK
CMOS: COMPLEMENTARY METAL OXIDE SEMICONDUCTOR
CPLD: COMPLEX PROGRAMMABLE LOGIC DEVICE

DRAM: DINAMIC RANDOM ACCESS MEMORY

EAB: EMBEDDED ARRAY BLOCK


ECL: EMITTER COUPLED LOGIC
EEPROM: ELECTRICAL ERASABLE PROM

104
EPROM: ERASABLE PROM
ESR: ELECTRON SPIN RESONANCE

FET: FIELD EFFECT TRANSISTOR


F/I: FAN IN
F/O: FAN OUT
FIFO: FIRST IN FIRST OUT
FPGA: FIELD PROGRAMMABLE GATE ARRAY
FSM: FINITE STATE MACHINE

GLB: GENERIC LOGIC BLOCK


GLOBAL ROUTING POINT

HCT: HIGH SPEED CMOS TTL COMPATIBLE


HDL: HARDWARE DESCRIPTION LANGUAGE

I2L: INTEGRATED INJECTION LOGIC

LAB: LOGIC ARRAY BLOCK


LAN: LOCAL AREA NETWORK
LB: LOGIC BLOCK
LBR: LOGIC BLOCK ROW
LC: LOGIC CELL

105
LCA: LOGIC CELL ARRAY
LE: LOGIC ELEMENT
LET: LINEAR ENERGY TRANSFER
LUT: LOOK UP TABLE

MOS: METAL OXIDE SEMICONDUCTOR


MOSFET: MOS-FET
MSI: MEDIUM SCALE INTEGRATION

N.I.: NOISE IMMUNITY

PAL: PROGRAMMABLE ARRAY LOGIC


PALA: PROGRAMMABLE ASSOCIATIVE LOGIC ARRAY
PIA: PROGRAMMABLEINTERCONNECT ARRAY
PIPO: PARALLEL INPUT PARALLEL OUTPUT
PLA: PROGRAMMABLE LOGIC ARRAY
PLD: PROGRAMMABLE LOGIC DEVICE
PROM: PROGRAMMABLE READ ONLY MEMORY

RAM: RANDOM ACCESS MEMORY


RC: ROUTING CHANNEL
RLC: RETE LOGICA COMBINATORIA
RLS:RETE LOGICA SEQUENZIALE
ROAM: READ ONLY ASSOCIATIVE MEMORY
ROM: READ ONLY MEMORY

106
S

SDRAM: SINCRONOUS DINAMIC RAM


SEB: SINGLE EVENT BURNOUT
SEE: SINGLE EVENT EFFECTS
SEGR: SINGLE EVENT GATE RUPTURE
SEL: SINGLE EVENT LATCHUP
SEU: SINGLE EVENT UPSET
SRAM: SINCRONOUS RANDOM ACCESS MEMORY
SPLD: SIMPLE PROGRAMMABLE LOGIC DEVICE
SSI: SMALL SCALE INTEGRATION

TTL: TRANSISTOR TO TRANSISTOR LOGIC


TTL-H: HIGH SPEED TTL
TTL-LS: LOW POWER SCHOTTKY TTL

VHDL: VHSIC-HDL: VHSIC- HARDWARE DESCRIPTION LANGUAGE


VHSIC: VERY HIGH SPEED INTEGRATED CIRCUIT

107
APPENDICE B
LE SEZIONI D’URTO

L’interazione di due particelle, solitamente, viene descritta in termini della sezione


d’urto.
La sezione d’urto, per una reazione tra due particelle, rappresenta la probabilità che la
reazione avvenga e può essere calcolata solo se è conosciuta la forma dell’interazione
tra le due particelle.
Consideriamo un flusso omogeneo e uniforme di F particelle che incidono su un
bersaglio, per unità di area, per unità di tempo. Consideriamo inoltre, il numero di
particelle deviate in un angolo solido dΩ per unità di tempo, vedi figura 1. Siccome i
parametri d’urto sono praticamente casuali, questo numero fluttuerà, anche molto
rapidamente. Per ovviare a ciò consideriamo la sua media su tanti periodi di tempo
finiti, e si trova che esso tenderà ad un fissato valore dN s d , dove N s è il numero

medio di particelle deviate per unità di tempo.

Figura 1 – Flusso di particelle incidenti su un bersaglio e che vengono deviate.

La sezione d’urto differenziale è definita come:

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

[1] S. Brown and J. Rose “Architecture of FPGAs and CPLDs: A Tutorial”.


Department of Electrical and Computer Engineering University of Toronto

[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

[3] http://en.wikipedia.org/wiki/EPROM , http://en.wikipedia.org/wiki/EEPROM

[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

[14] M. Conversi “Processi Elettromagnetici” dal corso di Fisica Superiore – Istituto di


Fisica “G. Marconi” Quaderni di Fisica Università di Roma La Sapienza 1969

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

[17] PLD IRRADIATION TEST http://www.cern.ch/HSI/

[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

Potrebbero piacerti anche