1 Einordnung Ebene 6 Problemorientierte Sprache Ebene 5 Assemblersprache F Programmierbare Logikbausteine Ebene 4 Ebene 3 Ebene 2 Ebene 1 Betriebssystem ISA (Instruction Set Architecture) Mikroarchitektur Digitale Logik Ebene 0 Physik F.1 F.2 2 Verknüpfung von Schaltungen 2 Verknüpfung von Schaltungen (2) Ausgabeleitungen elektronischer Digitalschaltungen 0: geringe Spannung, geringer Stromfluss 1: hohe Spannung, hoher Stromfluss Ausgang soll sich gelegentlich elektrisch neutral verhalten Beispiel: Bussystem verbindet Schaltwerke innerhalb eines Rechners Situtation Schaltwerk A Schaltwerk B Schaltwerk Schaltwerk Bus Schaltwerk Bus Problem: zwei Ausgänge auf der selben Leitung elektrisch: Kurzschluss je nach Ausgabewert bzw. Spannungen im verbotenen Bereich Busleitungen sollen zur Eingabe und zur Ausgabe benutzt werden F.3 F.4
2.1 Tri-State-Ausgabelogik 2.1 Tri-State-Ausgabelogik (2) Lösung: Tri-State-Puffer Zugang zum Bus nur über Tri-State-Puffer A Y A E Y 0 0 X E 0 X 1 1 1 X = Ausgabe elektrisch neutral (floating, hochohmig) E = enable Schaltwerk A Schaltwerk B Tri-State-Puffer auch mit invertiertem E-Eingang gebräuchlich A Y A E Y 0 0 0 E 0 1 X 1 1 1 X Bus Schaltwerke können Ausgang jeweils vom Bus nehmen bestimmter Datenpfad kann gezielt ausgewählt werden F.5 F.6 2.2 Wired-Or/Wired-And-Schaltung 2.2 Wired-Or/Wired-And-Schaltung (2) Alternative Ausnutzen der elektrotechnischen Grundlagen Kollektor eines Transistors als Ausgang Vcc Y Wired-Or 1 = kein Stromfluss, 0 = Stromfluss eine 1 am Kollektor sorgt für 1 am Gesamtausgang Y Wired-And 1 = Stromfluss, 0 = kein Stromfluss eine 0 am Kollektor sorgt für 0 am Gesamtausgang Y Gnd Strom an der Basis zieht Ausgang auf Masse kein Strom an der Basis koppelt Transistor nahezu ab F.7 F.8
3 SPLD Simple Programmable Logic Devices (SPLD) einfache programmierbare Logikbausteine 3.1 ROM/PROM (2) Funktionsweise Adressleitungen selektieren Speicherzelle Inhalt an Ausgabeleitung abgreifbar 3.1 ROM/PROM Beispiel: 8 x 4 Bit ROM Read Only Memory (ROM) Werte bei Herstellung festgelegt Programmable Read Only Memory (PROM) einmalig durch Anwender programmierbar a 0 a 1 a 2 Adress- Dekoder d 3 d 2 d 1 d 0 Koppelelement mit Dioden mit Transistoren Vcc F.9 F.10 3.1 ROM/PROM (3) Beispiel: 8 x 4 Bit PROM Einsatz von Sicherungen Programmiervorgang zerstört u.u. Sicherungen Koppelelemente für PROM mit Dioden Sicherung (Fuse) mit Transistoren Vcc 3.1 EPROM/EEPROM/Flash Erasable Programmable Read Only Memory (EPROM) elektrisch programmierbar (durch Überspannungen) durch UV-Bestrahlung löschbar Electrically Erasable Programmable Read Only Memory (EEPROM, E 2 PROM) elektrisch programmierbar elektrisch löschbar Flash-Speicher ähnlich EEPROM aber geringere Größe nur blockweise programmier- und löschbar F.11 F.12
3.2 PROM als Schaltnetz Schematische Darstellung eines PROM Adressdekoder als feste UND- Matrix (Minterme über Adressleitungen) Koppelelemente als programmierbare ODER-Matrix 3.2 PROM als Schaltnetz (2) PROM kann Schaltfunktionen implementieren Wahrheitstabelle in Hardware abgebildet PROM mit 2 m Worten à n Bit kann n Schaltfunktionen mit je m Eingängen realisieren keine Minimisierung pro Wertekombination der Eingänge wird ein Ergebnis direkt programmiert Beispiel: 2x2-Multiplizierer Wahrheitstabelle siehe Folie C.68 Werte in PROM brennen F.13 F.14 3.3 PAL Programmable Array Logic (PAL) frei programmierbare UND-Matrix feste ODER-Matrix Anzahl der UND-Gatter pro ODER- Gatter fixiert kann jede minimisierte Schaltfunktion realisieren Voraussetzung: Anzahl der Produktterme pro Schaltfunktion klein genug 3.3 PAL (2) Begriff PAL eingetragenes Warenzeichen der Fa. AMD bzw. Lattice Technik ursprünglich in TTL- später auch CMOS-Technik ursprünglich einmalig programmierbar heute zum Teil auch löschbare Varianten Varianten normaler oder invertierter Ausgang Flip-Flops an den Ausgängen getaktet oder ungetaktete Flip-Flops Rückkopplung der Ausgänge als interne Eingänge Tri-State-Ausgänge F.15 F.16
3.4 GAL Generic Array Logic (GAL) Funktionsweise wie PAL jedoch flexible Ausgabelogik Beispiel: Output Logic Macro Cell (OLMC) PL OE 3.4 GAL (2) Begriff GAL Markenzeichen der Fa. Lattice Technik ausschließlich CMOS wiederprogrammierbar durch E 2 CMOS-Technologie (ähnlich EEPROM) + XOR (n) AR PL PD D Q 0 1 AP Y(n) F.17 F.18 3.5 PLA Programmable Logic Array (PLA) frei programmierbare UND-Matrix frei programmierbare ODER-Matrix kann beliebige Schaltfunktionen realisieren Voraussetzung: Anzahl der Produktterme ausreichend 4 CPLD Complex Programmable Logic Device (CPLD) Alternativbezeichnungen (Markennamen): EPLD, EEPLD, PEEL, MAX, SuperPAL, MegaPAL Aufbau Zusammenfassung der Funktionalität bis zu etwa 100 GAL-Bausteine Makrozellen für Berechnung der Schaltfunktionen Makrozellen für Ausgabelogik (I/O-Blocks) Verschaltung der internen GALs mit einer programmierbaren Zuordnungsmatrix (vollständige oder unvollständige Verschaltung) Borgen zusätzlicher UND-Glieder für Produktterme aus anderen Makrozellen möglich Programmierung wie EPROM, EEPROM oder Flash-ROM F.19 F.20
4 CPLD (2) Blockschaltbild Logikblock Schaltmatrix Logikblock Logikblock 5 FPGA Field Programmable Gate Array (FPGA) Alternativbezeichnungen (Markenzeichen): LCA, pasic, FLEX, APEX, ORCA, SPGA Aufbau bis zu mehreren 10.000 Makrozellen für Schaltfunktionen und Flip-Flops große oder kleine Logikzellen programmierbare Kommunikationsinfrastruktur zwischen den Zellen (unvollständig) Programmierung wie EPROM, EEPROM oder Flash-ROM Programmierung mit flüchtigem Speicher (RAM) Hochfahren des FPGA durch externen Speicher (z.b. PROM) Umprogrammierung im laufenden Betrieb möglich F.21 F.22 5 FPGA (2) Blockschaltbild programmierbare Logikzellen programmierbares Verbindungsnetzwerk programmierbare Ein-/Ausgabelogik F.23