UNIVERSIT`A DEGLI STUDI DI ROMA “LA SAPIENZA” Un

UNIVERSITÀ DEGLI STUDI DI ROMA
“LA SAPIENZA”
FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E
NATURALI
TESI DI LAUREA IN FISICA
Un dispositivo VLSI neuromorfo con 128
neuroni e 3000 sinapsi: ottimizzazione dello
spazio su silicio e progetto
Relatori:
Tesi di Laurea di:
Prof. Daniel J. Amit
Elisabetta Chicca
Dott. Gaetano Salina
Matr. 11091162
Anno Accademico 1998-1999
A mia nonna
Indice
Introduzione
iv
1 Reti neuronali e VLSI neuromorfo
1.1
1.2
1.3
Le reti neuronali . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.1.1
Evidenze sperimentali del modello ad attrattori . . . .
2
1.1.2
Il neurone lineare . . . . . . . . . . . . . . . . . . . . .
5
1.1.3
La struttura sinaptica e la dinamica della rete . . . . .
8
1.1.4
L’apprendimento stocastico . . . . . . . . . . . . . . . 14
1.1.5
Il comportamento collettivo . . . . . . . . . . . . . . . 17
VLSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.2.1
I processi di fabbricazione . . . . . . . . . . . . . . . . 21
1.2.2
Il MOS . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.2.3
Gli effetti parassiti . . . . . . . . . . . . . . . . . . . . 34
1.2.4
La progettazione . . . . . . . . . . . . . . . . . . . . . 41
Reti e VLSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2 Ottimizzazione della matrice sinaptica
2.1
1
45
L’algoritmo per la generazione della matrice sinaptica . . . . . 47
2.1.1
L’algoritmo modificato . . . . . . . . . . . . . . . . . . 48
i
2.2
Analisi e confronto dei due metodi di
ottimizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.2.1
Studio del comportamento della rete neuronale nel metodo
di ottimizzazione B . . . . . . . . . . . . . . . . . . . . 50
2.2.2
Ottimizzazione della matrice sinaptica tramite
accoppiamento di colonne complementari . . . . . . . . 52
3 I singoli elementi
3.1
3.2
3.3
57
I circuiti elementari . . . . . . . . . . . . . . . . . . . . . . . . 58
3.1.1
Lo specchio di corrente . . . . . . . . . . . . . . . . . . 58
3.1.2
L’invertitore . . . . . . . . . . . . . . . . . . . . . . . . 61
3.1.3
L’invertitore con doppia limitazione in corrente . . . . 63
3.1.4
L’amplificatore differenziale . . . . . . . . . . . . . . . 64
3.1.5
Il partitore capacitivo . . . . . . . . . . . . . . . . . . . 67
Il neurone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.2.1
Lo schematico . . . . . . . . . . . . . . . . . . . . . . . 69
3.2.2
La frequenza di emissione degli spike . . . . . . . . . . 71
3.2.3
Il layout . . . . . . . . . . . . . . . . . . . . . . . . . . 73
La sinapsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.3.1
Lo schematico . . . . . . . . . . . . . . . . . . . . . . . 78
3.3.2
Il layout . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4 LANN128
85
4.1
La matrice sinaptica . . . . . . . . . . . . . . . . . . . . . . . 86
4.2
I neuroni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.3
Il routing delle correnti . . . . . . . . . . . . . . . . . . . . . . 97
ii
4.4
I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.4.1
Alimentazioni e regolazioni . . . . . . . . . . . . . . . . 100
4.4.2
Spike . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.4.3
Potenziali . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.4.4
Correnti esterne . . . . . . . . . . . . . . . . . . . . . . 106
5 Conclusioni
108
5.1
Il chip di test . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.2
Risultati e prospettive . . . . . . . . . . . . . . . . . . . . . . 112
iii
Introduzione
Lo studio delle reti neuronali è mirato alla modellizzazione e riproduzione
delle funzionalità della corteccia cerebrale, tra le quali rivestono particolare importanza la classificazione ed il riconoscimento di immagini. Questo
campo di ricerca coinvolge diverse discipline scientifiche come la psicologia
cognitiva, la biologia, la scienza dell’informazione e la fisica.
I recenti progressi nelle teorie matematiche, nei metodi di indagine neurofisiologici e nelle tecnologie dei circuiti integrati hanno dato un forte impulso
allo sviluppo di questa disciplina, che si è definitivamente affermata nel campo della fisica grazie al lavoro di Hopfield del 1982. L’articolo pubblicato
in quell’anno [1] pone le basi per l’utilizzo della meccanica statistica, un
collaudato e potente strumento di indagine, nello studio delle reti neuronali,
introducendo le prime analogie tra queste e i sistemi disordinati a molti gradi
di libertà. In questo contesto nasce il concetto di attrattore, inteso come stato
di equilibrio stabile verso cui evolve la dinamica del sistema (Rete neuronale ad attrattori o ANN, dall’inglese Attractor Neural Network ). Il bacino di
attrazione è una “valle” di una “funzione paesaggio” in cui è contenuto il minimo che rappresenta l’attrattore. Per ogni condizione iniziale appartenente
a questa valle il sistema collassa nello stato di equilibrio definito dall’attrattore stesso. Un sistema di questo tipo è classificabile come una memoria
iv
indirizzabile per contenuto in cui l’attrattore rappresenta l’informazione memorizzata; quest’ultima può essere richiamata fornendo informazioni simili o
parziali [2].
Nello studio delle reti neuronali sta assumendo un ruolo sempre più importante la realizzazione di dispositivi neuromorfi [3] in grado di riprodurre i
comportamenti osservati nella biologia e previsti dai modelli teorici. Questo
approccio costituisce un efficace “banco di prova” per la verifica delle teorie
sviluppate in condizioni realistiche ed in tempo reale. Costruire questi dispositivi può inoltre fornire valide indicazioni sulla plausibilità biologica del
modello realizzato imponendo la ricerca di soluzioni agli inevitabili vincoli
realizzativi (contenimento dei consumi e dello spazio occupato, comunicazione tra i componenti della rete), già affrontati e risolti nel corso dell’evoluzione
naturale dei sistemi biologici. La realizzazione di una rete neuronale ad attrattori con apprendimento stocastico, oggetto del presente lavoro, si inserisce
proprio in questo ambito. Il dispositivo realizzato è una rete di 128 neuroni e
2926 sinapsi, in grado di creare i propri attrattori grazie alla dinamica delle
sue 1443 sinapsi plastiche a due stati stabili.
Il lavoro di progettazione è seguito ad una accurata analisi della topologia da realizzare finalizzata all’ottimizzazione dello spazio utilizzato. Usando
una rappresentazione semplificata della matrice sinaptica, contenente la sola
informazione relativa alla presenza o meno di una connessione tra due generici neuroni, e tenendo ben presente la struttura dei singoli elementi e le
strategie da utilizzare per le connessioni tra le celle elementari è stato ideato e
realizzato un algoritmo per la riduzione dello spazio occupato su silicio dalla
matrice sinaptica. In questo modo è stato possibile ridurre del 50% le dimen-
v
sioni del dispositivo garantendo un migliore sfruttamento del silicio utilizzato
e quindi, a parità di costo, la realizzazione di un numero maggiore di neuroni.
La descrizione del lavoro svolto si articola in cinque capitoli. Nel Capitolo 1
sono descritti gli esperimenti di neurofisiologia e le teorie alla base del modello
realizzato, la tecnologia a larga scala di integrazione (VLSI, Very Large Scale
Integration) e le caratteristiche del dispositivo elementare utilizzato (MOS,
Metal Oxide Semiconductor ). Nel Capitolo 2 viene affrontato il problema
dell’ottimizzazione dello spazio occupato dalla matrice sinaptica e descritto
l’algoritmo realizzato. Nel Capitolo 3, dopo aver introdotto i circuiti elementari utilizzati, sono descritti gli schemi elettrici degli elementi base della rete
neuronale: il neurone e la sinapsi. Nel Capitolo 4 è mostrata l’architettura
del circuito integrato realizzato. Il Capitolo 5 è riservato all’analisi del lavoro
svolto e delle prospettive aperte.
vi
Capitolo 1
Reti neuronali e VLSI
neuromorfo
1.1
Le reti neuronali
La corteccia cerebrale è la parte più esterna del cervello e la più recente
dal punto di vista evolutivo. Le reti neuronali nascono dall’idea di modellizzare e riprodurre alcune funzionalità della corteccia cerebrale, tra cui la
classificazione ed il riconoscimento di immagini. Questo campo di ricerca
si è sviluppato in un ambito multidisciplinare che comprende la psicologia
cognitiva, la biologia, la scienza dell’informazione e la fisica. Grazie ad una
forte analogia tra le reti neuronali ed i sistemi disordinati a molti gradi di
libertà, il modello sviluppato dalla fisica fa uso della meccanica statistica.
Un contributo fondamentale in questa direzione è stato dato dal lavoro di
Hopfield del 1982 [1] in cui viene introdotto il concetto di attrattore, inteso
come stato di equilibrio stabile verso cui la rete neuronale evolve. Il sistema
ha una probabilità molto bassa di uscire da questo stato. Introducendo una
1
“funzione paesaggio” in cui ogni attrattore è un punto di minimo di una superficie, si ha che per ogni condizione iniziale appartenente alla “valle” in cui
è contenuto il minimo (bacino di attrazione), il sistema collassa nello stesso
stato di equilibrio. Sotto questo punto di vista è possibile considerare la rete
come una memoria indirizzabile per contenuto in cui ogni stimolo “vicino”
all’attrattore richiama l’attrattore stesso, che rappresenta l’informazione memorizzata [2].
Nel paragrafo 1.1.1 sono descritte le evidenze sperimentali di carattere
neurofisiologico del modello ad attrattori. Viene poi introdotto (par. 1.1.2),
per quanto riguarda il comportamento della singola cellula neuronale, il modello del neurone esponenziale, fino ad arrivare al neurone lineare, che è
stato oggetto di realizzazione su circuito integrato in questo lavoro di tesi.
L’analisi del comportamento collettivo di una rete a neuroni lineari è stata
svolta da M. Mattia e la descrizione che ne viene riportata nel paragrafo
1.1.3 è tratta da [4], [5] e [6]. Dopo aver analizzato l’attività spontanea si
considera il meccanismo tramite cui la rete neuronale evolve verso una struttura in grado di richiamare delle memorie (apprendimento). Nel paragrafo
1.1.4 viene descritto il modello dell’apprendimento stocastico e nel successivo
(par. 1.1.5) si considera il comportamento collettivo previsto per una rete in
seguito all’apprendimento.
1.1.1
Evidenze sperimentali del modello ad attrattori
L’evidenza sperimentale della teoria delle reti neuronali ad attrattori si basa
sui risultati ottenuti in esperimenti di neurofisiologia. Il contributo maggiore
è stato dato dal lavoro del gruppo di ricerca di Miyashita ([7], [8] e [9]) tra la
2
fine degli anni ’80 e i primi ’90. In questi esperimenti una scimmia (Macaca
fuscata) viene addestrata a riconoscere delle immagini. Le figure utilizzate sono generate con un calcolatore tramite algoritmi frattali, per evitare
un’analisi semantica da parte della scimmia. Il compito che la scimmia deve
eseguire consiste in un “confronto ritardato con un campione” (delayed match to sample), cioè riconoscere se due immagini presentate in istanti diversi
sono uguali. In ogni prova lo stimolo campione e lo stimolo di confronto
sono presentati successivamente su uno schermo con un intervallo di circa
16 s. Entrambe le immagini persistono sullo schermo per 0, 2 s. Lo scopo
dello stimolo di confronto è quello di mantenere l’attenzione della scimmia
durante il delay.
Durante le prove si registrano i tempi di emissione degli impulsi di diverse cellule neuronali della corteccia prefrontale e inferotemporale. Queste
zone, infatti, risultano deputate alla memoria visiva in quanto la loro stimolazione nell’uomo provoca il richiamo di immagini. Inoltre, lesioni in questa
area inficiano il riconoscimento di un oggetto sia nell’uomo che nella scimmia. Si osservano diversi comportamenti dei neuroni esaminati (vedi figura
1.1) all’interno di un modulo corticale 1 . Una parte di questi mostra un
comportamento selettivo rispetto agli stimoli; alcuni emettono con frequenza
elevata in risposta ad un unico stimolo, altri reagiscono a più stimoli. Dopo
il periodo di addestramento ogni stimolo ha quindi una sua rappresentazione
interna, che si manifesta con una particolare distribuzione delle frequenze di
emissione delle cellule durante il periodo di ritardo.
1
La corteccia cerebrale dei primati può essere suddivisa in moduli di 1 mm2 di area,
con circa 105 neuroni tra i quali la probabilità di interazione è alta.
3
Figura 1.1: Registrazioni dell’attività dello stesso neurone in risposta alla presentazione di quattro stimoli diversi (a-d) (figura tratta da [9]). In ogni riquadro
sono riportati i rasters (tempi di emissione registrati su 12 prove per ognuna delle
quattro immagini) e gli istogrammi della densità degli impulsi (valore medio delle
misure ottenute sulle 12 prove) su intervalli di 80 ms. In ogni riquadro sono evidenziate le fasi dell’esperimento: allertamento (1 s), presentazione dell’immagine
campione (1 s), ritardo (4 s), e presentazione dell’immagine di confronto (1 s). La
risposta del neurone varia al variare dello stimolo: (a) il neurone è attivo durante
la prima fase di stimolazione e matiene una attività elevata anche nella fase di
ritardo; (b) questo stimolo campione non eccita il neurone, che però è attivo nella
fase di ritardo; (c) il neurone è eccitato dallo stimolo campione ma rilassa in attività spontanea nella fase di ritardo; (d) il neurone è inibito dallo stimolo campione
e si attiva durante la fase di ritardo.
Questa selettività è mantenuta anche variando la dimensione, l’orientamento
o il colore dell’immagine presentata. Inoltre, la stessa distribuzione di attività nel periodo di ritardo si osserva in risposta ad un insieme di immagini
ottenute sovrapponendo del rumore ad una delle immagini apprese [10]. Infine non si osservano attività selettive dopo la presentazione di immagini non
4
note. Queste osservazioni giustificano l’utilizzo del modello ad attrattori nella
descrizione del processo di riconoscimento degli stimoli. La fase di addestramento modifica l’efficacia delle connessioni sinaptiche in modo da permettere
ai neuroni di mantenere attività elevate in risposta alla presentazione dello
stimolo appreso. Inoltre l’esistenza di classi di stimoli che inducono la stessa
distribuzione di attività durante il ritardo, suggerisce la presenza di bacini
d’attrazione.
1.1.2
Il neurone lineare
Nonostante la sorprendente varietà strutturale osservabile nelle cellule nervose è sempre possibile riconoscere una struttura comune nei diversi tipi di
neuroni. Questa struttura è costituita dai seguenti elementi: il soma, le dendriti e l’assone (vedi fig. 1.2). Il soma è il “corpo cellulare” del neurone, e
cioè la parte in cui viene elaborata l’informazione in ingresso. Dal soma si
staccano diversi prolungamenti tra cui è possibile distinguere una parte di
ingresso, le dendriti, ed una di uscita, l’assone. Le dendriti che partono dal
soma si diramano diverse volte fino a formare una struttura ad albero detta
appunto albero dendritico. Lungo l’assone la cellula trasmette un segnale
elettrico (potenziale di azione) che è il risultato dell’elaborazione avvenuta
nel soma e che viene inviato alle dendriti di altre cellule tramite dei particolari contatti detti sinapsi. L’informazione in ingresso alla cellula è una
corrente (I) che viene “elaborata” dalla capacità della membrana cellulare. Il
risultato di questa elaborazione (V ) è la differenza tra il potenziale del fluido
extracellulare (Vext ) e quello del soma (VS ). Normalmente si prende come
riferimento Vext = 0, e il potenziale V = −VS viene detto depolarizzazione.
5
Guaina di mielina
Dendriti
Nodo di Ranvier
Assone
Nucleo all’interno
del corpo cellulare
Sinapsi
Figura 1.2: Struttura tipica di un neurone (figura tratta da [3]). Le sinapsi
degli altri neuroni si possono connettere alla cellula in diversi punti: su un albero
dendritico (1), direttamente sul soma (2), oppure su una dendrite (3). L’assone
è ricoperto da una guaina di materiale isolante (mielina) che riduce la capacità
verso il fluido extracellulare aumentando la velocità con cui il segnale si propaga.
Periodicamente si trovano delle interruzioni nello strato di mielina, dette nodi di
Ranvier, in cui il segnale viene rigenerato.
È quindi possibile descrivere il comportamento del neurone mediante l’introduzione delle due variabili dinamiche V ed I.
Quando la depolarizzazione raggiunge un valore di soglia (θ) si ha l’emissione del potenziale di azione, e cioè di un impulso (spike) che, trasmesso alle
altre cellule, ne modifica il potenziale di membrana di una quantità legata
all’efficacia del contatto sinaptico utilizzato. Dopo l’emissione dello spike il
potenziale di membrana decresce, subisce una iperpolarizzazione ed infine
torna al valore di riposo.
La dinamica del neurone, grazie ad opportune semplificazioni ([11] e [12])
6
può essere descritta dalla seguente equazione
τ
dV (t)
= V (t) + RI(t)
dt
(1.1)
τ = RC 10ms
in cui R è la resistenza efficace della membrana cellulare e C è la sua capacità.
La dinamica della depolarizzazione è dunque analoga a quella del potenziale
di un circuito RC integratore, nel nostro caso, però, va ricordato che quando
V raggiunge il valore di soglia θ il neurone genera un potenziale di azione, per
questo si parla di “neurone integra e spara” (integrate and fire). In assenza
di corrente afferente la depolarizzazione decade esponenzialmente, da cui il
termine neurone esponenziale. Questo modello è quindi riproducibile tramite
la realizzazione di un circuito elettrico, senza particolari difficoltà nel caso
di componenti discreti. Le dimensioni dei singoli elementi ed il consumo
dell’intero dispositivo
2
rendono però improponibile la realizzazione di reti
composte da centinaia di neuroni. Per questo motivo si ricorre all’utilizzo
della tecnologia dei circuiti integrati ed in particolare al VLSI (Very Large
Scale Integration). In questo caso, però, l’impiego di resistori risulta molto
dispendioso in termini di spazio occupato dal singolo elemento [14]. Allo
scopo di eliminare il termine resistivo nell’equazione 1.1 si esegue il limite
R → ∞, ottenendo
dV (t)
I(t)
=
dt
C
2
(1.2)
Come riferimento consideriamo un dispositivo realizzato dal gruppo nel quale è stato
svolto questo lavoro di tesi [13]. Una rete neuronale a componenti discreti con 27 neuroni
ad apprendimento stocastico consuma ∼ 400 W . Il neurone e la sinapsi occupano ciascuno
un’area di ∼ 10 cm2 .
7
Per compensare la mancanza del decadimento esponenziale si introduce nell’eq.ne 1.2 un decadimento lineare, ottenendo il neurone lineare di Mead
[3]:
dV (t)
I(t)
=
−β
dt
C
(1.3)
Il neurone esponenziale ha un limite inferiore nei valori che può assumere V ,
dato da V (t → ∞), per I = 0. Nel neurone lineare è necessario aggiungere
il vincolo per cui la depolarizzazione non può scendere al di sotto di un
certo valore, che in genere viene posto a zero. In questo lavoro di tesi è
stato realizzato su circuito integrato il modello del neurone lineare appena
descritto.
1.1.3
La struttura sinaptica e la dinamica della rete
Vogliamo ora inserire il modello del neurone lineare nel contesto di una rete
di neuroni. La corrente in ingresso al neurone i-simo è generata dagli impulsi
emessi dai suoi neuroni presinaptici ed è data dalla seguente espressione:
Ii (t) =
N
j=1
Jij
(k)
δ(t − tj − dij )
(1.4)
k
dove Jij è l’efficacia della connessione sinaptica che va dal neurone j al neuro(k)
ne i, N è il numero di neuroni nella rete, tj è il tempo in cui il neurone j-simo
ha emesso l’impulso k-simo e dij è il tempo necessario per la trasmissione dell’impulso (caratteristico di ogni sinapsi). Inserendo la 1.4 nella 1.3 (in cui,
per semplicità, è stato posto C = 13 ) la dinamica della depolarizzazione del
3
In questo modo la corrente viene definita come la variazione di potenziale nell’unità
di tempo.
8
neurone i-simo è data da
dVi (t)
(k)
Jij
δ(t − tj − dij )
= −βi +
dt
j=1
k
N
(1.5)
La rete che stiamo considerando deve rispettare i vincoli posti dalla plausibilità biologica ed elencati nei punti seguenti.
• I neuroni sono di due tipi: eccitatori (E) ed inibitori (I). Un neurone
eccitatorio (inibitorio) genera un impulso che produce un aumento (una
diminuzione) della depolarizzazione di tutti i suoi neuroni postsinaptici
(legge di Dale). Di questo si tiene conto imponendo J positiva (negativa) in caso di neurone presinaptico eccitatorio (inibitorio). I neuroni
inibitori sono circa il 20% del totale.
• All’interno di un modulo corticale la probabilità di connessione tra due
cellule è pari a circa il 10%.
• Ogni neurone ha ingressi sinaptici interni al modulo e provenienti dall’esterno in numero uguale. Le correnti provenienti dall’esterno sono
eccitatorie, infatti solo le cellule piramidali hanno assoni abbastanza
lunghi da poter raggiungere altri moduli.
• La probabilità che un neurone sia connesso direttamente con se stesso
è trascurabile (Jii = 0).
Consideriamo quindi una rete di N neuroni, in cui la probabilità che esista
una connessione da un neurone di tipo β verso un neurone di tipo α è data
da cαβ con α, β ∈ {E, I}. L’efficacia sinaptica di questa connessione è fissata
ad un valore scelto in modo casuale. Questo la rende una variabile aleatoria
9
quenched e la sua distribuzione di probabilità è data da


Pr {Jij ∈ [J, J + dJ]} = (1 − cαβ ) δ (J) + √
cαβ
2πJαβ ∆αβ
2 
J−Jαβ )
(
−
2

e 2(Jαβ ∆αβ )  dJ
(1.6)
La probabilità che ci sia una connessione sinaptica tra il neurone j e il neurone
i (Jij = 0) è cαβ , il numero di connessioni verso neuroni di tipo α può essere
descritto da una variabile casuale binomiale con media cαβ Nα e deviazione
standard Nα cαβ (1 − cαβ ).
Ora che abbiamo definito tutte le caratteristiche del nostro sistema possiamo procedere verso la soluzione delle N equazioni accoppiate 1.5. Per
eliminare le δ di Dirac integriamo la nostra equazione:
Vi (t) = Vi (0) − βi t +
Nj (t) =
t
0
N
Jij Nj (t)
(1.7)
i=1
(k)
δ(τ − τj
− dij )dτ
k
dove Nj (t) è il numero di impulsi emessi dal neurone j-simo nell’intervallo
di tempo [0, t]. Grazie alla casualità presente nella struttura della rete, in
condizioni stazionarie, è possibile considerare il processo di emissione degli
impulsi come un processo stocastico di Poisson. Assumendo che i tempi
di emissione di diversi neuroni siano scorrelati la 1.7 è somma di processi
stocatici di Poisson indipendenti, e quindi un processo stocastico di Poisson
[15], [4], [6].
La depolarizzazione del neurone segue quindi un cammino aleatorio (random walk ) che può essere approssimato con un processo stocastico di Wiener,
se si assume che la corrente afferente (poissoniana) sia un processo stocastico
10
con distribuzione gaussiana. In questo modo abbiamo eliminato le discontinuità tipiche del random walk dall’andamento della Vi (t), che è ora descritto
dalla seguente equazione stocastica:
dVi (t) = µi (Vi (t)) + σi (Vi (t)) dW (t)
(1.8)
dove W (t) è un processo stocastico di Wiener con media e varianza infinitesimali, rispettivamente
E [Vi (t + ∆t) − Vi (t)|Vi (t) = x]
∆t→0
∆t
V
ar
[V
(t
+
∆t)
− Vi (t)|Vi (t) = x]
i
σi2 (x) = lim+
∆t→0
∆t
µi (x) =
lim+
(1.9)
(1.10)
Secondo l’equazione stocastica 1.8 la variazione di Vi (t) in un piccolo intervallo di tempo dt è una variabile casuale con distribuzione di probabilità
normale, con media µi (Vi (t)) e varianza σi2 (Vi (t)). Per valutare le espressioni 1.9 e 1.10 è necessario il calcolo di media e varianza della variazione del
potenziale (∆Vi (t)) in un intervallo di tempo ∆t:
N
Jij ∆Nj (t)
E[∆Vi (t)] = −βi ∆t + E
V ar[∆Vi (t)] = V ar
j=1
N
Jij ∆Nj (t)
j=1
dove ∆Nj (t) = Nj (t + ∆t) − Nj (t). L’indipendenza assunta precedentemente tra le emissioni degli impulsi garantisce che le variabili aleatorie Nj (t)
e Jij siano indipendenti [4], inoltre le efficacie sinaptiche sono tra di loro indipendenti (variabili aleatorie quenched ). In queste ipotesi è possibile
11
scrivere
E[∆Vi (t)] = −βi ∆t +
N
E[Jij ]E[∆Nj (t)]
j=1
V ar[∆Vi (t)] =
N
V ar[Jij ] V ar[∆Nj (t)] + E[∆Nj (t)]2 +
j=1
+V ar[∆Nj (t)]E[Jij ]2
Si ottengono, infine, le seguenti espressioni per µi e σi2 valide per qualunque
i ∈ α, con α ∈ {E, I}[4]:
µi = −βi + cαE JαE
(xνj + (1 − x) νEXT ) − cαI JαI
j∈E
2
1 + ∆2αE
σi2 = cαE JαE
νj
j∈I
(xνj + (1 − x) νEXT ) +
j∈E
2
1 + ∆2αE
+cαI JαI
νj
j∈I
dove x è la probabilità di avere una connessione eccitatoria interna al modulo,
νj è la frequenza di emissione del neurone j-simo del modulo e νEXT è la
frequenza media di emissione dei neuroni esterni al modulo, Jαβ è il valor
medio dell’efficacia sinaptica e (Jαβ ∆αβ )2 la sua varianza.
A questo punto si introduce l’approssimazione di campo medio in cui, per
N grande, ogni neurone riceve in media la stessa corrente. Si parla quindi
della frequenza media di emissione comune a tutti i neuroni eccitatori, νE , e
di quella dei neuroni inibitori νI . La dinamica è allora descritta dalle seguenti
equazioni:
12
dVα (t) = µα + σα dW (t)
∀α ∈ {E, I}
µα = −βα + cαE JαE NE (xνE + (1 − x) νEXT ) − cαI JαI NI νI
2
2
1 + ∆2αE NE (xνE + (1 − x) νEXT ) + cαI JαI
N I νI
σα2 = cαE JαE
(1.11)
(1.12)
(1.13)
In questo modo il sistema di N equazioni stocastiche accoppiate 1.8 è stato
ridotto ad un sistema di due equazioni differenziali stocastiche accoppiate
1.11. Le frequenze di emissione sono date dall’inverso del tempo medio che
impiega la depolarizzazione a raggiungere il valore della soglia per l’emissione
dello spike, e possono essere ora calcolate visto che conosciamo la dinamica
della depolarizzazione. Il tempo di primo passaggio T è definito come il
tempo necessario alla depolarizzazione per raggiungere il valore della soglia
θ partendo dal suo valore a riposo V (0) = 0. Il valor medio del tempo di
primo passaggio è dato da
σ 2 2µθ
− 2µθ
E [T ] = 2
+ e σ2 − 1
2µ
σ2
Conoscendo il tempo medio di primo passaggio in funzione del valor medio
µ e della varianza σ 2 della corrente afferente è possibile trattare il neurone
come un trasduttore corrente-frequenza, scrivendo la seguente funzione di
trasferimento
Φ (µ, σ) =
τARP
1
+ E [T ]
(1.14)
dove τARP viene detto periodo refrattario assoluto, ed è il tempo per cui
la dinamica rimane congelata a V (t) = 0 dopo l’emissione di un impulso.
13
Prendendo come riferimento per il potenziale il valore della soglia (θ = 1), e
per il tempo il periodo refrattario assoluto (τARP = 1), si ha
Φ (µ, σ) =
(µ + 1)
2µ2
σ2
2µ
+
σ2
2µ
e− σ2 − 1
(1.15)
Φ (µ, σ) può essere espressa in funzione delle frequenze sostituendo 1.12 e
1.13 in 1.15. In questo modo è possibile determinare le frequenze autoconsistenti della rete risolvendo graficamente un sistema di due equazioni in due
incognite:

 νE = Φ (νE , νI )
 ν = Φ (ν , ν )
I
E
I
Le soluzioni sono stabili quando i neuroni eccitatori si trovano in un regime di deriva negativa (µ ≤ 0) in cui il raggiungimento della soglia è dovuto
alle fluttuazioni (σ > 0). In fig. 1.3 è riportato un esempio di soluzione
grafica per le frequenze autoconsistenti nel caso di una rete eccitatoria.
1.1.4
L’apprendimento stocastico
Il meccanismo tramite cui si creano gli attrattori in una rete neuronale viene
detto apprendimento. Nella fase di apprendimento le connessioni sinaptiche vengono modificate in modo da ottenere, nel periodo di ritardo, attività
elevate nel sottoinsieme di neuroni che partecipano all’attrattore. Si cerca
quindi di modellizzare una dinamica della matrice sinaptica che, in risposta
agli stimoli, generi una rete strutturata in grado di richiamare le memorie
apprese. Secondo la regola di apprendimento di Hebb [16] la forza dell’accoppiamento tra due cellule neuronali dipende dalla loro attività. L’efficacia
delle sinapsi che connettono due neuroni con attività alta viene potenziata
14
200
20
♦
150
15
−1
Φ(s )
100
10
50
5
♦
0♦
0
5
0
0
50
100
ν (s−1 )
150
200
10
ν (s−1 )
15
20
Figura 1.3: (tratta da [4]). Esempio di soluzione grafica dell’ equazione di autoconsistenza nel caso di una rete di neuroni eccitatori ν = Φ(ν). La linea continua
rappresenta la Φ, la linea tratteggiata è la bisettrice del primo quadrante (ν). La
non linearità della Φ permette di avere più di una soluzione (♦) garantendo una
caratteristica fondamentale per una rete neuronale con due possibili regimi di attività (spontanea e selettiva). La figura a destra è l’ingrandimento di quella a
sinistra.
e vengono depotenziate le sinapsi che connettono due neuroni con attività
scorrelate. L’efficacia sinaptica rimane invariata nel caso in cui entrambi i
neuroni presentano attività bassa. Sono state sviluppate diverse teorie per
la modellizzazione dell’apprendimento, tutte basate sulla regola di Hebb.
Consideriamo una rete di neuroni eccitatori e rappresentiamo lo stimolo ξ come un vettore di dimensione N ad elementi binari: ξ ≡ {ξi }N
i=1 con
ξi ∈ {0, 1}. In questo schema si ha ξi = 1 se lo stimolo induce il neurone
i-simo ad emettere impulsi a frequenze elevate e ξi = 0 se il neurone i-simo
non è attivato dallo stimolo. Il livello di codifica f è definito come il numero
di 1 presenti in uno stimolo, mediato su tutti gli stimoli.
In questo lavoro di tesi è stato realizzato su circuito integrato il modello
dell’apprendimento stocastico di memorie a basso livello di codifica e sinapsi
15
a due stati stabili (J+ e J− ) [17], [18], [19]. Gli stimoli sono scelti in modo casuale e quindi le attività indotte sui neuroni sono scorrelate. Inoltre
le transizioni delle sinapsi sono dominate dalla stocasticità generata dalle
seguenti regole di transizione [18]:
• se Jij = J− e il nuovo stimolo attiva i neuroni collegati dalla sinapsi
(ξiµ = ξjµ = 1, dove ξ µ ≡ {ξiµ }N
i=1 è il µ-simo stimolo presentato alla
rete) allora si ha una transizione J− → J+ con probabilità q+ . Quindi la probabilità di potenziamento a causa della presentazione di uno
stimolo è f 2 q+ .
• Se Jij = J+ e lo stimolo impone due valori opposti ai neuroni collegati
dalla sinapsi, allora la probabilità di una transizione J+ → J− è q− (10)
per ξiµ = 1, ξjµ = 0 e q− (01) per ξiµ = 0, ξjµ = 1 (le probabilità di transizione q− (10) e q− (01) possono essere diverse 4 ). La probabilità totale
di depressione della sinapsi è f (1 − f )q− , con q− = q− (10) + q− (01).
• Una coppia di neuroni non attivati dallo stimolo lascia invariata la
corrispondente efficacia sinaptica.
Quando uno stimolo modifica un’efficacia sinaptica cancella parte delle memorie apprese in precedenza. Questo tipo di apprendimento genera una rete
con la proprietà del palinsesto: gli stimoli che eccedono la capacità della rete cancellano la memoria degli stimoli presentati più lontano nel tempo. Il
numero di stimoli che la rete può apprendere si determina quindi stabilendo qual’è la memoria più vecchia che la rete è in grado di richiamare. La
possibilità di richiamare una memoria è determinata dalla distribuzione delle
4
Questo è vero nel nostro caso essendo q− (10) = 0 (vedi par. 3.3).
16
depolarizzazioni tra i neuroni della rete in presenza di uno stimolo precedentemente appreso. Se questa distribuzione è tale che si possono distinguere i
neuroni attivati dallo stimolo da quelli non attivati il richiamo è, in linea di
principio, possibile [18]. Lo studio del rapporto segnale–rumore del campo
interno del singolo neurone permette di stabilire la correttezza di uno stimolo
richiamato, in questo modo si ottiene l’informazione che la capacità della rete cresce con il logaritmo del numero di neuroni [18]. Questo vincolo risulta
molto limitativo, ma è possibile renderlo meno stringente legando il livello di
codifica e le probabilità di transizione al numero di neuroni. Infatti, ponendo
f ∼ log N/N e q− = f q+ si ottiene [18]
2
N
pc = O
log N
in cui pc è la capacità critica della rete, e cioè il numero massimo di stimoli
che la rete è in grado di apprendere e richiamare senza errori.
1.1.5
Il comportamento collettivo
Ci interessa ora capire se la rete è in grado di sostenere attività dinamiche
differenti come quella selettiva e quella spontanea. L’analisi di questo argomento qui riportata è tratta da [20]. Formalizziamo la regola di Hebb per
l’apprendimento nella seguente schematizzazione:
• Se entrambi i neuroni non sono eccitati da nessuno stimolo la sinapsi non è coinvolta nell’apprendimento ed ha un valore preso da una
distribuzione gaussiana con media JEE e deviazione standard relativa
∆EE .
• Jij viene potenziata se i neuroni i-simo e j-simo sono eccitati dallo
17
stesso stimolo (ξi = ξj = 1). In questo caso l’efficacia sinaptica assume
un valore casuale preso da una distribuzione gaussiana con media J+ >
JEE e deviazione standard relativa ∆+ .
• Jij viene depressa nel caso di attività scorrelate dei due neuroni (ξi = ξj )
assumendo un valore casuale preso da una distribuzione gaussiana con
media J− < JEE e deviazione standard relativa ∆− .
Supponiamo che la rete abbia appreso p stimoli con le seguenti caratteristiche:
• ogni stimolo attiva la stessa percentuale f di neuroni eccitatori;
• gli stimoli non sono sovrapposti (non–overlapping stimuli), e cioè un
neurone può essere attivato da un unico stimolo.
Da questi vincoli deriva che la percentuale di neuroni eccitatori stimolati
deve essere minore di uno (f p < 1). Grazie a queste ipotesi la rete può
essere suddivisa in due sottopopolazioni, una costituita da pf N neuroni eccitati da uno degli p stimoli e l’altra costituita dai restanti (1 − pf )N neuroni
non attivati da alcuno stimolo. I neuroni selettivi ricevono f xCEE contatti
sinaptici5 da neuroni eccitatori della sottopopolazione attivata dallo stesso
stimolo e, per la regola di apprendimento descritta, tali sinapsi hanno efficacia di valore medio J+ . Per le connessioni con gli (p − 1)f xCEE neuroni
selettivi attivati da altri stimoli e quelle con i neuroni eccitatori non selettivi,
l’efficacia media è J− . Con un’analisi di campo medio si può valutare l’effetto
dell’apprendimento sull’attività spontanea per poi studiare la risposta della
rete alla stimolazione con uno dei prototipi appresi e verificare la possibilità
5
x è la frazione degli ingressi eccitatori provenienti dall’interno del modulo e CEE è il
numero di sinapsi tra neuroni eccitatori.
18
che esista l’attività selettiva anche dopo la rimozione dello stimolo. In primo luogo, quindi, occorre comprendere se dopo l’apprendimento esiste una
soluzione per le equazioni di autoconsistenza in cui tutti i neuroni selettivi
siano equivalenti, come i neuroni non selettivi, in termini di frequenze di
emissione e corrente afferente. Distinguiamo tre diverse sottopopolazioni: i
neuroni eccitatori selettivi, con frequenza media ν+ e corrente afferente con
media µ+ e deviazione standard σ+ , i neuroni eccitatori non selettivi, con
frequenza media ν0 e corrente afferente con media µ0 e deviazione standard
σ0 , i neuroni inibitori, con frequenza media νI e corrente afferente con media
µI e deviazione standard σI . Le frequenze stabili sono date dalle soluzioni
del sistema di tre equazioni accoppiate


ν = ΦE (µ+ , σ+ )


 +




ν0 = ΦE (µ0 , σ0 )
νI = ΦI (µI , σI )
dove ΦE,I è la funzione di trasferimento, data dall’eq. 1.14 per neuroni eccitatori ed inibitori rispettivamente6 . Lo studio della stabilità delle soluzioni
[20] rivela la robustezza dell’attività spontanea in termini di stabilità nei confronti dell’apprendimento. Le frequenze di emissione mantengono comunque
una memoria della strutturazione della matrice sinaptica che ha luogo con
l’apprendimento mostrando un’aumento nel caso dei neuroni selettivi ed una
diminuzione per quelli non selettivi. Questa variazione non è comunque legata ad uno degli stimoli appresi in quanto i neuroni selettivi emettono tutti
con la stessa frequenza media, indipendentemente dallo stimolo che li ha attivati in fase di apprendimento.
6
Per le espressioni di µ+,0,I e σ+,0,I si rimanda a [20].
19
Consideriamo ora il caso in cui viene presentato e poi rimosso uno degli
stimoli appresi per verificare se la rete è in grado di sostenere una distribuzione di attività selettiva nel periodo successivo alla stimolazione. Si distinguono
quattro tipi di frequenze: νsel per i neuroni selettivi per lo stimolo presentato,
ν+ nel caso di neuroni selettivi per altri stimoli, ν0 per i neuroni non selettivi e νI per i neuroni inibitori. I punti fissi sono determinati dalle soluzioni
stabili del sistema di quattro equazioni accoppiate7



νsel = ΦE (µsel , σsel )





 ν+ = ΦE (µ+ , σ+ )


ν0 = ΦE (µ0 , σ0 )





 νI = ΦI (µI , σI )
Si ha solo il punto fisso stabile non selettivo fino a quando il rapporto J+ /JEE
è al di sotto di un valore di soglia. In questo caso il sistema rilassa nello stato
di attività spontanea quando viene rimosso lo stimolo. Se il potenziamento
dovuto all’apprendimento è tale che il rapporto J+ /JEE è maggiore del valore
di soglia si sviluppano in modo brusco p stati stabili in cui le sottopopolazioni di neuroni selettivi per un singolo prototipo presentano una frequenza
selettiva. Dopo la rimozione dello stimolo i neuroni selettivi per il prototipo
presentato hanno una frequenza di emissione νsel > ν+ .
7
Per le espressioni di µsel,+,0,I e σsel,+,0,I si rimanda a [20].
20
1.2
VLSI
I circuiti integrati (Integrated Circuit, IC) hanno rivoluzionato l’elettronica
rendendo possibili nuove applicazioni non realizzabili con circuiti a componenti discreti. L’integrazione permette infatti di costruire dispositivi miniaturizzati di grande complessità con costi ridotti grazie alla realizzazione
simultanea di più chip su un unico wafer di silicio cristallino. La sigla VLSI
(Very Large Scale Integration) si riferisce ad una classificazione in termini
di numero di dispositivi (> 105 componenti/IC), e rappresenta l’odierna
tecnologia costruttiva.
Uno dei dispositivi più usati è il transistor MIS (Metal Insulator Semiconductor ), in cui la corrente di canale è controllata da una tensione applicata
all’elettrodo di gate, che è separato dal canale tramite un sottile strato di
materiale isolante. Siccome la maggior parte di questi dispositivi sono realizzati in silicio, e utilizzano l’ossido di silicio come isolante per il gate, si usa
comunemente il termine MOS (Metal Oxide Semiconductor ). La realizzazione di MOS a canale n (p), nMOS (pMOS) richiede un substrato drogato con
impurezze di tipo p (n). Nella tecnologia CMOS (Complementary MOS) il
substrato è drogato p e quindi permette la realizzazione di nMOS, e per i
pMOS si utilizzano dei pozzetti drogati n (n-well ).
1.2.1
I processi di fabbricazione
La fabbricazione di circuiti integrati coinvolge numerosi processi quali la
“crescita” di cristalli di semiconduttore puro, il drogaggio, la realizzazione
dei contatti metallici, ecc. Il progresso della tecnologia dei dispositivi a stato
solido è legato anche al miglioramento della qualità dei materiali utilizzati e
21
dei processi costruttivi. Il semiconduttore deve essere disponibile in un unico
grande cristallo di purezza controllata. Il silicio, ad esempio, viene prodotto
con concentrazioni di impurezze inferiori ad una parte su 1010 [14]. L’alto
livello di purezza richiede un trattamento accurato del materiale in ogni passo
dell’intero processo.
La preparazione del substrato monocristallino è il primo passo comune a
tutte le tecnologie. Una tecnica diffusa consiste nel raffreddamento selettivo
del materiale fuso in modo da far avvenire la solidificazione lungo una particolare direzione cristallina. Cristalli di Ge e di GaAs sono in genere prodotti
con il metodo Bridgman orizzontale. Il materiale fuso, contenuto in un crogiolo, viene posto in una fornace ed estratto lentamente. Nel lato del crogiolo
che viene tirato verso l’esterno della fornace è posto un “seme” di cristallo. Se
la velocità di raffreddamento è ben controllata, e la posizione dell’interfaccia
tra materiale fuso e solido si sposta lentamente lungo il crogiolo gli atomi,
raffreddandosi, si dispongono nella struttura cristallina. Uno svantaggio di
questo metodo è dato dal contatto con le pareti del crogiolo, che introduce
“stress” durante la solidificazione e può causare deviazioni dalla struttura
cristallina.
Questo problema diviene particolarmente serio nel caso del silicio, che ha
un’alta temperatura di fusione (1415◦ C contro i 936◦ C del Ge e i 1238◦ C
del GaAs) e tende ad aderire al materiale delle pareti. Un metodo alternativo elimina questo problema estraendo il cristallo dal materiale fuso man
mano che solidifica. Nel metodo Czochralski un “seme” di cristallo viene
parzialmente immerso nel materiale fuso e poi sollevato lentamente, permettendo la crescita del cristallo attorno al “seme”. Generalmente durante
22
l’estrazione si applica anche una rotazione del cristallo per mediare eventuali
variazioni di temperatura all’interfaccia che potrebbero causare solidificazioni disomogenee. Questo metodo è utilizzato per silicio, germanio ed alcuni
composti.
Il cristallo ottenuto (detto anche lingotto) viene poi tagliato in wafer con
spessore di ∼ 200 ÷ 300µm tramite seghe di diamante. Una superficie del
wafer viene poi pulita e preparata per la lavorazione che realizza gli elementi
dei circuiti in ∼ 10µm di spessore.
La realizzazione dei vari dispositivi si ottiene tramite drogaggi selettivi
e crescita di ossido. Il drogaggio del semiconduttore si ottiene con diverse
tecniche, le più note sono la diffusione e l’impiantazione ionica.
Fino agli inizi degli anni ’70 la tecnica usata per drogare substrati di
semiconduttore era la diffusione. Anche prima della produzione dei circuiti
integrati questa tecnica veniva usata per la fabbricazione di transistor discreti. Tramite l’utilizzo di maschere, realizzate con ossido di silicio, si ottiene
il drogaggio di zone ben determinate. L’introduzione di impurezze nel silicio
avviene in un forno a temperatura di circa 1000◦ C, per un periodo di tempo
che va da 1 a 2 ore. Gli atomi del drogante (B, Al, Ge per drogaggio di tipo
p; P , As, Sb per un drogaggio di tipo n) procedono per diffusione in tutte le
direzioni all’interno del semiconduttore, e questo comporta la penetrazione
del drogante anche sotto la maschera. Fino all’integrazione su piccola scala (dimensioni tipiche del singolo transistor di 1 mm) la diffusione laterale
(dello stesso ordine della penetrazione del drogante, ∼ 1 µm) è irrilevante.
La diffusione laterale diviene un problema rilevante quando la larghezza della finestra (apertura nella maschera attraverso cui il drogante raggiunge il
23
substrato) è confrontabile con lo spessore di diffusione. Quando si è arrivati
a migliaia, decine di migliaia di dispositivi per cm2 le finestre sono diventate
di 1000 Å (1 Å= 10−10 m). A questo punto si sono rese necessarie tecniche
attuabili anche con finestre molto piccole, e processi di litografia sempre più
raffinati per realizzare le finestre. Sono quindi state messe a punto tecniche
di impiantazione ionica. In questo caso gli atomi hanno una velocità di deriva
e non più una velocità termica come nel caso precedente. Questa velocità è
loro impressa da un acceleratore lineare (E ∼ 20 ÷ 300keV ). L’impiantazione ionica viene eseguita a bassa temperatura, per cui le regioni drogate in
precedenza hanno minore tendenza ad allargarsi per diffusione termica.
Come già anticipato, l’ossido si silicio viene utilizzato come maschera per
realizzare drogaggi selettivi. Infatti le impurezze usate per drogare il Si
hanno un coefficiente di diffusione più basso nel SiO2 che nel Si. Inoltre il
SiO2 può essere facilmente rimosso dall’acido fluoridico (HF), che non reagisce con il sottostante strato di silicio. Per la crescita dell’ossido si può agire
in atmosfera secca o umida, in entrambi i casi il processo si svolge a circa
1000◦ C. Nella crescita in atmosfera umida l’ossidazione termica è ottenuta
in presenza di vapore acqueo, mentre nella crescita a secco si utilizza ossigeno puro. Dopo l’ossidazione si deve rimuovere selettivamente il SiO2 per
formare opportune aperture (le finestre) attraverso cui possono essere diffusi gli atomi del drogante. Il processo di fotolitografia consente, appunto,
di realizzare le finestre per il drogaggio. Il wafer viene ricoperto con una
pellicola di fotoresist (materiale fotosensibile) che viene poi esposta alla luce
ultravioletta attraverso una maschera. Se il fotoresist è positivo (negativo) la
regione esposta alla radiazione luminosa subisce una trasformazione chimica
24
Wafer di silicio
Fotoresist
SiO 2 - 1µm
Wafer di silicio
UV light
Maschera
Tracciato nella maschera
Fotoresist
SiO 2
Wafer di silicio
SiO 2
Wafer di silicio
Figura 1.4: (tratta da [21]). Schematizzazione dei passi necessari per la realizzazione di una finestra per il drogaggio. Al di sopra di uno spesso strato di ossido
viene depositato il fotoresist. Dopo l’esposizione alla luce UV l’etching permette
la rimozione del fotoresist e di una parte dell’ossido realizzando la finestra.
che ne permette (inibisce) l’asportazione tramite un apposito solvente. Con
l’etching si rimuove l’ossido di silicio non protetto dal fotoresist, realizzando
cosı̀ la finestra in cui eseguire il drogaggio. In figura 1.4 e 1.5 sono raffigurati rispettivamente la procedura per la realizzazione di una finestra e i passi
necessari per la creazione di una struttura CMOS.
Per formare le interconnessioni dei diversi componenti del circuito integrato
si utilizza il processo di metallizzazione, che consite nella deposizione di
25
Figura 1.5: (tratta da [22]). Descrizione del flusso di costruzione di una struttura
CMOS. Dopo la realizzazione di una n-well (a) viene fatto crescere l’ossido spesso
(b) per poi diffondere le impurezze attraverso le finestre realizzate nell’ossido (c).
Nella struttura finale (d) sono presenti il polisilicio per i contatti di gate e le
metallizazioni per le altre connessioni.
26
un sottile strato di alluminio, ottenuta per mezzo di evaporazione sotto una
campana ad alto vuoto. Le tecnologie più recenti permettono l’utilizzo di
diversi strati di metallizzazione (vedi fig. 1.6) grazie ai quali è possibile disegnare circuiti molto compatti.
nMOS
pMOS
MET3
source
MET3
drain
drain
MET2
MET2
gate
n+
MET1
source
CAP POLY1-POLY2
n+
MET1
gate
p+
p+
n-well
substrato p
Figura 1.6: Sezione del wafer con esempio di nMOS, pMOS e condensatore. Il
pMOS è realizzato all’interno di una n-well mentre le diffusioni per drain e source
dell’nMOS sono “immerse” nel substrato. Il condensatore è costituito dalla sovrapposizione di due strati di polisilicio. Per la realizzazione di circuiti compatti
riveste particolare importanza la possibilità di trasportare i segnale su diverse metallizzazioni a più livelli. In figura sono visibili le tre metallizzazioni, indicate con
M ET 1, M ET 2 e M ET 3, caratteristiche della tecnologia da noi utilizzata.
1.2.2
Il MOS
Questo paragrafo ha lo scopo di fornire una descrizione del funzionamento
del MOS tale da permettere di comprendere il comportamento dei circuiti
progettati in questo lavoro di tesi. Una descrizione più dettagliata è reperibile
27
in [21], [22], [23], [24].
Il MOS è un dispositivo a portatori maggioritari in cui la corrente nel
canale tra drain e source è modulata dalla tensione applicata al gate (vedi fig.
1.7). In un MOS di tipo n i portatori di carica sono elettroni ed una tensione
positiva (rispetto al substrato) applicata al gate provoca un aumento nel
numero di elettroni nel canale, aumentandone la conducibilità. Per tensioni
di gate al di sotto di un valore di soglia (Vt ) la corrente tra drain e source è
molto bassa (Ids ∼ 0). Il comportamento di un MOS di tipo p è analogo a
quello dell’nMOS, con la differenza che i portatori maggioritari sono lacune
e la tensione di gate è negativa rispetto al substrato. Descriviamo quindi il
comportamento dell’nMOS, da cui è facilmente deducibile quello del pMOS.
SiO2
Polisilicio
gate
drain
source
L
W
n+
n+
p
Figura 1.7: Struttura fisica di un transistor nMOS. Le due diffusioni n+ realizzate
nel substrato p costituiscono il source ed il drain. Il gate è in polisilicio ed è isolato
dal canale dal SiO2 .
28
La caratteristica dei transistor MOS viene comunemente divisa in tre
regioni (vedi fig. 1.8), distinte dai valori assunti dalle tensioni applicate ai
tre terminali del dispositivo.
• Regione sotto soglia o di cut-off : il flusso di corrente è essenzialmente
nullo per qualsiasi valore di Vds (tensione applicata tra drain e source),
poiché Vgs (tensione applicata tra gate e source) è minore della tensione
di soglia Vt .
• Regione lineare o ohmica: per Vgs > Vt e 0 < Vds < Vgs − Vt si ha
Vds2
(1.16)
Ids = β (Vgs − Vt ) Vds −
2
Il fattore di guadagno β, legato sia ai parametri del processo utilizzato
che alla geometria del dispositivo, è dato da
µε W
β=
tox L
in cui µ è la mobilità dei portatori nel canale, ε è la costante dielettrica
dell’ossido di gate e tox il suo spessore, W e L sono rispettivamente la
larghezza e la lunghezza del canale (vedi fig. 1.7). Questa regione è
detta lineare in quanto, per Vds Vgs − Vt , il termine quadratico nella
1.16 è trascurabile e si ha
Ids β (Vgs − Vt ) Vds
In questo caso il MOS ha un comportamento ohmico e la resistenza
equivalente tra drain e source è modulata dalla tensione Vgs .
• Regione di saturazione: per Vgs > Vt e 0 < Vgs − Vt < Vds il canale
è fortemente invertito e la corrente è idealmente indipendente dalla
29
tensione Vds :
Ids = β
(Vgs − Vt )2
2
(1.17)
Il MOS è quindi descrivibile come un generatore di corrente controllato
in tensione. In questa regione, però, si manifesta l’effetto di modulazione della lunghezza del canale, analogo all’effetto Early nei BJT [23].
Quando un MOS è nella regione di saturazione la lunghezza di canale diminuisce e va quindi aggiunto un fattore correttivo alla 1.17 che
diventa
Ids = β
(Vgs − Vt )2
(1 + λVds )
2
(1.18)
dove λ è un fattore empirico tipicamente compreso tra 0.02 V −1 e
0.005 V −1 [21].
Questa suddivisione trascura tutta la fenomenologia sotto soglia, considerando Ids = 0 per Vgs ≤ Vt . Ma è proprio questa regione che risulta per noi
molto interessante, dato che nelle nostre applicazioni è critico il problema
dei consumi (nella regione sotto soglia la potenza dissipata è dell’ordine dei
nW ). Prima di analizzare l’andamento della corrente di canale nella regione
sotto soglia riesaminiamo la caratteristica del MOS in modo più accurato.
Si possono definire due curve che indicano ognuna una transizione tra due
andamenti diversi della corrente di canale e definiscono quattro regioni. Andando da sinistra verso destra per ogni Vgs si osservano due andamenti di
Ids al variare di Vds . Inizialmente si ha una dipendenza approssimativamente
lineare, e aumentando Vds si arriva alla saturazione, che per i nostri fini va
definita in maniera più accurata. Nella regione di saturazione, a parte l’effetto Early, la corrente di canale è indipendente dalla tensione di drain, per
30
140
120
Vgs=1.0 V
Vgs=1.5 V
100
Vgs=2.0 V
Vgs=2.5 V
Vgs=3.0 V
Ids(µA)
80
60
40
20
0
0.0
0.5
1.0
1.5
2.0
2.5
3.0
Vds(V)
7
6
5
Vgs=0.60 V
Vgs=0.65 V
Vgs=0.70 V
Vgs=0.75 V
Ids(nA)
4
3
2
1
0
0.0
0.5
1.0
1.5
2.0
2.5
3.0
Vds(V)
Figura 1.8: Caratteristica del MOS nella regione sopra soglia (grafico in alto)
e in quella sotto soglia (grafico in basso) ottenuta con una simulazione Spectre.
In entrambi i casi è possibile distinguere una zona a comportamento ohmico da
un zona di saturazione. In quest’ultima è visibile l’effetto Early, che si manifesta
con una leggera pendenza nella corrente tra drain e source che sarebbe altrimenti
costante. È inoltre possibile distinguere il diverso comportamento della corrente al
variare di Vgs nei due grafici, infatti nella regione sopra soglia si ha una dipendenza
lineare, mentre in quella sotto soglia l’andamento è esponenziale.
31
qualsiasi valore di Vgs . Muovendosi dal basso verso l’alto si incontrano due
diversi comportamenti della corrente di canale al variare della tensione applicata al gate. Nella regione sotto soglia Ids cresce esponenzialmente con Vgs ,
mentre sopra soglia l’andamento è quadratico.
Cerchiamo quindi di analizzare il comportamento della corrente di canale
nella regione sotto soglia [3]. Applicando una tensione Vds positiva si ha che
la barriera di potenziale φs tra il source ed il canale è minore della barriera di
potenziale φd tra il drain ed il canale, e quindi il numero di cariche in grado
di superare la barriera è maggiore nel caso di φs (vedi fig. 1.9).
Gate
tox
Source n+
Vs=0V
Drain n+
Vg=0V
Vg=1V
s
d
Vd=1V
x
L
0
Figura 1.9: Schema delle variazioni di potenziale in un nMOS. Per Vds positiva
la barriera di potenziale Φs tra source e gate è minore di quella tra drain e gate.
Si ha quindi un accumulo di cariche nel canale in prossimità del source che, per
diffusione, si muovono verso il drain.
32
La densità dei portatori di carica nel canale in prossimità del source sarà
maggiore di quella nelle vicinanze del drain, provocando un flusso di corrente
per diffusione dal source verso il drain. La densità di corrente per diffusione
è data da
Jdif f = qD
dN
dx
dove q è la carica dell’elettrone, N è la concentrazione degli elettroni e D è
la costante di diffusione; la concentrazione di elettroni è funzione della sola
direzione x (vedi figura 1.9). Per la relazione di Einstein si ha
D=
KT
µ
q
in cui K è la costante di Boltzmann, T è la temperatura espressa in Kelvin
e µ è la mobilità degli elettroni. La densità di portatori ai due estremi del
canale è data dalla legge di Boltzmann:
Ns = N0 e−q
Nd = N0 e−q
φ0 +(Vs −Vg )
KT
φ0 +(Vd −Vg )
KT
dove N0 è la densità dei portatori al livello di Fermi e φ0 è il potenziale
di contatto del diodo tra source (drain) e canale. Poiché tutti i portatori
generati in prossimità del source raggiungono il drain, la corrente è costante
al variare di x e il gradiente di concentrazione è dato da
qφ0
qVd
dN
Ns − Nd
N0 e− KT qVg − qVs
=
=
e KT e KT − e− KT
dx
L
L
33
La densità di corrente per unità di larghezza di canale è quindi
qφ0
qVd
N0 e− KT qVg − qV s
J = qD
e KT e KT − e− KT
L
Moltiplicando per la larghezza del canale W si ottiene l’espressione della
corrente che scorre tra drain e source

qV
qVd
g
s
 Ids = I0 e qV
KT
e− KT − e− KT
0 W
 I = qDN e− qφ
KT
0
0
L
In questa trattazione sono stati trascurati l’effetto Early e il fatto che
non tutta la tensione applicata sul gate si presenta al canale8 . Considerando
questi due effetti e ricordando che Vds = Vd − Vs si ha
qκVg
qVds
qV s
Vds
−
−
Ids = I0 e KT e KT 1 − e KT +
V0
dove tipicamente κ = 0.7 ÷ 0.9 e V0 è considerata costante fissato il processo
e la geometria del transistor considerato. Quando Vds kT /q la corrente
diventa indipendente da Vds (saturazione) a meno del termine lineare dovuto
all’effetto Early:
sat
Ids
1.2.3
= I0 e
qκVg
KT
s
− qV
KT
e
Vds
1+
V0
(1.19)
Gli effetti parassiti
La risposta dinamica di un circuito a MOS è fortemente dipendente dalle
capacità parassite presenti sui singoli dispositivi, dalle capacità di interconnessione sui metalli e sul silicio policristallino e dalle resistenze di transistor
e conduttori. È importante poter stimare l’entità di questi effetti parassiti
per valutare se le costanti di tempo introdotte siano trascurabili rispetto ai
8
Per una trattazione accurata si rimanda a [3].
34
tempi caratteristici dei segnali in gioco. Per questo riportiamo qui di seguito
una breve trattazione della caratterizzazione di resistenze e capacità parassite. Un altro problema da tenere sotto controllo nella fase di disegno del
layout (vedi par. 1.2.4) è il fenomeno del latch-up che viene qui descritto per
comprenderne le basi fisiche e le possibili “protezioni”.
Resistenza
Consideriamo uno strato uniforme di materiale conduttivo di resistività ρ,
spessore t, lunghezza l e larghezza w, la sua resistenza R (espressa in Ohm)
è data da
R=
ρ l
tw
Una volta fissato il processo utilizzato per la realizzazione del circuito integrato, la resistività ρ e lo spessore t sono fissati e noti, per cui si può riscrivere
l’espressione della resistenza come
R = Rs
l
w
dove Rs è la resistenza di un quadrato di lato qualunque (R = Rs per l = w),
detta sheet resistance. Nelle tabelle 1.1 e 1.2 sono riportati i valori delle sheet
resistance e delle resistenze di contatto nella tecnologia utilizzata nel nostro
caso.
35
Resistenza
Minima
Tipica
Massima
Unità
n-well
0.9
1.0
1.1
kΩ/
poly1
28
33
38
Ω/
diff. n
25
32
40
Ω/
diff. p
45
60
80
Ω/
MET1
100
150
mΩ/
MET2
100
150
mΩ/
MET3
40
70
mΩ/
Tabella 1.1: Valori della sheet resistance nella tecnologia AMS CMOS 0.6µm
tratti da un foglio tecnico di AMS.
Capacità
Le capacità parassite presenti in un circuito integrato sono:
• capacità di gate nei MOS;
• capacità di giunzione nei MOS, dovute alle giunzioni p-n presenti tra
le diffusioni di source e drain ed il substrato;
• capacità di routing 9 .
La capacità di gate dipende dalla regione di caratteristica in cui si trova il
MOS [21], e quindi dalla tensione applicata all’elettrodo di gate. Il valore
massimo di questa capacità, che può essere usato come stima conservativa, è
9
Questo termine (sbroglio in italiano) indica l’operazione di collegamento dei moduli
presenti nel circuito integrato.
36
Resistenza (Ω/cnt)
Tipica
Massima
MET1-ndiff
15
40
MET1-pdiff
30
80
MET1-poly1
10
20
MET1-MET2
0.5
1
MET2-MET3
0.5
1
Tabella 1.2: Valori della resistenza di contatto tra i vari layer nella tecnologia
AMS CMOS 0.6µm tratti da un foglio tecnico di AMS. I contatti hanno dimensioni
fisse (0.7µm × 0.7µm nella nostra tecnologia).
dato da
Cg =
ε
WL
tox
Le capacità presenti tra le diffusioni di source e drain ed il substrato possono essere modellizzate con l’espressione che descrive la generica capacità di
giunzione
Cj = Cj0
Vj
1−
V0
−m
dove Vj è la tensione applicata alla giunzione (negativa per polarizzazione
inversa), Cj0 è la capacità di giunzione per tensione applicata nulla, V0 è
il potenziale di contatto (∼ 0.6V ) ed m è una costante che dipende dalla
distribuzione delle impurezze nei pressi della giunzione e tipicamente vale
0.3 ÷ 0.5.
La modellizzazione delle capacità di routing è molto complessa (vedi [21])
ed un accurato trattamento teorico va oltre i nostri scopi. È comunque
necessario conoscere l’entità di questo fenomeno facendo riferimento ai dati
37
Capacità
MET1-MET2
MET1-MET3
MET2-MET3
Minima Tipica
Massima
0.041
0.053
0.086
f F/µm2
perimetro 0.045
0.051
0.063
f F/µm
area
0.020
0.027
0.043
f F/µm2
perimetro 0.042
0.046
0.054
f F/µm
area
0.040
0.053
0.086
f F/µm2
perimetro 0.050
0.055
0.064
f F/µm
area
Unità
Tabella 1.3: Valori delle capacità di routing nella tecnologia AMS CMOS 0.6 µm
tratti da un foglio tecnico di AMS.
forniti dalla fonderia per la tecnologia utilizzata. In tabella 1.3 sono riportati i
valori delle capacità di sovrapposizione (proporzionali all’area della superficie
di sovrapposizione) e di quelle di bordo (proporzionali al perimetro della
superficie di sovrapposizione).
Il latch-up
Il latch-up è un effetto parassita da tenere accuratamente sotto controllo in
quanto può portare al corto circuito delle due alimentazioni e quindi alla
distruzione del dispositivo [22], [21]. Nei primi dispositivi CMOS questo effetto risultava particolarmente critico, ma negli ultimi anni innovazioni nei
processi di fabbricazione e l’introduzione di tecniche di disegno collaudate
hanno notevolmente ridotto le possibilità di danneggiamento dei circuiti integrati. In figura 1.10(a) è possibile osservare come la realizzazione di una
n-well all’interno di un substrato di tipo p introduca dei BJT (Bipolar Junction Transistor, vedi [23]) parassiti.
38
Figura 1.10: (tratta da [21]). L’origine (a), la modellizzazione (b) e la caratteristica (c) del problema del latch-up. Il BJT pnp ha l’emettitore formato dalla
diffusione di source (p+ ) del MOS di tipo p, la base è formata dalla n-well ed
il collettore è il substrato p. L’emettitore del BJT npn è la diffusione di source
(n+ ) del MOS di tipo n, la base è il substrato p e il collettore è la n-well. Questi
transistor parassiti realizzano il circuito schematizzato in figura (b). Se la tensione
Vne dell’emettitore del BJT npn scende a −0.7 V il transistor entra in conduzione
innescando il feedback positivo che porta ad uno stato stabile in cui la corrente che
scorre nel circuito causa la fusione dei conduttori di alimentazione.
Nello schematico di fig. 1.10(b) viene mostrato il circuito realizzato dai BJT
e dalle resistenze parassite. Se a causa di un undershoot (abbassamento della tensione di massa) inizia a scorrere corrente nell’emettitore del transistor
npn, la tensione di emettitore diventa negativa rispetto alla base fino ad
39
avere una tensione base-emettitore di ∼ 0.7V . A questo punto il transistor
npn entra in conduzione e quindi scorre corrente nella resistenza Rwell . Si
ha cosı̀ un innalzamento della tensione base-emettitore del trasistor pnp, che
a sua volta entra in conduzione, innescando un feedback positivo che tende
ad aumentare la corrente Iramp (vedi fig. 1.10(c)). Per un certo valore della tensione base-emettitore del transistor npn, chiamato punto di trigger, la
tensione di emettitore torna bruscamente indietro e si ha uno stato stabile. La corrente che scorre nei conduttori che alimentano il circuito è tale da
causarne la fusione.
Per ridurre la probabilità di innesco del fenomeno del latch-up si deve
quindi cercare di minimizzare il valore delle resistenze Rwell e Rsubstrato e del
guadagno dei due transistor parassiti [23]. Sono state sviluppate tecnologie
resistenti al latch-up grazie all’aggiunta di un sottile strato fortemente drogato p+ sotto il substrato. In questo modo diminuisce il valore della resistenza
Rsubstrato e si genera un collettore che raccoglie tutte le correnti parassite circolanti nel substrato. Inoltre esistono delle regole di disegno collaudate che
garantiscono la prevenzione del latch-up e possono essere riassunte nei punti
seguenti:
• ogni well deve avere il proprio contatto di substrato connesso all’alimentazione direttamente con il metallo;
• i contatti di substrato devono essere più vicini possibile al contatto di
source dei MOS connessi alle alimentazioni, allo scopo di diminuire i
valori di Rwell e Rsubstrato ;
• è consigliabile mettere un contato di substrato ogni 5 ÷ 10 transistor,
una regola molto conservativa prevede un contatto per ogni transistor;
40
• l’utilizzo di guard-bar riduce la resistenza di substrato. Le guard-bar,
inoltre, si comportano come collettori per le correnti impedendo che
vengano iniettate correnti nelle basi dei transistor parassiti.
1.2.4
La progettazione
Esistono due tipi di approccio alla progettazione di circuiti integrati: bottomup e top-down. Nel primo si parte dall’elemento base, il transistor, realizzando sottocircuiti di crescente complessità interconnessi per realizzare le specifiche di progetto. Nell’approccio top-down, invece, si scompone in gruppi e
sottogruppi il livello più alto fino ad arrivare a delle celle base precedentemente disegnate e testate10 . Questo procedimento è particolarmente indicato
per la realizzazione di circuiti digitali, per cui esiste una vasta gamma di celle
di libreria. Nel nostro caso si è resa chiaramente necessaria una progettazione full-custom bottom-up, la quale richiede i passi descritti qui di seguito e
mostrati nel diagramma a blocchi in figura 1.11.
Definite le specifiche del sistema da realizzare si passa alla progettazione dello schematico. Si eseguono poi delle simulazioni per controllare che il
comportamento del circuito corrisponde a quello desiderato. A questo punto si può procedere verso la realizzazione del disegno del circuito integrato:
il layout. In questa fase vanno tenuti presenti i vincoli geometrici imposti
dalla tecnologia utilizzata. Un programma di controllo (DRC: Design Rule
Check ) permette di verificare che siano rispettati tutti i vincoli. Si utilizza
poi un altro programma (estrattore) per ottenere dal layout l’estrazione dei
parametri, l’identificazione dei dispositivi e dello schematico corrispondente
10
In genere si tratta di standard cells contenute nelle librerie fornite dalla fonderia stessa.
41
Definizione delle specifiche
Disegno dello schematico
Simulazione
NO
Accettabile?
SI
Disegno del layout
Estrazione
LVS
Simulazione con parassiti
NO
Accettabile?
SI
Produzione
Figura 1.11: Diagramma a blocchi relativo alle fasi di progettazione di un circuito
integrato.
al disegno realizzato. Questo consente di verificare la corrispondenza con lo
schematico precedentemente disegnato e simulato. La sigla LVS (Layout Ver42
sus Schematic) indica il programma che esegue questo compito. Nella fase
di estrazione è inoltre possibile aggiungere allo schematico ottenuto i componenti parassiti (vedi par. 1.2.3) per effettuare delle nuove simulazioni da
confrontare con quelle iniziali. Se il comportamento del circuito è fortemente modificato dalla presenza dei componenti parassiti è necessario rivedere
il disegno del layout allo scopo di minimizzare le deviazioni dalla risposta
desiderata. Un singolo errore nel progetto, nelle simulazioni o nel layout
generalmente rende il circuito integrato parzialmente o totalmente inutilizzabile. I programmi a disposizione rendono semplici e veloci diversi controlli,
ma la progettazione richiede comunque una grande cura dei particolari e
molta attenzione verso la struttura globale del dispositivo.
1.3
Reti e VLSI
Il compito della fisica nell’ambito della ricerca sulle reti neuronali è fondamentalmente quello di costruire dei modelli che, seppur basati su elementi
che costituiscono una semplificazione delle cellule nervose, siano in grado di
riprodurre gli stessi comportamenti presenti nella biologia. I modelli, sviluppati ed analizzati con studi teorici, vengono poi valutati attraverso simulazioni al calcolatore e realizzazioni elettroniche. Queste ultime presentano
diversi vantaggi rispetto alle simulazioni. Affrontare il problema dei vincoli
realizzativi (ad esempio necessità di limitare il consumo e le dimensioni dei
dispositivi) può fornire indicazioni sulla plausibilità biologica di scelte fatte
a priori. Inoltre, la realizzazione di un sistema reale introduce una enorme
quantità di variabili incontrollabili che consentono di valutare la robustezza
del modello in presenza di una aleatorietà non facilmente inseribile nelle si43
mulazioni. In questo contesto si è sviluppato, negli ultimi anni, il cosiddetto
hardware neuromorfo, in cui gli elementi costitutivi della rete riproducono i
comportamenti delle cellule biologiche [3].
Il presente lavoro di tesi è inserito in un progetto di ricerca che coinvolge la modellizzazione, la simulazione e la realizzazione di reti neuronali. Il
continuo riferimento ai lavori precedenti svolti nello stesso gruppo ha avuto
un ruolo fondamentale nel raggiungimento degli obiettivi prefissati. Per questo motivo è importante elencare brevemente i dispositivi precedentemente
prodotti. Dopo la realizzazione di una rete neuronale a componenti discreti
[13] (vedi par. 1.1.2) si è passati all’impiego della tecnologia VLSI sviluppando due chip [25] per testare le funzionalità degli elementi costitutivi della
rete: il neurone lineare di Mead [3], e la sinapsi precedentemente realizzata
a componenti discreti da Annunziato [26]. In seguito agli ottimi risultati
forniti dai primi test eseguiti su questi dispositivi è stato possibile realizzare
una rete neuronale su circuito integrato: la LANN21 [25](LANN, dall’inglese
Learning Attractor Neural Network, Rete Neuronale ad Attrattore con Apprendimento). La LANN21 è una rete di 21 neuroni, di cui 14 eccitatori e 7
inibitori, con connettività del 30% realizzata su un chip di 2.2 mm × 2.2 mm
in tecnologia CMOS 1.2 µm. I neuroni comunicano tra di loro attraverso
60 sinapsi plastiche (per le connessioni tra neuroni eccitatori) e 70 sinapsi
fisse. I test di questo dispositivo [27] hanno dimostrato la capacità della rete di sostenere un’attività spontanea in accordo con le previsioni di campo
medio, sia isolando i neuroni eccitatori che aggiungendo l’inibizione tramite
l’attivazione delle connessioni inibitorie.
44
Capitolo 2
Ottimizzazione della matrice
sinaptica
Le connessioni tra i neuroni di una rete vengono rappresentate attraverso la
matrice sinaptica. Una rete di N neuroni è descritta da una matrice N × N
il cui generico elemento Jij contiene il valore dell’efficacia della sinapsi tra
il neurone presinaptico j e quello postsinaptico i. Nella realizzazione su circuito integrato l’efficacia sinaptica è deteminata dalla dinamica della rete
e dalle impostazioni di alcune variabili dall’esterno (cfr. par. 3.3), mentre
la presenza o meno di una connessione tra due neuroni è fissata durante la
fase di progetto in quanto legata alla realizzazione di un circuito elettrico
tra i neuroni stessi. Le informazioni che a noi interessano per affrontare il
problema dell’ottimizzazione dello spazio utilizzato sono quindi la quantità
di connessioni e la loro posizione nella matrice. Una forma conveniente per
la nostra rappresentazione della matrice sinaptica è allora ad elementi binari, con Jij = 1 se esiste la connessione dal neurone j verso il neurone i e
Jij = 0 altrimenti. Se la rete è completamente connessa tutti gli elementi non
45
diagonali sono uguali ad uno. La plausibilità biologica impone però connettività abbastanza basse che possiamo immaginare di ottenere partendo dalla
matrice appena descritta e scegliendo in modo casuale elementi da azzerare
eliminando la corrispondente connessione sinaptica.
Nel nostro caso la connettività è del 18% e gli elementi nulli sono in
maggioranza. Riportare semplicemente la matrice sinaptica su chip significa
quindi lasciare un gran numero di spazi inutilizzati. Ciò è chiaramente comprensibile immaginando la matrice sinaptica come una scacchiera in cui ogni
quadrato nero rappresenta una sinapsi (Jij = 1), e quindi un’area occupata
da un circuito elettrico integrato, ed i quadrati bianchi sono associati alle
“non-sinapsi” (Jij = 0) ovvero aree prive di dispositivi. In una scacchiera
si alternano, su ogni riga (colonna), quadrati bianchi e neri, che sono quindi
presenti in numero uguale. Nella matrice sinaptica si ha una disposizione
casuale dei due tipi di quadrati, e quelli neri sono in minoranza dato che la
loro percentuale è rappresentata dalla connettività della rete. Riorganizzare la disposizione delle connessioni sinaptiche posizionando quadrati neri al
posto di quadrati bianchi è l’idea alla base della nostra ottimizzazione. In
questo modo, infatti, è possibile ridurre sia lo spazio inutilizzato che quello occupato dall’intera matrice sinaptica. Sono state realizzate, analizzate
e confrontate due diverse procedure di compressione della matrice sinaptica
indicate in seguito come metodo di ottimizzazione A e B. Il metodo A consiste nell’accoppiare tra di loro le colonne che hanno sinapsi su righe diverse,
lasciando inalterate le proprietà statistiche della matrice. Il metodo B provvede invece a generare gli accoppiamenti sinaptici in modo da poter sistemare
sulla stessa colonna le sinapsi provenienti da più neuroni. In questo modo il
46
risparmio di spazio è maggiore (vedi par. 2.1.1), ma si ha un inconveniente:
le proprietà statistiche della matrice sinaptica sono diverse da quelle contemplate nel modello teorico realizzato (vedi 1.1.3). Allo scopo di verificare
la possibilità di utilizzare una matrice sinaptica generata con il metodo B,
è stata compiuta un’analisi mirata a comprendere se le modifiche apportate
alle proprietà statistiche della matrice alterano il comportamento della rete
(vedi par. 2.2.1). Il risultato di questa prima analisi non ha permesso di
optare per questa soluzione, che potrà comunque essere analizzata in seguito
con uno studio teorico approfondito che va oltre lo scopo di questa tesi.
In questo capitolo viene presentato il metodo che ha portato alla definizione della topologia finale della matrice sinaptica realizzata su silicio.
Brevemente, sono comunque descritti e analizzati il metodo B ed i motivi
per cui non è stato utilizzato.
2.1
L’algoritmo per la generazione della matrice
sinaptica
Consideriamo la procedura utilizzata per definire la topologia della matrice
sinaptica di una rete neuronale con N neuroni e connettività C. Per ogni
elemento della matrice viene generato un numero casuale con distribuzione
uniforme nell’intervallo [0, 1[, se il numero ottenuto è minore di C l’elemento
conterrà una sinapsi, altrimenti no (ovviamente sono esclusi da questa procedura gli elementi diagonali, privi di sinapsi). Il risultato sarà caratterizzato
da una distribuzione binomiale per cui possiamo associare la presenza della
sinapsi al “successo”, il quale avrà quindi probabilità C. Se N è abbastan-
47
za grande, il numero di sinapsi per colonna (riga) segue una distribuzione
gaussiana con media
µ=C ·N
(2.1)
e deviazione standard
σ=
N · C · (1 − C)
(2.2)
Per la generazione dei numeri casuali con distribuzione uniforme è stata
utilizzata la funzione ran3 tratta da [28].
2.1.1
L’algoritmo modificato
Il metodo B consente di ridurre il numero di colonne da N ad N/F , generando una matrice sinaptica in cui su ogni colonna ci sono le sinapsi di F
neuroni diversi. Questo significa che gli F neuroni non possono avere sinapsi
sulla stessa riga, poiché la colonna generata è la sovrapposizione di F colonne “complementari”. Si ha quindi un vincolo che modifica la statistica del
numero di sinapsi sulle righe.
Per realizzare la matrice sinaptica viene modificato l’algoritmo appena
descritto. La probabilità di “successo” del nostro processo binomiale diviene
in questo caso F · C. Su ogni riga vengono eseguite N/F estrazioni, per cui,
indicando con µr e σr la media e la deviazione standard del numero di sinapsi
per riga, si ha
µr = F · C ·
σr =
N
=C ·N
F
N
· F · C · (1 − F · C) = N · C · (1 − F · C)
F
48
(2.3)
(2.4)
Fissata una colonna, ogni sinapsi viene assegnata ad uno degli F neuroni
appartenenti alla colonna con probabilità 1/F . Per ogni neurone si ha quindi
che la probabilità di avere una sinapsi sulla colonna è F · C · (1/F ) = C, il
numero medio di sinapsi per colonna è
µc = C · N
(2.5)
N · C · (1 − C)
(2.6)
e la deviazione standard
σc =
Questa procedura, rispetto a quella usuale, modifica la deviazione standard della distribuzione del numero di sinapsi sulle colonne.
Il metodo seguito per generare la matrice sinaptica è il seguente. Per ogni
elemento della matrice di dimensione N × (N/F ) viene generato un numero
nell’intervallo [0, 1[, se il numero è minore di CF viene assegnata una sinapsi
all’elemento in questione. Per ogni colonna, poi, è necessario assegnare le
sinapsi ai diversi neuroni. Si divide, quindi, l’intervallo [0, 1[ in F segmenti di
uguale lunghezza, e si assegna ogni segmento ad un neurone. L’appartenenza del numero estratto ad uno dei segmenti determina l’assegnazione della
sinapsi al neurone corrispondente.
49
2.2
Analisi e confronto dei due metodi di
ottimizzazione
2.2.1
Studio del comportamento della rete neuronale
nel metodo di ottimizzazione B
Per analizzare il comportamento della rete sono state eseguite delle simulazioni basate sul modello dei neuroni impulsivi con depolarizzazione lineare
[5], [4]. La plausibilità biologica della dinamica di una rete neuronale di questo tipo è stata verificata nei lavori di M. Mattia e S. Fusi, proprio nell’ottica
di una realizzazione in VLSI. Questo studio ha posto le basi per la realizzazione del modello su circuito integrato. Con il metodo di ottimizzazione
qui proposto, però, si pone il problema di applicare il modello stesso ad una
rete con caratteristiche diverse: la distribuzione di probabilità dell’efficacia
sinaptica 1.6 è ora valida solo lungo le colonne, ed è stata modificata per
quanto riguarda le righe. Le simulazioni eseguite avevano dunque lo scopo
di verificare se è possibile riprodurre la fenomenologia osservata nel caso in
cui la 1.6 è valida per tutta la matrice sinaptica. L’attenzione si è subito
concentrata sul parametro che meglio sintetizza il comportamento della rete:
la frequenza di emissione (vedi cap. 1). Le prime misure hanno coinvolto le
frequenze medie dei neuroni inibitori ed eccitatori in attività spontanea, confermando le previsioni del campo medio. Lo stesso risultato è stato ottenuto
ripetendo le misure nel caso di deriva negativa (vedi par. 1.1.3), situazione
in cui il processo di emissione potrebbe dipendere più sensibilmente dalla
variabilità nella connettività.
A questo punto è stata esaminata la stabilità della rete nel caso in cui
50
siano stati memorizzati 5 stimoli non sovrapposti. Nella configurazione simulata la rete collassa in uno degli attrattori senza aver ricevuto stimoli esterni
(vedi fig. 2.1). Questo non succede nel caso di una matrice non “modificata”,
la quale mantiene un’attività spontanea stabile in assenza di stimoli ed è in
grado di richiamare uno qualsiasi dei pattern appresi.
3RSROD]LRQH 3RSROD]LRQH 3RSROD]LRQH 3RSROD]LRQH ν +]
3RSROD]LRQH WPV
Figura 2.1: Risultati simulazione di una rete strutturata con 5 memorie, 6000
neuroni eccitatori e 1500 inibitori, C = 0, 1 e topologia definita dal metodo di
ottimizzazione B. Il grafico riporta le frequenze medie delle 5 popolazioni (gli
simoli non sono sovrapposti) relative alle 5 memorie. La rete viene stimolata per
0.5 s con la memoria 1 dopo un tempo di vita di 1s, e la durata della simulazione è
di 2, 5s. Si osserva che l’attività spontanea prima della stimolazione non è stabile
in quanto la popolazione 5 diviene attiva senza nessuna stimolazione esterna. La
rete risponde comunque allo stimolo presentato e mantiene attività selettiva anche
dopo la rimozione dello stimolo (con frequenza media di 29Hz).
51
2.2.2
Ottimizzazione della matrice sinaptica tramite
accoppiamento di colonne complementari
Nella realizzazione su circuito integrato il segnale di spike viene portato alle
sinapsi di tutta la colonna, che quindi rappresenta l’assone del neurone considerato. Lungo la riga si effettua la somma delle correnti afferenti al neurone
corrispondente, e quindi si riproduce l’albero dendritico. Allo scopo di ridurre lo spazio occupato dalla matrice sinaptica, si può pensare di posizionare
sulla stessa colonna le sinapsi relative a due diversi neuroni presinaptici.
Figura 2.2: Rappresentazione grafica delle colonne della matrice sinaptica: i quadrati colorati rappresentano le sinapsi, mentre quelli bianchi corrispondono ad elementi con Jij = 0. Nel metodo di ottimizzazione A due colonne “complementari”
(con sinapsi su righe diverse) vengono sostituite da un’unica colonna contenente
tutte le sinapsi. In questo modo si riduce di uno il numero di colonne della matrice.
Il numero di zeri eliminati è dato dal numero di zeri di una delle due colonne più
il numero di sinapsi dell’altra.
52
Colonne eliminate
Colonne eliminate
Numero di sequenze
Numero di sequenze
Figura 2.3: Andamento del numero di colonne eliminate in funzione del numero di
sequenze esaminate. Dopo una fase iniziale in cui si osserva un forte incremento nel
numero di colonne eliminate al crescere del numero di sequenze, si ha una situazione
di saturazione in cui il risultato della compressione non varia incrementando il
numero di sequenze.
Questo è possibile solo se i due neuroni non hanno in comune nessun neurone
postsinaptico (vedi fig.2.2). La procedura di ottimizzazione è stata realizzata
tramite un programma in linguaggio C che cerca le coppie di colonne complementari considerando la colonna i -sima e confrontandola con la colonna
j -sima (i = j; i, j = 1, ..., N ). Il risultato dell’ottimizzazione dipende dalla
sequenza dei valori assunti dai due indici i e j. Per questo motivo sono state
generate delle liste in cui sono presenti tutti i numeri interi da 1 ad N disposti
in ordine casuale. Ad ogni lista corrisponde una diversa sequenza dei valori
53
Figura 2.4: Istogramma della distribuzione del numero di colonne eliminate e
andamento del numero medio degli zeri presenti nella matrice. Come descritto nel
testo, all’aumentare del numero degli zeri aumenta il numero di colonne eliminate.
assunti dall’indice i o j. L’algoritmo realizzato sceglie il risultato migliore
dopo aver sperimentato diverse sequenze per entrambi gli indici.
Aumentando il numero di sequenze esaminate si osserva, inizialmente, un
aumento del numero di colonne eliminate, fino a raggiungere una situazione
di saturazione per cui l’ulteriore incremento del numero di sequenze non influisce più sul risultato (vedi fig. 2.3). L’efficacia dell’ottimizzazione dipende,
inoltre, dalla matrice di partenza. Anche questa dipendenza è stata presa in
esame allo scopo di comprendere le sue caratteristiche. L’ipotesi considerata
è che aumenti la probabilità di trovare colonne complementari se cresce la
quantità di zeri nella matrice. Dato che il numero di zeri segue una distribuzione gaussiana intorno al valore medio N 2 − N · (N − 1) · C = 13458, ci si
54
Figura 2.5: Nella seconda fase di ottimizzazione si uniscono le colonne con n
sinapsi nella stessa posizione. In questo modo si ottengono due colonne che devono
rimanere sempre affiancate, in quanto contengono sinapsi dello stesso neurone. La
colonna con n sinapsi viene poi unita ad una colonna “complementare”, ottendo
cosı̀ la riduzione di uno del numero di colonne.
aspetta un andamento gaussiano anche per il numero di colonne eliminate.
Nella fig. 2.4 è riportato il risultato ottenuto ottimizzando 300 matrici diverse, tutte con 128 neuroni e 18% di connettività. Con questo metodo si
ottiene, in media, l’eliminazione del 35,7% degli zeri, e quindi degli spazi
inutilizzati. Per migliorare questo risultato, sono state sovrapposte colonne
con un numero piccolo di sinapsi sulla stessa riga. Si parte da due colonne
con n sinapsi “sovrapposte” e si ottengono ancora due colonne di cui una
contiene, però, solo n sinapsi (vedi fig. 2.5). Trovare un accoppiamento per
la colonna con n sinapsi è molto probabile. È possibile, inoltre, ripetere questa procedura per differenti valori di n, fino ad ottenere la situazione con il
massimo numero di colonne con n sinapsi generate ed accoppiate. Si hanno,
55
però, casi in cui un neurone ha n sinapsi su una colonna e le restanti su
un’altra e per la realizzazione elettronica della matrice risulta necessario che
queste due colonne siano affiancate. La matrice viene quindi riordinata per
soddisfare questa richiesta.
Scelta della topologia della rete
La matrice scelta per la realizzazione su silicio ha un numero di zeri iniziale
pari al valore medio della distribuzione degli zeri (13458), che diminuisce a
8594 dopo la prima fase di ottimizzazione (eliminazione del 36% degli zeri).
Dopo la seconda fase di ottimizzazione il numero di colonne è stato ridotto
del 50% (su ogni colonna della matrice finale sono presenti le sinapsi di due
neuroni), ed è stato eliminato il 61% degli zeri. I 128 neuroni sono ripartiti
in 88 eccitatori e 40 inibitori. Per comodità di progetto nessun neurone
inibitorio ha sinapsi su due colonne diverse.
56
Capitolo 3
I singoli elementi
Questo capitolo ha lo scopo di introdurre i circuiti elementari che verranno
utilizzati negli elementi essenziali della nostra rete neuronale: il neurone e
la sinapsi. Sono inoltre descritti nel dettaglio sia lo schematico che il layout
di questi due dispositivi. Nelle figure che riportano i layout sarà usata la
corrispondenza tra colore e layer descritta in fig. 3.1. Una caratteristica
importante al livello di layout è data dalla cura posta nella prevenzione del
cross-talk 1 . A questo scopo si è cercato di sfruttare al meglio le tre metallizzazioni disponibili: i segnali viaggiano sul primo (M ET 1) e sull’ultimo
(M ET 3) strato di metallo, mentre lo strato centrale (M ET 2) è utilizzato
per le alimentazioni. È cosı̀ possibile “schermare” gli incroci tra i segnali
utilizzando, appunto, le alimentazioni. Inoltre tutte le connessioni interne
alla singola cella sono realizzate in M ET 1 e polisilicio, ed ogni cella è ricoperta da uno strato di M ET 2 per rendere possibile il passaggio dei segnali
su M ET 3 senza influenzare i dispositivi sottostanti. Il layout di ogni cella
1
Il cross-talk è un fenomeno dovuto all’accoppiamento capacitivo tra due conduttori
(cfr. par. 1.2.3) che può indurre distorsioni nei segnali.
57
è stato disegnato in modo che affiancando più celle sia per le alimentazioni
che per i segnali vengono generate automaticamente e senza interruzioni le
relative piste di metallo.
diffusione
contatto
polisilicio
VIA
polisilicio2
VIA2
MET1
ntap
MET2
ptap
MET3
righello
Figura 3.1: Definizione dei colori per i vari layer del layout. Il righello misura le
distanze in µm.
3.1
I circuiti elementari
3.1.1
Lo specchio di corrente
Gli ingressi in corrente del circuito integrato sono alimentati dall’esterno
tramite generatori che forniscono correnti entranti. Per ognuno di questi
ingressi si ha la necessità di ridurre l’intensità di corrente in modo da avere
58
grandezze gestibili dai dispositivi a dimensione minima utilizzati nella rete
neuronale. Lo specchio di corrente (current mirror ) [29] è un circuito molto
semplice utilizzato a questo scopo, che permette inoltre di riprodurre la stessa
corrente su più rami, propietà sfruttata per portare una regolazione a più
dispositivi. Qui di seguito analizziamo il comportamento dello specchio di
corrente per comprendere il suo utilizzo nel nostro circuito integrato. Lo
specchio di corrente riproduce in uscita la corrente di ingresso moltiplicata per
un fattore che dipende dalla geometria dei transistor utilizzati. In figura 3.2
sono mostrati gli schemi elettrici dei due tipi di specchi di corrente realizzati
con MOS: nMOS (fig. 3.2(a)) e pMOS (fig. 3.2(b)).
In
Out
Iin Iout
Q3
Q1
Q4
Q2
In
(a)
Iin Iout
Out
(b)
Figura 3.2: Schemi elettrici degli specchi di corrente realizzati con nMOS (a) e
pMOS (b). Lo scopo di questi circuiti è di riprodurre la corrente di ingresso nel
ramo di uscita. Se i due MOS sono identici, a meno di effetti parassiti, le due
correnti hanno la stessa intensità.
Nello specchio ad nMOS in fig. 3.2(a) la corrente in ingresso e quella in
uscita sono entranti nei MOS Q1 e Q2 rispettivamente. Nello specchio a
pMOS in fig. 3.2(b) la corrente in ingresso e quella in uscita sono uscenti
dai MOS Q3 e Q4 rispettivamente. Il MOS Q1 (Q3) in fig. 3.2 è detto
master in quanto è collegato al ramo in cui scorre la corrente di riferimento
59
ed il MOS Q2 (Q4) è detto slave essendo collegato al ramo in cui scorre la
copia della corrente in ingresso. Il master è connesso come diodo (Vgd = 0,
quindi il MOS è in saturazione) per cui la corrente che scorre nel ramo di
ingresso determina univocamente la tensione di gate del master, e quindi dello
slave. Il valore della corrente di uscita sarà uguale a quello della corrente in
ingresso fino a che lo slave lavora in regime di saturazione. L’intensità della
corrente specchiata è uguale a quella della corrente di riferimento solo se i
due MOS che costituiscono lo specchio sono identici, ed in condizioni ideali.
Consideriamo un caso più generale in cui i parametri legati alla tecnologia
sono identici ma la geometria è diversa. Possiamo scrivere le correnti di input
e output del circuito in figura 3.2(a) utilizzando l’eq.ne 1.18 per la corrente
tra drain e source del MOS in saturazione:
µε W2 (Vgs − Vt )2
Iout =
(1 + λVds2 )
tox L2
2
µε W1 (Vgs − Vt )2
(1 + λVds1 )
Iin =
tox L1
2
dove i pedici 1 e 2 si riferiscono rispettivamente ai MOS Q1 e Q2. Il rapporto
tra la corrente in uscita e quella in ingresso è quindi
Iout
=
Iin
W2
W1
L1
L2
1 + λVds2
1 + λVds1
In condizioni ideali (assenza di effetto Early) il rapporto delle correnti è
unitario per W2 /L2 = W1 /L1 .
Lo specchio può essere usato per generare più copie della stessa corrente
collegando diversi slave allo stesso master. Questa proprietà è stata sfruttata
per le regolazioni in corrente dei nostri circuiti: ognuna è presente su un
60
unico pin a cui è collegato un master ed n slave nel caso in cui n dispositivi
necessitano della stessa regolazione. Tutte le nostre regolazioni in corrente
entrano su specchi di tipo n con L1 = L2 = 1.8 µm che riducono la corrente
specchiata del fattore
W2
2.8 µm
=
= 71.4 · 10−3
W1
39.2 µm
Per tutte le regolazioni che scaricano gli elementi di memoria presenti sia nel
neurone che nella sinapsi, gli slave di questo specchio sono all’interno delle
celle che ricevono in input la corrente impostata. Se invece la regolazione deve
caricare la capacità di neurone o sinapsi va invertito il segno della corrente
uscente dallo specchio n con uno specchio di tipo p. Anche in questo caso,
per lo specchio p, si ha un master e tanti slave, ognuno all’interno del singolo
dispositivo che riceve la corrente.
3.1.2
L’invertitore
Congiungendo in serie due transistor MOS di tipo p ed n si realizza il blocco
funzionale detto invertitore logico [21] (vedi fig. 3.3), che fornisce in uscita
il segnale di ingresso negato2 . Per l’analisi dell’andamento della tensione di
uscita in funzione di quella in ingresso consideriamo il caso dell’invertitore
bilanciato. La condizione di bilanciamento (sempre soddisfatta dagli invertitori da noi realizzati) è verificata quando la fonderia garantisce che i MOS di
tipo p ed n hanno lo stesso valore per la tensione di soglia (Vt = Vtn = Vtp )
ed in fase di disegno del layout sono opportunamente fissate la larghezza
2
Nel trattare segnali digitali usiamo la convenzione che indica con 0 il valore basso del
potenziale (0 V ) e con 1 il valore alto (Vdd ). L’operazione di negazione fornisce in uscita
1 (0) se in ingresso si ha 0 (1).
61
Wn,p e la lunghezza Ln,p del gate dei due MOS in modo tale che in prima
approssimazione βn = βp .
Q1
In
Out
Q2
Figura 3.3: Schema elettrico dell’invertitore logico CMOS. Per VIn = 0 V il MOS
Q1 è chiuso mentre Q2 è aperto, quindi VOut ∼ Vdd . Per VIn = Vdd Q1 è aperto,
Q2 chiuso e VOut ∼ 0 V .
Ricordiamo che β è il fattore di guadagno del MOS introdotto nel par. 1.2.2
ed è dato da
βn,p
µn,p ε
=
tox
Wn,p
Ln,p
dove µ è la mobilità dei portatori di carica nel canale, ε è la costante dielettrica dell’ossido di gate e tox il suo spessore. Tipicamente µn ∼ 2µp per
cui il bilanciamento si ottiene ponendo Wp = 2Wn e Lp = Ln . Per Vin < Vt
Q1 è chiuso mentre Q2 è sotto soglia e quindi Vout ∼ Vdd . Analogamente per
Vin > Vdd − Vt Q2 è chiuso e Q1 è sotto soglia per cui Vout ∼ 0 V . Inoltre Q2
è saturo quando Vds2 > Vgs2 − Vt , e cioè
Vt < Vi < Vt + Vout
62
mentre Q1 è in saturazione quando Vsd1 > Vsg1 − Vt , e dunque
Vout − Vt < Vi < Vdd − Vt
L’invertitore CMOS è stato usato nel neurone (N 1 e N 2 in fig. 3.9 e N 1 in
fig. 3.8) e nella sinapsi (Q1 e Q2 in fig. 3.13).
3.1.3
L’invertitore con doppia limitazione in corrente
L’invertitore con doppia limitazione in corrente [25] è un circuito ottenuto
combinando un invertitore e due specchi di corrente.
Q1
biasp
Q2
Out
In
Q3
biasn
Q4
Figura 3.4: Schema elettrico dell’invertitore con doppia limitazione in corrente.
Se Vin = 0 V il pMOS Q2 è chiuso e l’nMOS Q3 è aperto, in uscita si ha la
corrente impostata sullo slave Q1 tramite biasp. Se Vin = Vdd il pMOS Q2 è
aperto e l’nMOS Q3 è chiuso, quindi la corrente di uscita è quella impostata da
biasn sullo slave Q4.
63
Inserendo lo slave di uno specchio di tipo p tra l’invertitore e l’alimentazione
e lo slave di uno specchio di tipo n tra l’invertitore e la massa si ottiene
l’invertitore con doppia limitazione in corrente mostrato in fig. 3.4. Questo
circuito è stato utilizzato nella sinapsi per effettuare il potenziamento o la
depressione della sua variabile analogica. L’invertitore con doppia limitazione
in corrente può essere infatti collegato ad un condensatore per iniettare o
sottrarre due correnti di diversa intensità. In questa configurazione si ha:
• per Vin ∼ 0 V il MOS Q2 conduce, mentre Q3 è aperto ed il condensatore viene caricato dalla corrente impostata su Q1 tramite la regolazione
biasp;
• per Vin ∼ Vdd il MOS Q3 conduce, mentre Q2 è aperto ed il condensatore viene scaricato dalla corrente impostata su Q4 tramite la regolazione
biasn.
3.1.4
L’amplificatore differenziale
L’amplificatore differenziale [3] è un dispositivo che genera una corrente di
uscita funzione della differnza tra due tensioni di ingresso e viene realizzato
tramite l’unione di due circuiti elementari: la coppia differenziale e lo specchio
di corrente. Lo schema elettrico della coppia differenziale è riportato in fig.
3.5. Il MOS Q3 è usato come sorgente di corrente controllata dalla tensione
di bias Vb . Il modo in cui la corrente che scorre in Q3 si suddivide tra i
MOS Q1 e Q2 dipende dalla differenza tra le due tensioni in ingresso V1 e V2 .
Consideriamo i transistor Q1 e Q2 in condizioni di saturazione sotto soglia,
64
V1
I1
I2
Q1
Q2
V2
Q3
Vb
Figura 3.5: Schema elettrico della coppia differenziale. La corrente che scorre nel
MOS Q3 è impostata tramite la tensione Vb e la suddivisione nelle correnti I1 e I2
dipende dalla differenza delle due tensioni in ingresso (V1 e V2 ).
per cui si ha (eq. 1.19)
κV1
− VV
T
(3.1)
κV2
− VV
T
(3.2)
I 1 = I 0 e VT
I2 = I 0 e V T
dove VT = kT /q è il potenziale termico. La corrente di bias risulta essere
− VV
Ib = I1 + I2 = I0 e
T
κV1
κV2
e VT + e VT
Risolvendo per la tensione V si ha
−V
e VT =
Ib
1
κV1
2
I0 e VT + e κV
VT
Sostituendo questa espressione in 3.1 e 3.2 si ottiene
κV1
I1 = Ib
e VT
κV1
κV2
e VT + e VT
κV2
I2 = I b
e VT
κV1
κV2
e VT + e VT
65
Se V1 −V2 è positivo e dell’ordine di qualche VT /κil MOS Q2 è aperto (I2 ∼ 0)
e I1 ∼ Ib . Viceversa se V2 − V1 è positivo e dell’ordine di qualche VT /κ, il
MOS Q1 è aperto (I1 ∼ 0) e I2 ∼ Ib . L’amplificatore differenziale utilizza
l’abbinamento tra la coppia differenziale e uno specchio per generare una
corrente di uscita uguale alla differenza tra le correnti di drain dei MOS Q1
e Q2, data da
I1 − I2 = Ib tanh
κ(V1 − V2 )
2VT
Nell’amplificatore differenziale rappresentato in fig. 3.6 la corrente I1 della
coppia differenziale (fig. 3.5) viene specchiata tramite i pMOS Q4 e Q5 e
sottratta alla corrente I2 (fig. 3.5) fornendo in uscita Iout = I1 − I2 .
Q4
Q5
Q1
V1
Vb
Q2
V2
Iout
Q3
Figura 3.6: L’amplificatore differenziale genera una corrente di uscita funzione della differenza delle tensioni in ingresso sfruttando le proprietà della coppia
differenziale (Q1, Q2 e Q3) e dello specchio di corrente (Q4 e Q5).
66
3.1.5
Il partitore capacitivo
Il partitore capacitivo [3] viene utilizzato nel modulo generatore di spike (vedi
par. 3.2) presente nel neurone. Consideriamo due condensatori in parallelo
con il nodo in comune alla tensione V0 (vedi fig. 3.7(a)). Indicando con Q la
carica totale presente sui due condensatori si ha
Q = V0 (C1 + C2 )
Se il secondo terminale di C2 viene bruscamente portato dalla tensione di
massa ad un valore ∆V (vedi fig. 3.7(b)), per la conservazione della carica
si ha
V0 (C1 + C2 ) = V C1 + (V − ∆V )C2
da cui si ottiene il valore della tensione V:
V = V0 + ∆V
V = V0
C1
C2
C1 + C2
V
C2
(3.3)
C2
∆V
C1
(b)
(a)
Figura 3.7: Partitore capacitivo. Inizialmente due condensatori sono in parallelo
con una tensione V0 applicata ai loro capi. Applicando una tensione ∆V tra la
massa e il condensatore C2 si ha, per la conservazione della carica, V = V0 +
C2
.
∆V C1+C2
67
3.2
Il neurone
Nel nostro circuito integrato il neurone è un elemento che deve svolgere le
seguenti funzioni:
• ricevere le correnti provenienti dalle sinapsi di altri neuroni ed integrarle
tramite la capacità di soma;
• confrontare la tensione di soma (Vsoma ) con una determinata tensione
di soglia e generare lo spike quando Vsoma raggiunge il potenziale di
soglia;
• riportare la tensione di soma al valore di reset dopo l’emissione dello
spike;
• generare un segnale digitale per comunicare alle sinapsi lo stato del
neurone stesso (cfr. par. 3.3).
La tensione Vsoma deve seguire la dinamica data dall’eq.ne 1.3, che integrata
fornisce la seguente espressione
1
Vsoma (t) = Vsoma (0) − βt +
C
t
I(t )dt
(3.4)
0
Dove I(t) è la somma della corrente esterna e della corrente proveniente dagli
altri neuroni della rete. La corrente esterna è sempre positiva (vedi par.
1.1.3), mentre per quella interna si hanno contributi positivi (provenienti dai
neuroni eccitatori) e negativi (provenienti dai neuroni inibitori).
68
3.2.1
Lo schematico
Lo schema elettrico del neurone [3], [25], riportato in fig. 3.9, è costituito da
vari moduli che realizzano le funzioni richieste e sopra elencate. Possiamo
quindi identificare quattro blocchi:
1. Modulo per l’iniezione delle correnti
Questo modulo è costituito dai transitor Q1 e Q2 che garantiscono l’interruzione della corrente in presenza di spike. Le correnti provenienti dalle sinapsi eccitatorie e dall’esterno caricano la capacità di soma
attraverso l’interruttore Q1, mentre le sinapsi inibitorie la scaricano
attraverso l’interruttore Q2.
2. Corrente di perdita
Il termine −βt dell’equazione 3.4 è realizzato tramite i transistor Q3 e
Q4. La corrente di perdita scorre solo in assenza di spike grazie all’interruttore Q4. Il transistor Q3 è lo slave di uno specchio di corrente.
Detta Iβ la corrente impostata tramite la regolazione beta (vedi fig.
3.9), il parametro β dell’equazione 3.4 è dato da
β=
Iβ
C1 + C2
Nella realizzazione dello schematico su layout le due capacità hanno i
seguenti valori:
• C1 = 377.3 f F
• C2 = 375.3 f F
3. Modulo generatore di spike
In assenza di spike (spk = 0) la corrente netta iniettata dal modulo
69
descritto nel punto 1 viene integrata dal parallelo delle capacità C1
e C2 . Quando la tensione Vsoma raggiunge il valore Vdd /2 si ha la
commutazione dei due invertitori N 1 e N 2 e la tensione spk passa da
0 V a Vdd . Applicando l’equazione del partitore capacitivo (3.3), si vede
che la tensione di soma passa bruscamente a
Vsoma =
Vdd
C2
+ Vdd
2
C1 + C2
Poiché spk = 1 l’interruttore Q6 è chiuso e permette alla corrente Ipulse
che scorre nello slave Q5 di scaricare le due capacità. La tensione Vsoma
inizia cosı̀ a scendere, e quando raggiunge il valore Vdd /2 si ha di nuovo
la commutazione dei due invertitori che riporta spk a 0. Applicando di
nuovo l’eq.ne 3.3 si ha, per il valore di reset del potenziale di soma
Vreset =
C2
Vdd
− Vdd
2
C1 + C2
La durata dello spike (tempo in cui spk = 1) dipende dalla velocità con
cui vengono scaricate le due capacità e può essere variata modificando
l’intensità della corrente Ipulse . L’intervallo tra due spike successivi è
funzione delle correnti Iecc , Iinib e Iβ .
4. Modulo generatore di stato
Le sinapsi plastiche tendono ad essere potenziate (depotenziate) se all’emissione di uno spike da parte del neurone presinaptico il neurone
postsinaptico presenta un potenziale al di sopra (sotto) del valore di
soglia3 Vref (vedi par. 3.3). Per “comunicare” lo stato di attività del
neurone postsinaptico viene generato un segnale digitale che è basso
3
La soglia viene impostata dall’esterno, solitamente a metà della dinamica di Vsoma
(Vdd /4).
70
(0 V ) per Vsoma > Vref e alto (Vdd ) se Vsoma < Vref . Il modulo generatore di stato (vedi fig. 3.8) è costituito da un comparatore seguito da
un invertitore.
Lo schematico del neurone differisce da quello realizzato in [25] per l’aggiunta
dell’interruttore Q4 che rende la durata dello spike indipendente dalla corrente di perdita Iβ .
Q1
Q2
N1
Vsoma
Q3
bias
Q4
stato_n
Vref
Q5
Figura 3.8: Schema elettrico del modulo generatore di stato. Il potenziale stato n
è un segnale digitale che vale 0 per Vsoma > Vref e 1 per Vsoma < Vref .
3.2.2
La frequenza di emissione degli spike
Ora che abbiamo descritto il funzionamento del neurone possiamo facilmente
calcolare i tempi caratteristici del segnale in uscita nel caso di corrente in
ingresso costante: l’intervallo tra l’emissione di due spike (∆T ) e la durata
dello spike (∆t). L’intervallo tra l’emissione di due spike è il tempo necessario
per passare da Vreset alla tensione di commutazione del primo invertitore:
∆T = Vdd
C2 C1 + C2
C2
= Vdd
C1 + C2 Iin − Iβ
Iin − Iβ
71
(3.5)
C2
Iecc
Q1
Vsoma
spk
N1
notspk
72
Iinib
Q2 beta
Q3
pulse
Q4
spk
spk
Q5
C1
notspk
N2
Q6
notspk
Figura 3.9: Schema elettrico del neurone. Si distinguono i seguenti blocchi funzionali: la capacità di soma, costituita dal
parallelo tra C1 e C2 ; il modulo per l’iniezione (Q1) e la sottrazione (Q2) della corrente afferente, eccitatoria ed inibitoria
rispettivamente; due MOS (Q3 e Q4) per realizzare la corrente di perdita e il modulo per l’emissione dello spike (Q5 e Q6,
N 1 e N 2, C2)
Dove Iin è la corrente netta proveniente dal modulo iniettore di corrente
descritto al punto 1 del par. 3.2.1. La durata dello spike è data da
∆t = Vdd
C2 C1 + C2
C2
= Vdd
C1 + C2 Ipulse
Ipulse
(3.6)
Vsoma è quindi un segnale periodico con periodo
T = ∆T + ∆t = Vdd C2
1
1
+
Iin − Iβ Ipulse
e frequenza
1
ν=
Vdd C2
1
1
+
Iin − Iβ Ipulse
−1
In figura 3.10 è possibile osservare la dinamica del neurone simulata con
Spectre di Cadence nel caso di corrente di ingresso costante.
3.2.3
Il layout
In figura 3.11 è riportato il layout del neurone. Le regolazioni arrivano al
neurone su piste di M ET 1 che viaggiano lungo ogni riga di neuroni e che
vengono portate all’interno della cella tramite ponticelli di polisilicio. Sul
M ET 3 si propagano i segnali spk e stato n (vedi fig. 3.8 e 3.9) diretti verso
la matrice sinaptica. Anche le correnti in ingresso al neurone viaggiano su
M ET 3 (vedi par. 4.8). Particolare cura è stata posta nel circondare completamente le due capacità con un guard-ring allo scopo di prevenire pericolosi
accumuli di carica.
73
3.5
3.0
2.5
2.0
3.5
1.5
∆t
1.0
3.0
0.5
Vsoma (V)
2.5
0.0
2.0
1.5
∆T
1.0
0.5
0.0
-0.5
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
t (s)
3.5
3.0
spk (V)
2.5
2.0
1.5
1.0
0.5
0.0
-0.5
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.20
0.25
0.30
0.35
t (s)
3.5
3.0
stato_n (V)
2.5
2.0
1.5
1.0
0.5
0.0
-0.5
0.00
0.05
0.10
0.15
t (s)
Figura 3.10: Simulazione Spectre della dinamica del neurone nel caso di corrente
di ingresso sul soma costante. Dall’alto verso il basso si possono osservare, nell’ordine, l’andamento del potenziale di soma, del segnale di spike e dello stato del
neurone (stato n). Nella prima figura sono evidenziati la durata dello spike ∆t
(eq.ne 3.6) e dell’intervallo tra due spike successivi ∆T (eq.ne 3.5).
74
Figura 3.11: Layout del neurone. Le piste gialle verticali rappresentano conduttori di M ET 3 che servono per portare il segnale di spike e lo stato del neurone
alla matrice sinaptica e per raccogliere le correnti afferenti. Le linee blu orizzontali
nella parte superiore sono, invece, conduttori di M ET 1, schermati con il M ET 2
dai segnali sovrastanti, che portano le regolazioni dall’esterno.
75
3.3
La sinapsi
Nel modello di apprendimento stocastico discusso in [30], [17] e [19] solo le
sinapsi che connettono due neuroni eccitatori sono plastiche mentre tutte le
altre hanno efficacia sinaptica fissa. Le sinapsi plastiche possono assumere
due valori di efficacia sinaptica (J+ e J− ) e le transizioni tra questi due stati
realizzano il seguente scenario:
1. Se entrambi i neuroni sono in uno stato di alta attività (elevata frequenza di emissione) la sinapsi tende ad essere potenziata. In questo
caso, quindi, se J = J+ non ci sono transizioni, mentre se J = J− si ha
la transizione J− → J+ con probabilità q+ .
2. Se J = J+ ed il neurone presinaptico è in stato di alta attività mentre
quello postsinaptico è in stato di bassa attività (bassa frequenza di
emissione), la transizione J+ → J− avviene con probabilità q− .
3. Se il neurone presinaptico è in stato di bassa attività non si hanno
transizioni qualunque sia lo stato neurone postsinaptico.
Per soddisfare queste richieste è stata utilizzata la strategia descritta in [26].
Lo stato della sinapsi è rappresentato da una variabile analogica (Vsin ) ed una
digitale (stato s). Vsin descrive la risposta su brevi scale di tempo (durata
spike) all’attività dei neuroni presinaptico e postsinaptico, determinando le
transizioni tra i due possibili valori della variabile digitale e quindi tra gli
stati di efficacia sinaptica potenziata (stato s = 0 per Vsin maggiore di un
76
Spike presinaptici
1
Variabile analogica Vsin
Vsoglia
0
Potenziale di soma del neurone postsinaptico Vsoma
1
Vref
0
0
50
100
150
Figura 3.12: Figura tratta da [31]. Simulazione della dinamica sinaptica: spike
del neurone presinaptico (in alto), evoluzione temporale della variabile analogica
della sinapasi (al centro) e potenziale di soma del neurone postsinaptico (in basso).
In corrispondenza dello spike Vsin riceve una “spinta” verso l’alto (il basso) se Vsoma
è maggiore (minore) del valore di soglia Vref (in [31] gli intervalli di dinamica di
neurone e sinapsi sono riscalati nell’intervallo [0, 1]).
valore di soglia fissato, in genere, al centro della dinamica del potenziale sinaptico) e depressa (stato s = 1 per Vsin minore del valore di soglia). La
sinapsi riceve in input il segnale spk del neurone presinaptico e lo stato n del
neurone postsinaptico (cfr. fig. 3.9). Lo spike del neurone presinaptico agisce
da “interruttore” per la dinamica: in assenza di emissione di impulsi presinaptici la probabilità di un cambiamento di stato della sinapsi è nulla. Ogni
spike emesso dal neurone presinaptico provoca una brusca variazione della
variabile analogica della sinapsi verso l’alto se stato n = 0 (Vsoma > Vref )
o verso il basso se stato n = 1 (Vsoma < Vref ). Se il potenziale sinaptico è
maggiore (minore) del valore di soglia, nell’intervallo tra due spike successi-
77
vi Vsin cresce (decresce) linearmente tendendo quindi a ripristinare il valore
stabile della sinapsi. Si ha un cambiamento della variabile digitale, e quindi
dell’efficacia sinaptica, solo se a causa delle fluttuazioni degli intervalli tra
spike presinaptici, una successione di spike riesce a spingere Vsin attraverso
la soglia prima che il refresh ripristini lo stato stabile (vedi fig. 3.12). La
scelta del segnale stato n, e quindi del livello del potenziale di soma, come
indicatore dello stato di attività del neurone postsinaptico si basa sul fatto
che un neurone in stato di bassa attività tende ad avere un potenziale mediamente vicino al valore di reset, mentre un neurone in alta attività tende
ad avere un potenziale mediamente vicino al valore per cui si ha l’emissione
dello spike.
L’elemento sinaptico, oltre a svolgere l’elaborazione delle attività dei neuroni per la generazione della dinamica tra i due stati di efficacia J+ e J− ,
ha la funzione di iniettore di corrente nella capacità del soma del neurone
postsinaptico. Nelle sinapsi non plastiche quest’ultima è ovviamente l’unica
funzione svolta.
3.3.1
Lo schematico
Anche per lo schema elettrico della sinapsi plastica ([26], [25]), riportato in
figura 3.13, possiamo fare una suddivisione in blocchi con funzioni distinte.
1. Elemento di memoria
La variabile analogica della sinapsi (Vsin ) viene tenuta in memoria
tramite un condensatore di capacità Cs = 372 f F .
2. Modulo generatore di stato
Tramite un comparatore (Q9, ..., Q13 in fig. 3.13) viene generato un
78
segnale digitale che rappresenta lo stato della sinapsi e viene inviato al
modulo di refresh (vedi punto 3) ed al modulo per l’iniezione della corrente (vedi punto 5). Se il potenziale del condensatore sinaptico è minore (maggiore) del potenziale di soglia (Vsoglia ) il segnale stato s è alto
(basso) e la sinapsi è depressa (potenziata). Infatti il valore di stato s
determina l’intensità della corrente iniettata (vedi punto 5) nel condensatore del neurone postsinaptico durante lo spike del presinaptico,
e quindi l’efficacia sinaptica.
3. Modulo di refresh
Quando il neurone presinaptico non emette spike la sinapsi deve mantenere lo stato raggiunto in seguito alle stimolazioni precedenti, questo
si ottiene con il modulo di refresh, costituito dai MOS Q14, Q15 e Q16.
Se la sinapsi è depressa il suo stato viene mantenuto grazie alla corrente Iref r n impostata nello slave Q14. Se invece la sinapsi è potenziata
(stato s = 0) alla corrente Iref r n si somma la corrente Iref r p che, caricando il condensatore, mantiene lo stato della sinapsi. Affinché l’effeto
delle due correnti di refresh sia simmetrico occorre che Iref r p sia di
intensità doppia rispetto a Iref r n .
4. Modulo hebbiano
Il modulo hebbiano è costituito da un invertitore con doppia limitazione
in corrente (transistor Q3, Q4, ..., Q8 in fig. 3.13). In presenza di uno
spike emesso dal neurone presinaptico i transistor Q3 e Q8 si chiudono. Se stato n è basso (potenziale del neurone postsinaptico maggiore
della tensione di soglia Vref ) Q5 è chiuso e Q6 aperto, quindi scorre la
corrente Ibiasp impostata tramite biasp sullo slave Q4. In questo caso
79
stato_s
Q1
Q9
Q10
Q3
Q2
biasp
Vsoglia
Q11
Q12
refr_p
Q4
bias
Q5
stato_n
Q14
Q13
Q15
Vsin
Q6
80
refr_n
spk
biasn
Q7
Q16
Cs
Q8
Figura 3.13: Schema elettrico della sinapsi. Il condensatore Cs rappresenta l’elemento di memoria. Il modulo hebbiano
è costituito dai MOS Q1, ..., Q8 tramite cui, in presenza di uno spike del neurone presinaptico, la capacità viene caricata
(scaricata) dalla corrente impostata sullo slave Q4 (Q7) se stato n è basso (alto). I MOS Q9, ..., Q13 servono per generare
la variabile digitale della sinapsi stato n. Il modulo di refresh è composto dai MOS Q14, Q15 e Q16.
il condensatore viene caricato e lo stato della sinapsi tende ad essere
potenziato. Se stato n è alto (potenziale del neurone postsinaptico
minore di Vref ) Q6 è chiuso e Q5 aperto. Il condensatore si scarica
attraverso la corrente Ibiasn impostata tramite biasn sullo slave Q7 e la
sinapsi tende verso lo stato depresso.
5. Modulo per l’iniezione della corrente
In figura 3.14 è riportato lo schema elettrico del circuito che realizza
l’iniezione della corrente nel neurone postsinaptico nel caso di sinapsi
plastiche. La corrente viene iniettata sul soma del neurone postsinaptico solo in presenza di uno spike del neurone presinaptico grazie
all’interruttore realizzato dal MOS Q1. Se stato s = 1 la corrente
scorre solamente nello slave Q4 (sinapsi depressa, efficacia sinaptica
J− = J); se stato s = 0 l’interruttore Q3 è chiuso e la corrente iniettata è data dalla somma delle correnti impostate sugli slave Q2 e Q4
tramite le regolazioni J e ∆J (sinapsi potenziata, efficacia sinaptica
J+ = J + ∆J).
Nel caso di sinapsi fisse si ha un solo valore possibile per la corrente iniettata
o assorbita e quindi sono sufficienti un interruttore e lo slave di uno specchio.
L’interruttore deve garantire che la corrente scorra solo in presenza di spike,
lo slave fa circolare la corrente impostata dal master. Questa struttura va
comunque differenziata per correnti inibitorie ed eccitatorie. Una corrente
eccitatoria deve caricare la capacità del soma e quindi fluisce attraverso lo
slave di uno specchio p. In questo caso anche il MOS utilizzato come interruttore è di tipo p, e per condurre solo in presenza di spike deve ricevere sul
gate il segnale spk negato. Nel circuito di fig. 3.15(a) che realizza questo
81
Q1
notspk
∆J
Q2
J
Q4
stato_s
Q3
Iecc
Figura 3.14: Le sinapsi plastiche iniettano corrente nei neuroni tramite il circuito
rappresentato in figura. Durante lo spike del neurone presinaptico il MOS Q1 è
chiuso e la capacità del neurone postsinaptico viene caricata con la corrente IJ
impostata sullo slave Q4 tramite la regolazione J. Se stato s è basso la sinapsi è potenziata ed alla corrente IJ si somma I∆J impostata sul MOS Q2 dalla
regolazione ∆J.
tipo di connessioni sinaptiche è quindi presente anche un invertitore che riceve in ingresso il segnale spk. La corrente inibitoria, invece, deve scaricare la
capacità di soma. Lo specchio e l’interruttore utilizzati sono in questo caso
di tipo n (vedi figura 3.15(b)).
3.3.2
Il layout
In figura 3.16 è riportato il layout di una sinapsi. Le regolazioni e lo spike del
neurone presinaptico giungono alla sinapsi attraverso il M ET 3, lungo tutta
la colonna (vedi par. 4.1). Lo stato del neurone postsinaptico e la corrente
che dalla sinapsi deve arrivare al neurone utilizzano il M ET 1 in direzione
orizzontale. Con l’ottimizzazione della matrice sinaptica (vedi cap. 2) abbia-
82
mo dimezzato il numero di colonne con un conseguente sbilanciamento tra i
due lati della matrice in caso di sinapsi quadrate. Per cercare di compensare
questo effetto4 la sinapsi è stata disegnata minimizzando la dimensione verticale, da qui la peculiare forma del condensatore visibile in figura 3.16.
Idendr
Q1
JxI
Q5
spk
Q6
Q3
spk
Q2
JIE
Q4
Idendr
(a)
(b)
Figura 3.15: Le sinapsi fisse sono costituite dal solo modulo per l’iniezione della
corrente. Le connessioni provenienti da neuroni eccitatori (a) devono caricare la
capacità del neurone postsinaptico durante lo spike del presinaptico. Il segnale
in uscita dall’invertitore costituito dai MOS Q1 e Q2 è connesso sul gate del
MOS Q3 per permettere il passaggio della corrente solo in presenza di spike. In
figura (b) è rappresentato un modulo iniettore di corrente relativo ad un neurone
presinaptico inibitorio. In questo caso la corrente impostata tramite la regolazione
JxI (x ∈ {E, I}) scarica la capacità del neurone postsinaptico quando Q6 conduce
(spk = 1).
4
Il disegno dell’intero circuito integrato deve rispettare il vincolo di un rapporto
massimo tra i due lati uguale a 2.
83
84
Figura 3.16: Layout della sinapsi. Le linee gialle (M ET 3) verticali servono per fornire le regolazioni alla sinapsi. Il conduttore di M ET 1 in alto (orizzontale) serve per comunicare alla sinapsi il valore del segnale stato n del neurone postsinaptico,
mentre sul conduttore in basso si raccoglie la corrente destinata al neurone postsinaptico.
Capitolo 4
LANN128
La rete di 128 neuroni, alla quale ci riferiremo nel seguito con la sigla
LANN128 (LANN, dall’inglese Learning Attractor Neural Network, Rete Neuronale ad Attrattore con Apprendimento), è stata realizzata in un chip di
8604.6 µm × 4915.8 µm in tecnologia 0.6 µm. Essa è composta da 88 neuroni
eccitatori, 40 inibitori e 2926 sinapsi ( connettività 18%) di cui 1443 plastiche. Come già detto nel par. 1.3 la realizzazione della LANN128 prende
spunto da lavori precedenti [25], [26], svolti nello stesso gruppo di ricerca,
che hanno portato allo sviluppo di una rete di 21 neuroni (LANN21). Un
tale incremento nel numero di neuroni ha imposto la scelta di una tecnologia
più spinta rispetto a quella precedentemente utilizzata. La vecchia tecnologia permetteva infatti l’utilizzo di due metallizzazioni con una dimensione
minima del gate di 1.2 µm e la realizzazione di un numero molto maggiore
di dispositivi (le dimensioni della matrice sinaptica crescono come N 2 , dove
N è il numero di neuroni della rete) è stata possibile grazie alla dimensione
minima di 0.6 µm e alle tre metallizzazioni della tecnologia utilizzata. Il
layout del neurone e della sinapsi è stato completamente ridisegnato cercan85
do di trovare il migliore compromesso tra l’ottimizzazione dello spazio e la
prevenzione del cross-talk.
4.1
La matrice sinaptica
La matrice sinaptica costituisce una rappresentazione delle connessioni esistenti tra i neuroni di una rete. Nel caso di N neuroni, di cui NE eccitatori ed
NI = N −NE inibitori, le connessioni sono descritte da una matrice quadrata
N × N il cui generico elemento ij rappresenta la sinapsi tra il neurone presinaptico j e quello postsinaptico i. In questo quadro la colonna rappresenta
l’assone del neurone mentre la riga il suo albero dendritico. Considerando
l’esistenza di due tipi di neuroni (eccitatori ed inibitori) si osservano quattro
possibili contatti sinaptici:
• eccitatorio–eccitatorio (E→E)
• eccitatorio–inibitorio (E→I)
• inibitorio–eccitatorio (I→E)
• inibitorio–inibitorio (I→I)
Riservando le prime NE colonne (righe) ai neuroni eccitatori questi quattro
diversi tipi di connessioni si ritrovano in quattro regioni distinte della matrice sinaptica (vedi fig. 4.1). Nella nostra realizzazione le uniche connessioni
plastiche sono quelle tra neuroni eccitatori (E→E), tutte le altre hanno efficacia sinaptica fissa ed il circuito che le realizza si riduce ad un semplice
iniettore di corrente (cfr. par. 3.3). Risulta cosı̀ evidente che gli elementi
con dimensioni maggiori si troveranno nella zona riservata alle connessioni
86
E→E, che definiscono quindi l’altezza delle prime NE righe e la larghezza
delle prime NE colonne.
NE NE+1
0
0
N
E→E
I→E
E→I
I→I
NE
NE+1
N
Figura 4.1: Rappresentazione schematica della matrice sinaptica di una rete con
N neuroni, di cui NE eccitatori ed NI = N −NE inibitori. I quattro riquadri (E→E,
I→E, E→I ed I→I) definiscono le zone destinate ai quattro tipi di connessioni.
Nella zona E→E si trovano le sinapsi plastiche e quindi gli elementi con dimensioni
maggiori (il singolo elemento è composto da 20 MOS ed un condensatore). Il layout
di queste celle è stato disegnato per primo definendo l’altezza degli elementi I→E e
la larghezza degli E→I. Questi elementi sono composti da un numero molto ridotto
di MOS (2 MOS per I→E e 4 MOS per E→I) e sono stati disegnati minimizzando
la dimensione non vincolata dalla cella E→E. Gli elementi I→I (costituiti da 2
MOS) sono stati disegnati per ultimi rispettando le dimensioni imposte dalle celle
E→I ed I→E.
87
In realtà, grazie alla compressione della matrice descritta nel cap. 2, nella
realizzazione su silicio le prime NE colonne della matrice sinaptica sono organizzate in NE /2 colonne (questo vale anche per le NI colonne relative ai
neuroni inibitori) e l’area di silicio utilizzata è la metà di quella necessaria
per la matrice non compressa. Gli elementi della zona I→E (E→I) in figura
4.1 hanno quindi un vincolo per la dimensione verticale (orizzontale), e per
ottimizzare lo spazio occupato è stata minimizzata la dimensione orizzontale
(verticale). I layout mostrati in figura 4.2 sono il risultato ottenuto seguendo questo criterio per la riduzione del silicio utilizzato. Le dimensioni degli
elementi della zona I→I sono determinate una volta fissate la larghezza delle
colonne in I→E e l’altezza delle righe in E→I. Lungo l’assone viene trasmesso
il segnale di spike, che deve essere quindi portato a tutti gli elementi della
colonna relativi allo stesso neurone. Sull’albero dendritico si raccolgono le
correnti provenienti dai neuroni presinaptici, nella nostra realizzazione questo
si traduce in un conduttore presente lungo la riga su cui vengono sommate
le correnti in accordo con la legge di Kirchhoff sui nodi.
Grazie all’ottimizzazione descritta nel cap. 2 su ogni colonna sono presenti le sinapsi connesse agli assoni di due diversi neuroni e quindi altrettanti
conduttori (MET3) che trasportano il segnale spk (vedi fig. 3.9) in uscita
dai due neuroni. Per portare le regolazioni si sfrutta il fatto che la sinapsi
è stata disegnata minimizzando la dimensione verticale a scapito di quella
orizzontale (vedi par. 3.3.2). Per questo su ogni colonna sono presenti piste di M ET 3 (schermate dagli elementi sottostanti tramite il M ET 2) che si
connettono ad ogni sinapsi portando le regolazioni. Sulla riga i-sima sono
disposte le sinapsi relative al neurone postsinaptico i, che ricevono quindi il
88
segnale stato n e inviano la corrente che si somma sul conduttore di M ET 1
presente lungo la riga. Tutto ciò è visibile nel layout di una zona della matrice sinaptica riportato in fig. 4.3.
Nelle regioni I→E, E→I e I→I mostrate in fig. 4.4 l’unica regolazione che
deve arrivare ad ogni elemento è l’efficacia sinaptica della zona considerata.
In queste zone, quindi, su ogni colonna sono presenti solo tre conduttori di
M ET 3: due per i segnali di spike e uno per l’efficacia sinaptica.
89
90
(a)
(b)
Figura 4.2: Layout delle dendriti E→I (a) ed I→E (b). La dendrite E→I è stata disegnata minimizzando l’altezza; la
larghezza è determinata dagli elementi E→E. Nella dendrite I→E, invece, è stata sfruttata la dimensione verticale (imposta
dall’altezza degli elementi E→E) riducendo quella orizzontale.
spike regolazioni spike regolazioni spike regolazioni spike regolazioni
stato
neurone
postsinaptico
corrente
91
Figura 4.3: Layout di una porzione della matrice sinaptica nella zona E→E. Le linee gialle verticali sono conduttori di
M ET 3. I primi due conduttori di ogni colonna trasportano il segnale di spike dei due neuroni presinaptici. Tutte le altre
piste servono per le regolazioni. Su ogni riga ci sono due conduttori di M ET 1 (linee blu), quello che si trova al di sopra
dell’elemento sinaptico trasporta lo stato del neurone postsinaptico, mentre quello che si trova al di sotto serve per raccogliere
e sommare le correnti provenienti da tutte le sinapsi della riga.
I→E
E→I
I→I
92
E→E
Figura 4.4: Layout di una porzione della matrice sinaptica in cui sono visibili tutti e quattro i tipi di connessione (E→E, in
alto a sinstra; I→E, in alto a destra; E→I, in basso a sinistra; I→I, in basso a destra). Solo i segnali di spike (vedi fig. 4.3) sono
disponibili lungo tutta la colonna, le regolazioni sono diverse per ogni regione. La maggior parte delle regolazioni riguardano
le sinapsi plastiche (zona E→E), per gli altri tipi di connessioni l’unica regolazione necessaria è l’efficacia sinaptica, diversa
per ogni zona.
4.2
I neuroni
Il layout del neurone ha una larghezza inferiore a quella del layout della
sinapsi di tipo E→E. Per le prime NE /2 colonne i due neuroni associati ad
ogni colonna sono stati posizionati sopra la colonna stessa. Come già detto,
però, le NI /2 colonne relative ai neuroni inibitori sono caratterizzate da una
larghezza inferiore rispetto alle precedenti, con un rapporto di
17.7 µm
60.7 µm
=
0.29. Disponendo tutte le coppie di neuroni affiancate si avrebbe una riga
di neuroni molto più larga della matrice sinaptica, che renderebbe inutile
l’ottimizzazione della matrice stessa.
Q1
Q3
Vin
Vout
Q2
Q4
(a)
(b)
Figura 4.5: Schematico (a) e layout (b) del buffer digitale.
93
Gli NI neuroni inibitori sono stati allora disposti in quattro righe ortogonali
alle due righe di neuroni eccitatori (vedi fig. 4.6).
Per evitare che il segnale di spike e lo stato del neurone si degradino a
causa delle capacità di carico, prima di inviarli alle sinapsi vengono mandati
a dei buffer digitali il cui layout e schematico sono riportati in figura 4.5.
In figura 4.7 sono descritti i risultati di una simulazione Spectre di Cadence
che mostra il comportamento di questo dispositivo con un segnale digitale in
ingresso.
94
neuroni
inibitori
neuroni
eccitatori
95
Figura 4.6: Layout dei neuroni. I neuroni inibitori sono stati disposti in quattro file ortogonali alle due righe di neuroni
eccitatori. Questa soluzione permette di avere una larghezza complessiva perfettamente compatibile con quella del layout
della matrice sinaptica (vedi fig. 4.9)
3.5
3.0
V (V)
2.5
2.0
3.5
1.5
3.0
1.0
2.5
0.5
2.0
0.0
1.5
-0.5
0
3.5
5
10
15
20
25
30
t (µs)
1.0
0.5
3.0
0.0
3.5
2.5
-0.5
3.0
1.5
2.5
1.0
2.0
V (V)
96
2.0
0.5
1.0
-0.5
0.5
10.000
10.005
20.000
20.005
20.010
Vin
1.5
0.0
9.995
19.995
Vout
10.010
0.0
-0.5
0
5
10
15
20
25
30
t (µs)
Figura 4.7: Simulazione Spectre del comportamento del buffer (vedi fig. 4.5). Nei due grafici centrali è riportato l’andamento
della tensione di ingresso (in alto) e di quella in uscita (in basso) dal buffer con un carico capacitivo di 2 pF in parallelo ad
un carico resistivo di 100 kΩ. Nei due ingrandimenti laterali è mostrato nel dettaglio il comportamento del dispositivo in
fase di commutazione. Il ritardo osservato (∼ 5 ns) non è rilevante se confrontato con i tempi caratteristici dei nostri segnali
(ad esempio un valore tipico per la durata dello spike è di 50 µs).
4.3
Il routing delle correnti
Il routing, in italiano sbroglio, è l’operazione con cui si disegnano le connessioni tra le celle elementari, o in generale tra diversi blocchi funzionali. Nel
nostro caso indichiamo con il routing delle correnti il disegno di tutti i conduttori necessari per portare le correnti dalla matrice sinaptica ai neuroni.
88
E
I
Neuroni
E→E
I→E
E→I
I→I
88
40
40
Matrice sinaptica
Figura 4.8: Rappresentazione schematica dei quattro gruppi di conduttori che
devono realizzare le connessioni per le correnti.
Nelle quattro zone della matrice descritte in figura 4.1 si raccolgono, su
97
ogni riga, le correnti destinate ai neuroni. Abbiamo, quindi, in uscita dalla
matrice sinaptica quattro gruppi di conduttori (un gruppo per ogni tipo di
connessione) che devono essere portati verso i neuroni sfruttando i due metalli disponibili per il trasporto dei segnali (M ET 1 e M ET 3). In figura 4.8 sono
mostrate schematicamente le connessioni che devono essere realizzate tra la
matrice sinaptica ed i neuroni. Gli inevitabili “incroci” tra correnti distinte
devono ovviamente avvenire su metalli diversi, e sono quindi realizzati con
M ET 1 e M ET 3, sempre schermati dalle alimentazioni su M ET 2. Per ridurre lo spazio occupato dal routing sono stati sovrapposti i conduttori per le
correnti inibitorie destinate ai neuroni inibitori e quelli per le correnti inibitorie destinate ai neuroni eccitatori (vedi fig. 4.9). I conduttori per le correnti
E→I, I→E ed I→I passano lateralmente alla matrice sinaptica, mentre per
le correnti E→E è stato possibile sfruttare lo spazio presente sopra le sinapsi
utilizzando il M ET 3 come per le regolazioni. I conduttori per le regolazioni,
però, sono presenti lungo tutta la colonna E→E (proprio perché devono raggiungere tutte le sinapsi), mentre quelli per le correnti E→E partono dalla
riga relativa al neurone postsinaptico considerato, dove si connettono al conduttore di M ET 1 che somma le correnti provenienti dalle sinapsi della riga
stessa.
98
matrice
sinaptica
buffer
digitali
neuroni
40
E→E
I→I
I→E
99
E→I
88
40
Figura 4.9: In questa immagine del layout sono visibili i conduttori che realizzano il trasporto delle correnti dalla matrice
sinaptica ai neuroni.
4.4
I/O
L’interfaccia tra il chip ed il mondo esterno è realizzata tramite delle strutture
composte da un pad
1
e da una circuiteria di protezione. Con il termine PAD
indichiamo il generico elemento di I/O, costituito da un pad e la relativa
circuiteria di protezione. Nella LANN128 sono stati usati esclusivamente
PAD di libreria forniti da AMS. Nell’I/O del nostro chip sono compresi
segnali digitali ed analogici. Nel corso di questo paragrafo vengono descritti
qualitativamente ed anche quantitativamente questi segnali.
4.4.1
Alimentazioni e regolazioni
Alle alimentazioni sono stati riservati 36 pin, suddivisi in 14 per alimentazioni
digitali, destinate ai multiplexer (vedi 4.4.2) ed ai PAD di I/O digitale, e 22
per quelle analogiche, destinate a tutto il resto del chip. Per le regolazioni dei
neuroni e della matrice sinaptica sono necessari 16 pin analogici di ingresso:
• Neuroni
1. Beta neuroni eccitatori.
Regolazione in corrente per il termine β nella dinamica della tensione di soma dei neuroni eccitatori:
1
Vsoma (t) = Vsoma (0) − βt +
C
dove β =
1
Iβ
C1 +C2
t
I(t )dt
0
viene impostato iniettando la corrente Iβ .
Il pad è la zona, costituita da un quadrato di metallo (99 µm × 99 µm nel nostro caso),
su cui viene saldato il filo collegato al pin del contenitore in cui è racchiuso il chip.
100
2. Beta neuroni inibitori.
Regolazione in corrente del termine β nella dinamica dei neuroni
inibitori (come per i neuroni eccitatori).
3. Durata spike.
C2
La durata dello spike è ∆t = Vdd Ipulse
e viene regolata tramite un
ingresso per la corrente Ipulse .
4. Soglia.
Impostando la tensione Vref si definisce la soglia nella dinamica
del potenziale di soma al di sopra della quale le sinapsi afferenti
vengono potenziate in presenza di spike dei neuroni presinaptici.
5. Bias comparatore.
Ingresso in corrente per la polarizzazione del comparatore del neurone che serve per discriminare il potenziale maggiore di Vref da
quello minore (punto precedente).
• Matrice sinaptica
1. Refresh p.
Regolazione in corrente per il refresh positivo della sinapsi. In
assenza di spike del neurone presinaptico e nel caso di efficacia
potenziata questa corrente consente alla sinapsi di mantenere il
suo stato.
2. Refresh n.
Regolazione in corrente per il refresh negativo della sinapsi. In
assenza di spike del neurone presinaptico e nel caso di efficacia
101
depressa questa corrente consente alla sinapsi di mantenere il suo
stato.
3. Bias p.
Corrente iniettata sul condensatore della sinapsi in presenza di uno
spike del neurone presinaptico quando il potenziale del neurone
postsinaptico è al di sopra della soglia.
4. Bias n.
Corrente sottratta dal condensatore della sinapsi in presenza di
uno spike del neurone presinaptico quando il potenziale del neurone postsinaptico è al di sotto della soglia.
5. Soglia.
La tensione impostata su questo pin discrimina, attraverso il confronto con la tensione ai capi del condensatore sinaptico (Vsin ), lo
stato di sinapsi potenziata (Vsin maggiore del valore di soglia) da
quello di sinapsi depressa (Vsin minore del valore di soglia).
6. Bias comparatore.
Ingresso in corrente per la polarizzazione del comparatore che
confronta il potenziale sinaptico con il valore di soglia (punto
precedente).
7. JE→E .
Regolazione in corrente per l’efficacia delle sinapsi plastiche nello
stato depresso (J− = JE→E ).
8. ∆J.
Regolazione in corrente per l’efficacia delle sinapsi plastiche nello
stato potenziato (J+ = JE→E + ∆J).
102
9. JI→E .
Regolazione in corrente per l’efficacia delle connessioni di tipo
inibitorio–eccitatorio.
10. JE→I .
Regolazione in corrente per l’efficacia delle connessioni di tipo
eccitatorio–inibitorio.
11. JI→I .
Regolazione in corrente per l’efficacia delle connessioni di tipo
inibitorio–inibitorio.
Un’altro pin di input è utilizzato per il segnale di bias degli amplificatori
operazionali che disaccoppiano i potenziali di neuroni e sinapsi in uscita (vedi
4.4.3) da eventuali carichi.
4.4.2
Spike
Per studiare il comportamento della rete è necessario poter osservare l’attività dei neuroni. Nella LANN21 (vedi par. 1.3), nonostante gli spike arrivino
all’esterno attraverso dei multiplexer 2 2 : 1, i pin a disposizione hanno permesso di rendere visibili solo gli spike di 14 dei 21 neuroni della rete. Per
poter ottenere informazioni più complete nella fase di test è di fondamentale importanza poter osservare l’attività di ogni neurone della rete. Nella
2
Un multiplexer n : 1 è un circuito digitale con n segnali in ingresso, una uscita ed
s ingressi di controllo. I segnali di controllo, tramite una codifica binaria, selezionano il
segnale di ingresso che deve essere trasmesso in uscita. Affinché ogni segnale sia selezionabile attraverso l’impostazione di un numero binario sugli s segnali di controllo deve essere
2s ≥ n.
103
LANN128 sono stati usati 32 multiplexer 4 : 1 per portare verso l’esterno gli
spike dei 128 neuroni. Multiplexer con un rapporto maggiore sarebbero stati
utili per ridurre il numero di pin, ma avrebbero reso molto più complicata
l’elettronica esterna che consente di riottenere dall’uscita del singolo multiplexer i segnali in ingresso. Questa operazione è d’altra parte necesaria per
poter osservare contemporaneamente l’attività di tutti i neuroni della rete.
Il rapporto 4 : 1 è risultato essere il miglior compromesso tra l’esigenza di
ridurre il numero di pin utilizzati e quella di evitare complicazioni troppo
gravose nell’elettronica esterna necessaria per i test della rete. I multiplexer
sono le uniche celle di libreria (fatta eccezione delle strutture di I/O) incluse
in questo chip. I pin utilizzati per portare verso l’esterno i segnali di spike
sono quindi 34:
• 32 per le uscite dei multiplexer ;
• 2 di select necessari per scegliere uno dei quattro gruppi di spike.
4.4.3
Potenziali
Per poter analizzare con maggior dettaglio i comportamenti della rete ed il
corretto funzionamento dell’elettronica sono stati resi visibili alcuni potenziali
di neuroni e sinapsi. I 23 pin a nostra disposizione per portare in uscita questi
potenziali sono stati suddivisi nel seguente modo:
• 9 neuroni eccitatori;
• 2 neuroni inibitori;
• 12 sinapsi.
104
Una volta impostate le efficacie sinaptiche dall’esterno è importante poter
misurare l’intensità di corrente iniettata nella capacità di soma del neurone
postsinaptico a causa dell’emissione di uno spike da parte del neurone presinaptico. Una misura diretta di questo parametro è fornita dall’aumento nel
potenziale del neurone postsinaptico provocato dallo spike del presinaptico.
Figura 4.10: In questa figura sono mostrati i neuroni eccitatori e le sinapsi con
potenziali in uscita dal chip. Ogni cerchio numerato rappresenta un neurone ed
ogni freccia una sinapsi. Non sono mostrate altre connessioni comunque presenti
tra i neuroni del campione scelto.
Nella LANN21 [25] questa misura è possibile per le sole connessioni E→E,
105
dato che l’unico neurone con potenziale visibile è eccitatorio ed ha sinapsi afferenti esclusivamente di tipo eccitatorio. Per gli altri tipi di connessione sono
state fatte delle stime per l’efficacia sinaptica utilizzando le equazioni di campo medio (una descrizione dettagliata della procedura utilizzata è riportata
in [27]). Queste stime non saranno più necessarie per la LANN128 in quanto
i potenziali visibili permettono di effettuare la misura diretta dell’efficacia
su ogni tipo di sinapsi ed in alcuni casi (ad esempio JE→E ) su più connessioni per lo stesso tipo di contatto sinaptico. Per avere un quadro completo
dell’interazione all’interno del nostro campione di neuroni eccitatori sono stati portati verso l’esterno i potenziali delle sinapsi rendendo completamente
controllabile la struttura mostrata in fig. 4.10. Tutti i segnali analogici in
uscita sono disaccoppiati dall’esterno tramite un amplificatore operazionale
utilizzato come buffer analogico.
4.4.4
Correnti esterne
Per ogni neurone è prevista una corrente di ingresso esterna che si somma
a quella proveniente dai contatti interni eccitatori. Per evitare di introdurre
correlazioni nell’attività della rete si dovrebbe alimentare indipendentemente
ogni singolo neurone, ma i pin a disposizione (102) sono inferiori al numero
di neuroni (128). Per questa ragione solo 76 neuroni ricevono corrente da pin
separati, i restanti 52 sono suddivisi in 26 coppie, ognuna alimentata tramite
lo stesso pin. Le correnti destinate a singoli neuroni vengono specchiate da
uno specchio n con il rapporto usato per tutte le regolazioni in corrente (vedi
par. 3.1.1) e poi sommate alle correnti interne eccitatorie. Per le correnti
destinate a coppie di neuroni si usa lo stesso tipo di specchio, con lo stesso
106
rapporto, ma a differenza del primo caso si hanno un master e due slave. Le
correnti in uscita dal singolo slave sono poi destinate ai neuroni.
107
Capitolo 5
Conclusioni
5.1
Il chip di test
La LANN128 è stata progettata con una tecnologia (AMS, CMOS 0.6 µm)
più spinta di quella impiegata nei precedenti dispositivi realizzati nel laboratorio in cui è stato svolto il presente lavoro di tesi. Per giungere allo sviluppo
della rete neuronale precedente (LANN21, [25]) è stato necessario produrre
due chip che hanno permesso di effettuare i test preliminari sul neurone e la
sinapsi e, nello stesso tempo, di acquisire esperienza sulla tecnologia utilizzata (MOSIS, CMOS 1.2 µm). Grazie ai risultati di questa prima indagine
[25] e di quelle seguenti, mirate alla verifica sia del comportamento dei singoli elementi [31] che di quello collettivo della rete [27], abbiamo un’ottima
confidenza nel corretto funzionamento degli elementi costitutivi e delle interazioni tra essi nel caso di dinamica sinaptica “congelata”. La LANN21
presenta però un problema per quanto riguarda la generazione del segnale
di stato del neurone (vedi par. 3.2), necessario per l’attivazione della dinamica sinaptica. A causa dell’effetto parassita dovuto all’accoppiamento
108
capacitivo tra l’uscita del comparatore e il dispositivo per l’iniezione della
corrente eccitatoria, durante la commutazione del comparatore si ha una interruzione nell’afflusso della corrente stessa nella capacità di soma. Questo
inconveniente altera il comportamento del neurone e dell’intero dispositivo
nel caso di dinamica sinaptica attivata. Nella progettazione della LANN128
si è cercato di minimizzare il valore delle capacità parassite utilizzando, dove
possibile, i segnali di alimentazione per schermare gli incroci di conduttori su
strati di metallizzazione diversi. Inoltre, le simulazioni del neurone effettuate
dopo l’aggiunta delle capacità parassite allo schematico non hanno evidenziato nessuna deviazione dal comportamento ideale. Questa verifica non è
stata possibile durante la progettazione della LANN21 in quanto la versione
precedente del software utilizzato non lo consentiva. Nonostante le accortezze prese per l’eliminazione del problema resta importante una verifica della
corretta funzionalità del dispositivo progettato, necessaria anche a causa del
passaggio ad una tecnologia più spinta e ad una diversa architettura della
rete. Per questo motivo è stato disegnato ed inviato in fonderia per la produzione un circuito integrato di 3160.4 µm × 3156 µm con una rete di 21
neuroni (LANN21b). Questo chip di test è stato realizzato con l’intenzione di riprodurre la LANN128 su scala più piccola, le celle elementari sono
esattamente le stesse e dove possibile è stata riprodotta la stessa topologia
della LANN128. La rete neuronale del chip di test è composta da 14 neuroni
eccitatori, 7 inibitori e 129 sinapsi (connettività 30%) di cui 85 plastiche.
Osservando il layout di fig. 5.1 colpisce lo scarso sfruttamento dello spazio
disponibile. Questo si spiega considerando che la fonderia impone lo stesso
prezzo per qualsiasi chip con area ≤ 10µm2 , abbiamo quindi deciso di
109
Figura 5.1: Layout della LANN21b. In questo chip è stata realizzata una rete di
21 neuroni con connettività del 30%. Dall’esterno sono visibili gli spike di tutti
i neuroni (17 direttamente in uscita e 4 attraverso un multiplexer ), il potenziale
di 5 neuroni e 3 sinapsi, e lo stato di una sinapsi. Questo permetterà di effettuare test esaustivi sul funzionamento dei singoli elementi (neurone e sinapsi) e sul
comportamento collettivo della rete.
utilizzare la massima estensione disponibile a parità di costi. Un perimetro
maggiore di quello strettamente necessario consente di posizionare più PAD
e quindi di gestire un numero maggiore di segnali di I/O. Grazie a questa
scelta è stato possibile dotare la LANN21b di 84 pin (package PGA84) per i
110
seguenti segnali:
• alimentazioni analogiche (12 pin) e digitali (6 pin);
• regolazioni neuroni e matrice sinaptica (16 segnali analogici di ingresso);
• uscita digitale segnali di spike (18 pin) e ingressi digitali per i due
segnali di select del multiplexer ;
• stato della sinapsi (1 segnale digitale di uscita);
• potenziali di neuroni e sinapsi (8 segnali analogici di uscita: 3 neuroni
eccitatori, 2 inibitori e 3 sinapsi) e segnale di bias dei buffer analogici
di disaccoppiamento;
• correnti esterne (20 segnali analogici di ingresso).
Confrontiamo brevemente i segnali di I/O della LANN21b con quelli della
LANN128 descritti nel par. 4.4. Le regolazioni dei neuroni e della matrice
sinaptica sono ovviamente identiche a quelle previste per la LANN128. I
pin a disposizione per la LANN21b permetterebbero (eliminando una coppia di alimentazioni) l’uscita diretta di tutti i segnali di spike e ingressi in
corrente indipendenti per ogni singolo neurone. Si deve comunque tenere in
considerazione che lo scopo di questo chip è di garantire la verifica del corretto funzionamento di tutti i dispositivi presenti nella LANN128, e quindi
anche dei multiplexer 4 : 1 e degli effetti sul comportamento della rete degli
accoppiamenti degli ingressi in corrente. Per questo motivo si ha che:
• solo per 17 neuroni gli spike sono portati direttamente in uscita, mentre
per i restanti 4 i segnali di spike arrivano su un unico pin tramite un
multiplexer ;
111
• una coppia di neuroni riceve la corrente esterna dallo stesso pin, mentre
i restanti 19 sono alimentati indipendentemente.
Come per la LANN128 i neuroni con potenziale di soma visibile sono stati
scelti in modo da poter misurare l’efficacia sinaptica di ogni tipo di connessione (vedi par. 4.4.3).
5.2
Risultati e prospettive
In questo lavoro di tesi è stata sviluppata una procedura per la compressione
della matrice sinaptica grazie alla quale è stata dimezzata l’area di occupazione su silicio. Questo ha reso possibile la progettazione di un circuito integrato
(8.6 mm × 4.9 mm) con una rete neuronale di 128 neuroni. Come descritto
nel paragrafo precedente, è stato sviluppato ed è in fase di produzione un
chip con una rete di 21 neuroni (3.16 mm × 3.16 mm) che sarà sottoposto
a test prima di inviare alla fonderia il progetto della LANN128. Lo studio
del comportamento della LANN21b sarà mirato alla ricerca di eventuali modifiche da apportare alla LANN128 allo scopo di migliorarne le prestazioni
previste. Inoltre sarà possibile, avendo a disposizione due reti neuronali con
le stesse dimensioni (LANN21 e LANN21b), realizzate con tecnologie differenti, controllare gli eventuali effetti del diverso grado di miniaturizzazione.
La produzione di questi circuiti integrati si inserisce in un progetto di
ricerca molto ampio che comprende l’analisi delle osservazioni effettuate su
reti biologiche (vedi cap. 1), la modellizzazione teorica dei comportamenti
osservati e la verifica dei modelli elaborati. Quest’ultimo aspetto si realizza
tramite due diversi strumenti: le simulazioni al calcolatore e la realizzazione
elettronica. Lo studio del comportamento dei dispositivi elettronici neuro112
morfi può fornire conferme alla plausibilità biologica dei modelli teorici imponendo la ricerca di soluzioni pratiche per limitare, ad esempio, la dissipazione
di potenza e le dimensioni. È cosı̀ possibile verificare la robustezza del modello in presenza di una aleatorietà non facilmente inseribile nelle simulazioni
ma necessariamente presente in ogni sistema reale. Per quanto riguarda il
numero di neuroni le realizzazioni elettroniche non offrono le stesse possibilità
delle simulazioni, con cui è ora possibile studiare anche reti di 20000 neuroni. La LANN128 realizza comunque un notevole incremento del numero di
neuroni rispetto ai circuiti integrati precedentemente prodotti nell’ambito di
questo gruppo di ricerca. Inoltre sono state poste le basi per ottenere ulteriori incrementi sia utilizzando tecnologie sempre più spinte che collegando
in parallelo più dispositivi tramite protocolli di comunicazione dedicati.
Sono stati raggiunti importanti miglioramenti per quanto riguarda la possibilità di analizzare l’attività della rete: la LANN128 consentirà di osservare
in modo molto più dettagliato la dinamica del sistema, grazie alla completa
trasparenza dell’attività neuronale (il segnale di spike prodotto da ciascun
neurone viene portato in uscita). L’aver reso visibili più potenziali di neuroni e sinapsi (nella LANN21 erano osservabili i potenziali di un neurone
ed una sinapsi) consente inoltre la misura di parametri prima ottenibili solo
attraverso stime indirette, riducendo cosı̀ l’incertezza sui valori determinati.
La LANN128 è stata infine ottimizzata per garantire la possibilità di attivazione della dinamica sinaptica (non disponibile nella LANN21) e quindi
lo studio dell’attività selettiva che la rete sarà in grado di sostenere dopo
l’apprendimento.
113
Ringraziamenti
Desidero ringraziare il Prof. D. J. Amit ed il Dott. G. Salina per avermi
dato la possibilità di lavorare nell’ambito di un campo di ricerca di grande interesse. Devo molto a Davide Badoni che mi ha insegnato le basi per
la progettazione VLSI e ha seguito il mio lavoro in ogni passo, fornendomi
continuamente preziose indicazioni e possibilità di confronto sui modi di risolvere i problemi che si sono presentati nella fase di disegno dei dispositivi
realizzati. Grazie ai suoi insegnamenti sono stata in grado, partendo da una
conoscenza puramente teorica dei circuiti integrati, di realizzare, con grande
soddisfazione personale, due chip.
Un grazie generale è dedicato a tutto il gruppo NALS, da cui sono stata
accolta in questo periodo di tesi.
Non posso inoltre tralasciare di ringraziare i miei genitori e tutta la mia
famiglia per avermi dato la possibilità di studiare. Un sostegno fondamentale
per superare i momenti difficili mi è stato dato dalla persona con cui spero
di continuare a condividere molte cose. Ed infine voglio ringraziare tutti i
miei amici (una lista sarebbe troppo lunga) che mi sono stati sempre vicini
incoraggiandomi e facendomi sentire amata.
114
Bibliografia
[1] J. J. Hopfield. Neural networks and physical system with emergent
selective computational activities. Proc. Natl. Acad. Sci., 79, 1982.
[2] D. J. Amit. Modeling Brain Function. Cambridge University Press,
1989.
[3] C. Mead. Analog VLSI and Neural System. Addison-Wesley, 1989.
[4] M. Mattia. Dinamica Di Una Rete Di Neuroni Impulsivi con Depolarizzazione Lineare. 1997. Tesi di Laurea (Università degli Studi di Roma
‘La Sapienza’).
[5] ICANN97. Modeling Network with VLSI (Linear) Integrate and Fire
Neurons, 1997. S. Fusi e M. Mattia.
[6] S. Fusi e M. Mattia. Collective behavior of networks with linear (VLSI)
integrate and fire neurons. Neural Computation, 11:643–662, 1999.
[7] Y. Miyashita. Neural correlate of visual associative long-term memory
in the primate temporal cortex. Nature, 335, 1988.
[8] Y. Miyashita e H.S. Chang. Neural correlate of pictorial short-term
memory in the primate temporal cortex. Nature, 331, 1988.
115
[9] K. Sakai e Y. Miyashita. Neural organization for the long-term memory
of paired associates. Nature, 354, 1991.
[10] D. J. Amit, S. Fusi e V. Yakovlev. A paradigmatic working memory
(attractor) cell in IT cortex. Neural Computation, 9(1101), 1997.
[11] D. J. Amit e M. V. Tsodyks. Effective neurons and attractor neural
networks in cortical environment. Network, 3, 1992.
[12] H. C. Tuckwell. Introduction to Theoretical Neurobiology. Cambridge
University Press, 1988.
[13] D. J. Amit, D. Badoni, S. Bertazzoni, S. Buglioni, S. Fusi e G. Salina. Electronic implementation of a stochastic learning attractor neural
network. Network, 6(125), 1995.
[14] B. G. Streetman. Solid State Electronic Devices. Prentice Hall, 1995.
[15] D.J. Amit e M.V. Tsodyks. Quantitative study of attractor neural
network retrieving at low spike rates: I. substrate–spikes, rates and
neuronal gain. Network, 2(259), 1991.
[16] D. O. Hebb. The organization of behaviour. New York: Wiley, 1949.
[17] D. J. Amit. Dynamic learning in attractor neural networks. PREPRINT
N. 933, 1994. Dipartimento di Fisica, Università degli Studi di Roma
‘La Sapienza’.
[18] D.J. Amit e S. Fusi. Learning in neural network with material synapses.
Neural Computation, 6:957–982, 1994.
116
[19] N. Brunel, F. Carusi e S. Fusi. Slow stochastic hebbian learning of classes
of stimuli in a recurrent neural network. Network, 9:123–152, 1998.
[20] D. J. Amit e N. Brunel. Model of globalspontaneous activity and local
structured activity during delay periods in the cerebral cortex. Cerebral
Cortex, 7(2), 1996.
[21] N. H. E. Weste e K. Eshraghian. Principles of CMOS VLSI Design.
Addison Wesley, 1994.
[22] J. P. Uyemura.
Fundamentals of MOS Digital Integrated Circuits.
Addison Wesley, 1988.
[23] J. Millman e A. Grabel. Microelectronics. McGraw-Hill, 1987.
[24] R. L. Geiger, P.E. Allen e N. R. Straden. VLSI Design for Analog and
Digital Circuits. McGraw-Hill, 1990.
[25] A. Salamon. Sviluppo VLSI di una rete neuronale con neuroni impulsati.
1997. Tesi di Laurea (Università degli Studi di Roma ‘La Sapienza’).
[26] M. Annunziato. Implementazione hardware di una rete neuronale ad
attrattori a regime impulsivo con apprendimento stocastico. 1995. Tesi
di Laurea (Università degli Studi di Roma ‘La Sapienza’).
[27] NIPS99. Neurophysiology of a VLSI spiking neurla network: LANN21,
1999. D. J. Amit, S. Fusi e P. Del Giudice.
[28] Numerical Recipes in C: The Art of Scientific Computing. Cambridge
University Press, 1988.
[29] J. Di Giacomo. VLSI handbook. Mc Graw-Hill, 1989.
117
[30] D. J. Amit e S. Fusi. Constraints on learning in dynamic synapses.
Network, 3, 1992.
[31] S. Fusi, M. Annunziato, D. Badoni, A. Salamon e D. J. Amit. Spike–
driven synaptic plasticity: theory, simulation, VLSI implementation. Da
pubblicare su Neural Computation.
118