Teil 1: Digitale Logik Inhalt: Boolesche Algebra kombinatorische Logik sequentielle Logik kurzer Exkurs technologische Grundlagen programmierbare logische Bausteine 1
Tri-State Ausgangslogik Ausgang eines Tri-State Puffers kann die Zustände 0, 1 oder X ( floating bzw. unconnected ) annehmen 2
ROM und PROM Festwertspeicher (ROM = Read-Only Memory ) enthalten bei Herstellung verdrahtete und nicht änderbare Information Inhalt eines PROM ( Programmable Read-Only Memory ) kann einmalig vom Anwender programmiert werden Aufbau eines 8 4 Bit ROMs bzw. PROMs: 3
EPROM und EEPROM EPROM ( Erasable Programmable Read-Only Memory ) basierend auf Floating-Gate MOS-FET Floating-Gate kann Ladung speichern (sperrt mit Ladung auch bei U GS > U S) kann einzeln programmiert werden (durch Überspannung U DS ~20 V für 5ms) nur komplett löschbar (durch UV-Licht, ~ 20 Minuten) EEPROM ( Electrically Erasable Programmable ROM ) Floating-Gate MOS-FET in E 2 CMOS Technologie jedes Bit einzeln löschbar (durch Überspannung U GS ~20 V für 5ms) 4
Kombinatorische Logik mit PROM Schematische Darstellung eines PROM (hier mit 16 Worten à 4 Bit): Adreßdekoder entspricht einer festen UND-Matrix Koppelelemente entsprechen einer programmierbaren ODER-Matrix realisiert Wahrheitstabelle in Hardware ein PROM mit 2 m Worten à n Bit kann jede beliebige boolesche Funktion f : {0,1} m {0,1} n ohne Minimierung implementieren 5
Kombinatorische Logik mit PROM (Forts.) Beispiel: 2x2 Bit Multiplizierer 6
Kombinatorische Logik mit PAL PAL = Programmable Array Logic Schematische Darstellung eines PAL-Bausteins (hier ein PAL 4H4 mit 4 Eingängen, 4 Ausgängen und 4 Produkttermen je Ausgang) Aufbau: frei programmierbare UND-Matrix Produktterme werden mit fester ODER- Matrix verknüpft kann jede (minimierte) Summe von Produkten realisieren, wenn Zahl der Produktterme je ODER ausreicht 7
Kombinatorische Logik mit PLA PLA = Programmable Logic Array bereits 1970 eingeführt (Philips) Schematische Darstellung eines PLA-Bausteins (hier ein PLA mit 4 Eingängen, 4 Ausgängen und 16 Produkttermen): Aufbau: frei programmierbare UND-Matrix frei programmierbare ODER-Matrix kann jede boolesche Funktion realisieren, wenn Gesamtzahl der Produktterme im PLA ausreicht 8
PAL- und GAL-Bausteine PAL ( Programmable Array Logic ) eingetragenes Warenzeichen der Fa. AMD bzw. Lattice ursprünglich in TTL, heute auch in CMOS ursprünglich nur einmal und irreversibel programmierbar, heute z.t. auch wiederprogrammierbar GAL ( Generic Array Logic ) entwickelt von der Fa. Lattice ausschließlich in CMOS wiederprogrammierbar durch E 2 CMOS-Technologie 9
PAL- und GAL-Bausteine (Forts.) weitgehend einheitliche Nomenklatur: PAL/GAL xx Typ yy, mit xx: Zahl der Eingänge der UND-Matrix yy: Zahl der Ausgänge Typ: (Auswahl) H = high output (ODER am Ausgang) L = low output (NOR am Ausgang) X = xor (ODER-Ausgänge mit XOR verknüpfbar) R = registered (mit D Flip-Flops, für Zustandsmaschinen) AR = registered, asynchronous (für asynchrone Schaltungen) V = various (flexible Logik-Makrozelle) XV = xor, various (flexible Logik-Makrozelle mit XOR) 10
PAL- und GAL Bausteine (Forts.) Beispiel 1: PAL16R6 6 Ausgänge mit D Flip-Flops, zentral getaktet 2 Ausgänge ohne Register UND-Matrix mit 16 Eingängen (10 extern, 6 rückgekoppelt) 8 Produktterme je ODER-Gatter 8 Ausgänge in Tri-State Logik, davon 6 zentral über Signal OE gesteuert und 2 über Produktterm 11
PAL- und GAL Bausteine (Forts.) Beispiel 2: PAL22V10 10 Logik-Makrozellen (OLMC) mit D Flip-Flop und Summe von max. 16 Produkttermen an D zentraler Takt 10 Tri-State Ausgänge, über Produktterm in OLMC gesteuert max. 22 Eingänge zentraler asynchroner Reset AR, synchroner Preset SP 12