31.05.2013 Views

pdf document - INFN Roma Tor Vergata

pdf document - INFN Roma Tor Vergata

pdf document - INFN Roma Tor Vergata

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!