1. Einleitung - FG Mikroelektronik, TU Berlin
1. Einleitung - FG Mikroelektronik, TU Berlin
1. Einleitung - FG Mikroelektronik, TU Berlin
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kapitel 6 EVL-Unit<br />
in der Registerfile (Counter_RF als RAM-Zelle, 32x13 Bits). Das Rücksetzen der Register<br />
in der Registerfile geschieht aufgrund der RAM-Struktur aber leider nicht in einem Takt,<br />
sondern benötigt so viele Takte wie die Anzahl der Register, nämlich 32.<br />
Nach der Initialisierung geht die FSM in den Wartezustand, hier als „Start“ genannt,<br />
über. Hier muss die FSM ständig nach Request-Signalen „horchen“, selbstverständlich in<br />
der Reihenfolge der vergebenen Prioritäten. Das Prinzip ähnelt dem eines Bus-Arbiters.<br />
Insgesamt gibt es fünf verschiedene Request-Forderungen an die EVL-FSM:<br />
(1) ATN1 feuert und eine oder beide Delays sind di >1, i = 1 oder 2<br />
(2) ATN2 feuert und eine oder beide Delays sind di >1, i = 1 oder 2<br />
(3) Ein BP-Neuron wurde mit einer Verzögerung Fire-Next >1 berechnet<br />
(4) Die Daten des Blockes [TS+1] in der Eventliste (EVL-Speicher) müssen zur<br />
SNT-Unit (bei ASN, <strong>1.</strong> Zeile) und TNT-Unit (bei ASN, 2. Zeile und bei BP-<br />
Neuronen) übertragen werden<br />
(5) Die Zeitscheibe wechselt, d. h. TS erhöht sich um eins.<br />
Da es bei der „Integrate_and_Fire Unit“ (IFU) zwei Prozessoreinheiten PE1 und PE2 gibt,<br />
die zwei ATN parallel behandeln können, sind hier ATN1 und ATN2 Neuronen gemeint,<br />
die in den genannten Prozessoreinheiten im Augenblick in Behandlung stehen.<br />
Das Schreiben eines ASN und der zugehörigen Empfängerparameterzeile (Fall 1 oder 2)<br />
benötigt insgesamt 5 Takte. In den ersten drei Takten werden die entsprechenden Daten<br />
und Adressen vorbereitet. Im Takt 4 und 5 (insgesamt zwei Zeilen) werden die vorbereitete<br />
Informationen zum SRAM (EVL) geschickt. Parallel wird im Takt 5 der ausgelesene<br />
Zähler um 2 inkrementiert und in das entsprechende Register in der Registerfile<br />
(Counter_RF, Bild 6.4) zurückgeschrieben. Das Schreiben eines BP-Neurons (Fall 3)<br />
erfordert hingegen nur 4 Takte, da es keine Parameterzeile besitzt. Das Entleeren des<br />
Blockes [TS+1] geschieht in Abhängigkeit vom Zählerstand eines Dekrementierers (Fall<br />
4). Ist dieser Stand größer 0, dann sollte der Block [TS+1] erst ausgelesen werden, wenn es<br />
keine andere Requests gibt. Das bedeutet, dass diese Request die niedrigste Priorität hat.<br />
Bei jedem dieser Auslesevorgänge werden stets zwei Zeilen geholt. Insgesamt benötigt<br />
diese Prozedur auch 5 Takte. In den ersten beiden Takten werden die Lese-Adressen<br />
generiert. In Takt 2 und 3 werden die generierten Adressen an den SRAM angelegt und in<br />
den letzten beiden Takten die Daten abgeholt. Das Entleeren eines Blockes funktioniert<br />
nach dem „Last-In-First-Out“-Prinzip, d.h. das zuletzt eingetragene Datum wird nun zuerst<br />
wieder ausgelesen. Der Zähler läuft also rückwärts und heißt deshalb Dekrementierer. Zu<br />
SPINN-Chip: NTC/TNC-Modul 53