Innenschaltung auf einer Seite
Wenn man früher eine elektronische Steuerung für einen Automaten entwickeln wollte musste man zuerst die Schaltfunktionen festlegen, dann aus einer Anzahl verfügbarer logischer Grundfunktionen die Schaltung aufbauen, viele kleine Chips auf eine Platine löten und viele Drähte ziehen (Prototypenbau).
(Bild Protortyp Reclam-Bücherautomat)
Bei einem Design-Fehler durfte man u.u. die ganze Schaltung in den Müll werfen, da ein Umlöten mehr Zeit beanspruchte als ein Neubau.
Wollte man komfortabel entwickeln, kam schnell ein Chipsortiment mir mehr als 200 verschiedenen Typen zusammen, (Kosten für Anschaffung auf Vorrat). Komplexere Schaltungen beanspruchten viele Chips, dadurch viel Platz und waren daher teuer.
Wunsch: Einen universellen einfach umprogrammierbaren Logikbaustein der alles kann!
Durch hohe Integrationsdichten und elektisch programmier und löschbare Leitungsverbindungen wurde es möglich solche Bausteine herzustellen.
So sieht so ein Baustein von oben aus:
Wie ist ein solcher Baustein aufgebaut?
Folgende Dinge sollte so ein Baustein können:
Um das zu erreichen, haben sich die Jungs von Lattice folgendes Konzept überlegt:
Was sofort ins Auge sticht ist der grosse Global Routing Pool (GRP), seine Aufgabe ist es all die vielen Blöcke faßt beliebig miteinander verbinden zu können. Wieviele Leitungen braucht man, wenn man 10 Häuser direkt miteinander verbinden will? Jede dieser Verbindungen ist durch Programmierung schaltbar (Routing).
Der Baustein hat 32 frei konfigurierbare Pins (I/O 0..I/O 31). I/O bedeutet Input/Output, die Pins können bidirektional sein, Ein- und Ausgabe zugleich (Busse).
Diese Pins sind über den Input Bus mit dem GRP verbunden.
Der Baustein beinhaltet 16 Generic Logic Blocks (GLB) A0..A7 und B0..B7. Jeder dieser Blöcke hat 18 Eingänge und 4 Ausgänge, die über den Output Routing Pool auf die Ausgänge und wieder zu anderen GLB's über den GRP verdrahtet werden können:
Hier der Aufbau eines Logik-Blocks:
Was ist ein MUX?
Programmierung der Pins
Sicht auf die Makrozellen
MUX und D-Flip-Flops