Progetto e realizzazione in VLSI analogico di sinapsi e neurone

annuncio pubblicitario
UNIVERSITÀ DEGLI STUDI DI ROMA
“TOR VERGATA”
FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI
TESI DI LAUREA IN FISICA
Progetto e realizzazione in VLSI
analogico di sinapsi e neurone
impulsato per un chip neuromorfo
Relatore:
Laureando:
Dott. Gaetano Salina
Davide Badoni
Relatore esterno:
Dott. Paolo Del Giudice
Anno Accademico 2003/2004
Ad Emanuela, Federico e Luca
Facciamo attenzione che la nostra mente non diventi il nostro oggetto di
culto; ha, certamente, un muscolo poderoso, ma non personalità.
Albert Einstein
Indice
Introduzione
9
1 Reti neuronali e neuroscienze computazionali
1.1 Dal contesto biologico di riferimento ai modelli
1.1.1 L’input-output del neurone . . . . . . .
1.1.2 Modelli . . . . . . . . . . . . . . . . .
1.2 Il modello del neurone . . . . . . . . . . . . .
1.3 Il modello della sinapsi . . . . . . . . . . . . .
.
.
.
.
.
13
14
14
16
17
20
2 Hardware neuromorfo e VLSI in tecnologia CMOS
2.1 Il transistor mosfet . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Effetto Early . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Vincoli tecnologi, flusso di progetto e tecniche di progettazione
2.3.1 Dal disegno di principio alla simulazione post-layout . .
2.3.2 Mismatch dei parametri e simulazione montecarlo . . .
2.4 Il processo di fabbricazione . . . . . . . . . . . . . . . . . . . .
27
28
34
35
37
39
41
3 Realizzazione elettronica
3.1 Topologia della rete . . . . . . . . . . . . . . . . . . . . . . .
3.2 Circuiti base CMOS utilizzati . . . . . . . . . . . . . . . . .
3.2.1 Interruttore . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Generatore di corrente . . . . . . . . . . . . . . . . .
3.2.3 Invertitore logico . . . . . . . . . . . . . . . . . . . .
3.2.4 Specchio di corrente . . . . . . . . . . . . . . . . . .
3.2.5 Source Follower . . . . . . . . . . . . . . . . . . . . .
3.2.6 Amplificatore a transconduttanza . . . . . . . . . . .
3.2.7 Amplificatore a transconduttanza wide-range . . . . .
3.2.8 Comparatore Open-Loop p a due stadi . . . . . . . .
3.2.9 Comparatori Open-Loop p ed n a due stadi con abilitazione . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 La sinapsi . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
46
48
49
50
51
53
54
54
56
56
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 58
. 59
3.4
3.5
3.6
3.7
3.8
3.9
Il modulo Sinapsi . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1 Circuito di refresh . . . . . . . . . . . . . . . . . . .
3.4.2 Circuito hebbiano . . . . . . . . . . . . . . . . . . . .
3.4.3 Circuito di clipping . . . . . . . . . . . . . . . . . . .
3.4.4 Circuito di selezione . . . . . . . . . . . . . . . . . .
3.4.5 Circuito dendriti . . . . . . . . . . . . . . . . . . . .
Il modulo Calcio-Compara . . . . . . . . . . . . . . . . . . .
Lo shaper . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Il neurone low power adaptive integrate and fire . . . . . . .
3.7.1 Soglia e feedback positivo . . . . . . . . . . . . . . .
3.7.2 Tempo refrattario . . . . . . . . . . . . . . . . . . . .
3.7.3 Meccanismo di adattamento in frequenza . . . . . . .
3.7.4 Simulazioni . . . . . . . . . . . . . . . . . . . . . . .
Una simulazione completa dallo spike pre-sinaptico alla depolarizzazione del soma post-sinaptico . . . . . . . . . . . . . .
I layout FULL-CUSTOM . . . . . . . . . . . . . . . . . . . .
4 Il chip completo e il sistema di test
4.1 Protocollo di comunicazione A.E.R. . . . . . . . . .
4.2 Architettura generale del chip realizzato . . . . . .
4.3 Sistema di test . . . . . . . . . . . . . . . . . . . .
4.3.1 Schede di interfaccia PCI-AER e PCI-GPB
5 Conclusioni e prospettive future
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
61
62
64
66
67
67
69
72
76
78
79
79
79
. 80
. 82
.
.
.
.
87
88
90
95
95
99
Ringraziamenti
101
Bibliografia
103
Introduzione
Per reti neuronali si intende il sistema biologico composto di un elevato numero di cellule nervose connesse tra loro in modo opportuno. L’esempio senz’altro più interessante, che ne rappresenta la massima evoluzione presente
in natura è costituito dalla corteccia cerebrale del cervello dei primati.
Da decenni esse sono oggetto di studio delle più svariate discipline scientifiche: della neurofisiologia che con la biologia molecolare indaga sugli aspetti
della dinamica chimico-fisica delle cellule nervose del tessuto corticale; della psicologia cognitiva che si occupa degli aspetti dell’attività d’insieme del
cervello intesa come manifestazione del comportamento umano; e infine della
matematica, dell’informatica, della scienza dell’informazione e della fisica.
Seppur l’approccio di studio tra le varie discipline sia diverso, si può
identificare un comune intento che è quello di comprendere i meccanismi e le
funzionalità che sono alla base di questa straordinaria manifestazione della
natura: il cervello. La comprensione delle principali funzionalità del cervello, quelle che presiedono alla trasmissione ed alla elaborazione degli stimoli
sensoriali, alla memorizzazione e alla classificazione dell’informazione hanno
molteplici ripercussioni di natura anche pratica ed immediata che vanno dalle discipline in campo medico, come ad esempio lo studio delle disfunzioni
cerebrali, a quelle in campo informatico-tecnologico come ad esempio lo studio dei sistemi automatici di elaborazione, memorizzazione, classificazione e
riconoscimento di informazioni.
Per il fisico l’approccio è quello di costruire ed elaborare modelli matematici che descrivano le funzionalità delle strutture neuronali a partire dai suoi
costituenti base (tipicamente neurone e sinapsi) e procedendo per strutture
più complesse prendendo spunto dai molteplici studi effettuati su esseri viventi, per ottenere la necessaria plausibilità biologica [1]. Il modello potrà essere
una rappresentazione grossolana delle cellule nervose, ma l’aspetto saliente è
il comportamento collettivo d’insieme determinato dall’elevato grado di interazione di tutti gli elementi base. Il modello che si sviluppa viene studiato
sia dal punto di vista teorico che con l’ausilio di simulazioni su calcolatore,
per verificarne la validità nel rappresentare il fenomeno.
9
In questa fase di modellizzazione si inserisce un notevole arricchimento
a questa ricerca con la possibilità di realizzare implementazioni in dispositivi hardware dei modelli stessi. Tale approccio ha tratto motivazione dalle
seguenti considerazioni:
• i vincoli costruttivi e realizzativi che emergono dall’ emulazione hardware, assenti invece nelle simulazioni, sono spesso relazionati a vincoli
reali presenti nella rispettiva controparte biologica. Questo costituisce
uno spunto di riflessione per rivedere il modello matematico atto a rafforzarne la plausibilità biologica con il risultato di ottenere talvolta la
comprensione di fenomeni ancora ignoti
• la velocità di elaborazione di una rete neuronale hardware può essere
estremamente più elevata della corrispettiva simulazione dei modelli in
via teorica permettendo cosı̀ esperimenti con reti di grosse dimensioni
• la stessa realizzazione hardware di dispositivi neuronali può avere scopi
pratici immediati come ad esempio la classificazione ed il riconoscimento di immagini.
Lo sviluppo di dispositivi “neuromorfi” apre la prospettiva di sistemi autonomi (cioè non dipendenti da strumenti di calcolo digitali) in grado di acquisire
ed elaborare in tempo reale stimoli ambientali.
Dal punto di vista dell’approccio teorico, fondamentale è stato il lavoro
di Hopfield del 1982 [2] che di fatto pone questa disciplina nel campo di
interessi della fisica. Hopfield introduce le prime analogie tra le reti neuronali
e i sistemi disordinati a molti gradi di libertà, consentendo di utilizzare un
collaudato e potente strumento quale è la meccanica statistica.
È in questo contesto che trova applicazione il concetto di attrattore e quindi di rete neuronale ad attrattori, (Attractor Neural Network: ANN). La rete
di neuroni interagenti è descritta come un sistema dinamico con feedback
elevato, dotato (in funzione degli accoppiamenti sinaptici) di una molteplicità di stati di equilibrio (attrattori). Data una condizione iniziale per la
dinamica, che viene interpretata come espressione di uno “stimolo” esterno
alla rete, questa evolve verso uno degli attrattori disponibili, stato di equilibrio del sistema, che codifica la “risposta” della rete allo stimolo. L’insieme
delle condizioni iniziali che portano allo stesso attrattore è il bacino di attrazione di questo; l’attrattore fornisce una rappresentazione interna della
“classe” di stimoli definita dal suo bacino di attrazione. Questo tipo di rete
fornisce un modello di memoria associativa. In questo senso una rete neuronale può essere vista come una memoria indirizzabile per contenuto (Content
Addressable Memory: CAM), dove i contenuti di informazione memorizzati
10
sono rappresentati dagli attrattori, e vengono richiamati fornendo delle informazioni anche incomplete o simili, che individuano uno stato iniziale della
rete. La rete sviluppa rappresentazioni delle classi di stimoli modificando
lo schema delle connessioni sinaptiche, ed in particolare la forza di queste
(l’ “efficacia” sinaptica), cioè l’entità dell’effetto che l’impulso emesso da un
neurone produce sul neurone bersaglio. La configurazione sinaptica determinata dinamicamente dalle proprietà degli stimoli, fissa l’insieme di attrattori
accessibili alla dinamica della rete. Sono stati proposti molti modelli di plasticità sinaptica: il principale obiettivo della tesi è la descrizione del progetto
elettronico di un modello di sinapsi plastica, che si modifica in modo probabilistico in funzione del flusso di stimoli, all’interno di un chip VLSI che
realizza una rete neuronale con feedback.
Presentazione del lavoro di tesi
Lo scopo di questo lavoro di tesi è stato la progettazione e la realizzazione
di un dispositivo misto analogico-digitale VLSI che realizza una rete neuronale con 32 neuroni impulsati, con matrice sinaptica configurabile e modulo
di comunicazione A.E.R. (Address Event Rapresentation) necessario per la
comunicazione tra diversi dispositivi neuronali e con il sistema di controllo.
Il principale contributo del mio lavoro a questo progetto è consistito nella
progettazione e simulazione del circuito sinaptico e dell’elettronica di interfaccia con la circuteria digitale responsabile della comunicazione AER ed adattamento del progetto del neurone fornito dall’Istituto di Neuroinformatica di
Zurigo all’architettura del dispositivo, come qui sotto elencato
• Definizione dell’architettura generale del chip
• Progetto della sinapsi
• Simulazione della sinapsi
• Inclusione del circuito neuronale
• Integrazione delle parti analogiche con quelle digitali
• Finalizzazione del layout e sottomissione del progetto alla fonderia
11
Struttura generale della tesi
• Capitolo 1
Fornisce una panoramica introduttiva alle reti neuronali e alle neuroscienze computazionali, nell’ottica di questo lavoro.
Descrive i modelli realizzati in hardware.
• Capitolo 2
Viene descritto il transistor mosfet con le sue equazioni più rappresentative e la tecnologia CMOS che attualmente è la più usata per le
realizzazioni in hardware di reti neuronali.
Vengono descritte le fasi di progettazione, gli strumenti, le tecniche e i
software utilizzati.
• Capitolo 3
Vengono descritti i circuiti analogici di base che costituiscono i mattoni
di tutti i circuiti analogici progettati.
Vengono descritti e si discutono nel dettaglio i circuiti realizzati.
• Capitolo 4
Si presenta l’architettura completa del chip.
Viene descritto il modulo di comunicazione A.E.R., incaricato di codificare e gestire il flusso di informazioni da/e verso altri dispositivi.
Viene descritto il sistema di test.
• Capitolo 5 Conclusioni e prospettive future.
12
Capitolo 1
Reti neuronali e neuroscienze
computazionali
Quando si parla di reti neuronali è inevitabile pensare alle più elevate attività
cognitive del cervello animale, in particolare a quello dei primati. Sebbene
le scienze che si occupano di queste materie siano attualmente diversificate e
non tutte necessariamente legate ad una continua comparazione con il sistema
nervoso, è innegabile che alcune funzioni emergenti del cervello sono state
prese come modello da comprendere, da emulare o almeno da imitare nelle
sue manifestazioni più modellizzabili e riproducibili.
Diverse sono le funzioni tipicamente appetibili e ragionevolmente trattabili del sistema biologico cervello dal punto di vista della modellizzazione ed
emulazione.
Si vogliono qui descrivere brevemente, le attività cognitive tipiche del
cervello che sono più attinenti agli scenari ed al contesto che si sta discutendo.
Volendo tentare di fare un confronto con le funzioni di memoria e di classificazione nei manufatti creati dall’uomo, si può dire che gli stimoli sensoriali
provenienti dall’interazione con l’ambiente rappresentano uno degli input del
sistema cervello, considerato come sistema dinamico. In quest’ottica l’output
viene ad essere identificato con la risposta dinamica del sistema cervello. Il
mondo percepito per tramite delle vie sensoriali, viene ad assumere nel cervello una propria rappresentazione interna. Tra i canali sensoriali più studiati
nel contesto della comprensione del sistema cervello e delle possibili modellizzazioni di alcune funzioni, ci sono ad esempio gli stimoli acustici provenienti
dalla coclea e gli stimoli visivi provenienti dalla retina.
Una evidente e fondamentale manifestazione delle capacità cognitive è
quella della memorizzazione e della classificazione di stimoli. La fase di apprendimento è quella in cui il cervello è sottoposto ad un flusso di stimoli,
che hanno una corrispondenza in diverse rappresentazioni interne. In questa
13
1.1. Dal contesto biologico di riferimento ai modelli
fase non si ha una semplice memorizzazione di tutti o parte degli stimoli ma
piuttosto una classificazione per classi di stimoli con la memorizzazione di
una prototipo rappresentativo per ogni classe di stimoli:
ciascuno di noi ha visto nella vita molti alberi, l’idea di albero non corrisponde alla memoria visiva di tutti i possibili alberi osservati, ma piuttosto
ad una serie di prototipi di immagini di alberi, che corrispondono a specifiche
rappresentazioni interne.
Anche se si hanno ragionevoli argomenti per affermare che l’informazione
o la particolare rappresentazione di essa non è localizzata in uno specifico
punto del cervello, si ha evidenza che alcuni livelli di rappresentazione hanno
sede in zone particolari del cervello, come ad esempio la zona della corteccia
cerebrale in cui vengono rappresentate le immagini dopo la prima elaborazione attuata dalla retina. Moduli corticali diversi reagiscono, manifestando
attività neuronale, ad alcuni tipi e classi di stimoli.
1.1
1.1.1
Dal contesto biologico di riferimento ai
modelli
L’input-output del neurone
Prima di considerare gli argomenti attinenti ai modelli che descrivono gli
elementi di base dei sistemi neuronali, si vuole fornire una breve e sommaria
descrizione della forma delle strutture biologiche e dei meccanismi di base
dell’attività neuronale messi in luce dagli esperimenti di biofisica e biochimica
sulle cellule nervose.
Nella figura 1.1 è rappresentata schematicamente una struttura a due
neuroni interagenti.
La cellula neurone della corteccia cerebrale dei primati (è questa la sede
prevalente in cui si manifestano le attività sopra descritte), è formata da
corpo cellulare chiamato soma delle dimensioni tipiche di 5 − 100 µm.
Da questo si propagano due diversi canali di comunicazione
• l’assone, canale identificabile come uscita, con lunghezze molto variabili
da 0.1 mm a qualche metro
• le dendriti, una serie di ramificazioni che si assottigliano con la distanza
dal corpo cellulare, identificabili come l’ingresso del neurone
La membrana cellulare del neurone separa l’ambiente intracellulare da
quello extracellulare. Nei due ambienti esistono concentrazioni diverse di sostanze in forma ionica. All’interno è presente una concentrazione maggiore
14
Capitolo 1. Reti neuronali e neuroscienze computazionali
Figura 1.1: Rappresentazione di cellule nervose: due neuroni. Il neurone in basso trasmette
la sua attività al neurone più in alto per mezzo del contatto sinaptico sulla dendrite del
neurone ricevente.
di ioni potassio mentre all’esterno di ioni sodio. Le diverse concentrazioni
sono dovute alla semipermeabilità della membrana che, in assenza di perturbazioni elettriche, permette un flusso di potassio verso l’interno ma che
invece costituisce una barriera per il sodio. In condizioni di riposo queste
diverse concentrazioni di forme ioniche creano una differenza di potenziale
tra l’esterno e l’interno del neurone (più negativo), chiamato potenziale di
membrana.
Il neurone subisce l’azione dell’attività degli altri neuroni prevelentemente
attraverso i contatti sinaptici sulle sue dendriti, per mezzo di sostanze chimiche denominate neurotrasmettitori. La comprensione della natura e della
dinamica di questi scambi è attualmente oggetto di studi.
L’effetto sul potenziale di membrana dell’attività degli altri neuroni indu15
1.1. Dal contesto biologico di riferimento ai modelli
ce una variazione del potenziale su di essa. Alcuni tipi di sinapsi favoriscono
una depolarizzazione del potenziale (aumento della differenza di potenziale),
altre una iperpolarizzazione.
Se, per effetto di queste perturbazioni, il potenziale raggiunge una soglia
critica, la permeabilità della membrana cambia drasticamente e rapidamente e quindi si attivano canali ionici dipendenti dal potenziale, favorendo un
passaggio verso l’interno del soma di ioni sodio. Questo crea un potenziale
di azione o spike che ha tipicamente uno sviluppo nel tempo molto rapido
rispetto ai tempi tipici delle variazioni del potenziale di membrana del soma.
Lo spike si propaga lungo l’assone per raggiungere molti neuroni attraverso i
contatti sinaptici. Dopo l’emissione dello spike si osserva il ritorno del neurone in una condizione di riposo. Si osserva altresı̀ che per un periodo di tempo
dopo l’emissione dello spike il neurone rimane inattivato nella possibilità di
emettere un altro spike.
1.1.2
Modelli
Le proprietà emergenti come l’apprendimento e la memoria derivano dall’interazione di un numero elevatissimo di unità elementari fondamentali altamente interagenti, ovvero i neuroni e gli elementi di interconnessioni tra
essi: le sinapsi. Il neurone e la sinapsi possono essere trattate come unità
elementari dotati di ingressi, uscite e di una propria dinamica, ma indipendentemente dalla modellizzazione dei singoli elementi costitutivi, l’approccio
al sistema può essere anche caratterizzato dalle sue proprietà di insieme. Gli
stimoli e le rappresentazioni da essi evocate sono stati del cervello che sono
codificati dall’attività dei neuroni. Attraverso l’attività dei neuroni coinvolti
si definisce lo stato del sistema. Trattando il sistema dal punto di vista dinamico del modello che lo rappresenta, lo stato corrisponde ad un punto nello
spazio delle configurazioni.
In questo senso le proprietà di classificazione sopra descritte si identificano con il fatto che a stimoli differenti possano corrispondere gli stessi stati.
Da qui deriva il concetto di attrattore: punto o zona dello spazio delle configurazioni in cui il sistema evolve dinamicamente a partire da stimoli differenti
ma simili.
È tuttora in discussione il fatto che l’informazione trasmessa dai neuroni
sia rappresentata dalla frequenze medie di emissione.
Un altro aspetto fondamentale abbastanza comune in molti modelli è
che l’apprendimento, nel senso più generico del termine, come ad esempio
la classificazione associativa di insiemi di stimoli, sia dovuto al modificarsi
delle efficacie sinaptiche che rappresentano la forza con cui un neurone presinaptico trasmette la sua attività al post-sinaptico.
16
Capitolo 1. Reti neuronali e neuroscienze computazionali
Recentemente si è affermata una classificazione dei modelli in due categorie, a seconda del tipo di approccio [3], [4]
• TOP-DOWN detti anche connessionistici, che derivano prevalentemente dalla psicologia cognitiva e mirano principalmente a catturare le proprietà cognitive complesse del sistema e a coglierne la logica
computazionale
• BOTTOM-UP in cui si cerca di mantenere un legame tra le parti
del modello e le corrispondenti parti biologiche. In questo tipo di modellizzazioni gli esperimenti di neurofisiologia costituiscono i punti di
riferimento.
Nella seconda categoria ricadono anche i lavori iniziati da Hopfield e sviluppati dai fisici. Questi modelli sono definiti di neuroscienza computazionale.
I modelli di neuroscienza computazionale dinamici prendono spunto, per
la costruzione, dai dati forniti dalla biofisica e biochimica dei neuroni e sinapsi. È evidente che per poter trattare questi modelli dal punto di vista
analitico e delle simulazioni è necessario realizzare delle semplificazioni del
modello stesso.
È questa la categoria di modelli presentati e realizzati in hardware in
questo lavoro.
1.2
Il modello del neurone
Il modello del neurone realizzato è quello del neurone canonico integrate-andfire [5], [6]
È un modello estremamente semplificato del neurone
1. viene trattato come oggetto puntiforme, ovvero non si tiene conto della
sua struttura spaziale, in particolar modo dell’albero dendritico. È
caratterizzato dal solo potenziale di membrana Vsoma . L’intera cellula
è equipotenziale.
2. gli ingressi sinaptici sono dati da una sequenza di impulsi di corrente,
coincidenti con gli spikes in arrivo dagli altri neuroni. Gli impulsi di
corrente si sommano direttamente sul soma, e ciascun impulso determina una variazione istantanea di Vsoma nel verso della depolarizzazione
per sinapsi di tipo eccitatorio e viceversa verso il basso per sinapsi di
tipo inibitorio. L’ampiezza della variazione istantanea è determinata
dall’efficacia sinaptica.
17
1.2. Il modello del neurone
3. è presente un termine di perdita rappresentante la somma di tutti i
contributi delle correnti di perdita, necessario a ristabilire gli equilibri
ionici in assenza di spikes.
4. la generazione dello spike è introdotta come condizione al contorno.
quando il potenziale di soma raggiunge una certa soglia di emissione viene emesso uno spike. Immediatamente dopo, il potenziale
ritorna ad un valore di riposo (potenziale di reset)
per un certo periodo di tempo dopo l’emissione dello spike il neurone
è totalmente inibito e non può emettere spikes (ARP Absolute
Refractory Period).
Rispetto al modello del neurone canonico sopra descritto, altri ingredienti vengono aggiunti per dettagliare e arricchire il modello che è stato poi
realizzato.
• il termine di decadimento sopra descritto nel modello qui esposto è un
termine costante che da luogo quindi ad un decadimento lineare. Da
qui la denominazione neurone I.F. lineare [7].
• viene imposto un valore minimo possibile per la Vsoma indicato con il
termine di barriera riflettente [8]
• viene modellizzato un meccanismo di adattamento in frequenza, le cui
evidenze biologiche vengono qui di seguito accennate [5], [9]
Sperimentalmente (soprattutto in esperimenti in vitro) si osserva che se
un neurone è sottoposto improvvisamente ad un brusco innalzamento della
corrente in ingresso, la frequenza di emissione degli spikes all’inizio sarà molto
alta per poi scendere a valori più bassi. Il neurone reagisce a stress improvvisi
o stimoli troppo forti e persistenti abituandosi tramite un meccanismo di
autoregolazione che impedisce il persistere di elevate frequenze di emissione
per lunghi periodi di tempo. Questo meccanismo rappresenta quindi una
forma di adattamento in frequenza dell’emissione degli spikes.
Le forti evidenze sperimentali suggeriscono che il meccanismo sia dovuto
alla concentrazione degli ioni calcio Ca2+ che modula una corrente di ioni
potassio. Tale corrente è chiamata IAHP (After Hyper Polarization current).
All’emissione dello spike viene attivato un flusso di ioni Ca2+ verso l’interno della cellula. La IAHP è stimolata dall’aumento di concentrazione degli
ioni Ca2+ . L’effetto della presenza di questa corrente è quello di allontanare
il potenziale di membrana dalla soglia di emissione.
18
Capitolo 1. Reti neuronali e neuroscienze computazionali
Il neurone hardware utilizzato realizza un meccanismo di adattamento in
frequenza funzionalmente analogo a quello descritto.
Il modello del neurone I.F. lineare è quindi
1
1
1 Zt
I(t0 )dt0 − Iadapt (t)
Vsoma (t) = Vsoma (0) − Iβ (t) +
C
C t0
C
(1.1)
con le condizioni aggiuntive

