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