D. Programmierbare Logik D.1. Bisher: „Höhere Informatik“ - wenige Schaltkreise pro Chip, - feste Verdrahtung. Nun: - Einordnung Systemprogrammierung: - Betriebssystemkonzepte, Ein- & Ausgabe Generischer Schaltkreis, Löschen & programmieren, Umfangreiche Funktionalität, Einstellbare Logikfunktionen, Einstellbare Verdrahtung, Architektur: K J E F G H I - Recherarchitektur, Instruktionssatz, Mikroarchitektur Rechnerarithmetik: - Zahlendarstellung, Operatoren, Konvertierung ... Programmierbare Logik Digitale Schaltungen: C D - Zustandsmasch., Zähler, ALU, PLA, Optimierung Digitale Logik: - Gatter, digitale Signale, Signalausbreitung ... B Elektronik D-1 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.2. Tri-State-Ausgabelogik D.2.1 Elektronische Bussysteme BUS: Gruppe von parallelen Leitungen zum Datenaustausch.. Bus im Rechenwerk => - Bidirektional, - z.B. 32 Bit Daten, - von & zum Register. A L U R egister R egister R egister R egister B us Busysteme in einem Standard-PC: - versch. Geschwindigkeit & Breite, - Daten- & Adresse, - Arbitrierung. CPU FSB RAM RAM N-Bridge Device Device PCI - Bus IDE IDE S-Bridge Device Device ISA- Bus D-2 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.2.2 Ausgabepegel elektronischer Digitalschaltungen Bisher 2 Zustände: - Zustand „Logisch 0“: geringe Spannung, geringer Stromfluss - Zustand „Logisch 1“: hohe Spannung, hoher Stromfluss, - oder umgekehrt. Problem: zwei Ausgänge auf derselben Leitung - elektrischer Kurzschluss je nach Ausgabewert - bzw. Spannungen im verbotenen Bereich, - undefinierter logischer Zustand. => Zusätzlicher Zustand: - Ausgang soll sich gelegentlich elektrisch neutral verhalten, - Passt sich dem bestehenden Zustand auf dem Bus an, - Ähnlich „do not care“. D-3 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm Lösung 1: Tri-State-Puffer: E „Enable“ Signal, Y „evtl. hochohmiger Ausgang“, - oft mit invertiertem Enabler E, - Ausgabepegel „floatet“, falls enable, Lösung 2: Open-Kollektor Schaltung: - „Wired-OR, Wired-AND, D-4 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.2.3 Zugang zum Bus nur über Tri-State-Puffer Enable: - Das Schaltwerk legt seinen Ausgang auf den Bus, - Hoffentlich ist nur ein Sender am Bus „enabled“. Ein bestimmter Datenpfad kann gezielt ausgewählt werden: - Mehrere Empfänger möglich. D-5 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.3. SPLD - Simple Programmable Logic Devices Einfache programmierbare Logikbausteine: - Im wesentlichen keine Rechenfähigkeit, - Typischerweise Festwertspeicher. ROM - Read Only Memory: - Werte/Bitmuster bei Herstellung festgelegt, - Z.B. durch eine letzte Metallisierung. Dioden als Koppelelement: - Koppeln das Lesesignal auf die Ausgangsleitung. ? ? ! D-6 ! Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm PROM – Programmable Read Only Memory - einmalig durch Anwender programmierbar, - z.B. durchschmelzen von Sicherungen. D-7 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.3.1 Beispiel: 8 x 4 Bit PROM Funktionsweise - Adressleitungen selektieren Speicherzelle, - Inhalt an Ausgabeleitung abgreifbar: Koppelelement D-8 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.4. EPROM/EEPROM/Flash Erasable Programmable Read Only Memory (EPROM): - elektrisch programmierbar (durch Überspannungen). - durch UV-Bestrahlung löschbar, 2 Electrically Erasable PROM (EEPROM, E PROM): - Etwa zur Speicherung des BIOS eines PCs, - elektrisch programmierbar, - elektrisch löschbar. Flash-Speicher: - Etwa zur Speicherung von Photos in digitalen Kameras, - ähnlich EEPROM aber geringere Größe, - blockweise programmier- und löschbar. Seit kurzem Solid-State Disk: - Als Ersatz für rotierende Festplatten, - Erasure-Blocksize z.B. 4 Mbyte, - Schneller, wahlfreier Zugriff. D-9 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.5. PROM als Schaltnetz Schematische Darstellung eines PROM - Programmierbare ODER-Matrix mit Koppelelementen, - Adressdekoder als feste UND-Matrix, - Minterme über Adressleitungen, PROM kann Schaltfunktionen implementieren: - pro Wertekombination der Eingänge wird ein Ergebnis direkt programmiert. m - 2 Worte à n Bit realisieren n Schaltfunktionen mit je m Eingängen, - Wahrheitstabelle in Hardware abgebildet, - keine Minimisierung üblich. D-10 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.5.1 2x2-Multiplizierer Werte in PROM „brennen“: - Adresse fest vordecodiert, - Wahrheitstabelle (C10.1): Mult 0x0=0 0x1=0 0x2=0 0x3=0 1x0=0 1x1=1 1x2=2 1x3=3 2x0=0 2x1=2 2x2=4 2x3=6 3x0=0 3x1=3 3x2=6 3x3=9 D-11 a 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 d 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 y3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 y2 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 y1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 y0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.6. PAL - Programmable Array Logic Charakteristiken: - feste ODER-Matrix, - frei programmierbare UND-Matrix, - feste Anzahl UND-Gatter pro ODER-Gatter (hier 4). PAL kann jede minimisierte Schaltfunktion realisieren, falls Anzahl Produktterme pro Schaltfunktion klein genug: - Hier 4 Produktterme pro SF. D-12 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm Begriff PAL Eingetragenes Warenzeichen der Fa. AMD bzw. Lattice Technik - ursprünglich in TTL- später auch CMOS-Technik, - ursprünglich einmalig programmierbar, - heute auch löschbare Varianten. Varianten (siehe auch GAL) - D-13 Rückkopplung der Ausgänge als interne Eingänge, normaler oder invertierter Ausgang, getaktet / ungetaktete Flip-Flops, Flip-Flops an den Ausgängen, Tri-State-Ausgänge. Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.7. GAL - Generic Array Logic Funktionsweise wie PAL, jedoch flexiblere Ausgabelogik, anschliessend an PAL-Array (nicht gezeigt). Beispiel: Output Logic Macro Cell (OLMC): D-14 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D-15 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm - D-16 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D-17 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm - D-18 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm - Rückkoppelung des Ausganges Ausschließlich CMOS Technik Markenzeichen der Fa. Lattice Reprogrammierbar durch E2CMOS-Technologie (ähnlich EEPROM) D-19 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.8. PLA - Programmable Logic Array (PLA) ODER-Matrix ebenso wie UNDMatrix frei programmierbar. Realisiert beliebige Schaltfunktionen, falls Anzahl der Produktterme ausreichend. D-20 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.9. CPLD - Complex Programmable Logic Device Alternativbezeichnungen (Markennamen): - EPLD, EEPLD, PEEL, MAX, SuperPAL, MegaPAL ... Zusammenfassung der Funktionalität mit tausenden GAL-Bausteinen. Makrozellen: - für Ausgabelogik (I/O-Blocks) - für Berechnung der Schaltfunktionen - „Borgen“ zusätzlicher UND-Glieder für Produktterme aus anderen Makrozellen. Verschaltung der internen GALs/Makrozellen: - mit einer programmierbaren Zuordnungsmatrix, - vollständige oder unvollständige Verschaltung. Programmierung wie EPROM, EEPROM oder Flash-ROM: - Anders als FPGA keine Startup- bzw. Ladeverzögerung. D-21 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.9.1 Blockschaltbild für Makrozellenorganisation: Verschiedene Makrozellen bilden einen Logik-Block: - GAL-Zellen, ALU-Zellen, Registerzellen, ... - Configurationspeicher ... GAL D-22 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.10. FPGA - Field Programmable Gate Array Alternativbezeichnungen (Markenzeichen): - LCA, pASIC, FLEX, APEX, ORCA, SPGA ... Aufbau - bis zu mehreren 100.000 Makrozellen für Schaltfunktionen und Flip-Flops, - programmierbare Kommunikationsinfrastruktur zwischen den Zellen, - große oder kleine Logikzellen. 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. Hersteller: - Xilinx, Altera, Lattice, Actel, Lucent, Cypress, Atmel, Quicklogic. D-23 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm D.10.1 FPGA Blockschaltbild D-24 Technische Informatik 2,Winter 2008/09, P. Schulthess & F. Hauck, ©VS Informatik, Ulm