emissione dello spike al raggiungimento della soglia con immediato





successivo ritorno al potenziale di reset





tempo refrattario assoluto








limite inferiore a Vsoma
dove I(t) è la somma di tutte le correnti afferenti, Ibeta è il termine di
perdita e Iadapt (t) è la corrente che produce il meccanismo di adattamento in
frequenza ed è una corrente proporzionale (in media, in condizioni stazionarie) alla frequenza media di emissione degli spikes in un intervallo di tempo
impostabile precedente il tempo t.
C in questo contesto rappresenta la capacità del soma.
La corrente afferente al neurone i − esimo è data da
Ii (t) =
N
X
j
Jij
X
δ(t − tj (k) )
k
dove N è il numero di neuroni pre-sinaptici afferenti, Jij è il peso (efficacia
sinaptica) del contributo del neurone pre-sinaptico j e k è l’indice degli istanti
di tempo in cui arrivano gli spikes pre-sinaptici.
Nella teoria entra anche la distribuzione temporale degli spikes in ingresso
al neurone. Gli I.S.I.1 sono molto irregolari. Questa proprietà ha riscontri
negli esperimenti di neurofisiologia ed ha delle implicazioni in taluni importanti aspetti del modello della sinapsi plastica ad apprendimento stocastico.
Poichè i tempi di arrivo gli spikes presinaptici sono un processo stocastico,
lo è anche il potenziale di membrana Vsoma (t).
Una caratterizzazione delle proprietà stazionarie del processo stocastico
accennato è fornita dalla funzione di trasferimento
ν = Φ(µ, σ 2 )
1
Inter Spikes Interval, tempo trascorso tra due spikes
19
1.3. Il modello della sinapsi
che fornisce la frequenza media di emissione del neurone in funzione di una
statistica fissata della corrente afferente in termini di valor medio µ e della
σ 2 . Il neurone I.F. può operare in due ben distinti regimi
• SD (Signal Dominated) regime dominato dal segnale. La σ 2 è piccola o
nulla e µ è costante. Il comportamento è deterministico. L’ ISI fluttua
poco intorno al valore deterministico
• ND (Noise Dominated) regime dominato dal rumore. La σ 2 non è
piccola e µ è sufficentemente piccolo. La soglia viene raggiunta occasionalmente per effetto di fluttuazioni della corrente afferente. L’ ISI
fluttua molto.
Nella figura 1.2 sono rappresentati gli andamenti temporali tipici del neurone
dei due regimi.
Regime dominato dal segnale
Regime dominato dal rumore
Figura 1.2: Potenziale di membrana Vsoma di un neurone I.F. nei due differenti regimi di
Noise Dominated (a destra) e Signal Dominated (a sinistra)
1.3
Il modello della sinapsi
Per la sinapsi non esiste un modello canonico di riferimento. Le conoscenze
fornite dalla biofisica e dalla biochimica non forniscono ancora una spiegazione sufficentemente approfondita dei meccanismi principali, tale da poter
suggerire un modello di riferimento. Sono piuttosto le considerazioni teoriche che giocano un ruolo di stimolo nella costruzione del modello, se mai
confortate da una accettabile plausibilità biologica.
20
Capitolo 1. Reti neuronali e neuroscienze computazionali
Nella maggior parte dei modelli sinaptici cosı̀ come in quello realizzato in
hardware in questo lavoro c’è l’idea che l’efficacia sinaptica venga modificata
dalla attività dei neuroni pre e post-sinaptici.
Il tipo di plasticità che viene qui descritta è quella a lungo termine LTP
(Long Term Potentiation) e LTD (Long Term Depression), che ha una evidenza sperimentale nella biologia (sono stati successivamente introdotti nei
modelli anche effetti di facilitazione e depressione a breve termine).
Uno dei tasselli che sono serviti ad arrivare alle attuali modellizzazioni
dei meccanismi che sono alla base dell’apprendimento, della memoria e della
classificazione per effetto degli stati sinaptici e delle loro dinamiche di modificazione è dato da una serie di esperimenti di neurofisiologia effettuati su
primati.
Fra questi ci sono quelli effettuati dal gruppo di Miyashita [10].
Vengono utilizzate delle scimmie che sono sottoposte ad esperimenti per
registrare le attività dei neuroni di aree corticali visive profonde che manifestano un livello di rappresentazione più complesso delle rappresentazioni
provenienti dagli stimoli sensoriali.
L’area è quella implicata nelle rappresentazioni visive ed è situata nella
zona inferotemporale della corteccia.
Vengono registrati gli spikes emessi da un gruppo campione di neuroni.
Questo tipo di esperimenti, denominati DMS (delayed match to sample,
corrispondenza ritardata sul campione), sono concepiti per mettere in evidenza non solo le relazioni tra attività del modulo corticale e gli stimoli presentati
ma anche le correlazioni temporali tra sequenze di immagini e attività nel
modulo corticale. L’evidenza più immediata è la presenza di attività selettiva
di un gruppo di neuroni a particolari stimoli, distinta dall’attività spontanea
in assenza di stimolo.
L’animale vede sullo schermo, per breve tempo, uno stimolo visivo (non
cognitivamente rilevante); segue un periodo lungo (diversi secondi) di ritardo in cui non viene mostrata alcuna immagine, e quindi un’altra immagina
appare sullo schermo. L’animale deve fornire una risposta diversa a seconda
che il secondo stimolo (match) sia o meno uguale al primo (sample). Ad
ogni stimolo campione corrisponde un insieme diverso di neuroni attivi (ma
un neurone può essere selettivo a più stimoli), con frequenze medie più alte
rispetto all’attività spontanea. Nel tempo di ritardo dopo lo stimolo campione, quando esso è stato rimosso, si registra ancora una particolare attività
selettiva.
L’aspetto notevole che emerge è che, dopo un numero relativamente grande di stimoli presentati, le distribuzioni di frequenze registrate durante i periodi di ritardo corrispondono a rappresentazioni, non di singole immagini
ma di classi di stimoli memorizzati.
21
1.3. Il modello della sinapsi
Questi risultati, oltre a mettere in evidenza la proprietà di classificazione,
suggeriscono un correlato neuronale della memoria di lavoro [11], [12]. Dopo
l’apprendimento, l’applicazione di uno stimolo induce una attività selettiva
che è la rappresentazione interna dello stimolo stesso. Dopo la successiva
rimozione si può osservare una attività riverberante indotta che persiste per
un certo tempo e che rappresenta il prototipo della classe cui lo stimolo
presentato appartiene.
Fu lo psicologo Donald O. Hebb più di cinquanta anni fa [13] a suggerire un meccanismo per questo duplice aspetto della memoria. Da una parte
deve esistere un meccanismo che in qualche modo mantenga la memoria a
lungo termine, che si modifica con l’apprendimento. L’intuizione ed il suggerimento è che questo derivi dalla covarianza delle attività dei neuroni pre
e post-sinaptico, quindi che sia un meccanismo locale. La sinapsi vede solo
la coppia di neuroni pre e post-sinaptico e si potenzia (aumenta l’efficacia)
se entrambi i neuroni sono attivi (diversi meccanismi sono stati poi suggeriti
per il depotenziamento). Questa descrizione è coerente con il meccanismo
LTP indicato precedentemente. Lo stato delle sinapsi modificatosi durante
la fase di apprendimento, rappresenta la memoria a lungo termine delle classi memorizzate. Sebbene il meccanismo di modifica sia locale, la memoria è
distribuita nelle sinapsi di tutta la rete.
L’altro meccanismo è a breve termine ed è rappresentato dalla riverberazione. Uno stimolo presentato per breve tempo e poi rimosso innesca il processo dinamico che si autosostiene per effetto dell’elevato feedback, ponendo
la memoria di quello stimolo in uno stato “attivo”.
Per descrivere la struttura sinaptica di una rete si ricorre spesso alla
metafora di un paesaggio fatto di valli e alture. I punti del paesaggio rappresentano gli stati di attività della rete e la tendenza ad andare verso il basso o
verso l’alto dipendono dalla dinamica neuronale. I fondo valle rappresentano
gli attrattori della rete e sono stati di equilibrio della stessa.
Il modello di Hopfield costituisce un esempio ben trattato dal punto di
vista analitico di rete neuronale ad attrattori [2]. La rete ha N neuroni che
possono assumere solo due stati (attivo e inattivo) identificati con i valori −1
e 1, in questo caso lo stato della rete corrisponde ad una parola binaria di N
bit.
Senza entrare nel dettaglio di questo modello, si vuole evidenziare una
limitazione generale che hanno questi sistemi se non si aggiungono ulteriori
arricchimenti:
la sinapsi del modello di Hopfield può assumere un numero di valori diversi
che dipende dal numero delle classi memorizzate (2p + 1 valori per p classi).
La difficoltà nella realizzazione di un dispositivo reale è evidente, tenendo
conto anche del fatto che il numero di sinapsi è proporzionale a N 2 .
22
Capitolo 1. Reti neuronali e neuroscienze computazionali
Una possibile assunzione realistica consiste nel ridurre la profondità analogica della sinapsi a pochi valori di efficacia stabili a lungo termine. Questo
vincolo (numero discreto e finito di stati stabili di efficacia) limita severamente la memoria della rete: la memorizzazione di nuovi stimoli cancella
rapidamente quella degli stimoli più vecchi. Questa limitazione viene superata assumendo [14] che alla presentazione di ogni stimolo, ogni sinapsi
elegibile per il potenziamento o depotenziamento sulla base delle attività
neuronali pre- e post-sinaptiche, subisca effettivamente queste modificazioni
con una certa probabilità.
Il prezzo che si paga per il recupero per una elevata capacità di memoria assicurata da tale meccanismo stocastico, è la necessità di aumentare il
numero di presentazioni necessarie a memorizzare uno stimolo.
Il meccanismo adottato in [15] è considerare la sinapsi un dispositivo analogico su brevi scale dei tempi e discreto (a due stati nel modello realizzato)
su lunghe scale dei tempi.
Un meccanismo a soglia imposto sulla variabile analogica, determina le
transizioni di potenziamento/depotenziamento tra i due stati di efficacia.
Nel modello adottato, la natura stocastica delle transizioni sinaptiche viene
assicurata dalle fluttuazioni nei tempi di arrivo degli spikes che guidano la
dinamica sinaptica (determinando, nel modello in esame, cambiamenti nella
variabile analogica della sinapsi) [16] [17].
Viene definito un valore istantaneo analogico X(t) della sinapsi che in
assenza di stimoli tende ad un valore stabile che si mantiene indefinitamente.
Questo valore viene discriminato da una soglia per fissare i due valori possibili
di efficacia sinaptica. La stessa soglia discrimina i due versi possibili a cui
tende X(t) in assenza di stimoli. La modificazione del valore analogico deve
avvenire secondo le prescrizioni hebbiane, prendendo come input gli spikes del
neurone pre-sinaptico, e grandezze che rappresentano l’attività del neurone
post-sinaptico. Nei primi modelli proposti e anche realizzati in VLSI dal
nostro gruppo, il modello della sinapsi prevedeva che l’attività del neurone
post-sinaptico potesse essere letta dal potenziale di membrana Vsoma . Si
suddivide il campo di variabilità del potenziale in due zone (con una soglia
discriminatrice): la zona alta rappresenta una alta attività del neurone postsinaptico e quindi in coincidenza dello spike-presinaptico la X(t) deve tendere
verso un potenziamento, viceversa se all’arrivo dello spike pre-sinaptico la
Vsoma si trova nella zona bassa la sinapsi deve tendere alla depressione.
In questo modo la sinapsi pur avendo un comportamento stocastico dovuto all’attività dei neuroni pre e post-sinaptici ha dinamica deterministica.
Tutti gli ingredienti sopra descritti più ulteriori prescrizioni si trovano sul
modello di sinapsi realizzato.
23
1.3. Il modello della sinapsi
Il modello teorico della sinapsi qui di seguito descritto [18], è quello che
è stato realizzato nel presente lavoro.
Le nuove prescrizioni si riferiscono ad un meccanismo in cui l’attività
del post-sinaptico non viene letta soltanto dal potenziale del neurone postsinaptico, ma anche dall’attività pregressa degli spikes post-sinaptici emessi.
Questa regola aggiuntiva prevede che sia il meccanismo di potenziamento
che di depressione possa avvenire se il neurone non ha avuto attività eccessivamente alte o eccessivamente basse (stimate dall’attività pregressa dell’emissione di spikes post-sinaptici) in un tempo recente rispetto all’emissione
dello spike pre-sinaptico. Il meccanismo che ha delle motivazioni teoriche mirate prevalentemente ad una ottimizzazione delle risorse sinaptiche rispetto a
insiemi di stimoli particolari, ha anche delle analogie biologiche con gli effetti
che produce la concentrazione degli ioni calcio, da cui il nome che appare
nelle variabili di seguito utilizzate e nel modulo realizzato.
Qui di seguito viene data la descrizione del modello.
La sinapsi ha due soli stati stabili la cui efficacia vale J+ quando è
potenziata o J− quando è depressa.
Il comportamento dinamico è governato da due variabili interne
• X(t) che rappresenta il valore analogico interno della sinapsi
• C(t) (variabile Calcio) che è la variabile con lunga scala dei tempi che
fornisce una stima dell’attività pregressa del neurone post-sinaptico
Lo stato stabile vale J− se X(t) è inferiore ad una certa soglia θX fissata,
J+ altrimenti.
La dinamica della variabile Calcio si può realizzare con decadimento lineare con la condizione al contorno di un salto definito di ampiezza Jc verso
l’alto all’arrivo dello spike post-sinaptico al tempo t0
C(t) = −Kc t
(1.2)
C(t0+ ) = C(t0− ) + Jc
con Kc > 0 costante di decadimento lineare.
Si può definire il recovery-time come il tempo necessario alla variabile
X(t) per ritornare ad valore X(t0 ) dopo l’arrivo dello spike post-sinaptico
al tempo t0 per effetto del solo decadimento lineare. Il recovery-time, che
dipende in questa rappresentazione dall’ ampiezza del salto e dalla pendenza
del decadimento lineare, dovrà essere maggiore del I.S.I medio tipico della
rete, se si vuole avere memoria dell’attività trascorsa del neurone.
Ad ogni arrivo di uno spike pre-sinaptico al tempo tpre vengono valutate
le variabili C(t) e la depolarizzazione Vp (t) del neurone post-sinaptico. La
24
Capitolo 1. Reti neuronali e neuroscienze computazionali
variabile interna sinaptica X(t) potrà fare, o non fare, un salto con la seguente
regola
X(t)− > X(t) + a se V p (tpre ) > θp
e K1up < C(tpre ) < K2up
X(t)− > X(t) − b se V p (tpre ) ≤ θp
e K1down < C(tpre ) < K2down
(1.3)
dove a, b > 0 e K1up , K2up , K1down , K1down sono soglie fissate sulla variabile
Calcio.
In assenza di spike pre-sinaptici oppure se non sono soddisfatte le condizioni 1.3 la variabile X(t) tende verso i due stati stabili con velocità
dX(t)
= α se X(t) > θX
dt
dX(t)
= −β
dt
se X(t) ≤ θX
con α, β > 0.
25
(1.4)
1.3. Il modello della sinapsi
26
Capitolo 2
Hardware neuromorfo e VLSI
in tecnologia CMOS
L’approccio tipico con cui si implementano modelli di strutture biologiche
che presentano una natura squisitamente analogica non è rappresentata da
circuiti complessi come ad esempio quello di un circuito digitale, ma piuttosto
da circuiti più semplici dove le caratteristiche fisiche implicite di ciascun
dispositivo elementare rappresentato da un unico simbolo nello schematico
costituisce di per sè una parte di modellizzazione.
Il questo contesto il transistor MOSFET (Metal-Oxide-Semiconductor
Field Effect Transistor), risulta attualmente il miglior dispositivo che si presta a questo scopo. Le sue caratteristiche di basso consumo, basso costo,
moderata complessità circuitale e sopratutto la sua versatilità nel realizzare circuiti di memoria a breve-termine o a lungo-termine caratteristici dei
sistemi neuronali lo rende il dispositivo principe delle implementazioni hardware dei circuiti neuronali. Le strutture circuitali elettroniche di base che
realizzano tali sistemi hanno delle affinità, dal punto di vista funzionale, cosı̀
evidenti con i relativi modelli biologici che da qualche anno è stata coniata la parola Hardware neuromorfo per indicare proprio questo tipo di
implementazioni [19], [20].
La tecnologia VLSI (Very Large Scale Integration) usata e piu’ comune
per i transistor MOS è la CMOS (Complementary Metal Oxide Silicon). La
sigla CMOS indica la presenza su uno stesso chip di entrambi i dispositivi
a canale n (n-mos) e a canale n (p-mos). Una ulteriore specificazione della
tecnologia che abbiamo usato per realizzare il chip del presente lavoro, è
n-well che sta ad indicare che i dispositivi p-mos sono situati all’interno
di pozzetti (aree nel substrato) drogate n mentre i dispositivi n-mos sono
impiantati direttamente nel substrato drogato p.
27
2.1. Il transistor mosfet
2.1
Il transistor mosfet
In questo paragrafo viene descritta la struttura fisica del transistor mosfet, e
le relative equazioni caratteristiche sotto soglia con una breve e riassuntiva
discussione della fisica che porta alla loro derivazione. Vengono anche indicate le equazioni sopra soglia. Per approfondimenti si veda [20], [21], [22],
[23], [24].
Nei circuiti neuromorfi gran parte dei mosfet vengono fatti generalmente
lavorare in regime sotto soglia. Tra Le motivazioni principali di questa scelta ci sono i bassi consumi, determinati sostanzialmente dai piccoli valori di
corrente di lavoro e il tipo di dipendenza corrente-tensione che è esponenziale. Una raffigurazione pittorica del dispositivo è visibile in fig. 2.1 dove
Gate (G)
Source (S)
Drain (D)
W
n+
L
n+
p
Substrato (B)
Figura 2.1: Struttura di un Mosfet tipo n nel substrato tipo p
ne è raffigurata una sezione trasversale. Il dispositivo indicato è di tipo n,
l’estensione al caso tipo p è ovvia. Il semiconduttore del substrato è drogato
p mentre le aree poste ai lati sone chiamate aree attive di drain e di source
che sono drogate n+ (drogate pesantemente). Queste due aree identificano i
terminali Drain e Source. Queste sono simmetriche tra loro, ovvero la loro
denominazione è definita solo dal segno del potenziale relativo applicato (il
source è la sorgente di elettroni mentre il drain li rimuove), esse inoltre formano con il substrato due giunzioni a semiconduttore. La parte centrale è la
struttura MOS, costituita da un piatto a bassa resistività di polisilicio (silicio
policristallino), separato dalla parte sottostante da un sottile strato di SiO2
28
Capitolo 2. Hardware neuromorfo e VLSI in tecnologia CMOS
isolante, il piatto identifica il terminale di Gate. Le cariche maggioritarie
del substrato sono le lacune mentre quelle delle aree attive sono gli elettroni.
A causa del forte drogaggio le aree attive hanno bassa resistività. La zona
sottostante il Gate è caratterizzata da una larghezza W e da una lunghezza
L di canale. Nel normale modo di operazione le tensioni dei 4 terminali G,
B, S, D, sono tali che Vg ≥ Vb , Vs ≥ Vb , Vd ≥ Vb .
Se Vd ≥ Vs e Vg non è troppo bassa una corrente positiva avrà il verso
Drain → Source.
Il parametro che determina la zona di funzionamento del dispositivo è
la tensione di soglia Vt . Questa è funzione delle caratteristiche costruttive
fisiche del dispositivo, tra cui:
• concentrazioni del drogaggio nel substrato
• capacità specifica di gate (dell’ossido di silicio)
Il valore della tensione di soglia, pertanto, è un parametro imposto dalla
tecnologia.
Al variare della Vgs e in funzione dei valori relativi di tensione ai 4
terminali si definiscono differenti regimi di funzionamento.
Si assuma Vd > Vs
• cut-off Vgs = 0 oppure Vgs ¿ Vt : la zona sottostante il gate è piena
di cariche positive (lacune), la corrente tra drain e source è praticamente nulla perche’ i due diodi drain-substrato e substrato-source sono
polarizzati inversamente.
• svuotamento Vgs <' Vt : le lacune vengono allontanate dal gate per
effetto del campo elettrico; si crea una zona di svuotamento di lacune
che permette il passaggio di una piccola corrente.
• debole inversione Vgs ' Vt : la zona di svuotamento è sempre presente,
ma il forte campo elettrico richiama elettroni sotto il gate e si forma
un sottile strato sottostante il gate con accumulo di cariche negative
denominato strato d’inversione. Questo costituisce un percorso di conduzione aggiuntivo tra il drain ed il source, contributo altresı̀ ancora
trascurabile rispetto alla corrente dovuta alle cariche nella regione di
svuotamento.
• forte inversione Vgs > Vt : lo strato d’inversione interposto tra gate e
area di svuotamento diventa considerevole e fornisce il principale contributo alla corrente che assume valori molto più alti rispetto agli altri
regimi.
29
2.1. Il transistor mosfet
Figura 2.2: (tratta da [22]) Regioni di svuotamento e di inversione nel mosfet
ENHANCEMENT
Entrambi i regimi di forte e debole inversione vengono indicati come sottosoglia. La dipendenza Id vs. Vgs nei due regimi sotto e sopra soglia è ben
distinta essendo la prima di tipo esponenziale mentre la seconda di tipo
quadratico.
Questo tipo di dispositivo viene detto MOSFET ENHANCEMENT (arricchimento) per distinguerlo dall’altro MOSFET DEPLETION dove lo strato di inversione è già formato in prossimità del biossido di silicio: con Vgs = 0
si ha passaggio di corrente. Per annullare il passaggio di corrente Vgs deve
essere negativa.
Verranno ora descritte le principali equazioni del dispositivo nel regime
sotto-soglia passando per una sintetica derivazione fisica [20].
In tale regime trascuriamo le cariche presenti nello strato d’inversione.
Si consideri la concentrazione degli elettroni nel canale. Si assuma che il
potenziale nel canale ψs sia costante. La concentrazione nelle zone terminali
del canale adiacenti al source ed al drain dipenderà dalla barriera di energia
che gli elettroni incontrano. Questa dipende dalla differenza di tensione tra
il potenziale superficiale ψs e Vs , Vd per il source e drain rispettivamente.
Indichiamo con Θs e Θd le altezze delle barriere di potenziale.
Θs = Θ0 − q(ψs − Vs ) e Θd = Θ0 − q(ψs − Vs )
(2.1)
dove Θ0 e q sono rispettivamente la barriera di potenziale intrinseca della
giunzione e la carica elettrica elementare. La densità degli elettroni della
parte del source e del drain rispettivamente sono dati da
Ns = N0 eΘs = N0 e
30
−(Θ0 −q(ψs −Vs )
KT
(2.2)
Capitolo 2. Hardware neuromorfo e VLSI in tecnologia CMOS
Nd = N0 eΘd = N0 e
−(Θ0 −q(ψs −Vd )
KT
(2.3)
dove K è la costante di Boltzmann e N0 è il numero effettivo di stati per
unità di area.
La corrente nel transistor si può ottenere dalla equazione per la densità
di corrente di diffusione dell’elettrone
dN
I = Jdif f W t = − q W t Dn
(2.4)
dz
Dove Jdif f è la densità di corrente di diffusione degli elettroni, W e t sono
la larghezza e la profondità del canale, Dn è il coefficente di diffusione e dN
dz
è il gradiente di concentrazione lungo il canale. Una buona approssimazione
è assumere che la conduzione sia senza perdita e che quindi il gradiente di
concentrazione lungo il canale sia costante. Possiamo allora esprimere il
gradiente come
dN
Nd − Ns
N1 Uψs
=
=
e T
dz
L
L
µ
V
e
− Ud
dove L E la lunghezza di canale, UT =
KT
q
T
− UVs
−e
T
¶
(2.5)
è la tensione termica1 e
−θ0
N1 = N0 e KT
Sostituendo la 2.5 nella 2.4 si ottiene
ψs
I = It0 e UT
µ
e
− UVs
T
V
− Ud
−e
T
¶
(2.6)
con It0 = q W
t D n N1 .
L
ψs è funzione della tensione di gate Vg . In un intorno del suo punto di
lavoro ψ0 possiamo esprimerla come
ψs = ψ0 − kVg
(2.7)
dove k è il rapporto di accoppiamento capacitivo tra gate e canale chiamato
anche fattore di pendenza sotto-soglia 2 , 3 . Sostituendo la 2.7 nella 2.6 si
ottiene
µ −V
¶
kVg
−Vd
s
I = I0 e UT e UT − e UT
(2.8)
ψ0
con I0 = It0 e KT
Nella figura 2.4 è presentato l’andamento della corrente nei due regimi
sopra e sotto soglia.
1
UT ≈ 25.8mV a temperatura ambiente
Cox
Si trova che k = Cox
+Cd dove Cox è la capacità di ossido di silicio per unità di area
mentre Cd è la capacità dello strato di svuotamento per unità di area. Questo fattore si
trova in tutte le equazioni sotto-soglia
3
in questo contesto occorre prestare attenzione a non confondere questo k con K
costante di Boltzmann
2
31
2.1. Il transistor mosfet
Figura 2.3: Corrente in funzione della Vgs in una simulazione Spectre-CADENCE in scala
logaritmica di un mosfet della tecnologia AMS 0.35 µ di dimensioni L = 0.35 µ (minime)
e W = 1 µ. È chiaramente distinguibile la regione esponenziale nel regime sotto-soglia da
quella sopra soglia
In entrambi i regimi di funzionamento sotto e sopra soglia la caratteristica corrente-tensione del MOSFET si suddivide nettamente in due regioni
distinte, riguardo la dipendenza rispetto a Vds , a seconda del valore della
stessa.
• regione lineare o ohmica
nel regime sotto-soglia è definita per valori relativamente bassi di Vds
(Vds ≤ UT ).
I = I0 e
kVg −Vs
UT
µ
1−e
−Vds
UT
¶
(2.9)
Espandendo in serie di Taylor si può osservare che I è approssimativamente lineare con Vds
nel regime sopra soglia si ha quando 0 < Vds < Vgs − Vt
I = β[(Vg − Vt )(Vd − Vs ) −
approssimare con
2
Vds
]
2
che per valori piccoli di Vds si può
I = β(Vg − Vt )(Vd − Vs )
(2.10)
dove β = µCox W
e µ è la mobilità degli elettroni. Anche qui è
L
evidente la relazione lineare di I con Vds con gli altri parametri
fissati.
32
Capitolo 2. Hardware neuromorfo e VLSI in tecnologia CMOS
In questa zona il Mosfet si comporta come una resistenza tra drain e
source controllata in tensione dalla Vgs .
• regione di saturazione
nel regime sotto-soglia si è in questa regione quando Vds raggiunge o
supera 4UT . La concentrazione degli elettroni in prossimità del
drain è trascurabile rispetto a quella del source, perchè dal drain
essi vengono immediatamente catturati. La corrente di diffusione
non dipende più da Vd ma solo da Vs (oltre che da Vg )
Isat = I0 e
kVg −Vs
UT
(2.11)
nel regime sopra soglia si ha quando 0 < Vgs − Vt < Vds
Isat =
β
(Vg − Vt )2
2
(2.12)
In questa zona il Mosfet si comporta come un generatore di corrente
tra drain e source controllata in tensione dalla Vgs .
Figura 2.4: Caratteristica di uscita (corrente-tensione) di un mosfet della tecnologia AMS
0.35 µ di dimensioni L = 0.5 µ e W = 1 µ in una simulazione Spectre-CADENCE, per
diversi valori della tensione Vgs . Il grafico a sinistra mostra il caso nel regime sotto soglia
mentre quello a destra nel regime sopra soglia.
33
2.2. Effetto Early
2.2
Effetto Early
Tra i principali effetti al secondo ordine, almeno l’effetto Early merita di
essere menzionato essendo la causa dello scostamento dalla condizione di
generatore di corrente ideale che è una caratteristica ampiamente sfruttata
in molti elementi circuitali neuromorfi progettati in questo lavoro.
Le equazioni in regime di saturazione 2.11 e 2.12 mostrano una indipendenza della corrente di saturazione dalla tensione Vds . Il canale reale effettivo
Lef f è sempre un poco più stretto di quello costruttivo L, perchè la tensione
di drain induce un restringimento dello stesso in prossimità del drain; il punto vicino al drain in cui il canale si riduce praticamente a zero è chiamato
pinch-off, questo punto quindi si muove un poco al variare di Vd (si veda fig.
2.5.
Figura 2.5: (tratta da [22]) Effetto Early. Xd corrisponde alla differenza L − Lef f
Finchè la lunghezza L è relativamente grande rispetto a queste variazioni
di posizione del pinch-off ( che hanno l’ordine di grandezza delle dimensioni
sub-micrometriche tipiche delle attuale tecnologie disponibili) la variazione
di lunghezza effettiva è piccola rispetto a L, viceversa per L piccolo questo
effetto non è più trascurabile. Per le ragioni sopra indicate tale effetto è
chiamato anche modulazione di canale.
Poichè l’effetto è quello di una dipendenza funzionale della corrente da
Lef f si può descrivere questa dipendenza valutando la pendenza della curva
corrente-tensione che corrisponde alla conduttanza di uscita gds del transistor
gds =
∂I ∂Lef f
∂I
=
∂Vds
Lef f ∂Vds
34
Capitolo 2. Hardware neuromorfo e VLSI in tecnologia CMOS
I
Slope = gds
- Ve (tensione Early)
Vds
Figura 2.6: Tensione di Early
Derivando rispetto a L nella 2.6 si può trovare che
∂I
I
=−
∂Lef f
Lef f
e quindi
gds = −
I ∂Lef f
I
=
Lef f ∂Vds
Ve
∂Vds
dove Ve = −Lef f ∂L
è il valore assoluto di tensione dove la retta interseca
ef f
l’ascissa in fig 2.6. Nel dominio sotto-soglia la corrente espressa dall 2.11 si
corregge quindi in
Vds
)
(2.13)
I = Isat + gds = Isat (1 +
Ve
2.3
Vincoli tecnologi, flusso di progetto e tecniche di progettazione
È noto che i sistemi elettronici, sia essi a componenti discreti che in VLSI si
possono suddividere in due categorie: analogici e digitali. Nella progettazione
di circuiti integrati la metodologia e gli strumenti software utilizzati sono
differenti nei due casi.
Gli elementi di base nei sistemi digitali realizzano funzioni sequenziali
e combinatorie e sono in genere molto semplici. Il sistema complesso può
essere descritto come un insieme degli elementi base e dei collegamenti tra
essi: rappresentazione schematica oppure tramite un linguaggio descrittivo
appropriato che descrive in un listato le funzioni utilizzate e le interazioni tra
esse, come ad esempio il VHDL4 .
4
VHDL è un doppio acronimo: V sta per Very High Integrated Circuit e HDL per
Hardware Description Language
35
2.3. Vincoli tecnologi, flusso di progetto e tecniche di progettazione
Tali sistemi possono essere simulati con grande precisione e accuratezza
con l’utilizzo di simulatori digitali. Inoltre, per la loro natura che è quella di
trattare segnali a due soli livelli, essi si prestano bene ad essere sintetizzati
a partire da una descrizione ad alto livello come il VHDL. Moltissimi sono i
software che realizzano simulazione di sorgenti VHDL e che implementano le
funzioni del sistema in un insieme definito di celle base fisiche disponibili. In
questo senso i tools software disponibili per implementare sistemi in un chip
VLSI piuttosto che in un FPGA5 sono molto simili tra loro.
Diverso è il caso dei circuiti analogici che invece richiedono un tipo di
simulazione di segnali continui nel tempo. In generale il livello di complessità
nell’utilizzo dei simulatori analogici è superiore a quello dei simulatori digitali. Una ulteriore sostanziale differenza è che non esistono sintetizzatori ad
uso generale di circuiti analogici. Questo aspetto è ovvia conseguenza della
natura stessa dei segnali trattati.
Un altro aspetto importante da sottolineare è la differenza che si ha in termini di gradi di libertà nella progettazione analogica di circuiti VLSI rispetto
a quelli discreti. Ogni dispositivo elementare (come ad esempio transistor,
resistenza) viene descritto geometricamente con la sua forma fisica e le sue
dimensioni che specificatamente sono per il Mosfet la sua larghezza e lunghezza di canale W e L. Questi due parametri insieme alla forma fisica devono
essere imposti dal progettista in funzione delle caratteristiche che deve avere
quel singolo dispositivo nel contesto del circuito. Da qui viene l’appellativo
di progettazione FULL-CUSTOM.
Come osservato nelle precedenti sezioni le caratteristiche di ogni singolo
dispositivo sono determinati oltre che dalle dimensioni fisiche anche dalle
caratteristiche della tecnologia usata. Queste ultime comprendono, tra gli
altri, gli spessori dei singoli materiali, come ad esempio lo spessore dell’ossido
sottile sottostante il gate che determina la capacità specifica del gate e tutti i
parametri ad essa collegati; il numero di metalli disponibili per le connessioni;
le percentuali di drogaggio nei semiconduttori. Anche la definizione e le
minime dimensioni disponibili sono determinate dalla tecnologia usata. La
dimensione minima in particolare è il comune appellativo con cui si identifica
la tecnologia ed è importante perchè determina il grado di integrazione dei
dispositivi in un chip. Attualmente sono disponibili tecnologie intorno a 0.1µ.
L’insieme delle regole per il disegno e dei parametri per la simulazione
vengono forniti dalla fonderia in un pacchetto software che si integra con i
tools software utilizzati. Questo pacchetto è chiamato Design-Kit.
In questo lavoro è stata usata la tecnologia AMS 0.35 µ 4 metalli, e il
5
FPGA è un acronimo che sta per Field Programmable Gate Array . L’FPGA è un
dispositivo programmabile che riproduce funzioni logiche
36
Capitolo 2. Hardware neuromorfo e VLSI in tecnologia CMOS
software utilizzato per tutti i tools di progettazione è CADENCE. Il chip
realizzato è di tipo Mixed-Signal ovvero comprende sia circuiti analogici che
digitali. Il lavoro che specificatamente è stato fatto in questa tesi riguarda i moduli analogici, pertanto nel seguito vengono trattati in modo più
approfondito gli aspetti legati alla progettazione analogica.
2.3.1
Dal disegno di principio alla simulazione postlayout
Nella figura 2.7 sono rappresentati schematicamente tutti i passi della progettazione.
In una prima fase vengono analizzati il modello da implementare e le
specifiche di progetto e se ne disegna una possibile implementazione in uno
schematico. Lo schematico è una rappresentazione che non tiene conto di
tutti gli aspetti che intervengono in una realizzazione fisica. I dispositivi
sono trattati come ideali ovvero con tutte le caratteristiche indicate dalla
tecnologia e le dimensioni indicate dal progettista ma senza tener conto degli
elementi parassiti che si introducono nella realizzazione fisica, come le capacità di sovrapposizione dei layer e le resistenze dei conduttori di collegamento
tra gli elementi che nello schematico vengono considerate nulle. Questa limitazione descritta si manifesta nei risultati di simulazione a livello schematico,
che è lo strumento per effettuare le verifiche di progetto in ogni fase di un
progetto VLSI analogico.
Il simulatore usato è Spectre di CADENCE, ed è basato sul noto simulatore analogico Spice6 introdotto negli anni ‘70, di cui ne costituisce una
versione migliorata in termini di accuratezza e velocità di calcolo [25] e [26].
I tipi di analisi che si possono effettuare sono fondamentalmente quattro:
nel dominio della frequenza, del rumore, in continua , nel dominio del tempo.
Di questi solo gli ultimi due sono stati usati in questo contesto. L’analisi in
frequenza non è stata utilizzata perchè i circuiti sono progettati per lavorare a
frequenze molto basse rispetto a quelle massime raggiungibili dalla tecnologia
essendo i tempi caratteristici dei circuiti neuromorfi vicini a quelli biologici.
Anche l’analisi del rumore non è stata eseguita perchè i sistemi neuronali
sono intrinsecamente robusti rispetto al rumore.
La simulazione in continua (in dc) calcola il punto di lavoro del circuito
(op), ossia le correnti e le tensioni di tutti gli elementi presenti nel circuito,
considerando condensatori aperti e induttori cortocircuitati. Utilizza le equazioni lineari e non lineari dei modelli forniti dalla fonderia per i dispositivi
elementari. La ricerca delle soluzioni, quando si è in presenza, di elementi
6
Simulator Program with Integrated Circuit Emphasis
37
2.3. Vincoli tecnologi, flusso di progetto e tecniche di progettazione
non lineari avviene con metodo iterativo, per cui è utile a volte suggerire
al simulatore dei valori di partenza per una o più tensioni. Gli algoritmi di
soluzione sono essenzialmente basati sulla analisi nodale con la matrice delle
conduttanze.
La simulazione nel dominio del tempo è denominata transiente ed è una
analisi per grandi segnali. Si considerano anche le non-linearità presenti nel
circuito, quelle dei dispositivi attivi. Essa calcola, oltre alle tensioni e alle
correnti relative agli elementi tempo invarianti, anche le variazioni di carica
Q associati ai condensatori dei flussi F associati alle induttanze.
Le equazioni costitutive dei singoli elementi circuitali sono più o meno
complesse a seconda del modello utilizzato, che corrisponde ad un livello
descrittivo più o meno dettagliato del dispositivo,
Gli algoritmi per la soluzione delle equazioni descriventi il circuito elettrico riguardano, tra gli altri, le equazioni differenziali ordinarie non lineari. La
soluzione in dc dei circuiti lineari avviene con l’analisi nodale e l’eliminazione
gaussiana, fattorizzazione L.U. ecc.. Per l’analisi in dc nel caso di elementi
non-lineari è usato il metodo iterativo di Newton-Raphson. Per l’analisi nel
dominio del tempo vengono usati algoritmi di integrazione numerica iterativa:
eulero inverso, trapezioidale, Gear che sono di ordine da 1 a 6. Quest’ultima
è l’analisi più completa perchè comprende tutti gli algoritmi a disposizione
di Spice/Spectre.
Quando la simulazione dello schematico dà risultati soddisfacenti in termini dei risultati attesi, si passa alla fase di layout ovvero al disegno fisico
dei dispositivi e dei collegamenti tra essi. Il layout deve essere disegnato
tenendo conto delle regole di disegno fornite dalla fonderia che possono venir controllate con il pacchetto DRC (Design Rule Checker). Disegnato un
modulo di layout a cui corrisponde uno (o più) schematici viene fatto girare
il pacchetto LVS (Layout Versus Schematic) che controlla che il layout abbia
una esatta corrispondenza con lo schematico di riferimento. Un passo successivo è l’estrazione dei parassiti e successiva simulazione post-layout che ne
tiene conto.
Nei circuiti neuromorfi le capacità parassite possono rivelarsi, in taluni
casi, non trascurabili. Una delle regole generali della progettazione VLSI è
il risparmio dell’area di silicio. In quei casi in cui le capacità richieste dalla
funzionalità del circuito siano piccole, è possibile sfruttare questa condizione.
Purtroppo queste stesse capacità possono rivelarsi estremamente dannose se accoppiano segnali digitali rapidamente variabili con zone analogiche
sensibili creando il fenomeno del crosstalk.
Il presente chip realizzato rientra esattamente nella categoria dei circui38
Capitolo 2. Hardware neuromorfo e VLSI in tecnologia CMOS
&RQFH]LRQHGHOOಫLGHD
'HILQL]LRQHGHOSURJHWWR
'LVHJQR
HOHWWULFR
GHO FLUFXL WR
&RPSDUD]LRQHFRQOH
VSHFLILFKHGLSURJHWWR
,PSOHPHQWD]LRQH
&RPSDUD]LRQHFRQOH
VSHFLILFKHGLSURJHWWR
6LPXOD]LRQH
'HILQL]LRQHILVLFD
'LVHJQR
ILVLFR
GHO FLUFXL WR
9HULILFDILVLFD
(VWUD]LRQHGHLSDUDVVLWL
)DEEULFD]LRQH
6YLOXSSR
7HVW3URGX]LRQH
)DEEULFD]LRQH
7HVW9HULILFKH
3URGX]LRQH
Figura 2.7: Processo di progettazione di circuiti analogici integrati
ti potenzialmente esposti a rischio crosstalk. Basti pensare, ad esempio,
agli spikes generati dai neuroni che in qualche modo devono raggiungere le
sinapsi.
Per tale motivo è stato necessario effettuare prima del disegno dei layout
dei singoli moduli, lo studio e la definizione dei percorsi dei segnali, della loro
distribuzione, e della schermatura con piani di alimentazioni.
2.3.2
Mismatch dei parametri e simulazione montecarlo
Una delle peculiaretà dei circuiti neuromorfi è quella di lavorare in regime di
sotto soglia. Questo si traduce nella necessità di impostare correnti di lavoro
molto basse, tipiche della zona weak-invertion dei transistor mosfet. Se per
un verso questo comporta il vantaggio dei bassi consumi, per contro si deve
affrontare l’inevitabile problema della dispersione dei parametri tecnologici
nel wafer di silicio da cui verrà prodotto il chip.
Molteplici e svariate ne sono le cause, per lo più determinate dai processi di fabbricazione: ad esempio l’inevitabile non perfetta omogeneità dello
spessore dell’ossido di silicio provoca una capacità di gate specifica per unità
39
2.3. Vincoli tecnologi, flusso di progetto e tecniche di progettazione
di superfice del mosfet che può differire da un dispositivo ad un altro; analogamente la frazione di drogaggio del silicio avrà una certa caratteristica
distribuzione sull’area del chip. Tutte queste disomogeneità si traducono,
operativamente, in una varianza non trascurabile nella distribuzione dei valori dei parametri dei dispositivi intrinseca alla tecnologia. Un aspetto importante di cui deve tener conto il progettista, è che alcuni di questi effetti
negativi dipendono dalla dimensione dei dispositivi, in particolare dal rapporto delle dimensioni fisiche del dispositivo con la dimensione minima imposta
dalla tecnologia. Questo fenomeno è dovuto sostanzialmente alla precisione
delle maschere di layout con cui vengono prodotti i dispositivi. La prima
ovvia strategia per ridurre questi effetti indesiderati è quella di disegnare
dispositivi con le dimensioni abbastanza più grandi di quelle minime.
Un grande ausilio per valutare quantitativamente queste problematica
viene dalla possibilità di usare la simulazione montecarlo. Questa permette
di avere un’ idea di come sarà la distribuzione di uno o più segnali prodotti dai
nostri circuiti al variare dei parametri tecnologici. I modelli di simulazione
sono forniti dalla fonderia stessa con il design-Kit.
L’analisi montecarlo consiste in una procedura automatica di esecuzione
di un numero definibile di iterazioni che non sono altro che simulazioni ripetute del tipo desiderato (transiente, dc o altro) con parametri che cambiano
da iterazione ad iterazione. I parametri per la simulazione utilizzati non sono
quelli tipici, ma viene generato un set di parametri diversi in ogni simulazione.
La generazione del valore di ciascun parametro avviene con un meccanismo
pseudorandom che genera valori concordemente alla distribuzione statistica
del parametro tecnologico fornita dalla fonderia.
Sono disponibili due modalità fondamentali di utilizzo
• mismatch tra dispositivi dello stesso chip
La distribuzione statistica si applica a istanze diverse dello stesso tipo di dispositivo. Questa modalità da indicazioni del comportamento
del circuito in cui dispositivi definiti inizialmente identici a livello di
descrizione schematica, hanno invece differenti valori di parametri.
• mismatch tra dispositivi di chip diversi
La distribuzione statistica si applica globalmente e rappresenta variazioni di processo da chip a chip.
Verrà mostrato più avanti nel Cap.3 l’utilizzo di tale strumento di verifica
per la definizione di alcuni parametri di progetto, relativi alla sinapsi.
40
Capitolo 2. Hardware neuromorfo e VLSI in tecnologia CMOS
2.4
Il processo di fabbricazione
In questa sezione si da cenno dei processi industriali che sono alla base della
fabbricazione dei dispositivi VLSI, con riferimento particolare alla tecnologia
CMOS n-well che è quella con cui è stato realizzato il chip del presente lavoro.
Tutti i processi iniziano con un singolo pezzo di silicio monocristallino. La
maggior parte dei metodi di accrescimento sono basati sul metodo sviluppato
da Czochralski nel 1917.
Il singolo pezzo di silicio (seme) viene immerso in un crogiolo contenente
silicio con impurità che possono essere P, As o Sb per il substrato P oppure
B, Al o Ga per un substrato N . La temperatura nel crogiolo è di poco
superiore a quella di fusione del silicio. Il seme viene contemporaneamente
tirato fuori e ruotato e poichè la temperatura della sua superfice è di poco
inferiore a quella di fusione, il silicio drogato solidifica con la stessa struttura
cristallina del seme. Il livello di drogaggio è in genere approssimativamente
1015 atomi di impurità per cm2 . Il cristallo di forma cilindrica che ne risulta
ha un diametro di 75 − 300 mm ed è lungo circa 1 metro. Viene tagliato in
wafer (fette) dello spessore di circa 0.5 − 0.7 mm.
La creazione dei vari dispositivi attivi e passivi sul substrato richiede
diversi passaggi legati a diverse tecniche di lavorazione per
creare i differenti drogaggi (zone attive) dei MOSFET
depositare i diversi materiali isolanti (come il SiO2 ) e conduttori (come
polisilicio e metalli per le connessioni.
I vari processi sono applicati in maniera selettiva su insiemi di aree ben
definite tramite un processo fotolitografico. Le maschere fotolitografiche vengono prodotte a partire da files generati dal progettista del dispositivo tramite
ogni tipo di software di C.A.D.7 di sviluppo VLSI.
I passi principali e le tecniche di base sono
• ossidazione: è il processo di accrescimento dell’ossido sulla superfice
del wafer.
Serve sia a proteggere i materiali sottostanti da contaminazione che a
fornire l’isolamento tra due layer conduttivi. Due diverse tecniche sono
usate per ottenere spessori diversi:
a secco per ottenere uno spessore molto sottile (100 ÷ 1000 Å)
7
Computer Aid Design
41
2.4. Il processo di fabbricazione
in atmosfera umida per ottenere uno spessore più grande (> 1000Å)
• diffusione termica: è uno dei metodi per drogare il substrato. Consiste
nel movimento per diffusione delle impurità, dall’ambiente ad alta concentrazione al silicio che può avvenire se la temperatura dell’ambiente
e superficiale è intorno a 800 ÷ 1400 ◦ C
• impiantazione ionica : è un altro metodo per drogare il substrato.
Consiste nell’accelerare le impurità in un fascio che viene sparato sul
silicio. Avviene a temperature più basse della tecnica di diffusione.
• deposizione: è la modalità con cui vari materiali possono essere depositati sul wafer di silicio, come ad esempio
Silicon Nitride (Si3 N4 )
biossido di silicio (SiO2 )
alluminio
polisilicio
le tecniche usate per la deposizione sono svariate: dalla deposizione con
vapori chimici (CVD) alla deposizione vapor-chimica a bassa pressione
(LPCVD) e altre ancora
• etching è il processo che rimuove selettivamente un materiale
Come esempio viene riportato il caso della realizzazione di un nmos.
42
Capitolo 2. Hardware neuromorfo e VLSI in tecnologia CMOS
Figura 2.8: (tratta da [24]) Creazione di una maschera di ossido - A partire dall’alto: preparazione del wafer; deposizione dell’ossido e successivamente del fotoresist materiale
sensibile alla luce; posizionamento della maschera fotografica ed esposizione a raggi ultravioletti, la parte esposta polimerizza e può essere successivamente rimossa; rimozione
dell’ossido
43
2.4. Il processo di fabbricazione
Figura 2.9: (tratta da [24]) Creazione di un nmos nel substrato p - A partire dall’alto:
deposizione ossido spesso; deposizione ossido sottile; deposizione polisilicio; drogaggio n+ delle aree attive con tecnica di diffusione oppure impiantazione; deposizione di
ossido; deposizione dell’alluminio dei contatti
44
Capitolo 3
Realizzazione elettronica
L’intero lavoro di progettazione hardware è frutto di una collaborazione
europea nell’ambito del progetto ALAVLSI 1
tra il gruppo di Roma che comprende
il gruppo del dipartimento di Fisica e sezione I.N.F.N. di Roma2
il gruppo afferente al gruppo INFN collegato di Sanità dove tra l’altro
sono stati e vengono sviluppati anche i modelli teorici trattati e tutta la
piattaforma dei sistemi di test.
con l’Istituto di Neuroinformatica dell’ Università di Zurigo (Svizzera).
In particolare il circuito del neurone I.F. utilizzato e parte degli elementi
AER sono stati sviluppati presso quest’ultimo.
Questa realizzazione segue una prima esperienza di studio e realizzazione
di una rete neuronale ricorrente connessa da sinapsi plastiche con memoria
lungo termine, con il chip lann21 precedentemente progettato e realizzato da
questo gruppo [27].
Utilizzando l’esperienza acquisita dal dispositivo lann21 sia in termini
di verifica dei modelli neuronali rappresentati, sia in termini di know-how
nella progettazione VLSI, la presente realizzazione si prefigura come un ulteriore passo in avanti nella modellizzazione delle reti neuronali e della loro
implementazione in hardware.
Diverse sono le caratteristiche innovative introdotte rispetto al precedente
dispositivo. La natura di queste novità è presente sia in termini di arricchimento dei modelli teorici rappresentati che di miglioramento della versatilità
e della funzionalità del dispositivo, come viene illustrato nel dettaglio più
avanti.
1
Attend-to-learn and learn-to-attend with neuromorphic analogue VLSI. Progetto
europeo che si pone come obbiettivo lo sviluppo di architetture per la percezione e
l’apprendimento e la loro implementazione in hardware analogico VLSI
45
3.1. Topologia della rete
3.1
Topologia della rete
Nella figura 3.1 è rappresentata la topologia del core analogico del chip ovvero
della rete ricorrente di Neuroni e Sinapsi. In questa sezione si vuole mettere
in evidenza l’ organizzazione generale della rete ed il fatto che gli elementi
neuronali: neurone, sinapsi, e albero dendritico non hanno una esatta corrispondenza topologica con i moduli di questa implementazione hardware.
Questo a motivo dell’ottimizzazione topologica e funzionale dei layout. I
singoli moduli saranno dettagliatamente illustrati nelle sezioni successive.
Spike riformato
Modulo
Sinapsi
Selezione
Modulo
Calcio-Compara
Syn
Dendriti
Generazione
variabile Calcio
Shaper (i)
Neurone (i)
Sistema
comparatori
Spike riformato
Modulo
Sinapsi (i-j)
Selezione
Modulo
Calcio-Compara
Syn
Dendriti
Generazione
variabile Calcio
Sistema
comparatori
Bus digitale
MATRICE SINAPTICA
Contributo sinaptico
Shaper (j)
Neurone (j)
Spike
Potenziale di soma
COLONNA NEURONI-SHAPER-CALCIO
Figura 3.1: Topologia della rete ricorrente. A destra è rappresentata una porzione della
colonna da 32 Neuroni-Shaper-Calcio-Compara: la riga i e la riga j mentre a sinistra la
riga j della matrice sinaptica 32x32. I segnali sottili sono digitali mentre quelli più spessi
sono analogici.
Nel cap.1 è stata evidenziata la necessità di avere nella matrice di connessione sinaptica un certo numero di sinapsi plastiche e un certo numero di
quelle inibitorio. Un ulteriore grado di libertà dimostrato da studi teorici,
46
Capitolo 3. Realizzazione elettronica
consiste nella percentuale di connettività della rete che può essere ridotta
(diluizione della matrice sinaptica) pur mantenendo sostanzialmente tutte le
caratteristiche peculiari della rete stessa.
La diluizione della matrice sinaptica è stato, ed è, un argomento di
interesse nello studio delle reti neuronali.
In questo scenario si è pensato di fornire questa rete della possibilità
di avere la matrice sinaptica di connessione tra i neuroni completamente
riconfigurabile.
Ciascuna dalle sinapsi della matrice ricorrente Sji che connette il neurone
postsinaptico Nj al presinaptico Ni è definibile per mezzo del sistema di
controllo ogni qual volta prima dell’inizio di un test come
1. eccitatoria (plastica)
2. inibitoria (fissa, non plastica)
3. disconnessa
Un’altra novità introdotta è la possibilità di poter selezionare globalmente
la dinamica di apprendimento presente nella lann21.
L’intero core della matrice ricorrente, è organizzata in due zone
• una colonna di 32 righe composte dal Neurone, dal modulo CalcioCompara e dallo Shaper.
• una matrice quadrata di 32 ∗ 32 sinapsi
Il blocco Syn posto all’interno del modulo Sinapsi insieme ai due blocchi
Generazione della variabile Calcio e Sistema comparatori posti
all’interno del modulo Calcio-Compara, rappresentano la sinapsi del modello
che si vuole implementare.
La sinapsi raffigurata è quella che connette in neurone presinaptico i con
il neurone postsinaptico j.
Il blocco Dendriti posto all’interno del modulo Sinapsi realizza l’iniezione dell’impulso di corrente in coincidenza con l’arrivo del neurone presinapico
i, posto nella i − esima riga.
Il blocco Selezione è l’elemento digitale, programmato da un controller
esterno al chip, che determina il tipo della sinapsi Sji .
47
3.2. Circuiti base CMOS utilizzati
Quando il neurone emette uno spike è il blocco Shaper che si occupa di
produrre un impulso finito di durata definibile adatto a pilotare la dinamica
sinaptica.
Questa scelta topologica rende molto semplice e compatta la distribuzione
dei segnali. Inoltre lo spostamento del modulo di comparazione della sinapsi
fuori della sinapsi stessa, implica un evidente notevole risparmio di silicio
rispetto alla soluzione di replicare il modulo per le N − 1 sinapsi della riga,
visto che i segnali di input sono comuni a tutte le N − 1 sinapsi della riga.
Ciascuno dei 32 segnali spikes viaggia in verticale, sopra la colonna di sinapsi (per chiarezza nella figura lo spike è disegnato sulla sinistra del Modulo
Sinapsi). La connessione del conduttore di spike della riga i − esima con la
colonna i − esima relativa avviene con un collegamento locale nel punto di
incrocio. Lungo la riga j − esima corrono
• lo spike da collegare alla colonna corrispondente
• un bus di due segnali digitali generati dal Modulo Calcio-Compara per
pilotare la dinamica sinaptica di tutte le sinapsi della riga
• la linea analogica che raccoglie tutti i contributi delle sinapsi della riga,
che si può dunque pittoricamente identificare con l’albero dendritico.
La connessione elettrica tra le dendriti è diretta perchè la somma si
effettua in corrente. Questa stessa linea è una estensione di un polo
della capacità soma, ovvero il potenziale sul ramo dendritico è proprio
il potenziale di soma.
3.2
Circuiti base CMOS utilizzati
Si descrivono in primo luogo i sottocircuiti analogici di base che sono stati
ampiamente usati nel ruolo di mattoni per realizzare le funzionalità dei circuiti analogici complessi del chip. In tutti gli schemi presentati la tensione
Vdd si riferisce alla tensione di alimentazione positiva del chip che nella tecnologia usata è di 3.3V . Nella figura 3.2 sono mostrati i simboli utilizzati per
i mosfet di tipo p e di tipo n.
nmos
pmos
Figura 3.2: Simboli schematici del mosfet n e del mosfet p
48
Capitolo 3. Realizzazione elettronica
3.2.1
Interruttore
Vdd
I
carico
Vin=3.3 -> on
Vin=0 -> off
nmos
Figura 3.3: Semplice interruttore
La più semplice funzione realizzabile con un solo mosfet, è l’interruttore
analogico. Nella figura 3.3 è raffigurata la versione a nmos, quella a pmos è
del tutto analoga con il source del mosfet p a Vdd e il carico verso massa.
Questa è una versione particolare in cui il source si trova a potenziale più
basso (o più alto per il pmos); in realtà l’interruttore si può posizionare tra
due carichi qualunque, ma questa versione è quella usata nella stragrande
maggioranza dei circuiti realizzati.
La tensione di gate Vg che determina i due stati possibili ON e OFF
assume rispettivamente i due valori estremi Vdd e zero, tale tensione di
controllo dell’interruttore si può quindi assumere essere digitale.
• Stato ON: Vds è piccola, il mosfet è in zona lineare: Vgs − Vds > Vt
I ' β(Vg − Vt )(Vd − Vs )
Il valore della resistenza equivalente si trova essere
Ron =
Vds
=
I
1
µCox W
(Vgs
L
− Vt )
e puo’ assumere valori relativamente bassi dell’ordine delle decine-centinaia
. Semplificando molto, si può afdi ohm in dipendenza del rapporto W
L
fermare che è il carico che limita (e determina) la corrente che circola
nel ramo se questa assume valori non elevati, come nel caso di circuiti
di carico impostati per lavorare sotto-soglia.
49
3.2. Circuiti base CMOS utilizzati
• Stato OFF: Vg è nulla, il mosfet è in zona di cut-off: la corrente è
praticamente nulla essendo ridotta alla sola corrente di leakage 2 .
Rof f −→ ∞
3.2.2
Generatore di corrente
Vdd
I
carico
Vadj
nmos
Figura 3.4: Semplice generatore di corrente
È identico all’interruttore precedente illustrato, qui però il valore di tensione applicato è un parametro continuo che determina la corrente che scorre
nel carico, se la limitazione imposta dal carico stesso non è prevalente, il
che corrisponde ad affermare che la maggior parte della tensione cade nel
generatore stesso e che quindi il mosfet si trova ad operare in saturazione
(Vds > 4 Ut in regime sottosoglia). In tali condizioni, come già visto, si ha
sotto-soglia
Vds
)
Ve
Il secondo termine tiene conto dell’effetto Early e produce uno scostamento dalla condizione ideale di corrente indipendente da Vds quanto più è
piccola, in valore assoluto, la tensione di Early Ve . Per tenerla ragionevolmente bassa la strategia usata è quella di stabilire per la lunghezza di canale
L un valore sensibilmente superiore alla minima di 0.35µ. Occorre trovare un
compromesso affinchè la lunghezza non sia troppo grande perchè questo implicherebbe uno spreco eccessivo di silicio. Sono state effettuate simulazioni
Spectre e si è trovato che il valore oltre il quale non ci sono miglioramenti apprezzabili è intorno a L = 1 µ. Il valore impostato di norma per la lunghezza
è L = 1 µ e per la larghezza L = 1.4 µ.
I = I0 e
2
kVg −Vs
UT
Leakage current: corrente di perdita
50
(1 +
Capitolo 3. Realizzazione elettronica
3.2.3
Invertitore logico
Vdd
Vin
Vout
Figura 3.5: Semplice invertitore logico
Se si considera la tensione in ingresso come digitale, ovvero circa 0V per
lo stato 0 e circa Vdd per lo stato 1, si vede che questo circuito realizza la
funzione logica N OT . Con un approccio semplificato si osserva che questo
circuito è formato da due interruttori complementari che hanno in comune
l’ingresso e l’uscita. Quindi per quanto visto sopra per l’interruttore:
• Vin = 0 il mosp è in zona lineare e il mosn è in zona cut-off Vout ≈ Vdd
• Vin = 3.3 il mosn è in zona lineare e il mosp è in zona cut-off Vout ≈ 0
Una analisi poco più approfondita richiede di osservare come questo semplice
circuito si comporti durante la fase di commutazione da 1 a 0 o viceversa della
tensione di ingresso. Una analisi statica del circuito, ovvero che non tenga
conto degli effetti dinamici delle variazioni di tensione, porta ad osservare
quanto segue. I due parametri che entrano in gioco sono le due tensioni di
soglia Vtn e Vtp rispettivamente del mosfet n e del mosfet p. Le due tensioni
di soglia non sono in genere uguali in valore assoluto ma sono comunque
inferiori a V2dd , quindi si può considerare 0 < Vtn < V2dd < Vtp < Vdd .
Di conseguenza tutto il campo dei valori di Vin si può suddividere in
cinque regioni interessanti
• 0 ≤ Vin ≤ Vtn il mosp è in zona lineare e il mosn è in zona cut-off
• Vtn ≤ Vin ≤
• Vin =
•
Vdd
2
Vdd
2
il mosp è in zona lineare e il mosn è in saturazione
i mosfet sono entrambi in saturazione
Vdd
2
≤ Vin ≤ Vdd − Vtp il mosp è in zona saturazione e il mosn è in zona
lineare
51
3.2. Circuiti base CMOS utilizzati
• Vin ≥ Vdd − Vtp il mosp è in zona di cut-off e il mosn è in zona lineare
Si può definire una tensione Vcomm di soglia dell’inverter come quel valore
di Vin per cui la tensione Vout vale V2dd . Se si impostano le dimensioni dei
mosfet uguali, la tensione di soglia dell’inverter si discosta dal valore centrale
perchè le tensioni di soglia Vtn e Vtp sono diverse a causa della differente
mobilità delle lacune rispetto a quella degli elettroni. Una regola grossolana,
spesso usata, per raggiungere una maggior simmetria è quella di realizzare il
mosp di larghezza (W ) doppia rispetto al mosn.
Figura 3.6: Funzione di trasferimento di un inverter CMOS in tecnologia AMS 0.35µ, in
una simulazione Spectre-CADENCE. Le dimensioni del mosn sono per la curva a sinistra:
L = 0.35µ , W = 0.4u, del mosp sono L = 0.35µ , W = 0.4u (entrambi minime); e per
la curva a destra: L = 0.35µ , W = 0.8u. La tensione di soglia dell’inverter è intorno a
1.2 V nel primo caso e 1.4 V nel secondo. Nella zona centrale la corrente è dell’ordine dei
20 − 40 µA
Nella figura 3.6 è riportata la funzione di trasferimento in una simulazione
Spectre di un inverter costituito con mosfet della tecnologia usata, con due
valori di larghezza del mosfet p, un primo uguale al mosfet n e un secondo
pari al doppio della larghezza del mosfet n. Si può osservare la migliore
posizione della tensione di soglia dell’inverter nel secondo caso.
Il massimo valore di corrente si ha quando la tensione di ingresso è intorno
a Vcomm per Vtn ≤ Vin ≤ Vdd − Vtp valendo:
Imax =
β
(Vg − Vt )2
2
52
Capitolo 3. Realizzazione elettronica
Questo valore non è trascurabile in quei casi in cui la tensione in ingresso
varia piuttosto lentamente nel passaggio intorno alla soglia, perchè la potenza
media dissipata per unità di tempo aumenta considerevolmente.
3.2.4
Specchio di corrente
Vg=Vd1
Vd2
Iin
Iout
m1
m2
Figura 3.7: Specchio di corrente
Con questa semplice configurazione è possibile, in prima approssimazione
senza tener conto dell’effetto Early, replicare la corrente I1 nella I2 se i mosfet
m1 ed m2 sono perfettamente identici dato che hanno la stessa tensione di
gate.
Tenendo conto dell’effetto Early si può facilmente verificare (vedi 2.13)
che ancora Iin = Iout se Vd1 = Vd2 , quest’ultima però non è sempre una
approssimazione accettabile. Quindi dove è richiesta una limitata deviazione
della corrente specchiata occorre dimensionare i mosfet per ridurre al minimo
la modulazione di canale.
Nel caso che m1 e m2 abbiano dimensioni diverse, nel calcolare la corrente di uscita, senza tener conto dell’effetto Early si attua un semplice
riscalamento.
L1 W 2
Iout
=
Iin
W1 L2
Lo specchio di corrente meglio approssima un generatore ideale di corrente nel regime sotto-soglia piuttosto che in quello sopra soglia perchè in
quest’ultimo si ha il vincolo della dipendenza dalla Vg per stare in saturazione ed inoltre l’effetto Early è più marcato essendo più piccolo il valore
assoluto della tensione Early.
53
3.2. Circuiti base CMOS utilizzati
Vin
m1
Vout
Vb
mb
Vs
Figura 3.8: Source follower
3.2.5
Source Follower
Il source follower ha la caratteristica fondamentale di avere una alta impedenza di ingresso e una bassa di uscita. Si realizza con un generatore di
corrente fissata mb connesso al source del mosfet m1 operante in saturazione.
Nel regime sotto soglia si dimostra che [20]
Vout = kn Vin − kb Vb + Vs
assumendo che i due transistor abbiano le stessa dimensioni.
Degna di nota è la linearità di Vout con Vin con il fattore kn < 1 e l’offset
in uscita regolabile dalla corrente di bias impostabile tramite Vb .
3.2.6
Amplificatore a transconduttanza
Una coppia differenziale m3 m4 è connessa in serie ad uno specchio di corrente. La corrente Ib = I3 + I4 è impostata dal generatore di corrente mb .
Poichè le correnti I1 e I2 sono specchiate si ha Iout = I3 − I4
Nel regime sotto-soglia segue che
Iout = Ib
kV1
kV1
kV1
UT
kV1
UT
e UT − e UT
e
+e
= Ib tanh[
k
(V1 − V2 )]
2UT
(3.1)
Per piccoli valori di tensione differenziale si ha
Iout ≈ gm (V1 − V2 ) dove gm =
Ib k
è al transconduttanza
2UT
Dunque questo circuito amplifica la differenza di potenziale tra i due ingressi
e sotto certe condizioni, l’uscita dipenda poco dal segnale di modo comune 3 .
3
Il segnale di modo-comune corrisponde alla semisomma dei due segnali di ingresso
54
Capitolo 3. Realizzazione elettronica
Vdd
Vdd
I1
I2
m1
m2
Vout
I3
V1
I4
m3
V2
m4
Vs
Ib
Vb
mb
Figura 3.9: Semplice amplificatore a transconduttanza
Come descritto sopra l’amplificatore a transconduttanza è un convertitore
tensione−dif f erenziale ⇒ corrente. Esso può essere anche usato a circuito
aperto come amplificatore differenziale. In questo ambito e nel regime sottosoglia si trova che il guadagno in tensione vale
A≈
kn VE
2UT
dove VE è la tensione di Early dei transistor m3 e m4 . Poichè Vout cresce
all’aumentare di V1 e al diminuire di V2 il primo ingresso è chiamato noninvertente mentre il secondo invertente. I valori tipici di guadagno oscillano
tra 100 e 1000.
Questo semplice circuito non è normalmente usato come amplificatore
invertente a causa del mismatch tra i parametri e il guadagno cosı̀ elevato.
Si presta bene invece all’uso come comparatore.
Una forte limitazione all’uso esteso di questa più semplice versione di
amplificatore a transconduttanza è costituita dal fatto che la tensione di
uscita Vout ha un range limitato. In particolare si può dimostrare che [20] il
valor minimo di Vout è Voutmin ≈ kn V1 − kb Vb + UT ln(2) ovvero la tensione di
uscita è di poco inferiore a V1 .
55
3.2. Circuiti base CMOS utilizzati
Nel presente progetto varianti di questo circuito sono stati usati per la
realizzazione della modulo sinapsi e del modulo Sinapsi e Regola-Calcio.
3.2.7
Amplificatore a transconduttanza wide-range
Una prima variante utilizzata è illustrata nella figura 3.10 Questa non ha le
forti limitazioni sul range di uscita indicate precedentemente. La corrente
del ramo di uscita è specchiata 2 volte cosı̀ il ramo di uscita è simmetrico e
disaccoppiato dallo stadio di uscita Questo circuito è utilizzato come elemento
del circuito di refresh della sinapsi, nella relativa sezione ne verrà illustrata
la funzionalità specifica.
wide
Vdd
Vn
Vp
m5
Vn
m1
m2
m3
m4
Vb
m6
Vout
Vp
m7
m8
Vb
mb
Figura 3.10: Amplificatore a transconduttanza wide-range e suo simbolo
3.2.8
Comparatore Open-Loop p a due stadi
Questo circuito è un’altra configurazione classica [22] che sfrutta l’amplificatore a transconduttanza.
La versione di amplificatore quı̀ rappresentata è quella complementare
(coppia differenziale p), ma nulla cambia se si riferiscono le tensioni a Vdd
piuttosto che a massa. Il secondo stadio è un sostanzialmente un inverter
realizzato con un generatore di corrente mp collegato in configurazione a
56
Capitolo 3. Realizzazione elettronica
drain comune con il mn . Poichè nei due transistor scorre la stessa corrente,
una piccola variazione di ∂Vgn produce una notevole variazione di ∂Vout nella
direzione opposta. Il guadagno An rispetto all’ingresso del mosfet n può
essere stimato dall’effetto Early come segue
An ≡
∂Vout
kp Vne Vpe
=−
V
UT Vne + Vpe
con kn e kp sono i fattori di pendenza sotto soglia e Vne , Vpe le tensioni Early
dei mosfet n e p rispettivamente.
comp_p
Vdd
A
B
m1
B
m2
Vbp
m3
A
m6
Vout
m4
m5
m7
Figura 3.11: Comparatore a due stadi e suo simbolo
Questo circuito viene utilizzato come semplice elemento di comparazione
nei moduli Sinapsi e Calcio-Compara. L’introduzione di due elementi a soglia
in serie rende soddisfacente la risposta del sistema avvicinandola ad una
funzione gradino.
Le dimensioni dei mosfet con funzioni di specchi di corrente e generatori di
corrente, ovvero m1 , m4 , m5 , m6 , hanno dimensioni superiori a quelle minime
per le considerazioni fatte sull’effetto Early. Il mosfet m7 ha dimensioni
minime mentre la coppia differenziale ha dimensioni L minime e W uguale
ai mosfet sottostanti.
Nella figura 3.12 è mostrata, in una simulazione, la funzione di trasferimento del circuito realizzato.
Un ulteriore vantaggio dell’utilizzo di questo secondo stadio inverter è che
la corrente del ramo del secondo stadio è limitata e controllata dalla stessa
tensione di bias dell’amplificatore a transconduttanza.
57
3.2. Circuiti base CMOS utilizzati
Figura 3.12: Funzione di trasferimento del comparatore p a due stadi in una simulazione
Spectre-CADENCE. L’ingresso A (non invertente) è stato fissato a 1.7V , mentre l’ingresso
B (invertente) varia da 0 a 3.3 V , ed è rappresentato dai valori dell’ascissa (mappati anche
sulla retta a 45 gradi). L’ordinata riporta la corrispondente tensione di uscita. L’ampiezza
della zona di transizione della tensione di ingresso per passare dal livello logico basso a
quello alto è di circa 65mV . Fuori dalla zona di transizione i valori alto e basso in uscita
sono sostanzialmente a Vdd e zero
3.2.9
Comparatori Open-Loop p ed n a due stadi con
abilitazione
I due circuiti descritti in questa sezione servono a realizzare la funzione logica
del modulo Calcio-Compara, e sono stati ottenuti modificando opportunamente il comparatore classico Comparatore Open-Loop p a due stadi sopra
descritto ed il suo complementare n.
Consideriamo il comparatore p con abilitazione.
I due mosfet aggiunti m8 e m9 , sono in parallelo tra loro e con m7 . I
segnali En1 e En2 , devono essere segnali digitali, in questo caso i due mosfet
si comportano da interruttori. Quando En1 e En2 sono non-attivi, ovvero
bassi il comportamento è identico a quello descritto nel paragrafo precedente. Viceversa quando almeno uno tra i due segnali è attivo (alto), il gate del
mosfet m7 viene cortocircuitato e quindi va in zona cut-off, di conseguenza
l’uscita è tenuta alta da m6 indipendentemente dal risultato della comparazione. Si noti che la corrente, in m3 dello stadio di ingresso, è limitata dal
generatore di corrente m1 regolato da Vb .
Analogo ragionamento vale per la versione complementare p, tenendo
conto che i due mosfet aggiunti m8 e m9 sono di tipo p e che dunque sono
attivi (accesi) con En1 e En2 bassi.
L’ingresso A è il non-invertente in entrambi i circuiti p ed n.
58
Capitolo 3. Realizzazione elettronica
A
Vdd
B
m1
En1
En2
comp_p_EN
Vbp
B
m2
m4
m3
A
m6
En1
En2
m5
m8
m9
m7
Figura 3.13: Comparatore p a due stadi con abilitazione e suo simbolo
In definitiva si ha
! (En1 # En2 ) VA , VB
1
VA < VB
1
VA > VB
0
/
Vout
0
1
1
Tabella 3.1: Comparatore p. È sufficente che solo uno dei due segnali di abilitazione sia alto per bloccare il comparatore, il controllo per l’attivazione del
comparatore è quindi fornito dalla funzione booleana OR (#) negato (!) tra i
due segnali
3.3
En1 & En2
1
1
0
VA , VB
VA < VB
VA > VB
/
Vout
0
1
0
Tabella 3.2: Comparatore n. È sufficente
che solo uno dei due segnali di abilitazione sia basso per bloccare il comparatore, il controllo per l’attivazione del comparatore è quindi fornito dalla funzione
booleana AND (&) tra i due segnali
La sinapsi
All’inizio di questo capitolo è stata descritta la topologia generale del core
della rete. Si descrive ora nel dettaglio come e dove si mappano le equazioni,
le regole e i vincoli del modello della sinapsi con i rispettivi moduli hardware.
Si parta dalla regola di apprendimento descritta nel cap. 1 per analizzare
nel dettaglio i circuiti che la realizzano.
59
3.3. La sinapsi
Vdd
A
En1
m4
m5
B
En2
m8
m9
En1
En2
comp_n_EN
m7
B
m2
m3
Vout
A
Vbn
m6
m1
Figura 3.14: Comparatore n a due stadi con abilitazione e suo simbolo
La generazione della variabile Calcio C(t) della 1.2 deve leggere solo lo
spike post-sinaptico
⇒ viene realizzata dal blocco Generazione variabile Calcio.
Le disuguaglianze nella 1.3 hanno come ingresso la variabile Calcio C(t)
e il potenziale del neurone postsinaptico Vp
⇒ vengono realizzate dal blocco Comparatori.
I blocchi sopra descritti si trovano all’interno del modulo denominato
Calcio-Compara, accanto al neurone.
Il risultato della comparazione è una informazione a tre possibili stati che
si può cosı̀ convenientemente ridefinire
1. stato a è soddisfatta la prima delle 1.3
2. stato b è soddisfatta la seconda delle 1.3
3. stato null nessuna delle condizioni 1.3 è soddisfatta
Questo stato è mappato in bus digitale a due bit denominati UP e DOWN.
Questo viene trasportato lungo la riga della matrice sinaptica a ciascuno
dei moduli Sinapsi appartenenti all’albero dendritico del relativo neurone.
Ciascuno dei moduli sinaptici riceve il relativo spike da ciascuno degli altri
neuroni pre-sinaptici.
60
Capitolo 3. Realizzazione elettronica
Il modulo Sinaptico contiene il circuito che realizza la dinamica della variabile X(t) ovvero l’azione rappresentata dalla parte sinistra delle 1.3 (circuito hebbiano). Questo è nel blocco Syn, che comprende anche il meccanismo
di refresh della X(t) rappresentato dalle 1.4, ed il circuito di clipping della
variabile X(t) indicato all’inizio del cap 1.
Il blocco Dendrite contiene i due tipi di dendrite, quella plastica eccitatoria e quella inibitoria, selezionabili localmente per ogni sinapsi per mezzo
del blocco Selezione.
3.4
Il modulo Sinapsi
BLOCCO SELEZIONE
Datain
b1
D Q
b0=Dataout
D Q
Q
Vdd
Vdd
BLOCCO DENDRITI
Q
Vdd
NReset
Clockout
NSpike
Clockin
Spike
NSpike
θX
b0
comp_p
J_
A
UP
vu
vd
θX
X(t)
B
wide
Vn
Vp
circuito di clipping
DJ
Uscita
Vb
Jinib
Vb_refr
Csyn
b1
DOWN
circuito di refresh
Spike
circuito hebbiano
elemento di
memoria
BLOCCO SYN
Figura 3.15: Schema del modulo Sinapsi
La variabile analogica sinaptica X(t) è il potenziale ai capi della capacità
Csyn . Tale capacità vale circa 220 f F . La soglia θX è usata per il circuito di
refresh oltre che per il clipping.
61
rami
eccitatori
ramo
inibitorio
3.4. Il modulo Sinapsi
3.4.1
Circuito di refresh
Il termine di refresh indicato nelle 1.4 è realizzato dall’amplificatore widerange. Il terminale invertente è alla soglia fissa θX mentre l’altro è sulla X(t)
che è chiuso in feedback positivo sull’uscita.
Si faccia riferimento alla figura 3.10 del circuito interno del bistabile.
È stato mostrato che nell’amplificatore a transconduttanza è sufficente una
piccola differenza di tensione affinchè la corrente raggiunga il valore di saturazione aumentando poi molto poco all’aumentare della differenza di tensione.
A causa del feedback positivo la tensione X(t) sulla capacità Csyn
• sarà portata verso massa se X(t) < θX
• sarà portata verso Vdd se X(t) > θX .
Nel primo caso la corrente che scarica la capacità scorre attraverso m8 specchiata da m7 ovvero dal ramo di sinistra dell’amplificatore. Nel secondo caso
è il ramo di destra ad essere attivo e la corrente specchiata in m6 da m2
carica la capacità. In entrambi le zone finchè X(t) non approssima i relativi
asintoti, la corrente che entra (o esce) dall’amplificatore è pressochè costante
nei due versi ed è definita dal generatore mb , che determina la corrente Ileak
di bias tramite la tensione di controllo Vb e dal rapporto di specchio Rs di
m2 ⇔ m6 (o m1 ⇔ m5 ), essendo i rami destro e sinistro simmetrici. Si ha
quindi
Ileak Rs
X(t) = X(0) −
t se X(t) < θX
Csyn
X(t) = X(0) +
Ileak Rs
t se X(t) > θX
Csyn
Vicino all’asintoto Vas (0 o Vdd ), ovvero per |X(t) − Vas | < 4UT la X(t)
approssima l’asintoto esponenzialmente, perchè la corrente non è più costante ma invece tende a zero. Questa perturbazione rispetto alle prescrizioni del
modello non è significativa perchè queste due zone sono piccole se paragonate
all’intero range dinamico disponibile di quasi 3.3
V , quindi la si può tratta2
re come un riscalamento efficace dei valori di massimo (minimo) del range,
in considerazione anche del fatto che l’effetto sul neurone post-sinaptico è
ridotto a due soli valori dal clipping.
Nella figura 3.16 è presentato il grafico di una simulazione della X(t)
durante il refresh verso l’alto e verso il basso.
La problematica maggiore legata alla definizione dei parametri per questo
circuito è dovuta per lo più alla necessità di dover impostare correnti molto basse, perchè i tempi caratteristici della dinamica sinaptica devono essere
62
Capitolo 3. Realizzazione elettronica
X(t)
Figura 3.16: Meccanismo di refresh in una simulazione Spectre-CADENCE del circuito
realizzato. Inizialmente X(t) è sopra la soglia (1.7 V ), sale a Vdd con pendenza α, permane
su questo valore finchè non arriva uno spike pre-sinaptico (in corrispondenza del salto
verso il basso), il salto b relativo è regolato appositamente molto elevato cosı̀ da superare
la soglia. da questo istante la variabile tende a zero con pendenza beta.
sensibilmente più lunghi di quelli del neurone. Il tempo da confrontare è quello per cui si ha l’attraversamento di di tutto il range dalla soglia all’asintoto
(tipicamente 1.75 V → 3.3 V e 1.75 V → 0 V ). I tempi sono dell’ordine delle
decine-centinaia di ms. L’aspetto critico che si presenta quando si impostano
correnti molto basse è quello del mismatch dei parametri di processo. Se non
affrontato correttamente, la distribuzione delle pendenze di refresh potrebbe
essere inaccettabile.
I parametri che si possono impostare in modo mirato per ridurre quanto
possibile questo problema sono le dimensioni dei mosfet.
Come accennato nel Cap.2, la simulazione montecarlo ci permette di definire fino a che dimensione è utile aumentare le dimensioni dei mosfet per
ridurre la dispersione dovuta al mismatch dei parametri tecnologici.
Le correnti che è necessario impostare non sono molto più grandi delle
correnti di leakage dei mosfet che sono tenuti nella zona di lavoro sotto soglia.
Qui di seguito si riporta la procedura adottata per stimare le dimensioni.
Si parte da una dimensione convenzionale per i mosfet analogici che
è un fattore 3 almeno più grande della dimensione minima verificato con
simulazione Spectre in condizioni tipiche.
Si eseguono simulazioni montecarlo, successive, aumentando le dimensioni
e valutando di volta in volta il vantaggio ottenuto in termini di distribuzione
più stretta dei tempi di refresh.
Si decide di fissare la dimensione quando non si ottiene più un apprezza63
3.4. Il modulo Sinapsi
bile miglioramento. In tale circostanza questo ha implicato un aumento delle
dimensioni dei mosfet di un fattore 3.
I risultati di tali simulazioni sono presentati nelle figure 3.17- 3.18 e 3.193.20 dove si possono confrontare i risultati relativi alle due diverse configurazioni: una a mosfet “piccoli” e una seconda a mosfet più “grandi”, mantenendo inalterati gli altri parametri, con una simulazione montecarlo di 300
iterazioni.
Sono presentati 2 grafici per ciascuna delle configurazioni, uno rappresenta l’andamento temporale della variabile sinaptica X(t) per le diverse iterazioni montecarlo mentre l’altro rappresenta l’istogramma del valore della
pendenza relativa al tempo trascorso per passare da 1.75V a 1.85V (100mV ).
La tensione Vb ref r in queste simulazioni è pari a 245 mV , valore che ben dentro il regime sotto-soglia e che realizza una corrente di 170 pA nel relativo
mosfet mb e conseguentemente tempi di refresh relativamente lunghi. Questo
valore rappresenta un limite inferiore nelle simulazioni montecarlo in termini
di corretto funzionamento del circuito.
L’istogramma relativo alla configurazione con mosfet piccoli non riporta
tutte le 300 misure perche’ solo 182 di esse sono rese disponibili, infatti le
rimanenti curve di potenziale o non raggiungono i 100 mV nell’intero arco di
tempo simulato di oppure hanno una pendenza negativa.
I risultati mostrano che in un insieme di 300 circuiti replicati costruiti con mosfet piccoli una buona parte di essi mostra un comportamento
comportamento sbagliato.
Il tempo medio di refresh ottenuto dalla simulazione Montecarlo a mosfet
grandi è di 70ms con sd = 4 ms.
3.4.2
Circuito hebbiano
Questo semplice circuito effettua l’azione descritta nella 1.3
• potenziare la variabile sinaptica X(t) quando arriva uno spike dal presinaptico se il neurone ricevente post-sinaptico è in stato di forte attività, ma non troppo o troppo poco
• de-potenziare la variabile sinaptica X(t) quando arriva uno spike dal
pre-sinaptico se il neurone ricevente post-sinaptico è in stato di debole
attività, ma non troppo o troppo poco
Le condizioni sono presenti nei due segnali digitali UP (attivo basso) e DOWN
(attivo alto). Lo spike è un impulso digitale di durata tipica di qualche
decina di µs definita dallo shaper. Il mosfet in alto e in basso nel circuito
realizzano dei semplici interruttori, che si attivano contestualmente all’arrivo
64
Capitolo 3. Realizzazione elettronica
Figura 3.17: Refresh della variabile sinaptica, in una Simulazione in transiente SpectreCADENCE Montecarlo di 300 iterazioni.
Caso mosfet più piccoli.
Figura 3.18: Istogramma del tempo di refresh della variabile sinaptica per passare da
1.75 V a 1.85 V (100 mV ), in una Simulazione Spectre-CADENCE Montecarlo di 300
iterazioni. Caso mosfet più piccoli.
Figura 3.19: Refresh della variabile sinaptica, in una Simulazione in transiente SpectreCADENCE Montecarlo di 300 iterazioni.
Caso mosfet più grandi.
Figura 3.20: Istogramma del tempo di refresh della variabile sinaptica per passare da
1.75 V a 1.85 V (100 mV ), in una Simulazione Spectre-CADENCE Montecarlo di 300
iterazioni. Caso mosfet più grandi.
65
3.4. Il modulo Sinapsi
X(t)
1
21
3
4
5
6 7
8
9
10
Figura 3.21: Dinamica sinaptica in una simulazione Spectre-CADENCE. Per chiarezza
di visualizzazione non sono visibili i segnali UP e DOWN che pilotano la dinamica e il
treno regolare di spike che è presente continuativamente nella simulazione alla frequenza
di 1 KHz. Nella zona 1 X(t) parte sopra soglia e U P / DOW N non sono attivi: refresh
verso l’alto. Nella zona 2: X(t) è al valor massimo Vdd . Zona 3: è attivo solo DOWN : X(t)
fa 12 salti verso il basso. All’inizio della zona 4 i segnali U P / DOW N non sono attivi
e X(t) si trova sotto la soglia e quindi fa refresh verso il basso. Nella zona 5 continua a
perdurare la situazione precedente e X(t) rimane al valor minimo di zero. Nelle zone 6 e 7
è attivo solo UP : sotto la soglia il salto a e il refresh hanno versi opposti, sopra hanno lo
stesso verso. Nella zona 8 U P / DOW N non sono attivi: X(t) è stabile al valore massimo.
Nella successiva zona 9 è attivo solo DOWN : X(t) fa salti verso il basso. Infine nell’ultima
zona U P / DOW N non sono attivi, X(t) parte da un valore sotto soglia e quindi fa refresh
verso il basso.
dello spike e rimangono attivi per tutta la durata dello spike. Il mosfet
UP o DOWN si attivano (mai contemporaneamente) in base alle condizioni
presenti sul neurone post-sinaptico. Durante il tempo in cui permane lo spike
pre-sinaptico una corrente costante impostata da vu (o da vd ) dal relativo
mosfet generatore carica (o scarica) la capacità Csyn . Sulle lunghe scale
dei tempi interessanti della rete determinate dall’ I.S.I. questo intervallo di
tempo è trascurabile e può essere considerato una δ(tpre ). Quindi l’effetto
netto è un salto in alto (o in basso) di un valore a (o b). La relazione che
determina a e b è in prima approssimazione lineare in vu e vd e nel tempo di
durata spike, quindi facilmente regolabile.
Nella figura 3.21 è presentato il risultato della simulazione in cui sono
visibili le diverse fasi della dinamica sinaptica.
3.4.3
Circuito di clipping
Questo circuito è realizzato semplicemente con il Comparatore Open-Loop p
a due stadi precedentemente descritto. La variabile sinaptica X(t) è applicata
66
Capitolo 3. Realizzazione elettronica
all’ingresso invertente mentre sul non-invertente è applicata la soglia θX .
• Se X(t) < θX → Uscita alta
• Se X(t) > θX → Uscita bassa
3.4.4
Circuito di selezione
Questo blocco contiene Standard-Cell digitali 4 della tecnologia usata AMS.
La scelta di includere standard-cell in questo modulo che ha funzionalità
totalmente analogiche in fase di lavoro, non si contraddice con lo stile di fondo
nelle scelte circuitali per i layout full-custom analogici di circuiti neuromorfi,
perchè questo blocco non agisce dinamicamente in fase di test neuronale, ma
viene usato inizialmente per fissare il carattere della sinapsi.
È costituito da due Flip-Flop di tipo D che realizzano gli elementi di
memoria per due bit che vengono caricati serialmente dall’ingresso Datain .
Nel Flip Flop di tipo D Delayed il dato presente all’ingresso D viene
passato all’uscita Q in seguito all’applicazione del fronte di salita del clock,
quando il segnale di reset è disattivato. Il dato permane finchè non arriva il
successivo impulso di clock.
Il segnale di clock determina l’avanzamento del dato dal Flip-Flop di
sinistra a quello di destra.
L’uscita Dataout è resa disponibile per il successivo modulo sinapsi.
Il verso in cui si propaga il segnale di clock è opposto a quello di propagazione del dato perchè in questo modo, utilizzando il ritardo fornito dagli
buffer, sono rispettati correttamente i vincoli sul timing 5 tra i segnali.
I livelli logici dei due bit [b0 ,b1 ] memorizzati determinano il tipo di efficacia
sinaptica.
3.4.5
Circuito dendriti
Questa parte attua l’iniezione (o l’assorbimento) dell’impulso di corrente sul
soma del neurone postsinaptico in coincidenza dello spike del neurone presinaptico con la modalità prescritta dalle condizioni di selezione del tipo di
sinapsi e dal valore stabile di efficacia presente.
4
Le standard Cell sono blocchi funzionali completi forniti dalla fonderia, nelle varie
forme di: schematico, modello di simulazione e layout.
5
Vincoli sulla temporizzazione dei due segnali. Poichè il dato e il segnale di clock
hanno tempi caratteristici di propagazione all’interno della porta logica, per garantire il
corretto funzionamento è necessario che i segnali vengano presentati con la giusta sequenza
e rispettando i tempi limite previsti dalla tecnologia. I riferimenti per questi aspetti sono
forniti dai data-sheet della fonderia.
67
3.4. Il modulo Sinapsi
I rami superiore di eccitazione o inferiore di inibizione sono attivati dai
bit (b1 , b0 ) memorizzati nel blocco di selezione. Questi attivano o meno i
relativi mosfet interruttore secondo la regola già indicata all’inizio di questo
capitolo
b1 b0
Selezione
0 0
Eccitatrice
0 1 Non connessa
1 1
Inibitrice
Il mosfet più in basso (più in alto) è l’interruttore dello Spike,
L’ uscita è connessa insieme a tutte le altre sinapsi alla capacità del soma
del neurone post-sinaptico.
La corrente, quando inibitoria, è IJinib ed è regolata dal potenziale Jinib
per mezzo del relativo mosfet generatore.
La corrente, quando eccitatoria, è definita dalla somma delle correnti impostate dal potenziali DJ e J nei due rami eccitatori dai relativi mosfet
generatori. Con la selezione definita eccitatoria e durante lo spike, se la
sinapsi è depotenziata, il circuito di clipping presenta l’uscita alta che mantiene spento il mosfet interruttore ad esso collegato, e quindi è presente la
sola corrente impostata da J . Viceversa se la sinapsi è potenziata, con le
restanti condizioni identiche a sopra, alla corrente impostata da J si somma
il contributo relativo a DJ proveniente dal ramo di sinistra.
In maniera del tutto analoga al circuito hebbiano, durante il tempo in
cui permane lo spike pre-sinaptico la corrente costante carica (o scarica) la
capacità Csoma del neurone postsinaptico.
Sulle scale dei tempi interessanti della rete questo intervallo è trascurabile
e può essere considerato una δ(tpre ).
Riassumendo: l’effetto netto sul soma del neurone post-sinaptico con capacità Csoma , all’arrivo di uno spike pre-sinaptico è un salto in alto (o in
basso) di valore (efficacia sinaptica non normalizzata):
•
IJ +IDJ
Csoma
•
IJ
Csoma
Tspike se selezionata eccitatoria e potenziata
Tspike se selezionata eccitatoria e depotenziata
I
inib
• − CJsoma
Tspike se selezionata inibitoria indipendentemente dallo stato
potenziato o depotenziato
• 0 se selezionata disconnessa indipendentemente dallo stato potenziato
o depotenziato
dove Tspike è il tempo durata spike.
68
Capitolo 3. Realizzazione elettronica
3.5
Il modulo Calcio-Compara
Vdd
C(t)
NSpike
K2up
θp
vca
C(t)
vca_τ
Vp
Cca
comp_p
A
A
C(t)
B
K1up
comp2
comp1
B
comp_p_EN
En2
A
En1
UP
comp4
P
Sel
B
C(t)
K1down
Generazione
variabile Calcio
comp_p
comp_p
A
B
comp3
K2down
C(t)
A
B
En1
En2
DOWN
comp5
comp_n_EN
Sistema comparatori
Figura 3.22: Modulo Calcio-Compara
Il circuito Generazione variabile Calcio è costituito da soli tre mosfet e
dalla capacità Cca che costituisce l’elemento di memoria della variabile Calcio
C(t). Il mosfet situato più in alto lavora come interruttore. Quando arriva
uno spike post-sinaptico si attiva, in questo caso la corrente Ica che scorre
nel ramo è fissata dal mosfet generatore di corrente intermedio tramite la
tensione vca . Il mosfet generatore di corrente in basso è sempre attivo. La
corrente Ica τ deve essere piccola con Ica τ < Ica . In queste condizioni il
potenziale ai capi della capacità Cca che rappresenta la variabile calcio C(t)
si scarica e quindi decade fin quando non arriva uno spike post-sinaptico, nel
qual caso fa un salto verso l’alto di una quantità proporzionale alla corrente
netta di carica Ica − Ica τ .
La pendenza di scarica è proporzionale al valore di corrente impostato
dal relativo mosfet generatore vca τ .
Le relazioni di disuguaglianza della 1.3 sono risolte dal Sistema comparatori.
In questo circuito è presente anche la logica per selezionare la regola di
apprendimento semplificata alternativa.
Questa regola, sempre coerentemente con l’idea Hebb, prevede di valutare
l’attività del neurone post-sinaptico solo dal valore del potenziale del soma
post-sinaptico.
X(t)− > X(t) + a se V p (tpre ) > θp
69
(3.2)
3.5. Il modulo Calcio-Compara
X(t)− > X(t) − b se V p (tpre ) ≤ θp
La selezione della regola avviene per mezzo dei due Multiplexer digitali a
destra nello schema. Questi insieme ai due buffer collegati sulle loro uscite
sono Standard Cell della fonderia AMS. Il segnale digitale Sel permette la
connessione delle due uscite alla coppia di terminali di ingresso collegati
insieme e all’uscita del comparatore comp1 nel caso della regola semplificata,
ai comparatori comp4 e comp5 nel caso della regola completa.
Regola semplificata
Il comparatore comp1 risolve da solo la disuguaglianza della 3.2. I segnali
UP e DOWN sono identici perchè DOWN è a logica positiva mentre UP a
logica negativa
Nel grafico 3.23 è mostrato il risultato di una simulazione per la verifica
della funzionalità logica del comparatore. Il potenziale che fluttua intorno
alla soglia θp non proviene dal potenziale del neurone post-sinaptico, ma è uno
stimolo aggiuntivo e costruito appositamente per verificare il comparatore
nelle condizioni tipiche di lavoro. Tale scelta di non simulare tutte le parti
circuitali contemporaneamente, si rende spesso necessaria per non rendere le
simulazioni eccessivamente lunghe in durata. Ogni qual volta si opera con
questa metodologia di lavoro, è necessario verificare che gli stimoli emulati
costruiti ben rappresentino gli stimoli originali in termini della risposta da
osservare del circuito.
In questo caso e in quello della regola completa, principalmente due sono
le possibili scelte per la definizione di questo stimolo. Una prima, rigorosa,
in cui vengono forniti al simulatore, in una simulazione in dc tanti valori dei
due potenziali da comparare quante sono le combinazioni di interposizione
delle due tensioni rispetto alle soglie. Una seconda in cui i due potenziali variabili nel tempo sono generati da un algoritmo o circuito simulato stocastico
che produca una variabilità tale da garantire di ottenere in una simulazione transiente uno scenario completo di tutte le possibili posizioni relative
dei potenziali rispetto alle soglie, con pochi tentativi di messa a punto dei
parametri del generatore.
È stata preferita la seconda soluzione in quanto, oltre ad essere più semplice da realizzare della prima, permette di osservare anche il comportamento
dinamico dei comparatori. In prima approssimazione, non ha importanza la
forma con cui queste fluttuazioni vengono presentate all’ingresso dei comparatori, ma piuttosto i tempi tipici con cui queste variazioni avvengono, che
dovono essere paragonabili al processo originale.
È stato quindi utilizzato come circuito emulatore un generatore pseudorandom di sequenza di bit. I valori 0 e 1 del bit corrispondono a due livelli
di tensione fissa impostabile. L’uscita del generatore di bit va ad un circuito
70
Capitolo 3. Realizzazione elettronica
RC che genera le fluttuazioni. Questa soluzione permette di ottenere fluttuazioni che attraversano più volte le soglie e che sono regolabili nei valori
minimo/massimo.
UP
DOWN
Vp(t)
Θ
Figura 3.23: Comparazione per regola semplificata in una simulazione Spectre-CADENCE.
La variabile calcio non è quella proveniente dal circuito di generazione della variabile calcio,
ma è uno stimolo di test.
Regola completa
La figura 3.24 riporta un grafo logico di descrizione della funzione logica
implementata corrispondente al circuito elettrico e costruito con le regole dei
comparatori 3.1 e 3.2. Tale grafo corrisponde alle disuguaglianze delle 3.2.
Nei grafico di fig. 3.25 e 3.26 sono mostrati i risultato di una simulazione
transiente. Come per il caso della dinamica semplificata, gli stimoli non sono
i veri potenziali del neurone postsinaptico della variabile Calcio ma lo stimolo
stocastico sopra descritto.
La prima simulazione ha il solo scopo di verifica della funzionalità logica
del comparatore, mentre nella seconda è riportato anche l’andamento della
variabile sinaptica X(t) della sinapsi.
71
3.6. Lo shaper
Comp1
Vp > θp ?
NO: En2=1
Comp4 bloccato
UP su (spento)
SI: En1=0
Comp5 bloccato
DOWN giu
(spento)
SI
DOWN su
(acceso)
SI: En2=0
Comp5 bloccato
DOWN giu
(spento)
Comp3
C(t)<K1down ?
NO: En1=1
SI: En1=1
Comp5
C(t)<K2down ?
NO
DOWN giu
(spento)
Comp4 bloccato
UP su
(spento)
SI
UP su
(spento)
Comp3
C(t)>K2up ?
NO: En1=0
Comp4
C(t)<K1up ?
NO
UP giu
(acceso)
Figura 3.24: Grafo logico del sistema comparatori
3.6
Lo shaper
L’impulso finito generato dal neurone I.F. ha durata circa 20ns, troppo breve
per pilotare i circuiti della sinapsi, che sono stati progettati per funzionare
al meglio con durate di qualche µs o decine di µs.
Per questo è necessario un circuito che produca un impulso di durata
impostabile la cui partenza è triggerata dallo spike.
Nella figura 3.27 è presentato lo schema del circuito realizzato.
Il cuore del funzionamento è rappresentato dai mosfet m1 , m2 e m3 , dalle
capacità C1 e C2 e dal primo inverter costituito dai mosfet m4 , m5 e m6 .
L’impulso digitale di avvio della dinamica di questo circuito viene presentato all’ingresso Vin e deve essere a logica invertita (attivo basso).
Il mosfet m3 realizza un generatore di corrente il cui valore è impostato
dalla tensione Vtau . I mosfet m1 e m2 lavorano come interruttori.
72
Capitolo 3. Realizzazione elettronica
X(t)
UP
Vp
Θ
DOWN
K1down < K1up < K2down < K2up
Vp
Θ
K2up
K2down
K1up
K1down
Figura 3.25: Comparazione per la regola completa in una simulazione SpectreCADENCE. La variabile calcio non è quella
proveniente dal circuito di generazione della
variabile calcio, ma è uno stimolo di test.
Figura 3.26: Generazione dei segnali UP e
DOWN e loro effetto sulla variabile sinaptica
X(t) della sinapsi in una simulazione SpectreCADENCE. La variabile calcio non è quella
proveniente dal circuito di generazione della
variabile calcio, ma è uno stimolo di test.
A regime, quando l’impulso precedente ha esaurito tutti i suoi effetti
transienti sul circuito, la situazione è la seguente:
• m1 acceso, m2 spento
• il nodo inferiore di C1 è mantenuto a 0 V da m1
• C2 è completamente carico, la tensione sul nodo Vs è pari a Vdd
• Vout si presenta alta
Quando arriva l’impulso su Vin all’istante t = 0, si inverte la situazione
dei mosfet interruttori:
m1 spento e m2 acceso.
m2 mette in condivisione la carica elettrica che si ridistribuisce sulle due
capacità e la tensione pari a Vdd nel circuito serie dei due condensatori, viene
ripartita sul nodo di collegamento dei due condensatori (tensione Vs ).
1
Vs = Vdd C1C+C
.
2
Quindi Vs fa un salto verso il basso. Se il punto di arrivo Vs (0+ ) è inferiore al valore della tensione Vcomm di soglia di commutazione del primo
inverter , questo cambia stato in uscita, dando inizio all’impulso di durata
73
3.6. Lo shaper
finita. Al termine del breve impulso di trigger in Vin , C2 inizia a caricarsi con pendenza determinata dal mosfet generatore di corrente pilotato da
Vtau . Quando Vs , salendo, raggiunge la soglia di commutazione dell’inverter,
l’inverter commuta di nuovo e quindi termina l’impulso generato.
La pendenza con cui Vs approccia la soglia salendo è relativamente bassa,
e poichè la funzione di trasferimento dell’inverter è solo una approssimazione
della funzione Θ(t), essendo invece una tangente iperbolica, il risultato è che
per avere commutazioni non troppo lente è necessario aggiungere almeno un
altro inverter in serie al primo. Il terzo inverter, realizzato da una standard
cell AMS assolve al duplice scopo di riportare la logica nel verso corretto necessario al circuito di ingresso delle sinapsi e contemporaneamente di fornire
la necessaria bufferizzazione alla linea di uscita che rappresenta l’ingresso per
32 moduli sinaptici.
A ragione della bassa rapidità di salita della tensione in ingresso all’inverter, la potenza media dissipata può raggiungere valori troppo elevati a
causa della permanenza per molto tempo della tensione di ingresso intorno
a Vcomm , come spiegato nel paragrafo invertitore logico. Per questo motivo
sono presenti nel ramo di ciascun inverter i mosfet m6 e m7 come limitatori
di corrente.
La tensione Vcomm vale tipicamente circa V2dd con le dimensioni del mosn di
W = 0.4 µ , L = 0.35 µ e del mosp di W = 0.8 µ , L = 0.35 µ. Per realizzare
la condizione che Vs (0+ ) < Vcomm si può agire sul rapporto tra le capacità,
oppure sul valore della Vcomm modificando i rapporti delle dimensioni dei
mosfet.
Si è scelto di percorrere anche questa seconda strada perchè il controllo
sulla capacità effettiva dei condensatori non è estremamente preciso, dato
che occorre tener conto sia le capacità parassite che le capacità intrinseche
Vdd
Vdd
Vtau
Vdd
m3
C1
m2
Vdd
limp
m4
m8 V
out
m5
m9
Vs
C2
m1
limn
m6
Vin
Figura 3.27: Circuito dello Shaper.
74
m7
Capitolo 3. Realizzazione elettronica
Figura 3.28: Andamento dei segnali nel circuito dello Shaper in una simulazione SpectreCADENCE
dei gate dei mosfet collegati ad esse.
Le capacità sono state disegnate per avere un valore nominale di 120 f F e
80f F . Le dimensioni dei mosfet del primo inverter sono state fissate per avere
una funzionalità validata dalle simulazioni tenendo conto del mismatch dei
parametri; esse sono di Wn = 0.8 µ Ln = 0.9 µ Wp = 2.65 µ Lp = 0.5 µ.
Nella grafico di figura 3.28 è rappresentata una simulazione funzionale
dello shaper.
75
3.7. Il neurone low power adaptive integrate and fire
3.7
Il neurone low power adaptive integrate
and fire
Il neurone elettronico qui presentato è una particolare realizzazione del neurone I.F. descritto nel Cap. 1, proposto per la prima volta in hardware da
[19] e realizzato dal nostro gruppo nella lann21.
Le novità introdotte dall’utilizzo di questo circuito di neurone I.F. [28]
rispetto a quello della lann21 sono qui elencate
ha basso consumo di corrente nei regimi di funzionamento tipici
comprende le funzionalità
• del tempo refrattario assoluto
• di un meccanismo di adattamento in frequenza
Il neurone integra la corrente totale afferente e quando il potenziale raggiunge una soglia emette uno spike e subito dopo si riporta ad un potenziale
di reset Vreset fissato con Vreset < Θn .
L’elemento che integra la corrente è la capacità del soma C, ed il potenziale su essa Vsoma rappresenta il potenziale di membrana del soma del
neurone.
Nella regione sotto la soglia di emissione Θn l’equazione che governa Vsoma
è
1
1 Zt
1
Vsoma (t) = Vsoma (0) − Iβ (t) +
I(t0 )dt0 − Iadapt (t)
(3.3)
C
C t0
C
dove I(t) è la somma di tutte le correnti eccitatorie, inibitorie ed esterne,
Ibeta è la corrente di leakage, e Iadapt (t) è la corrente che produce il meccanismo
di adattamento in frequenza.
La Iadapt (t) è funzione di una tensione ottenuta integrando lo spike su
una capacità Cadapt , quindi rappresenta una memoria del tempo inter-spike
trascorso precedentemente. Questa variabile è del tutto analoga alla variabile
calcio C(t) generata dal neurone post-sinaptico e usata nella dinamica della
sinapsi. L’utilizzo però è molto diverso: in questo contesto il meccanismo
di adattamento costituisce una dinamica locale al neurone, mentre nel caso
della variabile C(t) viene usata per il meccanismi di memorizzazione a più
lungo termine della sinapsi.
Il valor medio di questa corrente effettuato su un tempo caratteristico
determinato dal valore di Cadapt rappresenta quindi una informazione sulla
frequenza media di emissione degli spikes. La Iadapt (t) viene sottratta dalla
capacità C del soma e quindi il feedback sulla frequenza è negativo.
76
Capitolo 3. Realizzazione elettronica
L’equazione 3.3 và completata con le condizioni al contorno già indicate
nel Cap.1
1. emissione dello spike al raggiungimento della soglia con immediato
successivo ritorno al potenziale di reset
2. tempo refrattario assoluto (ARP Absolute Refractory Period)
3. barriera riflettente
In questa realizzazione la barriera riflettente e il potenziale di reset coincidono, non sono regolabili e corrispondono alla tensione minima di zero
Volt.
La seconda condizione descrive il fatto che per un fissato periodo di tempo
dopo l’emissione dello spike, denominato tempo refrattario, il soma non possa
ricevere alcun contributo di correnti.
Nella figura 3.29 è presentato lo schema del neurone.
Vdd
Vdd
Vdd
m13
V01
m6
m15
Vdd
VinJ
m14
Vadapt
m7
m16
Idiretta
Ifb
Vdd
Vdd
Vdd
m3
m8
m4
m9
m5
m10
dalle dendtriti
m1
Iβ
Iadapt
Vin
Vsoma C
Vsf
Cadapt
Vβ
m21
m19
Vrf
Ireset
Vc
m17
V02
m12
Cref
m18
Vlkc
m2
m20
Figura 3.29: Schema del neurone I.F. Low Power
77
m11
Vspike
3.7. Il neurone low power adaptive integrate and fire
Si possono identificare 6 blocchi principali
• un source follower m1 , m2 - regolazione della soglia
• un inverter m5 , m4 con feedback positivo m3 , m6 , m7 - riduzione delle
correnti medie di cortocircuito in ingresso
• un inverter m9 , m10 con slew-rate6 controllabile m8 , m11 per regolare
arbitrariamente il tempo refrattario assoluto
• un invertitore digitale m13 , m14 per generare lo spike
• un integratore m15 , m16 , m17 , m18 , m19 , m20 per realizzare il meccanismo
di adattamento in frequenza
• m21 per realizzare la corrente di scarica costante Iβ
3.7.1
Soglia e feedback positivo
Finchè Vsoma (t) < Θn (t) in uscita del source follower si ha
Vin = k(Vmem − Vsf )
dove k è il coefficente di pendenza sotto-soglia del mosfet e Vsf è la tensione,
costante che regola il valore della soglia efficace di emissione.
Quando Vsoma (t) sale al punto che Vin (t) si avvicina alla soglia dell’inverter
m5 , m4 , si innesca il feedback positivo: la corrente cresce in m3 , diminuisce
V01 di conseguenza cresce If b e quindi aumenta Vsoma (t). Il risultato è un
innalzamento rapidissimo della Vsoma (t) e successivo ritorno a zero per effetto della accensione del mosfet interruttore m12 attivato dal livello in uscita
dei due inverter interposti tra il suo gate e Vin , che scarica rapidamente e
totalmente C.
Si produce l’emissione di un rapidissimo spike. Il punto critico concernente i consumi di potenza di questo tipo di circuiti è legato all’elevata corrente
che fluisce nelle strutture semplice a mosfet per discriminare una soglia. Tipicamente queste strutture sono varianti di invertitori digitali. Come spiegato
nel paragrafo degli invertitori, per una tensione di ingresso intorno alla soglia
di commutazione scorre la massima corrente, di entità spesso non trascurabile. Quello che conta, nella definizione delle caratteristiche di un circuito VLSI
in termini di potenza consumata e sopportata è la potenza media. Quindi
6
Definisce la rapidità massima di variazione in uscita come risposta di un gradino in
ingresso
78
Capitolo 3. Realizzazione elettronica
una drastica riduzione del tempo di permanenza della tensione di ingresso
nella zona critica può migliorare notevolmente questo aspetto.
La breve durata di questo impulso è il motivo per cui questo neurone ha
un ridotto consumo di potenza.
3.7.2
Tempo refrattario
Durante l’emissione dello spike il ramo dell’inverter m8 m9 , dove m8 è connesso a diodo, ha rapidamente caricato Cref portando V02 a Vdd . Subito dopo
l’emissione la catena degli inverter ha di nuovo cambiato stato. Ora la capacità Cref , si scarica attraverso il percorso m10 m11 , lentamente perchè la
corrente è limitata da m11 . Finchè la tensione V02 è sufficentemente alta la
capacità C è continuamente scaricata da m12 che è acceso e quindi Vsoma
viene mantenuta a zero. Questo determina il tempo refrattario assoluto..
3.7.3
Meccanismo di adattamento in frequenza
Durante lo spike V01 è bassa e quindi m15 è acceso. Una corrente, regolata
da Vadapt scorre in m17 che è connesso a diodo. Il mosfet interruttore m18 è
acceso durante lo spike e quindi la capacità Cadapt si carica, mentre quando è
assente lo spike si scarica attraverso m20 con il parametro di regolazione Vlkc .
La tensione Vc ai capi della capacità induce una corrente di scarica Iadapt sulla
capacità di soma tramite m19 esponenzialmente dipendente da Vc realizzando
il feedback negativo sulla frequenza di emissione, di entità regolabile da Vadapt
e tempi di risposta del feedback proporzionali a Vlkc .
3.7.4
Simulazioni
Nella figura 3.30 è riportato il grafico di una simulazione del neurone con
adattamento in frequenza disattivato e corrente di ingresso Idiretta costante
fissata dalla tensione VinJ
Nella figura 3.31 è riportato il grafico di una simulazione montecarlo
Spectre-CADENCE, in cui è mostrata la distribuzione dei tempi ISI su 300
iterazioni.
79
3.8. Una simulazione completa dallo spike pre-sinaptico alla
depolarizzazione del soma post-sinaptico
Spike
Vsoma
Figura 3.30: Spike emessi e potenziale
di membrana del neurone I.F. Low Power in una simulazione transiente SpectreCADENCE. Vsf = 1.4 V regola la soglia efficace a circa 1.4V , Vβ = 180mV , VinJ = 2.8V ,
Vrf = 180 m V regola il tempo refrattario a
circa 9 m s. La durata spike è di 20 ns, l’ISI
è di 49 m s.
3.8
Figura 3.31:
Simulazione montecarlo
Spectre-CADENCE 300 iterazioni.
Istogramma dell’ I.S.I. La corrente di ingresso è
stata regolata per avere un ISI in simulazione
tipica di 80 ms.
Una simulazione completa dallo spike presinaptico alla depolarizzazione del soma
post-sinaptico
La simulazione (figura 3.32) di cui si presentano qui i risultati, è stata
effettuata sull’intero circuito postsinaptico, ovvero comprende:
• spike presinaptico emulato da un treno di impulsi
• shaper
• intero circuito sinapsi, inteso come modulo Calcio-Compara più modulo Sinapsi
• neurone post-sinaptico
80
Capitolo 3. Realizzazione elettronica
Non sono visibili, per chiarezza di visualizzazione il treno di spikes e la
variabile calcio C(t) che si mantiene sempre sopra K 2 up in tutta la durata
del tempo simulato.
Condizioni al contorno e condizioni iniziali
• la sinapsi è definita eccitatoria
• La dinamica Calcio viene mantenuta attiva fino a 4ms, quindi viene
disattivata e attivata la regola ridotta.
• è iniettata sul soma del post-sinaptico una corrente diretta costante,
all’inizio molto elevata per poi essere ridotta a step successivi ai tempi
2 ms e 4.4 ms.
• X(t)|0 = 800 mV
• Vp (t)|0 = 800 mV (potenziale di depolarizzazione del soma postsinaptico)
Con questo scenario, dopo aver effettuato un tuning di tutti i parametri
è possibile osservare:
• la generazione dei segnali UP e DOWN
• il conseguente andamento della variabile X(t)
• il clipping del valore della sinapsi, riportato nel grafico come stato
digitale sinapsi
• l’effetto dei due pesi della sinapsi sull’efficacia sinaptica visibile come
salti di ben differente ampiezza sul potenziale di depolarizzazione del
soma Vp
Le simulazioni hanno permesso tra l’altro di verificare, nella progettazione
di ogni circuito, che le regolazioni di ogni parametro di modello fossero impostabili in un range sufficentemente ampio di parametri elettrici (tensioni)
effettivamente applicabili dall’esterno al chip.
Per i valori di efficacia sinaptica si considerano salti tipicamente di 15 ∼
1
del valore della soglia di emissione dello spike che nel caso del neurone
15
utilizzato è tipicamente di 900 mV .
I valori di salto a e b della variabile sinaptica invece ha tipicamente una
granularità maggiore. La soglia è regolabile e può essere posta ad esempio
a metà della tensione di alimentazione del chip visto che il range dinamico
disponibile è tutta l’alimentazione.
81
3.9. I layout FULL-CUSTOM
UP
DOWN
Vp
Θ
stato digitale sinapsi
soglia sinapsi
X(t)
Figura 3.32: Simulazione Spectre-CADENCE dell’intero percorso dallo spike presinaptico all’efficacia sul soma del neurone post-sinaptico, con condizioni al contorno che cambiano durante la simulazione. Il segnale stato digitale sinapsi è generato dall’uscita del
comparatore di clipping
Le simulazioni mostrano che il limite inferiore del salto ragionevolmente
impostabile si attesta intorno ad una decina di mV , mentre il limite superiore è molto alto (intorno al mezzo Volt). Per cui, il range di regolazione
che mostrano questi circuiti in simulazione comprende ampiamente il range
richiesto.
3.9
I layout FULL-CUSTOM
Nella figure 3.33, 3.34 e 3.35 sono presentati il layout realizzati con le corrispondenze con i blocchi descritti nello schematico.
82
Capitolo 3. Realizzazione elettronica
Figura 3.33: Layout del modulo Sinapsi. La capacità Csyn è distribuita per tutta la
larghezza del layout tra i blocchi analogici e le 4 Standard Cell AMS ed inoltre a sinistra
del modulo. Riguardo queste ultime, benchè, sia disponibile il layout dettagliato, è stato
necessario nasconderle per motivi di accordi con la fonderia riguardo la riservatezza delle
informazioni tecnologiche fornite.
83
3.9. I layout FULL-CUSTOM
Figura 3.34: Layout del modulo Calcio-Compara. La capacità Cca è distribuita per tutta
la larghezza del layout tra i blocchi analogici le 4 Standard Cell AMS . Riguardo queste
ultime, benchè, sia disponibile il layout dettagliato, è stato necessario nasconderle per
motivi di accordi con la fonderia riguardo la riservatezza delle informazioni tecnologiche
fornite.
84
Capitolo 3. Realizzazione elettronica
AMS
Standard
Cell
Figura 3.35: Layout dello Shaper. Comprende una standard cell AMS (inverter) che si
è dovuto nasconderle per motivi di accordi con la fonderia riguardo la riservatezza delle
informazioni tecnologiche fornite.
85
3.9. I layout FULL-CUSTOM
86
Capitolo 4
Il chip completo e il sistema di
test
Una rete neuronale realizzata in hardware in un chip, è necessariamente una
rete limitata, in quanto a numero di neuroni, se paragonata alle analoghe
reti biologiche, ad esempio dei moduli corticali dei primati. Si è visto che
tra le proprietà più interessanti osservabili di una rete neuronale sono quelle
derivanti dall’attività collettiva. La qualità dell’insegnamento che si trae
dallo studiare queste proprietà sono fortemente dipendenti dal numero di
neuroni della rete. Da qui la necessità di superare il vincolo tecnologico
imposto dal numero massimo di neuroni contenuti in un chip. La strada
ovvia è quella di replicare i chip. Si rende subito evidente una limitazione.
Cosı̀ come non è possibile mettere in un chip un numero arbitrario di neuroni,
altrettanto impossibile, con le attuali tecnologie, assegnare un pin per ogni
linea di comunicazione tra ciascun neurone.
È per questo che è necessario utilizzare un protocollo di comunicazione.
Nel paragrafo seguente è presentato il protocollo utilizzato, la cui implementazione costituisce, insieme alla rete descritta nel precedente capitolo il
core dell’intero chip realizzato.
Il chip completo si compone del core analogico, del core digitale e del
Padframe. Quest’ultimo elemento circonda il core ed è costituito da un
insieme di Pad allineati dove si connettono tutti i segnali del core da una
parte e i fili metallici del contenitore del chip dall’altra.
Tipicamente il layout del padframe viene disegnato utilizzando le standard cell appositamente predisposte dalla fonderia. Nel presente lavoro invece, i pad utilizzati sono stati sviluppati dall’Istituto di Neuroinformatica di
Zurigo, cosı̀ come una parte del sistema di comunicazione.
Il sistema di test per i chip neuronali realizzati con il sistema per il
87
4.1. Protocollo di comunicazione A.E.R.
controllo/comunicazione sono stati sviluppati e realizzati dal nostro gruppo
[29], [30], [31], [32].
4.1
Protocollo di comunicazione A.E.R.
I dispositivi neuromorfi, come il chip realizzato, sono caratterizzati da un
elevato numero di elementi costitutivi. Tipicamente il comportamento dell’intero sistema è determinato dall’ elevato grado di interazione tra gli elementi, come nel caso di una rete neuronale. Come già ampiamente osservato
nei capitoli precedenti, le interazioni in una rete di neuroni hardware sono
rappresentate dall’inviare e dal ricevere spikes tra un neurone e gli altri. La
pecularietà di queste comunicazioni tra neuroni è che gli spike sono eventi
asincroni stereotipati.
La connettività della rete all’interno del chip si risolve con semplici strategie di scelte topologiche. Il problema si pone quando due o più dispositivi neuronali devono comunicare tra loro. È necessario utilizzare un protocollo di comunicazione per codificare, trasportare e gestire il flusso delle
comunicazioni tra neuroni in chip distinti.
Negli ultimi tempi si sta cercando di definire un protocollo comune per i
sistemi neuromorfi. Tra questi, il protocollo A.E.R. (Address Event Rapresentation) [33] qui descritto è considerato particolarmente conveniente ed è
stato usato ed ampliato, negli aspetti hardware, dal nostro gruppo.
L’A.E.R. è un protocollo che nella sua versione più semplice fornisce un
collegamento point-to-point.
La natura asincrona degli spikes e il numero elevato di neuroni in un
chip determina la necessità di una gestione dei conflitti dalla parte A.E.R. −
out (spikes in uscita dal chip). La parte che si occupa di questo aspetto è
chiamata Arbiter.
La struttura di base tipica di un sistema di due dispositivi neuromorfi
(Sender e Receiver ) con BUS di comunicazione A.E.R. è descritta in fig.4.1.
I segnali di Handshaking 1 che gestiscono il bus e quindi il flusso di comunicazione tra il sender ed il receiver sono il Req (richiesta) e l’Ack (risposta).
L’arbitro che si occupa della gestione dei conflitti è organizzato in una
struttura ad albero binario, ad ogni livello c’è una riga di blocchi decisionali
a due ingressi che all’occorrenza selezionano il passaggio di un solo segnale
(quello che arriva per prima). Nello strato più basso si trovano i singoli
blocchi decisionali a cui afferiscono coppie di spike di neuroni.
La definizione di coincidenza temporale tra due spikes può essere vista
come una esatta sovrapposizione dei due impulsi finiti, ma questo è un evento
1
Letteralmente stretta di mano
88
Capitolo 4. Il chip completo e il sistema di test
Sender
Receiver
t2
t1
1
0
OUT
OUT
1
0
OUT
1
1
0
OUT
1
0
1
0
OUT
ENCODER
1
0
OUT
Handshake
/Ack
/Req
0
1
0
0
Decoder
OUT
Figura 4.1: Sistema di comunicazione A.E.R.. Sono evidenziati in colore rosso i percorsi
dei due neuroni trasmittenti concorrenti (del chip di sinistra), in blu il segnale di Ack di
ritorno dal chip ricevente(a destra) ed il percorso di codifica; in verde il segnale indirizzato
al neurone bersaglio.
molto raro a causa del valore piccolo della durata dello spike rispetto all’I.S.I.
medio.
L’altro scenario in cui si può parlare di coincidenza è quello in cui gli
spikes arrivano ad una distanza temporale più piccola del tempo necessario
al segnale in uscita di fare il percorso completo (Req dal sender al receiver e
Ack di ritorno). In questo tipo di coincidenza opera l’ Arbitro.
Si può descrivere una sequenza tipica di eventi in maniera semplificata
nel seguente modo
• all’istante t1 il neurone emette uno spike; viene generato il segnale di
Req nel relativo ingresso del modulo decisionale al livello più basso
dell’albero.
89
4.2. Architettura generale del chip realizzato
• Il Req prodotto dallo spike percorre i vari livelli dell’arbitro perchè non
entra in competizione con altri tentativi di trasmissione
• all’istante t2 un altro neurone emette uno spike; viene generato il
segnale di Req nel relativo ingresso del modulo decisionale
• Il Req prodotto arriva senza competere fino alla cima, e qui viene bloccato dall’arbitro perchè il modulo binario è occupato; il secondo Req
rimane in attesa a questo livello
• Il segnale di Req raggiunge il receiver e quindi viene generato il segnale
di risposta Ack
• Il segnale Ack percorre all’indietro tutto il percorso del segnale selezionato.
• quando arriva nel livello più basso, corrispondente all’ingresso del relativo spike, viene attivata la logica di codifica dall’encoder che genera
l’indirizzo del neurone trasmittente.
• l’indirizzo codificato transita sul BUS e arriva sul decoder del receiver
che si occupa di trasmettere lo spike al relativo neurone
• il segnale Ack viene disattivato sul BUS dal receiver, l’arbitro rilascia
il blocco sui blocchi decisionali e quindi il Req del secondo neurone può
fare il suo percorso
In questa descrizione semplificata, si evince che la mappatura della connettività tra neuroni trasmittenti e riceventi sembra risiedere nel decoder.
Nel sistema reale non è cosı̀. Nella gestione del BUS entra un sofisticato
sistema di controllo che permette non solo una mappatura configurabile tra
neuroni trasmittenti e ricevitori, ma anche la gestione tra più sender, in
questo caso si parla di architettura multi-sender.
4.2
Architettura generale del chip realizzato
Nella figura 4.2 è mostrata l’architettura generale del chip.
Il chip è costituito
• da una rete ricorrente con 32 Neuroni I.F. e matrice sinaptica 32 x
32 riconfigurabile. La rete ricorrente coincide con il core analogico
ampiamente discusso nel precedente capitolo.
90
Capitolo 4. Il chip completo e il sistema di test
INPUT
AER sin
32x32
Sinapsi
32x32
Neu.
32
Arbiter
AER in
Rete ricorrente
El.Mem.
Decoder XY
OUTPUT
AER out
Mux
Correnti
dirette
Spikes in
uscita
Figura 4.2: Core del chip
• da una matrice sinaptica AER sin 32 x 32 riconfigurabile che fornisce
la connettività per i neuroni esterni
• dall’ AER in comprendente il Decoder nella zona di INPUT
• da un elemento di memoria dai multiplexer per le uscite degli spikes e
dall’ AER out comprendente l’Arbitro nella zona di OUTPUT
Caricamento della configurazione delle matrici sinaptiche
Ulteriori due segnali digitali di ingresso, uno di dati e uno di clock permettono di caricare serialmente la catena di Flip-Flop del blocco Selezione
della matrice sinaptica ricorrente e AER (vedi figura 4.3)
Test point
Per i primi test funzionali sono stati portati fuori dal chip un gruppo
di segnali analogici e digitali di neuroni, modulo sinapsi, modulo CalcioCompara e shaper sufficenti a verificare la funzionalità del singolo blocco e di
un insieme minimale di rete a due neuroni pre e post-sinaptico. La convenzione utilizzata per la numerazione degli elementi nelle matrici sinaptiche è
(riga, colonna)=(i, j) e l’elemento (0, 0) è quello in alto a destra della figura
4.2. I neuroni hanno il solo indice di riga i. Sono state scelte le righe 0 e 31
per prelevare i segnali.
91
4.2. Architettura generale del chip realizzato
Neurone
Sinapsi eccitatoria
Blocco Selezione
Sinapsi inibitoria
Bitstream per la
configurazione seriale
Figura 4.3: Caricamento della configurazioni delle matrici sinaptiche. Un parola seriale di
4096 bit è necessaria per configurare ciascuna sinapsi delle due matrici sinaptiche in modo
indipendente.
• Dei moduli sinapsi (0, 0) della matrice ricorrente e (31, 0) della matrice
AER sono disponibili entrambi i segnali digitali di clipping e i valori
analogici X(t).
• U P , DOW N , Spike-neurone, valore analogico neurone Vsoma (0), variabile calcio C(t)(0) sono disponibili per entrambe le righe 0 e 31.
• Spike-Shaper(31) della matrice ricorrente e Spike-Shaper(0,0) della matrice AER
• modulo sinapsi (31, 5) della matrice AER valore analogico X(t)
La rete comunica in uscita attraverso l’Aer out, ma sono disponibili 2
92
Capitolo 4. Il chip completo e il sistema di test
uscite dirette di spike di una coppia di neuroni selezionabile dal sistema
multiplexer costituito da due Mux 16 → 1.
La rete riceve gli stimoli dall’AER in, ma sono disponibili gli ingressi per
le correnti dirette che permettono di iniettare una corrente dall’esterno
del chip su ciascuno dei neuroni in modo indipendente.
Shaper
Shaper
Ack
to synapse
to synapse
Spk
Spk
Ack
Ack
Connettivita`
interna
Neurone
Arbirter
Connettivita`
esterna
(AER)
Mem. El.
Decoder
Req
Req
Figura 4.4: La Connettività esterna - interna. Gli shaper nella matrice ricorrente sono
presenti in numero di uno per ciascun neurone, mentre nella matrice AER ne è presente
uno per sinapsi.
Dalla parte dell’uscita un sistema di Multiplexer permette di selezionare simultaneamente una coppia di neuroni. Al tempo stesso gli spikes
vengono arbitrati e quindi l’informazione passa sul BUS AER out.
È stato interposta tra l’arbitro e la colonna di neuroni un elemento di memoria. Lo scopo di questo elemento è quello di disaccoppiare l’attività della
rete neuronale dal traffico dei dati AER. È stato mostrato che l’informazione
dell’emissione dello spike, deve essere mantenuta dall’istante di emissione da
parte del neurone fino a quando l’AER non ritorna il segnale Ack di avvenuta
trasmissione. In altre realizzazioni dove si usa questo protocollo e lo stesso
neurone qui presente, è il neurone stesso che viene mantenuto bloccato fino
all’arrivo dell’Ack.
Con questo accorgimento, quando un neurone emette un spike, l’elemento
memorizza l’evento e ne mantiene memoria finchè l’AER out non ha completato il suo ciclo di trasmissione al receiver, a quel punto il controller resetta
l’elemento di memoria. Il vantaggio di questa scelta sta nel fatto che in caso
93
4.2. Architettura generale del chip realizzato
di intenso traffico di dati sul BUS AER la trasmissione viene ritardata, la
rete però non subisce l’ indesiderato blocco sul neurone considerato.
Dalla parte dell’ingresso la connettività è realizzata con una matrice
sinaptica AER, del tutto analoga a quella ricorrente per quanto riguarda i
moduli sinapsi, con la differenza che nella matrice ricorrente gli spikes presinaptici provengono dai neuroni interni al chip dopo aver subito l’estensione
temporale della lunghezza per mezzo dello shaper, per contro in quella AER
gli spikes sono generati da un ulteriore shaper, uno per ciascun modulo sinapsi, posto accanto al esso e pilotato dal decoder x, y (riga-colonna). Il decoder
attiva il relativo shaper quando il l’AER in riceve una richiesta di trasmissione al neurone i − esimo. L’indice x della riga del decoder corrisponde
all’indice i della riga della matrice.
Nella figura 4.4 è rappresentata la connessione tra due matrici sinaptiche e
viene messo in evidenza il meccanismo delle iniezioni degli spikes provenienti dall’AER in e il meccanismo di invio dell’attività dei neuroni attraverso
l’AER out.
La presenza di 32 blocchi ripetuti della coppia Shaper-Modulo sinapsi
(colonne y) nella riga del neurone x realizza una estensione a 32 dei canali
completi di comunicazione per ogni neurone:
due chip con questa architettura costituiscono una rete ricorrente completa di 64 neuroni, in cui il traffico degli spikes è gestito dall’AER tra i neuroni
appartenenti ai due distinti moduli neuronali contenuti nei due chip, mentre
è localizzato e diretto tra neuroni dello stesso modulo.
Nella figura 4.5 è presentato il layout del chip completo.
Figura 4.5: Il chip
Attualmente il chip è in fase di fabbricazione e sarà pronto a Giugno 2005.
94
Capitolo 4. Il chip completo e il sistema di test
4.3
Sistema di test
La progettazione e realizzazione VLSI di questo chip si colloca in un più ampio contesto di attività del nostro gruppo che vanno dalle finalità ultime che
sono quelle di ricerca sui sistemi complessi nel panorama nelle neuroscienze
computazionali, alle implicazioni tecnologiche tramite dispositivi neuromorfi.
La realizzazione di questi dispositivi complessi necessita di sofisticati
sistemi di controllo e comunicazione per i test ai vari livelli.
Esiste attualmente una consolidata piattaforma di test sviluppata nel
nostro gruppo che è stata nel passato e fino ad ora ampiamente usata per
i test sui dispositivi neuronali precedenti, per ultimo la lann21, [31], [32],
nell’ambito degli esperimenti MUNES e HAPTIC.
Alla base del sistema di test due sono le caratteristiche fondamentali
richieste
• gestire la comunicazione con un PC host
• controllare tutti i parametri di regolazione necessari
La prima caratteristica indicata comprende la gestione del protocollo di
comunicazione AER, e si è ottenuta con la progettazione e la realizzazione
di una scheda di interfaccia PCI-AER2
La seconda caratteristica ha avuto come soluzione la progettazione e
realizzazione di una scheda PCI-GPB 3
4.3.1
Schede di interfaccia PCI-AER e PCI-GPB
La scheda PCI-AER realizza una interfaccia programmabile tra il bus
AER di dispositivi neuromorfi e il bus PCI di un PC [32], [30] Nella attuale versione è in grado di operare in un contesto di di comunicazione AER
Multi-chip tra più dispositivi [29]. È basata su dispositivi XILINX (FPGA
programmabili).
I blocchi funzionali fondamentali sono riassumibili in
• SEQUENCER permette di generare via software un flusso di spikes da
inviare ai dispositivi neuronali, emulando dispositivo neuronale
• MONITOR permette di assegnare etichette temporali agli eventi che
trafficano nel bus AER
2
3
Peripheral Component Interconnect - Address Event Rapresentation
Peripheral Component Interconnect - General Purpose Bus
95
4.3. Sistema di test
• MAPPER realizza la connettività riprogrammabile tra i diversi chip
fino a 4 senders e fino a 4 receivers
La scheda è stata sviluppata completamente presso l’I.S.S. per quanto
riguarda l’hardware. Il software è frutto della collaborazione tra l’I.S.S. e l’Istituto di NeuroInformatica di Zurigo. Nella sua attuale versione si presenta
come in figura 4.6.
Figura 4.6: Scheda di interfaccia PCI-AER in uno scenario Multi-chip tipico di lavoro
La scheda PCI-GPB è stata progettata e realizzata dal nostro gruppo
presso l’ I.S.S. ed è una scheda con cui è possibile mappare il BUS PCI di un
PC con un BUS definito generico costituito da da 32 linee bidirezionali più
12 linee di ingresso e 12 di uscita.
Figura 4.7: Scheda di interfaccia PCI-GPB
96
Capitolo 4. Il chip completo e il sistema di test
L’utilizzo tipico di questa scheda è nella mappatura dell’insieme dei DAC 4
che permettono la generazione di tutte le tensioni necessarie al chip per il
controllo dei parametri funzionali.
Il sistema di test utilizzato fino alla lann21 è un sistema che comprende
oltre alle due sopra citate schede montate su PC un box integrato modulare
denominato Big-Box-System che ospita schede con le necessarie funzionalità
per
• accogliere il dispositivo neuronale e fornire il front-end dedicato al particolare chip sotto test. L’ampia versatilità di questa parte prevede una
piccola scheda interscambiabile chiamata POD che si adatta a differenti
chip realizzati dal gruppo. Questa scheda comunica con la PCI-AER
• una scheda con tutti i generatori di corrente per i dispositivi che lo
richiedono
• una scheda di comunicazione/controllo che si interfaccia con la PCIGPB e che ospita tutti i DAC delle regolazioni
Nella figura 4.8 è visibile il Big Box System
Figura 4.8: Big Box System
Attualmente si sta progettando un sistema specifico per testare il chip
del presente lavoro. Il progetto del sistema di test in corso non tiene conto
soltanto nelle necessità di test del singolo chip, ma si colloca in un contesto di
realizzazione di un sistema di controllo e test Multi-chip sfruttando appieno
le caratteristiche di comunicazione della scheda PCI-AER.
4
Digital to Analog Converter
97
4.3. Sistema di test
98
Capitolo 5
Conclusioni e prospettive
future
In questo lavoro di tesi sono stati raggiunti i seguenti risultati.
È stato realizzato un chip in tecnologia mista VLSI analogica full-custom
e digitale che realizza una rete neuronale con 32 neuroni impulsati, con matrice sinaptica configurabile e modulo di comunicazione A.E.R. nella tecnologia AMS (Austria Micro Systems) 4 metalli. Il lavoro è stato svolto con
il software CADENCE per lo sviluppo di dispositivi VLSI analogici e misti
analogico-digitali.
Con la realizzazione di questo chip sono state introdotte novità sostanziali
rispetto ai dispositivi precedentemente realizzati dal gruppo
• la possibilità di configurare in modo arbitrario la matrice sinaptica
• l’introduzione del nuovo modello di sinapsi basato sulla dinamica del
calcio nel neurone post-sinaptico.
• l’introduzione del modulo di comunicazione AER all’interno del chip.
È stata messa a frutto la collaborazione europea nell’ambito del progetto
ALAVLSI per gli aspetti dello sviluppo e progettazione hardware di dispositivi neuronali. Questo ha permesso, tra l’altro, di integrare nel chip il circuito
del neurone dell’ Istituto di Neuroinformatica di Zurigo e parte del circuito
digitale di comunicazione.
È stato elevato il know-how di progettazione in particolare per quanto
riguarda le simulazioni statistiche sul mismatch dei parametri tecnologici.
Il numero di neuroni e sinapsi implementate è stato mantenuto basso:
questo non solo per contenere i costi di un chip prototipale, ma anche in base
99
all’obiettivo perseguito nel progetto, di costruire reti complesse mediante
sistemi costituiti da diversi chip semplici connessi su bus AER.
La piattaforma di test multi-chip è in fase di progettazione e sarà pronta
all’arrivo del chip previsto per Giugno.
Il sistema di test è predisposto per una architettura multi-chip. In una
prima fase si eseguiranno i test preliminari per verificare la funzionalità delle
parti elettroniche. In un secondo momento sarà possibile eseguire i test più
ad alto livello relativi sia agli aspetti del modello della sinapsi che dell’attività di insieme della rete. Questo sistema metterà in evidenza anche le
caratteristiche della comunicazione AER tra chip neuromorfi.
Bisogna sottolineare come la fase di test post-produzione di questo tipo
di chip non si riduca a una mera verifica di corrispondenza alle specifiche di
progetto, ma è assimilabile ad una vera e propria “neurofisiologia su silicio”,
in cui le proprietà del chip sono stabilite in termini statistici dalle relazioni
stimolo-risposta.
L’obiettivo finale del progetto in cui si inserisce il presente lavoro è quello
di fornire una piattaforma hardware per studiare la reciproca interazione tra
attenzione selettiva e memoria associativa in presenza di stimoli complessi.
100
Ringraziamenti
Il primo ringraziamento è rivolto a Gaetano Salina, lo ringrazio moltissimo
non solo per avermi dato la possibilità di svolgere questo lavoro di tesi ma
anche perchè fu proprio lui a suggerirmi di intraprendere questa faticosa
quanto entusiasmante avventura di studente universitario e fu sempre lui ad
avvicinarmi, ancor prima di intraprendere gli studi, al meraviglioso mondo
della ricerca. Gaetano è una persona molto capace e ritengo che sia una
fortuna lavorare con lui.
Ringrazio molto Paolo Del Giudice per tutte le interessantissime, numerose e sempre stimolanti discussioni da sempre avute sui temi dell’attività del
gruppo di ricerca e per la sua disponibilità nell’aiutarmi a chiarire molti punti nella fase di stesura della tesi. La grande capacità comunicativa di Paolo
insieme alla grande competenza lo rendono davvero una persona speciale.
Un ringraziamento sentito va ad Andrea Salamon per tutta la disponibilità mostratami in vari momenti della mia vita da studente quando capitava
gli chiedessi consigli per lo studio. I suoi consigli mi sono stati molto preziosi.
Ringrazio Vittorio Dante per il piacere che trasmette lavorare con lui.
Vittorio ha una professionalità cosı̀ elevata ed una tale capacità di realizzare
qualunque cosa con estrema naturalezza e grande dedizione al lavoro che
lascia stupefatti. Ringrazio Vittorio molto anche per l’aiuto fornitomi nel
chiarire diversi aspetti dei sistemi di test.
Ringrazio Maurizio Mattia per avermi aiutato a chiarire alcuni punti
legati alla teoria, l’entusiasmo che trasmette Maurizio per il suo lavoro è
prorompente e piacevolmente contagioso.
Ringrazio Massimiliano Giulioni con cui ho condiviso le fasi finali del
lavoro sul chip, per avermi sopportato durante quelle estenuanti nottate per
arrivare alla conclusione del progetto. Ringrazio Massimiliano per il supporto
datomi nel chiarire punti della parte digitale del progetto.
Ringrazio Stefano Fusi per la sua grande cordialità e disponibilità nello
spiegarmi aspetti dell’attività di ricerca.
Ringrazio Giacomo Indiveri per avermi dato la possibilità di lavorare con
lui. Giacomo oltre ad essere una persona umanamente molto gradevole, è
101
anche un grande esperto nella progettazione di circuiti neuromorfi. È stato
molto stimolante e piacevole lavorare con lui.
Ringrazio il Prof. Daniel J. Amit con cui ho avuto la fortuna di collaborare nel passato e di cui ho potuto apprezzare l’elevato profilo scientifico e
culturale.
Ringrazio Raffaele Bencardino per la sua grande simpatia e per la sua
disponibilità nel darmi consigli nella gestione delle fasi finali della tesi.
Ringrazio Francesco Palma, Gabriella Russo, Marco Pizziol e Maurizio
Sabene per aver piacevolmente condiviso con loro un poco di esperienza come
studenti compagni di corso seppur non di età. Con loro mi sono sentito uno
studente un pò meno anomalo.
Ringrazio mia sorella Rita, mio fratello Marco e mia zia Suor Gilda per
avermi saputo spesso incoraggiare.
Ringrazio mio nipote Stefano per aver garantito il funzionamento del
portatile nella fase critica di stesura della tesi.
Desidero poi ringraziare tutti quei colleghi che mi hanno talvolta moralmente sostenuto in questa mia avventura.
Lascio in ultimo, ma non certo come ultimo, il mio ringraziamento più
grande e più sentito in assoluto a mia moglie Emanuela, che ha saputo in
tutti questi anni sopportarmi e sostenermi in ogni momento, anche a prezzo
di grandi fatiche e sacrifici per la gestione della famiglia e dei nostri due
figli, senza di lei non ce l’avrei fatta. A Federico e Luca ringrazio per la loro
gioiosità di bimbi e prometto di dedicare loro il tempo che meritano.
Ad Emanuela, Federico e Luca dedico la mia tesi.
102
Bibliografia
[1] Daniel J. Amit. Modellizzare le funzioni del cervello. CEDAM, Milano,
1995.
[2] J. J. Hopfield. Neural networks and physical systems with emergent
selective computational activities. Natl. Acad. Sci. USA, 1982.
[3] P. Del Giudice and G.Parisi . Modelli di neuroscienza computazionale.
Enciclopedia del 900. Istituto dell’Enciclopedia Italiana, Roma, 2004.
[4] P. Dayan and L. F. Abbott. Theoretical Neuroscience. MIT Press,
Cambridge, MA, 2001.
[5] Christof Koch. Biophysics of computation. Oxford University Press,
New York, 1999.
[6] Wulfram Gerstner and Werner Kistler.
Spiking Neuron Models.
Cambridge University Press, Cambridge, 2002.
[7] G. Gerstein and B. Mandelbrot. Random walk models for the spike
activity of a single neuron. Biophys. J., 4:41–68, 1964.
[8] Stefano Fusi and Maurizio Mattia. Collective Behavior of Networks with
Linear (VLSI) Integrate-and-Fire Neurons. Neural Comput., 11(3):633–
653, apr 1999.
[9] G. Gigante. Adattamento alla dinamica neuronale dovuto alla corrente
del calcio. Master’s thesis, Università di Roma “La Sapienza“, 2003.
[10] Y. Miyashita. Neural correlate of visual associative long-term memory
in the primate temporal cortex. Nature, (335):817, 1988.
[11] Daniel J. Amit. The Hebbian paradigm reintegrated: local reverberations as internal representations. Behav. Brain. Sci., 18:617–657,
1995.
103
Bibliografia
[12] D.J. Amit, P. Del Giudice and S. Fusi. Apprendimento dinamico della
memoria di lavoro: una realizzazione in elettronica analogica, volume 3
of Frontiere della Vita. Istituto Della Enciclopedia Italiana, Roma, 1999.
[13] Donald O. Hebb. The Organization of Behavior: A Neuropsychological
Theory. John Wiley & Sons, 1949.
[14] Daniel J. Amit and Stefano Fusi. Learning in neural networks with
material synapses. Neural Comput., 6(5):957–982, sep 1994.
[15] S. Fusi et. al. Spike-driven synaptic plasticity: theory, simulation, VLSI
implementation. Neural Computation, 12:2227–2258, 2000.
[16] S. Fusi. Hebbian spike-driven synaptic plasticity for learning patterns
of asynchronous activity. Biol. Cybern., 87(5–6):459–470, 2002.
[17] S. Fusi P. Del Giudice and M. Mattia. Modeling the formation of working
memory with networks of integrate-and-fire neurons connected by plastic
synapses. Journal of Physiology Paris, 97:659–681, 2003.
[18] J.M. Brader, W. Senn, S. Fusi. Learning real world stimuli in a neural network with spike-driven synaptic dynamics. Neural Comput.,
submitted.
[19] C. Mead. Analog VLSI and Neural System. Addison-Wesley, 1989.
[20] S.Liu, J. Kramer, G. Indiveri, T. Delbruk and R. Douglas. Analog VLSI: Circuits and Principles. MIT Press, Cambridge, Massachusetts London, England, 2002.
[21] J.P.Uyemura. Fundamentals of MOS Digital Integrated Circuits.
[22] P.E. Allen, D. R. Holberg. CMOS Analog Circuit Design. Oxford
University Press, New York, Oxford, second edition.
[23] R.L.Geiger, P.E.Allen, N.R.Straden. VLSI design for analog and digital
circuits.
[24] N.H.E. Weste K. Eshraghian. Principles of CMOS VLSI design.
[25] Ketteth S. Kundert. The Designer’s Guide to SPICE & SPECTRE.
Kluwer Academic Publishers, Boston - Dordrecht , London, 1996.
[26] Andrei Vladimirescu. Guida a Spice. McGraw-Hill, Milano, 1995.
104
Bibliografia
[27] E. Chicca, D. Badoni, V. Dante, M. D’Andreagiovanni, G. Salina, L. Carota, S. Fusi and P. Del Giudice. A VLSI recurrent network of integrateand-fire neurons connected by plastic synapses with long term memory.
IEEE Transactions on Neural Networks, 14(Issue 5):1297– 1307, Sept.
2003.
[28] Giacomo Indiveri. Low power adaptive integrate and fire. In Proc. IEEE
International Symposium on Circuits and Systems, 2003.
[29] V. Dante and P. Del Giudice. Hardware and software for interfacing
to address-event based neuromorphic systems. In The Neuromorphic
Engineer, 2005.
[30] V. Dante and P. Del Giudice. The PCI-AER interface board.
Workshop on Neuromorphic Engineerig, 2001.
In
[31] Del Giudice V. Dante and M. Mattia. Implementation of Neuromorphic
Systems: from discrete components to analog VLSI chips (testing and
communication issues). Ann. Ist. Super. Sanita, (37 (2)):231–239, 2001.
[32] V. Dante. PCI - AER Adapter board User Manual. In Web site of I.S.S.
neural.iss.infn.it, 2002-2003.
[33] Kwabena A. Boahen. Point-to-Point Connectivity Between Neuromorphic Chips using Address-Events. IEEE transaction on circuits &
systems,, 1999.
105
Scarica