MezData-Logo Creative Commons License 410 Lösungen Button :ISP: Was sind programmierbare Logikbausteine

Orginal-Datenblaätter von Lattice als PDF

Innenschaltung auf einer Seite

Architektur der 1000er Serie

Datenblatt des 1016E

Wozu programmierbare Logikbausteine

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?

Prinzipieller Aufbau des 1016E

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.

Sitz der programmierbaren Logik

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:

Die Generic Logic Blocks (GLB)

Hier der Aufbau eines Logik-Blocks:

Was ist ein MUX?

Programmierung der Pins

Sicht auf die Makrozellen

MUX und D-Flip-Flops