Vorlesungsskript. Digitaltechnik. Prof. Dr.-Ing. Frank Gustrau FH Dortmund http://www.fh-dortmund.de/gustrau



Ähnliche Dokumente
BIP. Digitaltechnik-Grundlagen der Industrieroboter und Produktionsautomatisierung

Inhaltsverzeichnis. Inhalt. 1 Einleitung

Formelsammlung. Wahrscheinlichkeit und Information

9 Multiplexer und Code-Umsetzer

Grundlagen der Digitaltechnik

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Grundlagen der Informatik

, WS2012 Übungsgruppen: Mo.,

Grundlagen Digitaler Systeme (GDS)

Eigenschaften von Zählerschaltungen (1) 1 1. Richtung

N Bit binäre Zahlen (signed)

Füllstandsregelung. Technische Informatik - Digitaltechnik II

Teil 1: Digitale Logik

Signalverarbeitung 1

3.2 Verknüpfung von Variablen Sheffer- und Pierce-Funktion Übungen... 52

Digital-Technik. Grundlagen und Anwendungen. Teil IV

Einführung in. Logische Schaltungen

Praktikum Digitaltechnik

Binär Codierte Dezimalzahlen (BCD-Code)

Daten, Informationen, Kodierung. Binärkodierung

Rechnenund. Systemtechnik

Grundlagen der Informatik 2. Grundlagen der Digitaltechnik. 5. Digitale Speicherbausteine

Technische Informatik Basispraktikum Sommersemester 2001

Übung 1 RS-FFs mit NOR- oder NAND-Gattern

Grundlagen der Informationverarbeitung

Zahlensysteme Seite -1- Zahlensysteme

3.2 Verknüpfung von Variablen Sheffer- und Pierce-Funktion Übungen... 54

Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

Protokoll zu Grundelemente der Digitaltechnik

4 Binäres Zahlensystem

Zahlensysteme. Zahl Stellenwert Zahl Zahl =

Eine Logikschaltung zur Addition zweier Zahlen

Elektrische Logigsystem mit Rückführung

10. Elektrische Logiksysteme mit

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme

Digitaltechnik II SS 2007

Lösung 3.1 Schaltalgebra - Schaltnetze (AND, OR, Inverter)

Einführung in die Informatik I

Informationsdarstellung im Rechner

Binärdarstellung von Fliesskommazahlen

Grundtypen Flip-Flops

Einführung in die Programmierung

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

BSZ für Elektrotechnik Dresden. Zahlenformate. Dr.-Ing. Uwe Heiner Leichsenring

Flipflops. asynchron: Q t Q t+t

KLAUSUR DIGITALTECHNIK SS 00

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10

Flip Flops allgemein - Digitale Signalspeicher

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik.

Versuch 3: Sequenzielle Logik

Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4. Kapitel 4: Schaltungen mit Delays Seite 1

Zeichen bei Zahlen entschlüsseln

2. Negative Dualzahlen darstellen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Vorwort 5 1 Grundbegriffe Analoge und digitale Größendarstellung Analoge Größendarstellung Digitale Größendarstellung 17 1.

Theoretische Grundlagen der Informatik WS 09/10

1. Speicherbausteine JK-RS-Master-Slave-Flip-Flop

Technische Informatik - Eine Einführung

III. Asynchrone und synchrone Schaltwerke

Grundlagen der Technischen Informatik. 2. Übung

Modul 114. Zahlensysteme

DuE-Tutorien 17 und 18

- Strukturentwurf elementarer Rechenwerke - Grund-Flipflop (RS-Flipflop) - Register, Schieberegister, Zähler

Wintersemester 2001/2002. Hardwarepraktikum. Versuch 4: Sequentielle Systeme 1. - Toralf Zemlin - Swen Steinmann - Sebastian Neubert

Lineare Gleichungssysteme

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = binär

2 Darstellung von Zahlen und Zeichen

Praktikum Grundlagen der Elektronik

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

Leseprobe. Taschenbuch Mikroprozessortechnik. Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN:

9 Flipflops (FF) Basis-FF. (Auffang-FF, Latch) praxis verstehen chancen erkennen zukunft gestalten 9-1

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

Zahlensysteme: Oktal- und Hexadezimalsystem

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Einteilung der Kippschaltungen (Schaltwerke) (=Flipflops)

1. Logische Verknüpfungen

Schaltwerke Schaltwerk

Vertiefungsstoff zum Thema Darstellung von Zahlen

Protokoll Flip-Flops. Protokollanten: Torsten Görig und Michael Horstmann

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

PC & Elektronik. Herbert Bernstein. PC Digital. Labor. Pnaxisnahes Lernen mit TTL- und CMOS- Bausteinen. Mit 317 Abbildungen FRANZIS

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

Arbeitsbereich Technische Aspekte Multimodaler Systeme. Praktikum der Technischen Informatik T1 2. Flipflops. Name:...

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Ernst-Moritz-Arndt-Universität Greifswald Fachbereich Physik Elektronikpraktikum

0 Im folgenden sei die Wortlänge gleich 8 (d. h.: es wird mit Bytes gearbeitet).

Dennis S. Weiß & Christian Niederhöfer. Versuchsprotokoll. (Fortgeschrittenen-Praktikum) zu Versuch 15. Digitalelektronik

HANSER. von Prof. Dipl.-Ing. Johannes Borgmeyer. 2., verbesserte Auflage

Im Original veränderbare Word-Dateien

Teil II. Schaltfunktionen

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Zahlensysteme. von Christian Bartl

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 11/12

Grundtypen Flip-Flops

Codierungsverfahren SS Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04

Übungsaufgaben für "Grundlagen der Informationsverarbeitung" (mit Lösungen)

1 Mathematische Grundlagen

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation

Transkript:

Vorlesungsskript Digitaltechnik Prof. Dr.-Ing. Frank Gustrau FH Dortmund http://www.fh-dortmund.de/gustrau (Wintersemester 2012) 1. Oktober 2012

Inhaltsverzeichnis 1 Einleitung 1 1.1 Definition analoger und digitaler Signale................... 1 1.2 Abtastung, Quantisierung und Codierung................... 4 1.2.1 Abtastung................................ 4 1.2.2 Quantisierung.............................. 4 1.2.3 Codierung................................ 4 1.3 Zentrale Begriffe der Digitaltechnik...................... 5 2 Zahlensysteme 8 2.1 Römisches Zahlensystem............................ 8 2.2 Dezimalsystem................................. 9 2.3 Dualsystem................................... 9 2.4 Oktalsystem................................... 10 2.5 Hexadezimalsystem............................... 10 2.6 Rationale Zahlen................................ 11 2.7 Umrechnung zwischen polyadischen Zahlensystemen............. 11 2.7.1 Umwandlung natürlicher Dezimalzahlen ins Dualsystem....... 11 2.7.2 Rationale Zahlen............................ 12 2.8 Darstellung negativer ganzer Zahlen...................... 13 2.8.1 Vorzeichen und Betrag......................... 13 2.8.2 Zweierkomplementdarstellung..................... 13 2.9 Rechnen im Dualsystem............................ 15 2.9.1 Addition................................. 15 2.9.2 Subtraktion............................... 16 2.9.2.1 Direkte Subtraktion..................... 16 2.9.2.2 Rechnen mit dem Zweierkomplement............ 17 2.10 Gleitkommazahlen im IEEE-754 Format................... 17 3 Codes und Codierung 18 3.1 Rechencodes................................... 18 3.1.1 BCD-Code, 3-Exzeß-Code und Aiken-Code.............. 18 3.2 Übertragungscodes für alphanumerische Zeichen............... 19 3.2.1 Morse-Code............................... 19 3.2.2 7-Bit-ASCII-Code............................ 19 i

INHALTSVERZEICHNIS ii 3.2.3 Unicode................................. 20 3.3 Codesicherung.................................. 20 3.3.1 Minimale Hamming-Distanz...................... 21 3.3.2 Gleichgewichtige Codes......................... 21 3.3.3 Paritätsbits............................... 22 3.3.4 Blockprüfung.............................. 23 3.3.5 Hamming-Code............................. 24 4 Schaltalgebra 27 4.1 Begriffe..................................... 27 4.2 Logische Grundverknüpfungen......................... 27 4.2.1 Negation, NICHT-Verknüpfung, NOT................. 28 4.2.2 Disjunktion, ODER-Verknüpfung, OR................ 28 4.2.3 Konjunktion, UND-Verknüpfung, AND................ 29 4.3 Abgeleitete Verknüpfungen........................... 30 4.3.1 NAND-Verknüpfung.......................... 30 4.3.2 NOR-Verknüpfung........................... 30 4.3.3 Äquivalenz-Verknüpfung........................ 31 4.3.4 Antivalenz-Verknüpfung........................ 31 4.4 Schaltverhalten bei positiver und negativer Logik.............. 32 4.5 Rechenregeln der Schaltalgebra........................ 32 4.5.1 Bedeutung der NOR und NAND-Verknüpfung für die Praxis.... 33 5 Schaltnetze 36 5.1 Beschreibung logischer Funktionen...................... 36 5.1.1 Funktionstabelle............................ 36 5.1.2 Minterme und disjunktive Normalform................ 37 5.1.3 Maxterme und konjunktive Normalform............... 37 5.2 Vereinfachung logischer Schaltungen...................... 37 5.2.1 Gesetze der Schaltalgebra....................... 37 5.2.2 KV-Diagramme............................. 38 5.2.3 Methode von Quine........................... 41 5.3 Nicht vollständig spezifizierte Funktionen (Don t care Felder)........ 42 5.4 Realisierung mit Grundverknüpfungselementen................ 43 5.5 Realisierung mit NAND und NOR...................... 44 5.5.1 Realisierung mit NAND........................ 44 5.5.2 Realisierung mit NOR......................... 45 6 Codewandler 47 6.1 Entwurfsverfahren................................ 47 6.2 Aiken-BCD-Codewandler............................ 47 6.3 BCD-7-Segment-Codewandler......................... 50

INHALTSVERZEICHNIS iii 7 Schaltwerke 51 7.1 Bistabile Kippstufen.............................. 51 7.1.1 Konventionen und Klassifizierung................... 51 7.1.2 Nicht-taktgesteuerte Flipflops..................... 53 7.1.2.1 NOR-Latch.......................... 53 7.1.2.2 NAND-Latch......................... 54 7.1.3 Taktzustandsgesteuerte Flipflops................... 54 7.1.3.1 SR-Flipflop.......................... 54 7.1.3.2 E-Flipflop........................... 56 7.1.3.3 SR-Flipflop mit dominantem Rücksetzeingang....... 56 7.1.3.4 D-Flipflop........................... 56 7.1.4 Taktflankengesteuerte Flipflops.................... 57 7.1.4.1 Impulsglieder......................... 57 7.1.4.2 Einflankengesteuertes SR-Flipflop.............. 58 7.1.4.3 Einflankengesteuertes D-Flipflop.............. 59 7.1.4.4 Einflankengesteuertes T-Flipflop.............. 59 7.1.4.5 Einflankengesteuertes JK-Flipflop.............. 59 7.1.4.6 Zweiflankengesteuertes (Master-Slave) SR-Flipflop..... 60 7.1.4.7 Zweiflankengesteuertes (Master-Slave) JK-Flipflop..... 61 7.1.5 Zeitablaufdiagramme.......................... 61 7.1.6 Charakteristische Gleichung...................... 62 7.2 Monostabile Kippstufe............................. 63 7.2.1 Nicht-nachtriggerbares Monoflop.................... 63 7.2.2 Nachtriggerbares Monoflop....................... 64 7.3 Verzögerungsglieder............................... 64 7.4 Astabile Kippstufe............................... 66 8 Zähler 67 8.1 Zählerarten................................... 67 8.2 Asynchrone Zähler............................... 67 8.2.1 3-Bit Dualvorwärtszähler........................ 67 8.2.2 3-Bit Dualrückwärtszähler....................... 68 8.2.3 3-Bit Dualzähler mit umschaltbarer Zählrichtung.......... 69 8.2.4 BCD-Vorwärtszähler.......................... 70 8.2.5 Dekaden-Zähler............................. 71 8.2.6 Modulo-n-Zähler............................ 72 8.3 Synchrone Zähler................................ 73 8.3.1 3-Bit Dualvorwärtszähler........................ 73 8.3.2 3-Bit Dualrückwärtszähler....................... 74 8.4 Entwurfsverfahren................................ 74 8.4.1 Entwurfsverfahren mit Hilfe der charakteristischen Gleichung.... 74 8.4.2 Vereinfachtes Entwurfsverfahren.................... 77

INHALTSVERZEICHNIS iv 9 Einstieg in die Automatentheorie 80 9.1 Autonomer Automat, Moore-, Mealy und Medwedjew-Automat...... 80 9.2 Zustandsdiagramme............................... 80 9.3 Zustandsfolgetabelle.............................. 80 9.4 Entwurf mit JK- und D-Flip-Flops...................... 80 10 Ausgewählte Schaltungen 81 10.1 Schieberegister................................. 81 10.1.1 Serielle Ein- und Ausgabe....................... 81 10.1.2 Serielle und parallele Ein- und Ausgabe................ 82 10.1.3 Ringregister............................... 83 10.2 Frequenzteiler.................................. 84 10.2.1 Begriffe................................. 84 10.2.2 Teilerverhältnis 1:2 n.......................... 84 10.2.3 Teilerverhältnis 1:3........................... 85 10.2.4 Entwurfsverfahren........................... 85 10.3 Rechenschaltungen............................... 86 10.3.1 Addierschaltungen........................... 86 10.3.1.1 Halbaddierer......................... 86 10.3.1.2 Volladdierer.......................... 86 10.3.1.3 Parallele 4-Bit Addierschaltung............... 87 10.3.1.4 Serielle 4-Bit Addierschaltung................ 88 10.3.2 Subtrahierschaltungen......................... 88 10.3.2.1 Halbsubtrahierer....................... 88 10.3.2.2 Vollsubtrahierer........................ 89 10.3.2.3 4-Bit Subtrahierschaltung.................. 89 10.3.2.4 Subtrahierschaltung mit Volladdierern........... 90 10.3.2.5 Addier-Subtrahierwerk.................... 91 10.4 Digitale Auswahl- und Verbindungsschaltungen............... 92 10.4.1 Multiplexer............................... 92 10.4.1.1 4-Bit-zu-1-Bit-Multiplexer.................. 92 10.4.1.2 2x2-Bit-zu-2-Bit-Multiplexer................. 93 10.4.2 Demultiplexer.............................. 93 10.4.2.1 1-Bit-zu-4-Bit-Demultiplexer................ 93 11 Programmierbare Logische Schaltungen (PLD) 95 11.1 Einleitung.................................... 95 11.2 Grundlagen................................... 95 11.3 Allgemeine PLD-Schaltung........................... 97 11.4 Einteilung von PLDs.............................. 98 11.4.1 PAL/GAL Schaltungen......................... 98 11.4.2 PROM Schaltungen........................... 99 11.4.3 FPLA Schaltungen........................... 99 11.5 Programmierung von PLDs.......................... 99

INHALTSVERZEICHNIS v 11.5.1 Beispiel: PAL16L8........................... 99 11.6 FPGAs...................................... 102 12 Schaltkreisfamilien 103 12.1 Eigenschaften digitaler Schaltungen...................... 103 12.1.1 Allgemeines............................... 103 12.1.2 Leistungsaufnahme........................... 103 12.1.3 Pegelbereiche.............................. 103 12.1.4 Schaltzeiten............................... 104 12.1.4.1 Signallaufzeit......................... 104 12.1.4.2 Signalübergangszeit..................... 104 12.1.5 Lastfaktoren............................... 105 12.2 Dioden-Transistor-Logik (DTL)........................ 106 12.2.1 Passives ODER-Gatter......................... 106 12.2.2 Aktive NICHT-Stufe.......................... 107 12.2.3 Aktives NOR-Gatter.......................... 108 12.2.4 Passives UND-Gatter.......................... 109 12.2.5 Aktives NAND-Gatter......................... 110 12.3 Transistor-Transistor-Logik (TTL)...................... 110 12.4 MOS-Schaltungen................................ 111 12.4.1 Einführung............................... 111 12.4.2 CMOS-Nicht-Stufe........................... 112 12.4.3 CMOS-NAND-Gatter.......................... 112 13 Hardwarebeschreibungssprachen 113 13.1 VHDL...................................... 113 13.2 Xilinx ISE WEBPACK............................. 113 A Code-Tabellen 114 A.1 Codes zur Darstellung dezimaler Ziffern.................... 114

Kapitel 1 Einleitung 1.1 Definition analoger und digitaler Signale Ein Signal kann sowohl in Bezug auf seinen Wertebereich (y-achse) als auch in Bezug auf seinen Definitionsbereich auf der Zeitachse (x-achse) kontinuierlich (d.h. nicht abzählbar, stetig, fortdauernd) oder diskret (d.h. nicht-kontinuierlich, abzählbar) sein. Abbildung 1.1: Zeit- und wertkontinuierliche Signale Digitale Signale sind wertdiskret. Analoge Signale sind wertkontinuierlich. Sind nur 2 Werte auf der y-achse möglich, dann wird ein solches wertdiskretes (digitales) Signal binär genannt. Die Bilder 1.2-1.5 zeigen digitale und analoge Signale im weiteren und engeren Sinne. 1

KAPITEL 1. EINLEITUNG 2 Abbildung 1.2: Analoges Signal im eigentlichen Sinne (zeit- und wertkontinuierlich) Abbildung 1.3: Digitales Signal im weiteren Sinne (zeitkontinuierlich und wertdiskret)

KAPITEL 1. EINLEITUNG 3 Abbildung 1.4: Analoges Signal im weiteren Sinne (zeitdiskret und wertkontinuierlich) Abbildung 1.5: Digitales Signal im eigentlichen Sinne (zeit- und wertdiskret)

KAPITEL 1. EINLEITUNG 4 1.2 Abtastung, Quantisierung und Codierung Die Begriffe Abtastung und Quantisierung tauchen bei der Umwandlung eines analogen in ein digitales Signal auf, Codierung bei der Umwandlung eines digitalen Signals in ein anderes digitales Signal. Da die meisten physikalischen Signale in der Regel analog sind, müssen sie für die weitere Verarbeitung in der Informationstechnik in digitale Signale umgewandelt werden. 1.2.1 Abtastung Abtastung ist die Ermittlung des aktuellen Signalwertes zu bestimmten Zeitpunkten n T A. Dies entspricht dem Übergang des Signals in Bild 1.2 zu Bild 1.4. Nach der Abtastung ist das Signal also immer noch analog. Für die notwendige Zahl der Abtastungen pro Zeiteinheit ist die größte Frequenz maßgebend, die das Informationssignal enthält. (Das Informationssignal muss also bandbegrenzt sein.) Die Abtastfrequenz muss mindestens doppelt so groß gewählt werden, wie die größte Signalfrequenz. Dies wird in dem sogenannten Abtasttheorem beschrieben. Wir das Abtasttheorem beachtet, so kann aus den Abtastwerten das ursprüngliche Signal vollständig zurückgewonnen werden. Das Abtasttheorem lautet: f A = 1 T A 2f max (1.1) mit dem Abtastintervall T A und der maximalen Signalfrequenz f max. Beispiel aus dem Audiobereich: Das menschliche Ohr kann Signale bis ca. 20 khz wahrnehmen. Sollen diese Signale rekonstruierbar abgetastet werden, so muss die Abtastfrequenz mindestens 40 khz betragen. (Abtastfrequenz beim CD-Player: 44 khz) 1.2.2 Quantisierung Quantisierung bedeutet den Übergang vom abgetasteten analogen Signal zum wertdiskreten digitalen Signal. Dies entspricht dem Übergang des Signals in Bild 1.4 zu Bild 1.5. Der Wertebereich des Signals wird in Quantisierungsintervalle aufgeteilt, und alle in einem Intervall liegenden Werte werden auf einen Quantisierungswert abgebildet. Je nach Art der Anwendung sind die Abstände der Quantisierungsstufen linear oder nicht linear (häufig logarithmisch). Mit Erhöhung der Anzahl der Intervalle nimmt der sogenannte Quantisierungsfehler ab, eine exakte Rekonstruktion von wert- und zeitkontinuierlichen Signalen ist aber i.a. nicht möglich. 1.2.3 Codierung Um aus dem nun vorliegenden wert- und zeitdiskreten Signal mit mehr als zwei Wertstufen ein binäres, zeitdiskretes Signal zu erzeugen, müssen die verschiedenen Stufen codiert

KAPITEL 1. EINLEITUNG 5 werden. Bild 1.6 zeigt ein Beispiel bei dem ein digitales Signal mit sieben Diskretisierungsstufen über eine Code-Tabelle in ein binäres Signal umgewandelt wird. Jeder diskrete Wert wird dabei durch eine Kombination von drei binären Stellen ersetzt. Abbildung 1.6: Beispiel für eine Codierung zur Gewinnung eines binären Signals 1.3 Zentrale Begriffe der Digitaltechnik Digitale elektrische Größe Elektrische (physikalische) Größe (Spannung, Strom, Impedanz) mit einer endlichen Anzahl nicht überlappender Wertebereiche. Binäre elektrische Größe Digitale (physikalische) elektrische Größe mit nur zwei möglichen Wertebereichen, oft als Low (L)- und High (H)-Bereich bezeichnet. L-Bereich Derjenige der beiden Wertebereiche einer binären elektrischen Größe, der näher bei liegt. H-Bereich Derjenige der beiden Wertebereiche einer binären elektrischen Größe, der näher bei + liegt. Bei elektrischen Systemen werden die binären Variablen häufig durch zwei unterschiedliche Spannungsniveaus (Potentiale) festgelegt. Dabei ist zu beachten, dass die Schaltkreise beide Potentiale auch unter ungünstigsten Umständen einwandfrei erkennen und verarbeiten müssen. Aus diesem Grund werden zwei Spannungsbereiche (anstelle von festen

KAPITEL 1. EINLEITUNG 6 Spannungswerten) festgelegt, in denen sich das Signal befinden kann. Dazwischen liegt ein verbotenes Gebiet (deadband, deadzone). Beispiel: TTL (Transistor-Transistor-Logik): Low = 0 0,8 V; High = 2 5 V (siehe Bild 1.7) Abbildung 1.7: Typische Spannungsbereiche zur Darstellung binärer, digitaler Signale Die Höhe der Signal- bzw. Betriebsspannung beeinflusst in unterschiedlicher Weise Störsicherheit, Umschaltzeit und Verlustleistung. Die folgende Tabelle zeigt den Einfluss der Signal- bzw. Betriebsspannung auf die Schalteigenschaften. Geforderte Eigenschaft hohe Störsicherheit kleine Umschaltzeiten kleine Verlustleistungen Notwendige Signal-bzw. Betriebsspannung groß klein klein Die Betriebsspannung stellt also einen Kompromiss dar (siehe auch Kapitel 12.1). Die Zuordnung der L- und H-Pegel zu den logischen Zuständen 0 und 1 ist auf zwei Arten möglich: Positive Logik L = 0 und H = 1 Negative Logik H = 0 und L = 1 Im weiteren wird positive Logik bevorzugt. Die logischen Zustände wurden und werden nicht nur mit Symbolen 0 und 1 bezeichnet, sondern auch mit Ja/Nein, wahr/falsch, True/False. Bit: Ein Bit ist die kleinste Darstellungseinheit für binäre Daten. Ein Bit kann genau zwei Werte annehmen, die Werte 0 oder 1. Das Wort Bit stammt von dem englischen binary digit, zweiwertige Zahl. Datenwort: Eine Folge von Bits, von Zeichen oder von Bytes wird als Wort bezeichnet. Die Länge eines Wortes wird in Bit angegeben (siehe oben).

KAPITEL 1. EINLEITUNG 7 Wert Ursprungsmenge Codierung Bildmenge; Code 3 111 2 101 1 100 0 110-1 010-2 011-3 001 Tabelle 1.1: Beispiel für einen Code. Byte: Ein Wort der Länge 8 Bit wird im allgemeinen als 1 Byte bezeichnet. Tetrade: Ein Wort der Länge 8 Bit kann in zwei Tetraden (zu je 4 Bit) aufgeteilt werden; diese Tetraden werden auch als Halbbytes bezeichnet. Gewicht Das Gewicht g eines Datenwortes w entspricht der Anzahl der Einsen, die das Datenwort enthält, z.b. g(1101) = 3. Hamming Distanz Die Hamming-Distanz D zwischen zwei Datenworten entspricht der Anzahl der Stellen, in denen sich die Datenworte unterscheiden, z.b. für w a = 1001 und w b = 1010 ist D(w a, w b ) = 2, da sich die Datenworte in den letzten beiden Stellen unterscheiden. Code: Ein Code ist in seiner ursprünglichen Bedeutung eine Verschlüsselung zur Darstellung von Information. Unter einem Code wollen wir verstehen a) eine Vorschrift für die eindeutige Zuordnung der Zeichen eines Zeichenvorrats zu denjenigen eines anderen Zeichenvorrates (Bildmenge); b) der bei der Codierung als Bildmenge auftretender Zeichenvorrat.

Kapitel 2 Zahlensysteme Zahlensysteme dienen der Darstellung von Zahlenwerten sowie dem Rechnen mit diesen Zahlenwerten. Historisch gesehen gibt es viele verschiedene Zahlensysteme. Als historisches Zahlensystem wollen wir uns das römische Zahlensystem ansehen. Im Alltag ist das Dezimalsystem wichtig. In der Kommunikationstechnik bedeutsam ist das Dualsystem mit dem wir uns dann eingehender auseinandersetzen wollen. 2.1 Römisches Zahlensystem 8

KAPITEL 2. ZAHLENSYSTEME 9 2.2 Dezimalsystem 2.3 Dualsystem

KAPITEL 2. ZAHLENSYSTEME 10 2.4 Oktalsystem 2.5 Hexadezimalsystem Allgemein kann jede natürliche Zahl als Basis eines Stellenwertsystems dienen (z.b. Basis B = 7 Siebener System, etc.).

KAPITEL 2. ZAHLENSYSTEME 11 2.6 Rationale Zahlen 2.7 Umrechnung zwischen polyadischen Zahlensystemen 2.7.1 Umwandlung natürlicher Dezimalzahlen ins Dualsystem Umwandlung einer Dezimalzahl in eine Dualzahl: 1. Lösungsmethode: Suchen der höchsten Potenz von 2, die in der Dezimalzahl enthalten ist, die Potenz von der Dezimalzahl abziehen und mit dem Rest der Subtraktion fortfahren, bis das Ergebnis Null ist. 2. Lösungsmethode: Fortwährende Division der Dezimalzahl durch 2, bis das Ergebnis gleich Null ist. Der Rest jeder Division gibt dabei eine Stelle der Dualzahl an. Beispiel zur ersten Lösungsmethode: Dezimalzahl D = 86 (10) Notieren aller Zweierpotenzen bis zur Zahl D: 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 128 64 32 16 8 4 2 1 größte Zweierpotenz in 86 ist 64 = 2 6 Rest = 22 größte Zweierpotenz in 22 ist 16 = 2 4 Rest = 6 größte Zweierpotenz in 6 ist 4 = 2 2 Rest = 2 größte Zweierpotenz in 2 ist 2 = 2 1 Rest = 0

KAPITEL 2. ZAHLENSYSTEME 12 Dualzahl = 1 2 6 + 0 2 5 + 1 2 4 + 0 2 3 + 1 2 2 + 1 2 1 + 0 2 0 Ergebnis: 86 (10) = 101 0110 (2) Beispiel zur zweiten Lösungsmethode: 86 : 2 = 43 Rest 0 LSB 43 : 2 = 21 Rest 1 21 : 2 = 10 Rest 1 10 : 2 = 5 Rest 0 5 : 2 = 2 Rest 1 2 : 2 = 1 Rest 0 1 : 2 = 0 Rest 1 MSB Ergebnis: 86 (10) = 101 0110 (2) Erweiterung: Die Verfahren sind entsprechend auf Stellenwertsysteme mit einer beliebigen Basis ungleich 2 anwendbar, z.b. 8 bzw. 16 liefern Zahlen im Oktal- bzw. Hexadezimalsystem. (Siehe Übung: Beispiel zum Siebener-System.) 2.7.2 Rationale Zahlen Bisher wurde nur die Umwandlung von positiven ganzen Zahlen behandelt. Im folgenden werden nun positive, rationale Dezimalzahlen in Dualzahlen gewandelt. Dies wird am Beispiel der Zahl Z (10) = 86,8125 erläutert. Zunächst wird die ganze Dezimalzahl Z (10) = 86 nach einer der beiden oben vorgestellten Verfahren in die Dualzahl Z (2) = 101 0110 gewandelt. Der dezimale Nachkommaanteil 0,8125 wird dann nach folgendem Schema umgewandelt: 0,8125 2 = 0,625 Rest = 1 höchstwertigstes Bit nach dem Komma 0,625 2 = 0,25 Rest = 1 0,25 2 = 0,5 Rest = 0 0,5 2 = 0 Rest = 1 niederwertigstes Bit nach dem Komma Die Dezimalzahl Z (10) = 86,8125 wird in die Dualzahl Z (2) = 101 0110,1101 gewandelt. Bei der Umwandlung von Ziffern, die rechts vom Komma stehen, müssen diese Ziffern mit der gewünschten Basis multipliziert werden, da diese Ziffern Gewichtsfaktoren mit negativem Exponenten besitzen. Das Verfahren ist entsprechend auf Stellenwertsysteme mit einer beliebigen Basis ungleich 2 anwendbar. (Alternativ zum beschriebenen Verfahren kann auch wie bei ganzen Zahlen immer nach der höchsten enthaltenen Zweierpotenz gesucht werden.)

KAPITEL 2. ZAHLENSYSTEME 13 2.8 Darstellung negativer ganzer Zahlen 2.8.1 Vorzeichen und Betrag Bei dieser Darstellungsart werden negative Dualzahlen durch das Vorzeichenbit s vor dem MSB gekennzeichnet: s = 0 bedeutet positiv s = 1 bedeutet negativ Merke: Eine eindeutige Interpretation ist nur bei einer fest vereinbarter Wortlänge möglich!!! Beispiel: 7 Bit für den Betrag und 1 Bit für das Vorzeichen: 118 (10) = 0 1 1 1 0 1 1 0 118 (10) = 1 1 1 1 0 1 1 0 ( 1) s 2 6 2 5 2 4 2 3 2 2 2 1 2 0 Stellenwert Die Darstellung nach Betrag und Vorzeichen hat den Nachteil, dass positive und negative Zahlen nicht einfach addiert werden können, da der Addierer bei negativen Zahlen auf Subtraktion umschalten muss. Die im nächsten Kapitel beschriebenen Zweier- Komplement-Zahlen haben diesen Nachteil nicht. 2.8.2 Zweierkomplementdarstellung Definition: Beim Zweierkomplement erhält das höchstwertige Bit (MSB) ein negatives Gewicht (Gewicht einer Zweierpotenz, jedoch mit negativen Vorzeichen)! Somit hat bei einer positiven Zahl das höchstwertige Bit den Wert 0, und bei einer negativen Zahl hat das höchstwertige Bit den Wert 1. Merke: Eine eindeutige Interpretation ist wieder nur bei fest vereinbarter Wortlänge möglich. Beispiel: Wortlänge von 3 Bit Das folgende Bild zeigt am Zahlenkreis die Interpretation einer 3-Bit-Zahl als Dualzahl (innerer Kreis) und als Zweierkomplementzahl (äußerer Kreis) (Bsp: 2 = 1 2 2 + 1 2 1 + 0 2 0, etc.)

KAPITEL 2. ZAHLENSYSTEME 14 Die Zahlen im inneren Kreis ergeben sich als 3-stellige positive Dualzahlen. Die Werte der Zahlen steigen mit der Schrittweite 1, und von 111 nach 000 erfolgt ein Sprung um -7. Die Zahlen außerhalb des äußeren Kreises ergeben sich als Zweierkomplement-Zahl. Die Werte der Zahlen steigen ebenfalls mit der Schrittweite 1, aber der Sprung um -7 erfolgt von 011 auf 100. Die Vorzeichenstelle muss nicht (wie vorher) getrennt behandelt werden, sondern zum Vorzeichenwechsel kann einfach das Zweierkomplement der gesamten Zahl einschließlich der Vorzeichenstelle gebildet werden. Regel für die Rechnung mit dem Zweierkomplement: Negation im Zweierkomplement Die Negation einer Zahl in Zweierkomplementdarstellung wird durch Bildung des Zweierkomplements der gesamten Zahl bewirkt. Hierzu wird zunächst das Einerkomplement (=Inversion aller Bits) gebildet und anschließend erfolgt eine Addition von 1 unter Beibehaltung der Stellenzahl n. Beispiel: 8-stellige Zweierkomplentdarstellung (n = 8): Umwandlung 118 118 118 (10) = 64 + 32 + 16 + 4 + 2 = 111 0110 (2) ursprüngliche Zahl 118 (10) = 0 1 1 1. 0 1 1 0 Einerkomplement 1 0 0 0. 1 0 0 1 Addition von 1 1 Zweierkomplement 118 (10) = 1 0 0 0. 1 0 1 0 Rückumwandlung 118 118 ursprüngliche Zahl 118 (10) = 1 0 0 0. 1 0 1 0 Einerkomplement 0 1 1 1. 0 1 0 1 Addition von 1 1 Zweierkomplement 118 (10) = 0 1 1 1. 0 1 1 0

KAPITEL 2. ZAHLENSYSTEME 15 Umwandlung 0 0 = 0 ursprüngliche Zahl 118 (10) = 0 0 0 0. 0 0 0 0 Einerkomplement 1 1 1 1. 1 1 1 1 Addition von 1 1 Zweierkomplement 118 (10) = 1 0 0 0 0. 0 0 0 0 Merke: Die 1 des Übertrags in die neunte Spalte wird dabei nicht beachtet! (Es wird ja vereinbarungsgemäß nur mit 8 Stellen gerechnet!) Es gibt eine weitere einfache Methode zur Bildung des Zweierkomplements: Negation im Zweierkomplement Alle Binärziffern werden invertiert, die links von der ersten 1 stehen, wenn man die Zahl von rechts beginnend liest. Um eine Zahl im Zweierkomplement darzustellen, muss eine ausreichende Stellenzahl vorliegen. Mit einer n-stelligen Zweierkomplementzahl B n kann man den folgenden Zahlenbereich darstellen: 2 n 1 B n < 2 n 1 (2.1) Beispiel: für n = 3 gilt: 4 B n < 4 (siehe Zahlenkreis zuvor) für n = 4 gilt: 8 B n < 8 für n = 5 gilt: 16 B n < 16 für n = 8 gilt: 128 B n < 128 2.9 Rechnen im Dualsystem 2.9.1 Addition Bei der Addition sind folgende Regeln zu beachten: 0 + 0 = 00 Erste Stelle = Übertrag; zweite Stelle = Summe) 0 + 1 = 01 1 + 0 = 01 1 + 1 = 10 1 + 1 + 1 = 11 (= 2 + 1 = 3 (10) )

KAPITEL 2. ZAHLENSYSTEME 16 Beispiel: 5 (10) + 3 (10) = 8 (10) mit 5 (10) = 101 (2) und 3 (10) = 11 (2) 1 0 1 + 1 1 1 1 1 Übertrag 1 0 0 0 = 8 + 0 + 0 + 0 = 8 Beispiel: 6 (10) + 6 (10) = 12 (10) mit 6 (10) = 110 (2) 1 1 0 + 1 1 0 1 1 0 Übertrag 1 1 0 0 = 8 + 4 + 0 + 0 = 12 2.9.2 Subtraktion Bei der Subtraktion kann man zwischen der direkten Subtraktion und dem Rechnen mit Hilfe des Zweierkomplements unterscheiden. 2.9.2.1 Direkte Subtraktion Bei der direkten Addition sind folgende Regeln zu beachten: Beispiel: 0 0 = 00 Erste Stelle = Entleihung; zweite Stelle = Differenz 0 1 = 11 1 0 = 01 1 1 = 00 1 (1 + 1) = 11 5 (10) 3 (10) = 2 (10) mit 5 (10) = 101 (2) und 3 (10) = 11 (2) 1 0 1 (Minuend) - 1 1 (Subtrahend) 0 1 0 Entleihung 0 0 1 0 = 0 + 0 + 2 + 0 = 2

KAPITEL 2. ZAHLENSYSTEME 17 2.9.2.2 Rechnen mit dem Zweierkomplement Beim Rechnen mit dem Zweierkomplement wird die Subtraktion des Subtrahenden ersetzt durch die Addition des Zweierkomplements des Subtrahenden. Beispiel 1: Berechnung mit Zweierkomplementzahlen: 9 6 = 9 + ( 6) = 3 9 (10) = 1001 (2) 6 (10) = 110 (2) Zur Berechnung sind 5 binäre Stellen notwendig, da für n = 5 der darstellbare Zahlenbereich mit 16 B n < 16 gegeben ist. +6 = 00110 (2) EK = 11001 (2) +1 = +00001 (2) -6 = 11010 (2) 9 = 01001 (2) +(-6) = 11010 (2) 3 = 1 00011 (2) = 3 (10) Beispiel 2: Berechnung mit Zweierkomplementzahlen: 6 9 = 6 + ( 9) = 3 9 (10) = 1001 (2) 6 (10) = 110 (2) Zur Berechnung sind 5 binäre Stellen notwendig, da für n = 5 der darstellbare Zahlenbereich mit 16 B n < 16 gegeben ist. +9 = 01001 (2) EK = 10110 (2) +1 = +00001 (2) -9 = 10111 (2) 6 = 00110 (2) +(-9) = 10111 (2) 3 = 11101 (2) = 2 4 + 2 3 + 2 2 + 2 0 = 3 (10) 2.10 Gleitkommazahlen im IEEE-754 Format

Kapitel 3 Codes und Codierung 3.1 Rechencodes 3.1.1 BCD-Code, 3-Exzeß-Code und Aiken-Code Rechencodes dienen der Darstellung der dezimalen Ziffern mit Hilfe binärer Codes. Der Aiken-Code und der 3-Exzeß-Code sind symmetrische Codes und erlauben auf einfache Art eine Rundungserkennung (< 5 bzw. 5). Der BCD-Code entspricht der entsprechenden 4-Bit Dualzahl der dezimalen Ziffer. Der Aiken-Code gehört zur Gruppe der 2-4-2-1-Codes. Der Glixon-Code ist einschrittig (bei einem Wechsel zur nächsten Ziffer ändert sich immer nur eine Stelle). Eng verwandt mit dem Glixon-Code ist der Gray- Code. Dieser ist ebenfalls einschrittig, umfasst jedoch alle 16 Tetraden. Für die ersten neun Tetraden (0-8) stimmt der Gray-Code mit dem Glixon-Code überein, danach ergeben sich folgende Zählzustände: 9 1101; 10 1111; 11 1110; 12 1010; 13 1011; 14 1001; 15 1000. Trägt man die Zustände in ein KV-Diagramm (siehe später) ein, so erkennt man, dass die Zustandsänderungen immer den Übergang auf ein Nachbarfeld bedeuten. Dezimal BCD 3-Exzeß Aiken Glixon Wertigkeit 8-4-2-1 2-4-2-1 0 0000 0011 0000 0000 1 0001 0100 0001 0001 2 0010 0101 0010 0011 3 0011 0110 0011 0010 4 0100 0111 0100 0110 5 0101 1000 1011 0111 6 0110 1001 1100 0101 7 0111 1010 1101 0100 8 1000 1011 1110 1100 9 1001 1100 1111 1000 18

KAPITEL 3. CODES UND CODIERUNG 19 3.2 Übertragungscodes für alphanumerische Zeichen 3.2.1 Morse-Code 3.2.2 7-Bit-ASCII-Code

KAPITEL 3. CODES UND CODIERUNG 20 3.2.3 Unicode 3.3 Codesicherung Bei der Übertragung von binären Daten kann es vorkommen, dass einzelne Bits fehlerhaft übertragen werden.

KAPITEL 3. CODES UND CODIERUNG 21 Um dieses Problem in den Griff zu bekommen, kann man spezielle fehlererkennende und fehlerkorrigierende Codes verwenden. Fehlererkennende Codes sind prüfbar, d.h. bestimmte Übertragungsfehler können beim Empfänger erkannt werden. Die Daten müssen dann ggfs. noch einmal gesendet werden. Fehlerkorrigierende Codes sind ebenfalls prüfbar. Darüber hinaus können aber bestimmt Fehler auch automatisch vom Empfänger korrigiert werden, so dass ein erneutes Senden in vielen Fällen unterbleiben kann. Fehlererkennung und -korrektur ist nur möglich bei der Verwendung zusätzlicher (redundanter) binärer Stellen. 3.3.1 Minimale Hamming-Distanz Eine wichtige Größe bei der Konstruktion von fehlererkennenden und fehlerkorrigierenden Codes ist die minimale Hamming-Distanz D min zwischen den unterschiedlichen Datenworten eines Codes. Zur Ermittlung der minimalen Hamming-Distanz D min muss die Hamming-Distanz D zwischen allen Codeworten paarweise ermittelt werden. Der dabei auftretende minimale Wert ist D min. Regeln für die Fehlererkennung und Fehlerkorrigierbarkeit: Ist die Mindest-Hamming-Distanz D min gerade, können (D min 1)-Fehler erkannt und (D min /2 1)-Fehler korrigiert werden. Ist D min ungerade, so können (D min 1)-Fehler erkannt und ((D min 1)/2)-Fehler korrigiert werden. Beispiel: D min = 3 3 1 = 2 fehlerhafte Bits können erkannt werden (3 1)/2 = 1 fehlerhaftes Bit kann korrigiert werden 3.3.2 Gleichgewichtige Codes Alle zugelassenen Codewörter eines gleichgewichtigen Codes haben dasselbe Gewicht g, d.h. dieselbe Anzahl darin vorkommender Einsen.

KAPITEL 3. CODES UND CODIERUNG 22 Beispiel: (2-aus-5)-Codes, jedes Codewort besteht aus m = 5 Bits mit einem Gewicht w = 2. Die folgende Tabelle zeigt zwei solcher Codes für die Codierung der Dezimalziffern 0 bis 9. Die Codes haben eine Mindest-Hamming-Distanz von D min = 2, so dass ein Fehler sicher erkannt werden kann. Automatisch korrigierbar ist der Fehler aber nicht, da die fehlerhafte Stelle nicht ermittelt werden kann. Ziffer Rechencode Walking-Code Stellenwertigkeit 0-1-2-4-7 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 0 1 2 1 0 1 0 0 0 0 1 1 0 3 0 1 1 0 0 0 1 0 1 0 4 1 0 0 1 0 0 1 1 0 0 5 0 1 0 1 0 1 0 1 0 0 6 0 0 1 1 0 1 1 0 0 0 7 1 0 0 0 1 0 1 0 0 1 8 0 1 0 0 1 1 0 0 0 1 9 0 0 1 0 1 1 0 0 1 0 Anschaulich ist klar, dass wegen des gleichen Gewichts aller Codewörter der (2-aus-5)- Code prüfbar ist. Wird nämlich ein Bit falsch übertragen, so ändert sich das Gewicht des Codewortes, und das Vorliegen eines Fehlers wird erkannt. Es können auch mehrere Fehler erkannt werden, solange das fehlerhafte Datenwort nicht wieder das Gewicht 2 hat. Mehr als die in der Tabelle aufgeführten zehn verschiedenen 5-stelligen Codewörtern mit w = 2 sind aufgrund der Permutationstheorie nicht möglich. Beliebige gleichgewichtige Codes werden als (w-aus-m)-codes bezeichnet. 3.3.3 Paritätsbits Ein Code mit m informationstragenden Stellen x 0 bis x m 1 wird um eine weitere (m+1)-te Stelle ergänzt, die Prüfstelle y (Prüfbit). Das Prüfbit ergänzt die Anzahl der Einsen in den informationstragenden Stellen auf eine gerade (even parity) oder ungerade (odd parity) Anzahl. Beispiel: 4-Bit-Datenwort (w = 0100) plus 1 Prüfbit (gerade Parität): 01001 Diese Prüfung wird als Quer-Paritätsprüfung (parity check) oder als VRC (vertical redundancy check) bezeichnet. (VRC = Sicherung eines Codewortes mit einem Prüfbit). Im Code selbst mit n = m + 1 Binärstellen unterscheidet sich jedes Codewort von jedem anderen in mindestens zwei Binärstellen, d.h. es gilt D min = 2. Eine gerade Anzahl von Bitfehlern in einem Datenwort kann bei der Überprüfung auf gerade oder ungerade Parität nicht erkannt werden.

KAPITEL 3. CODES UND CODIERUNG 23 Die Bildung eines Längsparitätsbits LRC (longitudinal redundancy check) erfolgt nach demselben Mechanismus wie bei der Querparitätsprüfung, nur das in diesem Fall spaltenweise die Datenworte eines Blocks überprüft und die einzelnen Prüfbits als neues Datenwort an den Block angefügt werden. (LRC = Bits gleicher Wertigkeit werden geprüft!) Beispiel einer Längsparitätsprüfung: 1101 0100 0100 0101 0100 1100 0100 0011 LRC even 1001 1110 LRC odd 0110 0001 3.3.4 Blockprüfung Bei dem im vorigen Abschnitt beschriebenen Verfahren der Paritätsprüfung können nur Fehler erkannt, aber nicht korrigiert werden. Durch eine Kombination von VRC und LRC durch blockweise Übertragung mehrerer Codewörter ist eine einfache Fehlerkorrektur möglich. (Codewort ist nun ein ganzer Block!) Beispiel einer Längs- und Querparitätsprüfung: LRC (even parity) 1001 1110 VRC (even parity) 1101 0100 0 0100 0101 1 0100 1100 1 0100 0011 1 Einbau und Lokalisation eines Einzelfehlers: VRC (even parity) 1101 0100 0 0100 1101 1 0100 1100 1 0100 0011 1 LRC (even parity) 1001 1110 Durch die Prüfung der zeilen- und spaltenweisen Prüfbits kann der Fehler lokalisiert werden. Zur Korrektur muss das fehlerhafte Bit nur invertiert werden! Der hier vorgestellte Blockcode ist konzeptionell einfach, in der Praxis jedoch nicht anzutreffen, da das Verhältnis von Prüfbits zu Nutzbits ungünstig ist. Deutlich effizienter arbeitet hier der im nächsten Abschnitt vorgestellte Hamming-Code.

KAPITEL 3. CODES UND CODIERUNG 24 3.3.5 Hamming-Code Der Hamming-Code ist ebenfalls ein fehlerkorrigierender Code, jedoch benötigt er weniger Prüfbits als der Block-Code. Der Hamming-Code gehört zu den sog. systematischen Codes, die aus m informationstragenden und k zur Prüfung dienenden Stellen bestehen. Die Gesamtzahl der Binärstellen eines systematischen Codes beträgt n = m + k Es lässt sich zeigen, das für die Konstruktion eines 1-Fehler-korrigierbaren Codes gilt: 2 k m + k + 1 (3.1) Aus dieser Beziehung lässt sich die notwendige Anzahl der Prüfstellen ermitteln. Wir wollen uns den Hamming-Code in seiner einfachsten Variante mit vier Nutzbits ansehen. Gemäß Gleichung 3.1 werden dazu drei Prüfbits benötigt (2 3 4 + 3 + 1).

KAPITEL 3. CODES UND CODIERUNG 25

KAPITEL 3. CODES UND CODIERUNG 26

Kapitel 4 Schaltalgebra 4.1 Begriffe Schaltvariable Variable, die nur endlich viele Werte annehmen kann. Die Menge dieser Werte bildet den Zeichenvorrat. Die binäre Schaltvariable (nur zwei Werte) wird in der Digitaltechnik am häufigsten verwendet. Speicherglied Element, das den Wert einer Schaltvariable aufnimmt, speichert und abgibt. Verknüpfungsglied Element, das eine logische Verknüpfung von Schaltvariablen bewirkt. Schaltnetz Kombination von Verknüpfungsgliedern, wobei der Wert am Ausgang zu einem bestimmten Zeitpunkt eine eindeutige Funktion der Eingangswerte zu diesem Zeitpunkt ist. (Kein Gedächtnis!) Realisierungsbedingung: Die Schaltungen enthalten keine Rückführungen. (Schaltnetze werden in Kapitel 5 behandelt) Schaltwerk Funktionseinheit zum Verarbeiten von Schaltvariablen, wobei der Ausgangswert zu einem bestimmten Zeitpunkt abhängt von den Eingangswerten zu diesem Zeitpunkt und endlich vielen vorausgegangenen Zeitpunkten ist. Ein Schaltwerk kann endlich viele innere Zustände annehmen; es enthält also Speicherelemente (wird in Kapitel 7 behandelt). Kombinatorische Logik = Kombinatorische Schaltung = Schaltnetz Sequentielle Logik = Sequentielle Schaltung = Schaltwerk 4.2 Logische Grundverknüpfungen Die Schaltalgebra geht von folgenden drei Grundverknüpfungen aus: 1. Negation (NICHT-Verknüpfung) 27

KAPITEL 4. SCHALTALGEBRA 28 2. Disjunktion (ODER-Verknüpfung) 3. Konjunktion (UND-Verknüpfung) Fundamentalsatz der Schaltalgebra Alle Schaltfunktionen lassen sich auf die drei Grundverknüpfungen (Negation, Disjunktion, Konjunktion) zurückführen. 4.2.1 Negation, NICHT-Verknüpfung, NOT Die Negation ist die Funktion einer einzigen Variablen. Hat die Variable den Wert 1, dann ist die negierte Variable 0 und umgekehrt. Funktionstabelle: A Y 0 1 1 0 Die entsprechende schaltalgebraische Gleichung lautet: Y = Ā Lies: Y = A negiert oder Y = A nicht. Es gelten folgende Spezialfälle: 0 = 1 und 1 = 0. Eine mehrfache Anwendung der Negation ist ebenfalls möglich: 1 = 1. Schaltsymbol: 4.2.2 Disjunktion, ODER-Verknüpfung, OR Funktionstabelle: A B Y 0 0 0 0 1 1 1 0 1 1 1 1 Die Funktionstabelle zeigt, dass Y = 1 ist, wenn mindestens eine Eingangsvariable gleich 1 ist. Diese Funktion wird auch als inklusives ODER bezeichnet. Schaltalgebraische Gleichung: Lies: Y gleich A oder B. Schaltsymbol: Y = A B

KAPITEL 4. SCHALTALGEBRA 29 Schalterdarstellung (Parallelschaltung): Es gelten folgende Spezialfälle: Bei mehr als zwei Variablen gilt: Y = A 1 A 2 A n = A 1 = 1 A A = A A 0 = A A Ā = 1 { 0 falls alle A i = 0 1 sonst 4.2.3 Konjunktion, UND-Verknüpfung, AND Funktionstabelle: A B Y 0 0 0 0 1 0 1 0 0 1 1 1 Die Funktionstabelle zeigt, dass Y = 1 ist, wenn A und B gleich 1 sind. Schaltalgebraische Gleichung: Lies: Y gleich A und B. Schaltsymbol: Y = A B = AB Schalterdarstellung (Reihenschaltung):

KAPITEL 4. SCHALTALGEBRA 30 Es gelten folgende Spezialfälle: Bei mehr als zwei Variablen gilt: Y = A 1 A 2 A n = A 1 = A A A = A A 0 = 0 A Ā = 0 { 1 falls alle A i = 1 0 sonst 4.3 Abgeleitete Verknüpfungen 4.3.1 NAND-Verknüpfung Funktionstabelle: Schaltalgebraische Gleichung: Schaltsymbol: A B Y 0 0 1 0 1 1 1 0 1 1 1 0 Y = A B = AB 4.3.2 NOR-Verknüpfung Funktionstabelle: A B Y 0 0 1 0 1 0 1 0 0 1 1 0

KAPITEL 4. SCHALTALGEBRA 31 Schaltalgebraische Gleichung: Y = A B Schaltsymbol: 4.3.3 Äquivalenz-Verknüpfung Funktionstabelle: A B Y 0 0 1 0 1 0 1 0 0 1 1 1 Schaltalgebraische Gleichung: Y = (A B) ( Ā B ) Schaltsymbol: 4.3.4 Antivalenz-Verknüpfung Funktionstabelle: A B Y 0 0 0 0 1 1 1 0 1 1 1 0 Schaltalgebraische Gleichung: Y = ( Ā B ) ( A B ) Schaltsymbol:

KAPITEL 4. SCHALTALGEBRA 32 4.4 Schaltverhalten bei positiver und negativer Logik Reale Verknüpfungsglieder sind Schaltungen, die mit auf gewisse physikalische Eingangsspannungspegel (im Low- oder High-Bereich) mit bestimmten Ausgangsspannungen (ebenfalls im Low- oder High-Bereich) reagieren. Die Zuordnung der logischen Größen kann entweder in positiver Logik (L=0 ; H=1) oder negativer Logik (L=1 ; H=0) erfolgen. Gegeben sei die Funktionstabelle eines Verknüpfungsgliedes auf der Basis von Ein- und Ausgangsspannungen: A B Y L L L L H L H L L H H H Bei positiver Logik (L=0 ; H=1) gilt folglich: Verhalten eines UND-Gliedes! A B Y 0 0 0 0 1 0 1 0 0 1 1 1 Bei negativer Logik (L=1 ; H=0) gilt hingegen: A B Y 1 1 1 1 0 1 0 1 1 0 0 0 Verhalten eines ODER-Gliedes! Das Verhalten eines realen Verknüpfungsgliedes ist also abhängig von der gewählten Logik! Ein UND-Glied in positiver Logik wird zu einem ODER-Glied in negativer Logik und umgekehrt. In dieser Vorlesung wird - falls nichts anderes gesagt wird - stets die positive Logik verwendet, da sie auch technisch die größere Bedeutung besitzt. 4.5 Rechenregeln der Schaltalgebra Aus den Definitionen der logischen Grundfunktionen können Rechenregeln abgeleitet werden; die Beweise sind anhand der Funktionstabellen leicht zu führen.

KAPITEL 4. SCHALTALGEBRA 33 Kommutativgesetz ( Vertauschungsgesetz ) für Konjunktion und Disjunktion: A B = B A A B = B A Assoziativgesetz ( Verknüpfungsgesetz ) für Konjunktion und Disjunktion: Distributivgesetz ( Verteilungsgesetz ): De Morgan sche Gesetze: bzw. A B C = (A B) C = A (B C) A B C = (A B) C = A (B C) A (B C) = (A B) (A C) A (B C) = (A B) (A C) A B = Ā B A B = Ā B A B = Ā B A B = Ā B Bedeutung des De Morgan schen Gesetzes: UND- und ODER-Verknüpfung lassen sich - unter Verwendung von Negationen - gegenseitig ersetzen! Die Gesetze können entsprechend auch auf mehr als zwei oder drei Variablen erweitert werden! Bindungsregel: Ohne Klammern gilt folgende Reihenfolge der Operationen: 1. Negation 2. Konjunktion 3. Disjunktion 4.5.1 Bedeutung der NOR und NAND-Verknüpfung für die Praxis Ergebnis aus der klassischen Schaltalgebra: Alle logischen Verknüpfungen und binären Schaltwerke lassen sich mit Hilfe der drei Grundfunktionen UND, ODER und NICHT beschreiben.

KAPITEL 4. SCHALTALGEBRA 34 Aus den De Morgan schen-gesetzen folgt: Eine Konjunktion lässt sich durch eine Disjunktion und mit Negationsgliedern nachbilden. Eine Disjunktion lässt sich durch eine Konjunktion und Negationsglieder nachbilden. Es werden also nur zwei Verknüpfungstypen benötigt: (UND und NICHT) oder (ODER und NICHT). Frage: Kann die Anzahl der benötigten Verknüpfungsgliederarten noch weiter reduziert werden? Antwort: Ja! Eine Realisierung nur mit NAND oder nur mir NOR- Verknüpfungselementen ist möglich! Um dies zu demonstrieren, wollen wir versuchen die drei Grundverknüpfungsarten jeweils mit NAND- und NOR-Gattern nachzubilden. Nachbildung eines NICHT-Gliedes mit NAND-Gliedern NICHT-Gatter NAND-Gatter A Y 0 1 1 0 Zwei Realisierungsmöglichkeiten: A B Y 0 0 1 0 1 1 1 0 1 1 1 0 Nachbildung eines NICHT-Gliedes mit NOR-Gliedern NICHT-Gatter NOR-Gatter A Y 0 1 1 0 Zwei Realisierungsmöglichkeiten: A B Y 0 0 1 0 1 0 1 0 0 1 1 0 Nachbildung eines UND-Gliedes mit NAND-Gliedern

KAPITEL 4. SCHALTALGEBRA 35 Nachbildung eines ODER-Gliedes mit NOR-Gliedern Nachbildung eines UND-Gliedes mit NOR-Gliedern Nachbildung eines ODER-Gliedes mit NAND-Gliedern

Kapitel 5 Schaltnetze 5.1 Beschreibung logischer Funktionen 5.1.1 Funktionstabelle In der Digitaltechnik sind Problemstellungen oft in Form einer Funktionstabelle (Wahrheitstabelle) gegeben. Schaltalgebraische Beziehungen zwischen den unabhängigen Eingangsvariablen A 1, A 2,..., A n und der abhängigen Ausgangsvariablen Y können in Form einer Tabelle dargestellt werden, die jede mögliche Kombination der Eingangsvariablen und der dazugehörigen Ausgangsvariablen umfasst. Jede dieser Variablen kann die Werte 0 und 1 annehmen, d.h. bei n Eingangsvariablen ergeben sich 2 n verschiedene Eingangskombinationen. Beispiel: Funktionstabelle der Schaltfunktion Y mit den 3 Eingangsvariablen A, B, C. A B C Y 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 Alternativ zur Darstellung der Schaltfunktion als Funktionstabelle kann auch eine schaltalgebraische Gleichung angegeben werden. Dies ist häufig in einer deutlich kompakteren Form möglich. Im folgenden werden Wege von der Funktionstabelle zur schaltalgebraischen Gleichung gezeigt. Aus der Funktionstabelle liest man eine sog. Normalform der schaltalgebraischen Gleichung ab. Es gibt zwei mögliche Normalformen: die disjunktive und die konjunktive Normalform. 36

KAPITEL 5. SCHALTNETZE 37 5.1.2 Minterme und disjunktive Normalform Disjunktive Normalform (DNF) Sämtliche Zeilen, für die die Ausgangsvariable den Wert Eins annimmt, werden zusammengefasst. Hierbei ist für jede dieser Zeilen eine Konjunktion aller Variablen mit dem Wert Eins sowie aller negierten Variablen mit dem Wert Null zu bilden. Die so gebildeten Konjunktionen werden disjunktiv verknüpft. Minterm Die Terme, die alle Eingangsvariablen konjunktiv verknüpfen, bezeichnet man auch als Minterme bzw. als Vollkonjunktionen. 1. Fundamentalsatz der Schaltalgebra Jede binäre Funktion Y kann als Disjunktion von Mintermen angegeben werden, für die die Funktion den Wert Eins annimmt. Beispiel DNF zur vorhergehenden Funktionstabelle: Y = ( Ā B C ) ( Ā B C ) ( Ā B C ) 5.1.3 Maxterme und konjunktive Normalform Konjunktive Normalform (KNF) Definition: Sämtliche Zeilen, für die die Ausgangsvariable den Wert Null annimmt werden zusammengefasst. Hierbei ist für jede dieser Zeilen eine Disjunktionen aller Variablen mit dem Wert Null sowie aller negierten Variablen mit dem Wert Eins zu bilden. Die so gebildeten Disjunktionen werden konjunktiv verknüpft. Maxterme Die Terme, die alle Eingangsvariablen disjunktiv verknüpfen, bezeichnet man auch als Maxterme bzw. als Volldisjunktionen. 2. Fundamentalsatz der Schaltalgebra Jede binäre Funktion Y kann als Konjunktion von Maxtermen angegeben werden, für die die Funktion den Wert Null annimmt. Beispiel KNF zur vorhergehenden Funktionstabelle: Y = (A B C) ( Ā B C ) ( Ā B C ) ( Ā B C ) ( Ā B C ) 5.2 Vereinfachung logischer Schaltungen 5.2.1 Gesetze der Schaltalgebra Unter Verwendung der verschiedenen Gesetze für die Schaltalgebra können komplexe Schaltfunktionen vereinfacht - d.h. mit einer reduzierten Anzahl von logischen Gattern realisiert - werden. Angestrebt wird in der Regel eine zweistufige Realisierung, wobei die erste Stufe Konjunktionen und die zweite Stufe Disjunktionen enthält. Das Ergebnis ist

KAPITEL 5. SCHALTNETZE 38 dann eine disjunktive Minimalform (DMF). Eine DMF ist im Gegensatz zur DNF nicht eindeutig bestimmt. Häufig gibt es mehrere gleich gute Realisierungen. Beispiel: Y = ĀB C A B C AB C = [ ĀB A B AB ] C = [ ĀB AB A B AB ] C = [ B ( Ā A) ) A ( B B )) ] C = [B A] C (KMF) = A C B C (DMF) Die ursprüngliche Schaltfunktion, die drei UND-Gatter mit je drei, zum Teil negierten Eingängen und ein ODER-Gatter mit drei Eingängen benötigte, wurde minimiert auf eine Funktion, die nur noch zwei UND-Gatter mit je zwei, zum Teil negierten Ausgängen benötigt und ein ODER-Gatter mit zwei Eingängen. Ebenso kann man durch Umstellungen eine konjunktive Minimalform (KMF) erhalten, die Variablen werden dabei erst disjunktiv verknüpft und dann konjunktiv. Häufig gibt es mehrere gleichberechtigte DMF oder KMF! DNF, DMF, KNF und KMF stellen also 2-stufige Realisierungen der Form UND-ODER bzw. ODER-UND dar. DNF und DMF besitzen in der Praxis gegenüber KNF und KMF die größere Bedeutung. Da eine zielgerichtete Anwendung bei der Schaltungsminimierung häufig schwierig ist, weicht man in der Regel auf graphische Verfahren (z.b. KV-Diagramm) und algorithmische Verfahren (z.b. Methode von Quine) aus, die weitaus einfacher zu handhaben sind. 5.2.2 KV-Diagramme Karnaugh-Veitch-(KV)-Diagramme sind grafische Darstellungen von logischen Funktionen für bis zu sechs Variablen. Vorteil: Übersichtliches Verfahren, weil graphisch orientiert. Nachteil: Unübersichtlich bei mehr als 6 Variablen. Allgemeine Vereinfachungsregeln für KV-Diagramme: Fasst man benachbarte 1-Felder in möglichst große und damit wenige rechteckige oder quadratische Blöcke mit 2, 4, 8, 16... Feldern zusammen, gewinnt man die zu einem Block gehörende Konjunktion, indem man nur die Eingangsvariablen berücksichtigt, die in allen Feldern des Blockes einen konstanten Wert haben. Bei Blöcken mit 2 m Feldern entfallen so m Variable bei der Konjunktion. Die disjunktive Verknüpfung der Konjunktionen aller Blöcke liefert die DMF.

KAPITEL 5. SCHALTNETZE 39 Einzelne Felder können mehreren Blöcken angehören (Überlappungen). Blöcke können auch über die Ränder des KV-Diagramms hinaus gebildet werden. (Alternativ zum Zusammenfassen der Einsen können Nullen zusammengefasst werden. Dies führt zur konjunktiven Minimalform (KMF). Obige Regeln sind dann sinngemäß zu ändern: Jeder Block entspricht einer Disjunktion, usw.) KV-Diagramm für zwei Variable Das Diagramm besteht aus 2 2 = 4 Feldern: Beispiel: A B Y 0 0 0 0 1 1 1 0 1 1 1 1 B\A 0 1 0 Ā B A B 1 ĀB AB B\A 0 1 0 0 1 1 1 1 KV-Diagramm für drei Variable Y = A B Y = A B DMF KMF Das Diagramm besteht aus 2 3 = 8 Feldern. Es ergeben sich Nachbarschaftsverhältnisse zwischen den Feldern des linken und rechten Randes. C\AB 00 01 11 10 0 Ā B C ĀB C AB C A B C 1 Ā BC ĀBC ABC A BC C\AB 00 01 11 10 0 1 0 0 1 1 0 1 1 0 Y = BC B C Y = ( B C ) ( B C) DMF KMF KV-Diagramm für vier Variable Das Diagramm besteht aus 2 4 = 16 Feldern. Es ergeben sich Nachbarschaftsverhältnisse zwischen den Feldern des linken und rechten sowie des oberen und unteren Randes.

KAPITEL 5. SCHALTNETZE 40 CD\AB 00 01 11 10 00 Ā B C D ĀB C D AB C D A B C D 01 Ā B CD ĀB CD AB CD A B CD 11 Ā BCD ĀBCD ABCD A BCD 10 Ā BC D ĀBC D ABC D A BC D CD\AB 00 01 11 10 00 1 1 1 1 01 0 0 0 0 11 0 0 1 0 10 0 1 0 0 KV-Diagramm für fünf Variable Y = C D ĀB D ABCD Ein KV-Diagramm für fünf Variablen benötigt 2 5 = 32 Felder. Diese werden in zwei KV-Diagrammen für vier Variablen angeordnet. Hierbei gilt für das erste Diagramm E = 1 und für das zweite Diagramm E = 0. Diagramm für E = 1: CD\AB 00 01 11 10 00 Ā B C DE ĀB C DE AB C DE A B C DE 01 Ā B CDE ĀB CDE AB CDE A B CDE 11 Ā BCDE ĀBCDE ABCDE A BCDE 10 Ā BC DE ĀBC DE ABC DE A BC DE E Diagramm für E = 0: CD\AB 00 01 11 10 00 Ā B C DĒ ĀB C DĒ AB C DĒ A B C DĒ 01 Ā B CDĒ ĀB CDĒ AB CDĒ A B CDĒ 11 Ā BCDĒ ĀBCDĒ ABCDĒ A BCDĒ 10 Ā BC DĒ ĀBC DĒ ABC DĒ A BC DĒ Ē Die beiden Diagramme kann man sich übereinander angeordnet vorstellen, so dass Nachbarschaftsverhältnisse zusätzlich auch zwischen aufeinander liegenden Feldern bestehen. KV-Diagramm für sechs Variable Ein KV-Diagramm für fünf Variablen benötigt 2 6 = 64 Felder. Diese werden in vier KV-Diagrammen für vier Variablen angeordnet. Hierbei gilt für das erste Diagramm E = 0 und F = 0 und für das zweite Diagramm E = 0 und F = 1 für das dritte Diagramm E = 1 und F = 1 sowie für das vierte Diagramm E = 1 und F = 0.

KAPITEL 5. SCHALTNETZE 41 Weitere Beispiele werden in Übungsaufgaben vorgestellt. 5.2.3 Methode von Quine Ein anderer Weg zur Minimierung von Schaltfunktionen ist das Verfahren von Quine. Vorteil des Verfahrens: Algorithmisch orientiert, d.h. gut auf einem Computer zu programmieren. Nachteil des Verfahrens: Hoher Schreibaufwand bei der manuellen Berechnung. Beschreibung des Verfahrens: 1. Man schreibt alle Minterme einer disjunktiven Normalform untereinander. (Ist eine Funktion nicht als disjunktive Normalform gegeben, so muss sie vor der Bearbeitung in eine solche umgewandelt werden.) 2. Jeder Term wird mit jedem anderen Term verglichen. 3. Stimmen zwei Terme bis auf eine Variable überein, wobei diese eine Variable in dem anderen Term negiert vorkommen muss, trägt man diesen Term unter Weglassen der entsprechenden Variablen in die nächste Spalte ein. Die beiden ursprünglichen Terme werden markiert. 4. Dieser Vorgang wird für die erste Spalte wiederholt, bis alle Terme miteinander verglichen worden sind. 5. Anschließend wiederholt sich der gesamte Vorgang in der nächsten Spalte. 6. Die am Ende übrig bleibenden nicht markierten Terme sind die Primterme. 7. Über eine Primterm-Minterm-Tabelle wird die einfachste Primterm-Kombination gesucht. Die disjunktive Verknüpfung dieser Terme ergibt die disjunktive Minimalform. Beispiel: Gegeben sei die folgende Schaltfunktion Y : Y = AB CD ABCD A BCD Ā BCD ABC D AB C D Aufstellen der Tabelle zur Ermittlung der Primterme:

KAPITEL 5. SCHALTNETZE 42 1. Spalte 2. Spalte 3. Spalte (1) AB CD (1,2) ABD (1,2; 5,6) AB (2) ABCD (1,6) AB C (1,6; 2,5) AB (3) A BCD (2,3) ACD (4) Ā BCD (2,5) ABC (5) ABC D (3,4) BCD (6) AB C D (5,6) AB D Primterm-Minterm-Tabelle: Primterme: ACD BCD AB AB CD ABCD A BCD Ā BCD ABC D AB C D ACD x x BCD x x AB x x x x Einfachste Primtermkombination: Y = AB BCD Aufgabe: Führen Sie die Vereinfachung der Schaltfunktion zum Vergleich mit dem KV- Diagramm durch. 5.3 Nicht vollständig spezifizierte Funktionen (Don t care Felder) Bei der bisher in der Funktionstabelle dargestellten Funktion handelt es sich um eine vollständig spezifizierte Funktion, weil jeder Eingangsvariablen ein bestimmter Wert (0 oder 1) für die Ausgangsvariable zugewiesen worden ist. In der Praxis treten jedoch sehr häufig unvollständig spezifizierte Funktionen auf (siehe Kapitel über Codewandler), bei denen die Aufgabenstellung für bestimmt Eingangskombinationen nicht eindeutig eine 0 oder 1 vorgibt. Diese Felder werden mit einem x gekennzeichnet. In diesen Fällen können beim KV-Diagramm don t-care-felder zu weiteren Vereinfachungen benutzt werden, indem den Feldern geeignete Werte zur Vergrößerung der Blöcke zugewiesen werden. Beispiel: Schaltfunktion mit drei Eingangsvariablen

KAPITEL 5. SCHALTNETZE 43 A B C Y 0 0 0 0 0 0 1 x don t care 0 1 0 0 0 1 1 1 1 0 0 x don t care 1 0 1 x don t care 1 1 0 1 1 1 1 0 Indem zwei der don t-care-feld auf den Wert Eins gesetzt werden und das dritte don tcare-feld auf den Wert Null gesetzt wird, wird eine besonders einfach DMF gefunden. C\AB 00 01 11 10 0 0 0 1 x 1 x 1 0 x Y = ĀC A C 5.4 Realisierung mit Grundverknüpfungselementen Aus einer schaltalgebraischen Gleichung kann direkt eine Schaltungsrealisierung aus Grundverknüpfungselementen (UND, ODER, NICHT) abgelesen werden. Aus Gründen der Übersicht bietet es sich an die Schaltung nach dem Prinzip des Kreuzschienenverteilers zu zeichnen. Hierbei werden zunächst alle Eingangsvariablen sowie deren Negierte auf senkrechten Linien verfügbar gemacht. Im zweiten Schritt werden die weiteren Schaltelemente waagerecht an diese senkrechten Linien angeschlossen. Beispiel Gegeben sei folgende Schaltfunktion: Y = C D ĀB D ABCD Mit dem Prinzip des Kreuzschienenverteilers ergibt sich dann folgende Realisierung:

KAPITEL 5. SCHALTNETZE 44 Bei der Art der Schaltungsminimierung, die wir in den vorherigen Kapiteln kennen gelernt haben, läuft die Lösung immer auf eine zweistufige Schaltungsrealisierung hinaus: die erste Stufe besteht in konjunktiven Verknüpfungen und nachfolgend geschaltet ist eine disjunktive Verknüpfung. 5.5 Realisierung mit NAND und NOR Stehen zur Schaltungsrealisierung entweder nur NAND- oder nur NOR- Verknüpfungselemente zur Verfügung, so muss die schaltalgebraische Gleichung zunächst geeignet umgeformt werden. 5.5.1 Realisierung mit NAND Betrachten wir das gleiche Beispiel wie zuvor: Y = C D ĀB D ABCD Ziel ist es die Grundverknüfungen (UND, ODER, NICHT) durch NANDs zu ersetzen. Eine Negation (NICHT) kann einfach durch ein NAND ersetzt werden (siehe Kapitel 4.5.1), so dass wir uns um die Negationen zunächst nicht kümmern. Beim Ersetzen stört zunächst am stärksten das ODER, so dass wir den gesamte Ausdruck doppelt negieren und dann das De Morgan-Gesetz anwenden. Y = C D ĀB D ABCD = C D ĀB D ABCD = C D ĀB D ABCD Diese Form der schaltalgebraischen Gleichung können wir dann direkt mit NAND- Elementen zeichnen:

KAPITEL 5. SCHALTNETZE 45 Hieraus können wir folgende Regel ableiten: Realisierung mit NAND Die DNF oder DMF wird zunächst im gesamten doppelt negiert. Dann wird der untere Negationsstrich nach dem De Morgan-Gesetz aufgespalten. 5.5.2 Realisierung mit NOR Betrachten wir das gleiche Beispiel wie zuvor: Y = C D ĀB D ABCD Ziel ist es die Grundverknüfungen (UND, ODER, NICHT) durch NORs zu ersetzen. Eine Negation (NICHT) kann einfach durch ein NOR ersetzt werden (siehe Kapitel 4.5.1), so dass wir uns um die Negationen zunächst nicht kümmern. Beim Ersetzen stört am stärksten das UND, so dass wir die Konjunktionen doppelt negieren und dann das De Morgan- Gesetz anwenden. Um schließlich aus den anfänglichen ODER-Verknüpfungen noch NORs zu machen, muss der gesamte Ausdruck zweimal negiert werden. Y = C D ĀB D ABCD = C D ĀB D ABCD = C D A B D Ā B C D = C D A B D Ā B C D Diese Form der schaltalgebraischen Gleichung können wir dann direkt mit NOR-Elementen zeichnen:

KAPITEL 5. SCHALTNETZE 46 Hieraus können wir folgende Regel ableiten: Realisierung mit NOR Die Konjunktionen der DNF oder DMF werden zunächst doppelt negiert. Dann wird der untere Negationsstrich jeweils nach dem De Morgan- Gesetz aufgespalten. Schließlich wird der gesamte Ausdruck doppelt negiert.

Kapitel 6 Codewandler 6.1 Entwurfsverfahren Ein Codewandler wandelt Zahlen eines (Zahlen-)Codes in einen anderen (Zahlen-)Code um. Zum Beispiel wird eine Zahl im Aiken-Code in eine Zahl im BCD-Code gewandelt. Codewandler lassen sich nach den Regeln der Schaltungssynthese (siehe Kapitel über Schaltalgebra und Schaltnetze) berechnen. Im folgenden Abschnitt soll dies exemplarisch einmal vorgestellt werden. 6.2 Aiken-BCD-Codewandler Ein Aiken-BCD-Codewandler wandelt eine Zahl im Aiken-Code in eine Zahl im BCD-Code um. 1. Schritt: Aufstellen der Aiken-BCD-Codewandler-Wahrheitstabelle 47

KAPITEL 6. CODEWANDLER 48 Dezimal Aiken BCD D C B A Q 4 Q 3 Q 2 Q 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 2 0 0 1 0 0 0 1 0 3 0 0 1 1 0 0 1 1 4 0 1 0 0 0 1 0 0 0 1 0 1 x x x x 0 1 1 0 x x x x 0 1 1 1 x x x x 1 0 0 0 x x x x 1 0 0 1 x x x x 1 0 1 0 x x x x 5 1 0 1 1 0 1 0 1 6 1 1 0 0 0 1 1 0 7 1 1 0 1 0 1 1 1 8 1 1 1 0 1 0 0 0 9 1 1 1 1 1 0 0 1 Am Eingang des Codewandlers können auch Tetraden angelegt werden, die kein gültiges Aiken-Codewort darstellen. In diesen Fällen sind die Signale an den Ausgängen beliebig wählbar ( don t-care Felder ). 2. Schritt: Ermittlung der Ausgangsfunktion über KV-Diagramme KV-Diagramm für Q 1 : BA\DC 00 01 11 10 00 0 0 0 x 01 1 x 1 x 11 1 x 1 1 10 0 x 0 x KV-Diagramm für Q 2 : BA\DC 00 01 11 10 00 0 0 1 x 01 0 x 1 x 11 1 x 0 0 10 1 x 0 x Q 1 = A Q 2 = BD B D

KAPITEL 6. CODEWANDLER 49 KV-Diagramm für Q 3 : BA\DC 00 01 11 10 00 0 1 1 x 01 0 x 1 x 11 0 x 0 1 10 0 x 0 x KV-Diagramm für Q 4 : BA\DC 00 01 11 10 00 0 0 0 x 01 0 x 0 x 11 0 x 1 0 10 0 x 1 x Q 3 = BC CD 3. Schritt: Realisierung (z.b.: hier in NAND) Q 4 = BC Q 1 = A Q 2 = BD B D = BD B D = BD B D Q 3 = BC CD = BC CD = BC CD Q 4 = BC = BC Damit ergibt sich für den Aiken-BCD-Codewandler (nach dem Prinzip des Kreuzschienenverteilers):

KAPITEL 6. CODEWANDLER 50 6.3 BCD-7-Segment-Codewandler Eine 7-Segment-Anzeige besteht aus sieben Anzeige-Elementen zur Darstellung der dezimalen Ziffern von 0 bis 9. Das nachfolgende Bild zeigt die Bezeichnung der Elemente sowie die Verwendung der 7-Segment-Anzeige. Ein BCD-7-Segment-Codewandler setzt eine BCD-Zahl in entsprechende Signale zur Ansteuerung der 7-Segment-Anzeige um. BCD-codierte Zahlen können so direkt lesbar ausgegeben werden.

Kapitel 7 Schaltwerke 7.1 Bistabile Kippstufen 7.1.1 Konventionen und Klassifizierung Bistabile Kippstufen (auch: Flipflops ) sind Schaltelemente, die logische Zustände speichern können. Ein Flipflop besitzt in seiner einfachsten Form zwei Eingänge E 1 und E 2 sowie zwei Ausgänge Q 1 und Q 2. Die Ausgänge besitzen stets entgegengesetzte logische Werte, d.h. Q 1 = Q 2. Schaltzeichen: Wirkungsweise: Setzvorgang : (E 1 = 1) (E 2 = 0) Q 1 = 1 Rücksetzvorgang : (E 1 = 0) (E 2 = 1) Q 1 = 0 Speicherfall : (E 1 = 0) (E 2 = 0) Ausgangswerte bleiben unverändert Verbotener Fall : (E 1 = 1) (E 2 = 1) Wirkung hängt vom Flipflop-Typ ab: Bei einfachen Flipflops darf diese Kombination nicht verwendet werden. E 1 E 2 Q 1 Q 2 Bedeutung 0 0 Speicherfall 0 1 0 1 Rücksetzvorgang 1 0 1 0 Setzvorgang 1 1 Verbotener Fall 51

KAPITEL 7. SCHALTWERKE 52 Die Eingänge E 1 und E 2 sind sog. statische Eingänge, d.h. sie sprechen auf Eingangszustände an. Weiter gibt es Flipflops mit dynamischen Eingängen, die auf Eingangszustandsänderungen ansprechen. Dynamische Eingänge werden gesondert gekennzeichnet. Dynamischer Eingang, der bei ansteigender Taktflanke reagiert: Dynamischer Eingang, der bei fallender Taktflanke reagiert: Flipflops können mehrere Eingänge haben, die miteinander verknüpft sind. Diese werden entsprechend gekennzeichnet: S Setz-Abhängigkeit R Rücksetz-Abhängigkeit G UND-Abhängigkeit V ODER-Abhängigkeit C Steuer-Abhängigkeit Zusätzlich werden die zusammengehörigen Eingänge durch Ziffern gekennzeichnet. Bei steuernden Eingängen steht die Kennzahl nach dem Buchstaben. Bei gesteuerten Eingängen steht die Kennzahl vor dem Buchstaben. Klassifizierung von Flipflops 1. Nicht-taktgesteuertes FF: reagiert auf Eingangssignale

KAPITEL 7. SCHALTWERKE 53 2. Taktzustandsgesteuertes FF: reagiert auf Eingangssignale, wenn gleichzeitig ein Taktsignal anliegt 3. Taktflankengesteuertes FF: reagiert auf Eingangssignale, wenn gleichzeitig eine Taktsignalflanke anliegt. Unterschieden werden positive und negative Taktflankensteuerung. 7.1.2 Nicht-taktgesteuerte Flipflops 7.1.2.1 NOR-Latch 2 NOR-Gatter mit rückgekoppelten Signalen: NOR-Gatter A B A B 0 0 1 0 1 0 1 0 0 1 1 0 Funktionsweise: Merke: Sobald eine 1 am Eingang liegt, erscheint eine Null am Ausgang. (E 1 = 1) (E 2 = 0) (Q 2 = 0) (Q 1 = 1) (E 1 = 0) (E 2 = 1) (Q 1 = 0) (Q 2 = 1) E 1 = E 2 = 0 Ausgangssignale unverändert E 1 = E 2 = 1 Q 1 = Q 2 = 0 d.h. Kombination ist verboten Die Eingangskombination E 1 = E 2 = 1 ist verboten, da die Ausgänge ja vereinbarungsgemäß entgegengesetzte Signale aufweisen müssen. Wahrheitstabelle des NOR-Latches: E 1 E 2 Q 1 Q 2 Bedeutung 0 0 Speicherfall 0 1 0 1 Rücksetzvorgang 1 0 1 0 Setzvorgang 1 1 Verbotener Fall

KAPITEL 7. SCHALTWERKE 54 7.1.2.2 NAND-Latch 2 NAND-Gatter mit rückgekoppelten Signalen: NAND-Gatter A B A B 0 0 1 0 1 1 1 0 1 1 1 0 Funktionsweise: Merke: Sobald eine 0 am Eingang liegt, erscheint eine Eins am Ausgang. (E 1 = 1) (E 2 = 0) (Q 1 = 1) (Q 2 = 0) (E 1 = 0) (E 2 = 1) (Q 2 = 1) (Q 1 = 0) E 1 = E 2 = 0 Q 1 = Q 2 = 1 d.h. Kombination ist verboten E 1 = E 2 = 1 Ausgangssignale unverändert Wahrheitstabelle des NAND-Latches: E 1 E 2 Q 1 Q 2 Bedeutung 0 0 Verbotener Fall 0 1 0 1 Rücksetzvorgang 1 0 1 0 Setzvorgang 1 1 Speicherfall Um das gewünschte Flipflop-Verhalten zu erzeugen, sind noch zwei Änderungen notwendig: Erstens müssen die Eingangssignale negiert werden und zweitens müssen die Ausgangsbezeichnungen getauscht werden. NAND- und NOR-Latches sind die einfachsten Flipflops und bilden die Basis komplexerer Flipflops, NAND- und NOR-Latches werden daher auch Basis-Flipflops genannt. 7.1.3 Taktzustandsgesteuerte Flipflops 7.1.3.1 SR-Flipflop Schaltet man den Eingängen eines Basis-Flipflops jeweils ein UND-Glied vor, so erhält man ein taktzustandsgesteuertes SR-(Setz-Rücksetz-)Flipflop. Signale an den Eingängen erreichen das innere Basisflipflop nur, wenn ein Taktsignal T = 1 anliegt.

KAPITEL 7. SCHALTWERKE 55 Als Wahrheitstabelle ergibt sich formal: T S R Q 1 Q 2 Bedeutung 0 0 0 Keine Signaländerung 0 0 1 Keine Signaländerung 0 1 0 Keine Signaländerung 0 1 1 Keine Signaländerung 1 0 0 Keine Signaländerung 1 0 1 0 1 Rücksetzen 1 1 0 1 0 Setzen 1 1 1 Verbotener Fall Man erkennt an den vielen -Einträgen, dass diese aus der statischen Betrachtung (Schaltnetze) bekannte Form der Wahrheitstabelle hier bei der Beschreibung eines dynamischen Verhaltens wenig hilfreich ist. Wir führen daher eine neue Form der Wahrheitstabelle ein. Mit: t n t n+1 S R Q 1,n Q 1,n+1 0 0 0 0 Speicherfall 0 0 1 1 Speicherfall 0 1 0 0 Rücksetzen 0 1 1 0 Rücksetzen 1 0 0 1 Setzen 1 0 1 1 Setzen 1 1 0 Verbotener Fall 1 1 1 Verbotener Fall t n : Zeitpunkt vor Anliegen des Taktsignals (T = 0) t n+1 : Zeitpunkt nach Anlegen des Taktsignals (T = 1) Obige Wahrheitstabelle lässt sich auch in Kurzform schreiben. t n t n+1 S R Q 1,n+1 0 0 Q 1,n 0 1 0 1 0 1 1 1

KAPITEL 7. SCHALTWERKE 56 7.1.3.2 E-Flipflop Durch Zusatzbeschaltung eines SR-FF ergibt sich auch für E 1 = E 2 = 1 ein Speicherfall. Wahrheitstabelle: t n t n+1 E 1 E 2 Q 1,n+1 0 0 Q 1,n 0 1 0 1 0 1 1 1 Q 1,n 7.1.3.3 SR-Flipflop mit dominantem Rücksetzeingang Durch Zusatzbeschaltung eines SR-FF ergibt sich auch für E 1 = E 2 = 1 ein Rücksetzfall. Wahrheitstabelle: 7.1.3.4 D-Flipflop t n t n+1 E 1 E 2 Q 1,n+1 0 0 Q 1,n 0 1 0 1 0 1 1 1 0 Durch folgende Zusatzbeschaltung eines SR-FF ergibt sich ein D-FF (D=Delay=Verzögerung).

KAPITEL 7. SCHALTWERKE 57 Wahrheitstabelle: t n t n+1 D 0 0 1 1 Q 1,n+1 7.1.4 Taktflankengesteuerte Flipflops Bei der Taktflankensteuerung werden die Flipflops synchron (zeitgleich) geschaltet. Geschaltet wird je nach Ausführungsform beim Übergang des Taktes von Null nach Eins (0 1; positive Taktflanke) oder beim Übergang des Taktes von Eins nach Null (1 0; negative Taktflanke). Da nur zu diesen kurzen Zeitintervallen die Eingangssignale wirksam werden, sind diese Flipflops sehr störsicher. Zum Aufbau werden sog. Impulsglieder benötigt. 7.1.4.1 Impulsglieder Impulsglieder sind UND-Verknüpfungen mit einem statischen und einem dynamischen Eingang. Der dynamische Eingang liefert entweder bei fallender oder steigender Flanke kurzzeitig das Signal 1. Aufbau eines dynamischen Eingangs durch Ausnutzen der endlichen Laufzeit in einem realen NICHT-Glied.

KAPITEL 7. SCHALTWERKE 58 7.1.4.2 Einflankengesteuertes SR-Flipflop Ein einflankengesteuertes SR-FF lässt sich aus zwei Impulsgliedern und einem Basis-FF aufbauen. Schaltzeichen für ein SR-FF mit positiver Taktflankensteuerung: Schaltzeichen für ein SR-FF mit negativer Taktflankensteuerung: Wahrheitstabelle: t n t n+1 S R Q 1,n+1 0 0 Q 1,n 0 1 0 1 0 1 1 1 Weitere Ausführungsform: Einflankengesteuertes SR-FF mit zusätzlichen taktunabhängigen Setz-und-Rücksetz- Eingängen. Diese zusätzlichen Eingänge werden oft mit invertierten Signalen gesteuert.

KAPITEL 7. SCHALTWERKE 59 7.1.4.3 Einflankengesteuertes D-Flipflop Wie in Kapitel 7.1.3.4, das Eingangssignal wird verzögert übernommen, diesmal jedoch mit Flankensteuerung. Schaltzeichen für ein D-FF mit positiver Taktflankensteuerung: Wahrheitstabelle: t n t n+1 D 0 0 1 1 Q 1,n+1 7.1.4.4 Einflankengesteuertes T-Flipflop Aus einem SR-Flipflop kann mit rückgekoppelten Signalen ein T-Flipflop (T=Toggle=Umschalten) aufgebaut werden. Bei der entsprechenden Taktflanke ändert sich der Ausgangswert. Schaltzeichen für ein T-FF mit positiver Taktflankensteuerung: Wahrheitstabelle: t n t n+1 Q 1,n Q 1,n+1 0 1 1 0 7.1.4.5 Einflankengesteuertes JK-Flipflop Der verbotene Zustand S = R = 1 bei einem SR-FF ist störend. Daher kann durch zusätzliche Beschaltung das universelle JK-FF abgeleitet werden. Das JK-FF verhält sich bei S = R = 1 wie ein T-FF.

KAPITEL 7. SCHALTWERKE 60 Schaltzeichen für ein JK-FF mit positiver Taktflankensteuerung: Wahrheitstabelle: t n t n+1 S R Q 1,n+1 0 0 Q 1,n 0 1 0 1 0 1 1 1 Q1,n 7.1.4.6 Zweiflankengesteuertes (Master-Slave) SR-Flipflop Zusammenschaltung zweier SR-FF mit entgegengesetzter Taktflankensteuerung. Beispiel: Das erste FF (Master-FF) nimmt das Eingangssignal bei steigender auf und das zweite FF (Slave-FF) schaltet das Signal bei der folgenden fallenden Flanke durch ( retadierte Ausgänge ). (Eine entsprechende Steuerung durch entgegengesetzte Taktflanken ist ebenso möglich.) Schaltzeichen für ein SR-Master-Slave-FF: Die Symbole zeigen an, dass das Signal am Ausgang sich eine Taktflanke später ändert als ein Signal am Eingang aufgenommen wird.

KAPITEL 7. SCHALTWERKE 61 7.1.4.7 Zweiflankengesteuertes (Master-Slave) JK-Flipflop Wirkungsweise wie bei SR-Master-Slave-FF aber mit Umschaltfunktion für J = K = 1. Aufbau aus einem JK-FF und einem SR-FF: Schaltzeichen für ein JK-Master-Slave-FF: 7.1.5 Zeitablaufdiagramme Für vorgegebene Eingangssignale können die Ausgangssignale aus dem beschriebenen Verhalten der verschiedenen FF abgeleitet werden. Beispiel: Basis-Flipflop t n t n+1 S R Q 1,n+1 0 0 Q 1,n 0 1 0 1 0 1 1 1

KAPITEL 7. SCHALTWERKE 62 7.1.6 Charakteristische Gleichung Eine charakteristische Gleichung beschreibt die Arbeitsweise eines Flipflops in schaltalgebraischer Form. Die Werte aus der ausführlichen Wahrheitstabelle werden hierzu in ein KV-Diagramm überführt und hieraus wird die schaltalgebraische Gleichung abgeleitet. Beispiel: Taktflankengesteuertes JK-FF Wahrheitstabelle (Kurzform): t n t n+1 S R Q 1,n+1 0 0 Q 1,n 0 1 0 1 0 1 1 1 Q1,n Wahrheitstabelle (Ausführliche Form): t n t n+1 J K Q 1,n Q 1,n+1 0 0 0 0 Speicherfall 0 0 1 1 Speicherfall 0 1 0 0 Rücksetzen 0 1 1 0 Rücksetzen 1 0 0 1 Setzen 1 0 1 1 Setzen 1 1 0 1 Toggle 1 1 1 0 Toggle KV-Diagramm für Q 1,n+1 Q 1,n \JK 00 01 11 10 0 0 0 1 1 1 1 0 0 1 Charakteristische Gleichung: Q 1,n+1 = ( J Q ) ( ) 1,n K Q1,n

KAPITEL 7. SCHALTWERKE 63 7.2 Monostabile Kippstufe Eine monostabile Kippstufe (Monoflop) hat einen stabilen Zustand (Q = 0) und einen instabilen Zustand (Q = 1). Man unterscheidet nachtriggerbare und nicht-nachtriggerbare Monoflops. 7.2.1 Nicht-nachtriggerbares Monoflop Ändert sich das Eingangssignal E von Null auf Eins, so geht der Hauptausgang Q der monostabilen Kippstufe für eine bestimmte Zeit t Q in den instabilen Zustand und kehrt nach dieser Zeit selbständig wieder in den stabilen Zustand zurück. Zeitverlauf: Schaltzeichen: Die Verweildauer t Q im instabilen Zustand wird vom weiteren Verlauf des Eingangssignals nicht beeinflusst (nicht-nachtriggerbar): Die Dauer t Q kann in der Regel durch externe Beschaltung mit einem Widerstand R und einem Kondensator C festgelegt werden. t Q = 0,69RC Monostabile Kippstufen existieren auch mit Taktflankensteuerung. Im Folgenden ist ein Monoflop mit negativer Taktflankensteuerung gezeigt. Das Monoflop kippt dann bei einer negativen Flanke in den instabilen Zustand.

KAPITEL 7. SCHALTWERKE 64 7.2.2 Nachtriggerbares Monoflop Bei einem nachtriggerbaren Monoflop kann die Verweilzeit im instabilen Zustand durch geeignete Änderung des Eingangssignals verlängert werden. Zeitverlauf: Schaltzeichen: In dem Beispiel sorgt die zweite negative Taktflanke dafür, dass das Monoflop ab dieser Taktflanke für eine Dauer von t Q im instabilen Zustand bleibt. 7.3 Verzögerungsglieder Verzögerungsglieder haben die Aufgabe Taktflanken des Eingangssignals verzögert am Ausgang auszugeben. Die Verzögerungszeit t 1 gibt an, um welche Zeit die steigende Taktflanke verzögert wird und t 2 gibt an, um welche Zeit die fallende Taktflanke verzögert wird. Zeitverlauf:

KAPITEL 7. SCHALTWERKE 65 Schaltzeichen: Beispiel eines Einschaltverzögerungsgliedes: Zeitverlauf: Aufbau eines Einschaltverzögerungsgliedes (1. Idee):

KAPITEL 7. SCHALTWERKE 66 Aufbau eines Einschaltverzögerungsgliedes (2. Idee: Verbesserte Schaltung ohne Nadelimpuls): Es werden zwei Negationsglieder hinzugefügt, um auch das Signal am oberen UND-Gatter-Eingang zu verzögern. 7.4 Astabile Kippstufe Eine astabile Kippstufe hat zwei nicht-stabile Zustände. Zeitverlauf: Schaltzeichen: Anwendung: Erzeugung von Rechteck-Taktsignalen für Digitalschaltungen.

Kapitel 8 Zähler 8.1 Zählerarten Zähler sind sequentielle Schaltungen, die binäre Codes in Abhängigkeit eines Taktsignals zählen. Entsprechend gibt es Zähler für den Dual-Code, den BCD-Code, den Aiken-Code usw. Weiterhin kann man Vorwärts- und Rückwärtszähler unterscheiden. Bei der Realisierung ist die Unterteilung in synchrone und asynchrone Zähler wichtig: Synchrone Zähler Alle verwendeten Flipflops werden durch einen gemeinsamen Takt geschaltet. Asynchrone Zähler Mindestens zwei Flipflops verwenden unterschiedliche Taktsignale. Da asynchrone Zähler vom Aufbau einfacher sind, werden wir uns diese zunächst ansehen. Für synchrone Zähler wollen wir dann schließlich ein allgemeines Entwurfsverfahren kennenlernen. 8.2 Asynchrone Zähler 8.2.1 3-Bit Dualvorwärtszähler Werden drei Toggle-FF (realisiert durch JK-FF mit J = K = 1) mit negativer Taktflankensteuerung aneinander gehängt, so entsteht ein 3-Bit Dualvorwärtszähler. Der Hauptausgang der FF ist jeweils mit dem dynamischen Eingang der nachfolgenden FF verbunden. Zeitablaufdiagramm: 67

KAPITEL 8. ZÄHLER 68 Der Zähler zählt die Dualzahl Q 3 Q 2 Q 1 (mit Q 3 =MSB und Q 1 =LSB) von 0 (10) = 000 (2) bis 7 (10) = 111 (2) und springt dann wieder auf die Null zurück. Schaltzeichen: Der Text im Steuerblock zeigt an, dass es sich um einen Zähler (CTR = Counter) mit 8 Zählschritten (0... 7) handelt. Es wird vorwärts (+) gezählt. Der Funktionsblock enthält die Ausgänge und zeigt mit dem Plus -Symbol ebenfalls die Zählrichtung an. 8.2.2 3-Bit Dualrückwärtszähler Realisierung wie zuvor, jedoch diesmal werden die Signale der invertierten Ausgänge mit den nachfolgenden Takteingängen verbunden. Zeitablaufdiagramm:

KAPITEL 8. ZÄHLER 69 Der Zähler zählt die Dualzahl Q 3 Q 2 Q 1 (mit Q 3 =MSB und Q 1 =LSB) von 7 (10) = 111 (2) bis 0 (10) = 000 (2) rückwärts und springt dann wieder auf die 7 zurück. Schaltzeichen: Der Text im Steuerblock zeigt an, dass es sich um einen Zähler (CTR = Counter) mit 8 Zählschritten (0... 7) handelt. Es wird rückwärts (-) gezählt. Der Funktionsblock enthält die Ausgänge und zeigt mit dem Minus -Symbol ebenfalls die Zählrichtung an. 8.2.3 3-Bit Dualzähler mit umschaltbarer Zählrichtung Durch eine Zusatzbeschaltung wird die Zählrichtung mit einem Umschaltsignal U wählbar. Die Schaltung sieht dann folgendermaßen aus:

KAPITEL 8. ZÄHLER 70 U=1 Vorwärtszählen U=0 Rückwärtszählen Schaltzeichen: 8.2.4 BCD-Vorwärtszähler Ein BCD-Zähler zählt die Dualzahl Q 4 Q 3 Q 2 Q 1 (mit Q 4 =MSB und Q 1 =LSB) von 0 (10) = 0000 (2) bis 9 (10) = 1001 (2) und springt dann wieder auf die 0 zurück. Der Aufbau kann mit vier JK-FF und einem UND-Gatter erfolgen. Zeitablaufdiagramm:

KAPITEL 8. ZÄHLER 71 Schaltzeichen: 8.2.5 Dekaden-Zähler Mit einem BCD-Zähler kann eine Dekade gezählt werden (0 9). Mit der Zusammenschaltung von zwei BCD-Zählern kann über zwei Dekaden (0 99) gewählt werden.

KAPITEL 8. ZÄHLER 72 Funktionsweise: Immer, wenn der BCD-Zähler für die Einerziffer von Neun auf Null zurückspringt, entsteht an Q 4 eine negative Taktflanke. Diese negative Taktflanke veranlasst den zweiten BCD-Zähler (für die Zehnerziffer) eine Ziffer weiterzuzählen. Vorteil eines Dekadenzählers gegenüber einem Dualzähler: Einfache Ausgabe des Dezimalwertes der Zahl möglich (mit Hilfe von BCD-7-Segment-Codewandlern und 7-Segment- Anzeige-Elementen, siehe Kapitel 6.3). 8.2.6 Modulo-n-Zähler Der Modulo-n-Zähler zählt n duale Schritte bei der 0 beginnend. Zum Aufbau dieser Zähler werden JK-Flipflops mit taktunabhängigen Rücksetzeingängen benötigt. Der Aufbau ist besonders einfach, jedoch erscheint für kurze Zeit ein unerwünschter Zustand. Beispiel: Modulo-5-Zähler Zeitablaufdiagramm:

KAPITEL 8. ZÄHLER 73 Funktionsweise: Zunächst verhält sich die Schaltung wie ein 3-Bit-Dual-Vorwärtszähler. nach dem 5. Taktsignal liefert die NAND-Verknüpfung von Q 1 und Q 3 kurzzeitig eine Null an den taktunabhängigen Rücksetzeingängen der Flipflops, so dass diese auf Null zurückgesetzt werden und die Schaltung wieder bei Q 1 = Q 2 = Q 3 = 0 beginnt. (Nachteil: Unerwünschter 6. Zustand wird kurzfristig angezeigt.) 8.3 Synchrone Zähler Bei Synchron-Zählern werden alle FF durch einen gemeinsamen Takt zeitgleich (synchron) geschaltet. Die schaltungstechnische Realisierung ist im allgemeinen aufwendiger als bei asynchronen Zählern, da ja ein Freiheitsgrad (Wahl des Taktsignals) weniger vorhanden ist. 8.3.1 3-Bit Dualvorwärtszähler Regel für den Aufbau von synchronen Dual-Vorwärtszählern mit JK-FF: 1. Die Eingänge J und K sind bei jedem FF miteinander zu verbinden (J=K) 2. Beim 1. FF wird ein 1-Signal an die Eingänge gelegt. Beim 2. FF das Ausgangssignal vom 1. FF. Alle folgenden FF erhalten als Eingangssignal die UND-Verknüpfung der Hauptausgänge aller vorangehenden FF.

KAPITEL 8. ZÄHLER 74 Zeitablaufdiagramm: 8.3.2 3-Bit Dualrückwärtszähler Aus einem synchronen 3-Bit-Dual-Vorwärtszähler lässt sich ein Rückwärtszähler aufbauen, wenn statt der Hauptausgänge die invertierenden Ausgänge verwendet werden. 8.4 Entwurfsverfahren 8.4.1 Entwurfsverfahren mit Hilfe der charakteristischen Gleichung Vorgehensweise für den Entwurf mit JK-FF: 1. Aufstellen der Wahrheitstabelle, aus der die gewünschte Funktion des Zählers hervorgeht 2. Mittels KV-Diagrammen Ablesen von vereinfachten schaltalgebraischen (Anwendungs-)Gleichungen für die Ausgangsvariablen des Zählers 3. Koeffizienten-Vergleiche der charakteristischen Gleichungen der FF und der Anwendungsgleichungen liefern die Verknüpfungsgleichungen für die Ansteuerung der FF- Eingänge 4. Zeichnen des Schaltbildes aus den Verknüpfungsgleichungen Beispiel: 4-Bit-Dual-Vorwärtszähler 1. Schritt: Aufstellen der Wahrheitstabelle

KAPITEL 8. ZÄHLER 75 Dezimal t n t n+1 Dezimal Q D Q C Q B Q A Q D Q C Q B Q A 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 0 2 2 0 0 1 0 0 0 1 1 3 3 0 0 1 1 0 1 0 0 4 4 0 1 0 0 0 1 0 1 5 5 0 1 0 1 0 1 1 0 6 6 0 1 1 0 0 1 1 1 7 7 0 1 1 1 1 0 0 0 8 8 1 0 0 0 1 0 0 1 9 9 1 0 0 1 1 0 1 0 10 10 1 0 1 0 1 0 1 1 11 11 1 0 1 1 1 1 0 0 12 12 1 1 0 0 1 1 0 1 13 13 1 1 0 1 1 1 1 0 14 14 1 1 1 0 1 1 1 1 15 15 1 1 1 1 0 0 0 0 0 2. Schritt: Bestimmung der Anwendungsgleichungen durch Koeffizientenvergleich KV-Diagramm für Q A,n+1 Q B Q A \Q D Q C 00 01 11 10 00 1 1 1 1 01 0 0 0 0 11 0 0 0 0 10 1 1 1 1 Q A,n+1 = Q A,n KV-Diagramm für Q C,n+1 Q B Q A \Q D Q C 00 01 11 10 00 0 1 1 0 01 0 1 1 0 11 1 0 0 1 10 0 1 1 0 Q C,n+1 = [ QA Q C Q B Q C Q A Q B QC ]n KV-Diagramm für Q B,n+1 Q B Q A \Q D Q C 00 01 11 10 00 0 0 0 0 01 1 1 1 1 11 0 0 0 0 10 1 1 1 1 Q B,n+1 = [ Q A QB Q A Q B ]n KV-Diagramm für Q D,n+1 Q B Q A \Q D Q C 00 01 11 10 00 0 0 1 1 01 0 0 1 1 11 0 1 0 1 10 0 0 1 1 Q D,n+1 = [ QB Q D Q D QC Q D QA Q A Q B Q C QD ]n

KAPITEL 8. ZÄHLER 76 3. Schritt: Charakteristische Gleichungen der FF Die charakteristische Gleichung eines JK-FF lautet: Q n+1 = [( J Q ) ( K Q )]n Für jeder der 4 JK-FF (A,B,C,D) gilt eine Gleichung dieser Form. Bestimmung der Verknüfungsgleichungen durch Koeffizientenvergleich: Charakteristische Gleichung für Flipflop A im Vergleich mit der Anwendungsgleichung: Q A,n+1 = [( J A Q ) ( A KA Q A )]n Q A,n+1 = Q A,n Koeffizientenvergleich liefert: J A = 1 und KA = 0 K A = 1 Charakteristische Gleichung für Flipflop B im Vergleich mit der Anwendungsgleichung: Q B,n+1 = [( J B Q ) ( B KB Q B )]n Q B,n+1 = [ Q A QB Q A Q B ]n Koeffizientenvergleich liefert: J B = Q A und K B = Q A Charakteristische Gleichung für Flipflop C im Vergleich mit der Anwendungsgleichung: Q C,n+1 = [( J C Q ) ( C KC Q C )]n Q C,n+1 = [ QA Q C Q B Q C Q A Q B QC ]n = [ Q C ( QA Q ) B QA Q B QC ]n = [ Q C ( ) Q A Q B QA Q B QC ]n Koeffizientenvergleich liefert: J C = Q A Q B und K C = Q A Q B Charakteristische Gleichung für Flipflop D im Vergleich mit der Anwendungsgleichung: Q D,n+1 = [( J D Q ) ( D KD Q D )]n Q D,n+1 = [ QB Q D Q D QC Q D QA Q A Q B Q C QD ]n = [ Q D ( QA Q B Q ) C QA Q B Q C QD ]n = [ Q D ( ) Q A Q B Q C QA Q B Q C QD ]n Koeffizientenvergleich liefert: J C = Q A Q B Q C und K C = Q A Q B Q C 4. Schritt: Zeichnen der Schaltung

KAPITEL 8. ZÄHLER 77 Überprüfung des Ergebnisses: Schaltung stimmt mit den Regeln aus Kapitel 8.3.1 überein. 8.4.2 Vereinfachtes Entwurfsverfahren mit direktem Aufstellen der Verknüpfungsgleichungen Zunächst werden die aufeinander folgenden Zählzustände des Zählers in die linken 4 Spalten der einer Tabelle eingetragen. In diesem Beispiel wollen wir einen 3-Exzeß-Code-Zähler entwerfen, so dass hier die Zählschritte 0011 bis 1100 auftauchen. Schließlich soll der Zähler wieder am Anfang beginnen, so dass der letzte Zustand gleich dem ersten ist. Bei einem Zähler mit 4-Stellen benötigen wir 4-Flipflops FF-A bis FF-D. Die J- und K- Eingänge der Flipflops sind ebenfalls in der Tabelle aufgeführt. Nun ist bei jedem Flipflop und jedem Zählschritt einzutragen, wie die Signale am J und K Eingang aussehen müssen, um das gewünscht Verhalten zu erreichen. Geht zum Beispiel ein Flipflop vom Zustand Null in den Zustand Null über (0 0), so kann dies durch den Speicherfall (J = K = 0) oder den Rücksetzfall (J = 0, K = 1) erreicht werden. Daraus folgt, dass J Null sein muss (J = 0) und K beliebig sein darf (K = x, don t care-term). Alle möglichen Übergangsfälle sind in der folgenden Tabelle aufgeführt. Q n Q n+1 J K Bedeutung 0 0 0 x Speichern oder Rücksetzen 0 1 1 x Setzen oder Toggeln 1 0 x 1 Rücksetzen oder Toggeln 1 1 x 0 Setzen oder Speichern

KAPITEL 8. ZÄHLER 78 Q A Q B Q C Q D J A K A J B K B J C K C J D K D 0 0 1 1 0 x 1 x x 1 x 1 0 1 0 0 0 x x 0 0 x 1 x 0 1 0 1 0 x x 0 1 x x 1 0 1 1 0 0 x x 0 x 0 1 x 0 1 1 1 1 x x 1 x 1 x 1 1 0 0 0 x 0 0 x 0 x 1 x 1 0 0 1 x 0 0 x 1 x x 1 1 0 1 0 x 0 0 x x 0 1 x 1 0 1 1 x 0 1 x x 1 x 1 1 1 0 0 x 1 x 1 1 x 1 x 0 0 1 1 Die Werte aus der Tabelle werden in die folgenden KV-Diagramme übertragen. Die nicht ausgefüllten Felder entsprechen den Pseudotetraden, sind also wie don t care Felder zu werten. Nach Auslesen der disjunktiven Minimalform kann die Schaltung direkt gezeichnet werden. KV-Diagramm für J A Q C Q D \Q A Q B 00 01 11 10 00 0 x x 01 0 x 11 0 1 x 10 0 x J A = Q B Q C Q D KV-Diagramm für J B Q C Q D \Q A Q B 00 01 11 10 00 x x 0 01 x 0 11 1 x 1 10 x 0 J B = Q C Q D KV-Diagramm für K A Q C Q D \Q A Q B 00 01 11 10 00 x 1 0 01 x 0 11 x x 0 10 x 0 K A = Q B KV-Diagramm für K B Q C Q D \Q A Q B 00 01 11 10 00 0 1 x 01 0 x 11 x 1 x 10 0 x K B = Q A Q C Q D

KAPITEL 8. ZÄHLER 79 KV-Diagramm für J C Q C Q D \Q A Q B 00 01 11 10 00 0 1 0 01 1 1 11 x x x 10 x x J C = Q D Q A Q B KV-Diagramm für J D Q C Q D \Q A Q B 00 01 11 10 00 1 1 1 01 x x 11 x x x 10 1 1 J D = 1 KV-Diagramm für K C Q C Q D \Q A Q B 00 01 11 10 00 x x x 01 x x 11 1 1 1 10 0 0 K C = Q C Q D KV-Diagramm für K D Q C Q D \Q A Q B 00 01 11 10 00 x x x 01 1 1 11 1 1 1 10 x x K D = 1 Hieraus ergibt sich das folgende Schaltbild des 3-Exzess-Code-Zählers mit 4 JK- Flipflops.

Kapitel 9 Einstieg in die Automatentheorie Nach [3]... 9.1 Autonomer Automat, Moore-, Mealy und Medwedjew-Automat 9.2 Zustandsdiagramme 9.3 Zustandsfolgetabelle 9.4 Entwurf mit JK- und D-Flip-Flops 80

Kapitel 10 Ausgewählte Schaltungen 10.1 Schieberegister Schieberegister sind Schaltwerke, die eine Information taktgesteuert Bit für Bit aufnehmen und dann wieder abgeben. Mögliche Einsatzgebiete ergeben sich bei Rechenschaltungen sowie bei der Parallel/Seriell-Umsetzung. 10.1.1 Serielle Ein- und Ausgabe Im Folgenden ist ein 3-Bit-Schieberegister - aufgebaut aus drei D-Flipflops - gezeigt. Es besitzt einen seriellen Eingang (E) und einen seriellen Ausgang (Q). Das Schaltzeichen für das Schieberegister (SRG= Shift Register (engl.) ) ähnelt dem eines Zählers. Das zugehörige Zeitablaufdiagramm im nächsten Bild zeigt, wie das Eingangssignal taktweise aufgenommen und von Flipflop zu Flipflop weitergeschoben wird. 81

KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN 82 10.1.2 Serielle und parallele Ein- und Ausgabe Das folgende Bild zeigt ein Schieberegister - aufgebaut aus SR-Flipflops - mit paralleler und serieller Daten-Ein- und Ausgabe. E: Serieller Eingang (aktiv falls Steuersignal U = 0) Q: Serieller Ausgang A,B: Parallele Eingang (aktiv falls Steuersignal U = 1) Q A,Q B : Parallele Ausgänge

KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN 83 10.1.3 Ringregister Verbindet man des Ausgang eines Schieberegisters mit seinem Eingang, so erhält man ein Ringregister, in dem die Informationen im Kreis geschoben werden können. U = 0: Serieller Schieberegisterbetrieb U = 1: Ringregisterbetrieb

KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN 84 10.2 Frequenzteiler 10.2.1 Begriffe Frequenzteiler sind Schaltungen, die die Frequenz eines Taktsignals in einem bestimmten Verhältnis hinunterteilen. Wichtige Begriffe sind die Frequenz und das Puls-Pausen- Verhältnis. Die Frequenz f ergibt sich aus dem Kehrwert der Periodendauer T : f = 1 T Das Puls-Pausen-Verhältnis ist definiert als Verhältnis der Pulsdauer t P uls zur Pausendauer t P ause. Für ein Taktsignal ist ein Puls-Pausen-Verhältnis von 1 gewünscht, da dann der Oberwellenanteil (Fourier-Reihenentwicklung) minimal wird. 10.2.2 Teilerverhältnis 1:2 n Asynchrone Frequenzteiler mit einem Teilerverhältnis 1:2 n lassen sich einfach durch aneinandergehängte T-Flipflops realisieren. Mit einem Flipflops lässt sich eine Teilung 1:2, mit zwei Flipflops eine Teilung 1:4 und so weiter realisieren. Wir erkennen bei diesen Schaltungen sofort eine enge Verwandschaft mit Zählern (siehe Kapitel 8)! Frequenzteiler 1:2 (f 2 = 1 2 f 1): Frequenzteiler 1:4 (f 2 = 1 4 f 1):

KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN 85 10.2.3 Teilerverhältnis 1:3 Das folgende Bild zeigt einen synchronen Zähler, der als synchroner Frequenzteiler mit einem Teilerverhältnis 1:3 verwendet wird. 10.2.4 Entwurfsverfahren Aufgrund der engen Verwandtschaft mit Zählern können die dort (Kapitel 8) eingeführten Entwurfsverfahren verwendet werden. In der Übung wird dies am Beispiel des synchronen 1:3 Frequenzteiler demonstriert. Der Frequenzteiler entspricht einem Zähler mit folgender Zählfolge: 00-01-10-00.

KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN 86 10.3 Rechenschaltungen Mit digitalen Schaltungen können auch Rechnungen (Addition, Subtraktion, Multiplikaion und Division) durchgeführt werden. Wir wollen uns hier auf die Addition und Subtraktion geschränken, da Multiplikation und Division in einfacher Weise auf Addition und Subtraktion zrückgeführt werden können. 10.3.1 Addierschaltungen 10.3.1.1 Halbaddierer Ein Halbaddierer kann zwei duale Ziffern (A + B) addieren. Das Ergebnis ist zweistellig (Übertrag U (C O = Carry-Out Output ) und Summe S). Im Symbol kann statt des Summenzeichens ( ) auch HA stehen. Die Wahrheitstabelle lautet: A B U S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 Aufbau der Schaltung: S = ( Ā B ) ( A B ) U = A B 10.3.1.2 Volladdierer Ein Volladierer kann drei duale Ziffern (A + B + C I ) addieren, wie dies beim Summieren von zwei mehrstelligen Dualzahlen benötigt wird. (Neben den gleichwertigen Stellen muss möglicherweise noch ein Übertrag (C I, Carry-In Input ) aus der Addition der nächstniederwertigeren Stelle berücksichtigt werden.)

KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN 87 A B C I U S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 Ein Volladdierer kann aus zwei Halbaddierern und einem ODER-Gatter aufgebaut werden. Die Funktion lässt sich anhand der Wahrheitstabelle einfach belegen. 10.3.1.3 Parallele 4-Bit Addierschaltung Zur Addition von zwei vierstelligen Dualzahlen werden drei Volladdierer (VA) und ein Halb-Addierer (HA) benötigt. Die zu addierenden Summanden werden dazu zunächst ein zwei 4-Bit-Register geschrieben. Das Ergebnisregister muss 5-Stellen besitzen. Mit steigender Stellenzahl steigt auch die Zahlt der benötigten Volladdierer. Obgleich bei der Addition alle Stellen parallel verarbeitet werden, steigt die Verarbeitungsdauer mit

KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN 88 steigender Stellenzahl, da möglicherweise ein serieller Übertrag alle Volladdierer durchlaufen muss! 10.3.1.4 Serielle 4-Bit Addierschaltung Eine serielle Addierschaltung kann unter Verwendung eines einzigen Volladdierers aufgebaut werden. Zusätzlich werden ein D-Flipflop, zwei 4-Bit-Schieberegister für die Summanden sowie ein 4-Bit-Schieberegister für das Ergebnis benötigt. Der letzte Übertrag (5. Ergebnisstelle steht nach 4 Taktschritten am Ausgang des D-Flipflops). Die eigentliche Addition läuft taktgesteuert ab und benötigt daher also mehr Zeit als die parallele Addition. 10.3.2 Subtrahierschaltungen 10.3.2.1 Halbsubtrahierer Ein Halbsubtrahierer kann eine duale Ziffern (B, Subtrahend) von einer anderen dualen Ziffer (A, Minuend) abziehen. Das Ergebnis ist zweistellig (Entleihung E = B O ( Borrow- Out Output ) und Differenz D). Die Wahrheitstabelle lautet: A B E D 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 Aufbau der Schaltung: D = ( Ā B ) ( A B ) E = A B

KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN 89 10.3.2.2 Vollsubtrahierer Ein Vollsubtrahierer kann zum Wert der abzuziehenden Ziffer B (Subtrahend) eine Entleihung (E = B I ( Borrow-In Input )) hinzuaddieren und so den vergrößerten Subtrahenden vom Minuend A abziehen. A (B + B I ) = A B B I Das Ergebnis ist zweistellig (Entleihung E = B O ( Borrow-Out Output ) und Differenz D). A B B I E D 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 10.3.2.3 4-Bit Subtrahierschaltung Eine 4-Bit Subtrahierschaltung kann eine (positive) 4-Bit-Dualzahl von einer anderen 4-Bit-Dualzahl abziehen (Die beiden 4-Bit Zahlen können auch als positive 5-Bit- Zweierkomplementzahlen aufgefasst werden, da die 5. Stelle dann ja eine Null enthielte). Grundsätzlich kann das Ergebnis negativ werden, deshalb hat das Ergebnisregister 5 Stellen. Das Ergebnis erscheint dann als 5-stellige Zweierkomplementzahl.

KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN 90 10.3.2.4 Subtrahierschaltung mit Volladdierern Unter Ausnutzung des Zweierkomplements (siehe Kapitel 2.8.2) kann auch eine 4-Bit Addierschaltung mit Hilfe von 4 Volladdierern aufgebaut werden. Die abzuziehende Zahl wird hier unter Verwendung von Negationsgliedern und durch die Addition des Wertes 1 invertiert. Für die benötigte Stellenzahl gilt das im Kapitel über das Zweierkomplement gesagte.

KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN 91 10.3.2.5 Addier-Subtrahierwerk Durch leichte Abwandlung der vorherigen Schaltung kann durch Vorgabe eines Steuersignals S wahlweise addiert oder subtrahiert werden. Hierzu werden die Negationsglieder durch Exklusiv-ODER-Glieder ersetzt und die Schaltung wie folgt geändert. S = 0 : Addition S = 1 : Subtraktion Wahrheitstabelle der Exklusiv-ODER-Schaltung S A X 0 0 0 0 1 1 1 0 1 1 1 0 Für S = 0 ergibt sich X = A. Für S = 1 ergibt sich X = Ā. D.h. für S = 1 werden die Bits des Registers invertiert und es wird eine Eins am C I -Eingang von VA0 hinzuaddiert. Für S = 0 werden die Bits des Registers unverändert durch das XOR-Gatter geleitet und am C I -Eingang von VA0 wird eine Null hinzuaddiert.

KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN 92 10.4 Digitale Auswahl- und Verbindungsschaltungen 10.4.1 Multiplexer Ein Multiplexer gibt ein oder mehrere Eingangssignale in Abhängigkeit von Steuersignalen an einen oder mehrere Ausgänge weiter. 10.4.1.1 4-Bit-zu-1-Bit-Multiplexer Ein 4-Bit-zu-1-Bit-Multiplexer wählt über zwei Steuersignale S 0 und S 1 aus vier Eingangssignalen A D eines aus, das an den Ausgang Z weitergeleitet wird. Wahrheitstabelle: S 1 S 0 Z 0 0 A 0 1 B 1 0 C 1 1 D Schaltung:

KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN 93 Werden die Steuersignal S 0 und S 1 über einen 2-Bit-Dual-Zähler gesteuert, so liegen am Ausgang Z nacheinander die Signale A D an ( Zeitmultiplex). 10.4.1.2 2x2-Bit-zu-2-Bit-Multiplexer Ein 2-Bit-zu-2-Bit-Multiplexer wählt über ein Steuersignal S aus 2-mal-2 Eingangssignalen A 1, A 2 bzw. B 1, B 2 ein Paar aus, das an die Ausgänge Z 1 und Z 2 weitergeleitet wird. Wahrheitstabelle: Schaltung: S Z 1 Z 2 0 A 1 A 2 1 B 1 B 2 10.4.2 Demultiplexer 10.4.2.1 1-Bit-zu-4-Bit-Demultiplexer Ein 1-Bit-zu-4-Bit-Demultiplexer gibt in Abhängigkeit von zwei Steuersignalen S 1 und S 0 ein Eingangssignal A an einen der Ausgänge Q A bis Q B weiter. Alle anderen Ausgänge führen eine Null.

KAPITEL 10. AUSGEWÄHLTE SCHALTUNGEN 94 Wahrheitstabelle: Schaltung: S 1 S 0 Q A Q B Q C Q D 0 0 E 0 0 0 0 1 0 E 0 0 1 0 0 0 E 0 1 1 0 0 0 E Multiplexer und Demultiplexer können im Zusammenspiel dazu verwendet werden über eine Signalleitung im Zeitmultiplexverfahren verschiedene Übertragungs-Kanäle zu realisieren.

Kapitel 11 Programmierbare Logische Schaltungen (PLD) 11.1 Einleitung Programmierbare Logische Schaltungen werden als PLD = Programmable Logic Device bezeichnet. Schaltalgebraische Funktionen lassen sich (wie bisher dargestellt) durch Verwendung von einzelnen logischen Gattern realisieren, also z.b. durch Verwendung der drei logischen Grundfunktionen NOT, AND, OR oder durch Verwendung der abgeleiteten Funktionen NAND und NOR. Bei komplexen schaltalgebraischen Funktionen lassen sich solche Schaltungen aber platzsparender und mit höherer Schaltgeschwindigkeit unter Verwendung von programmierbaren ICs aufbauen. Man unterscheidet programmierbare ICs, die vom Hersteller unter Verwendung spezieller Masken programmiert werden ( ASICs, Application specific integrated circuit ) und programmierbaren ICs, die vom Anwender programmiert werden können ( PLD ). 11.2 Grundlagen Jede schaltalgebraische Funktion kann durch ihre disjunktive Normalform ausgedrückt werden. Wie wir gesehen haben, handelt es sich dabei um eine zweistufige Realisierung (1. Stufe: konjunktiv, 2. Stufe: disjunktiv). Beispiel: PLD mit zwei Eingangsvariablen Will man in einer PLD jede Schaltfunktion mit zwei Eingangsvariablen realisieren können, so müssen zunächst vier Vollkonjunktionen programmierbar sein. Anschließend müssen diese Vollkonjunktionen disjunktiv verknüpfbar sein. Um die Programmierbarkeit ausdrücken zu können, benötigen wir zunächst eine geeignete Notation: 95

KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD) 96 Die PLD kann dann wie folgt aufgebaut sein: Die waagerechnten Leitungen führen eine logische Null, falls keine programmierbare Verbindung mit einem Eingangssignal anliegt. Dies kann durch einen hochohmigen Widerstand gegen Masse (pull down Widerstand) realisiert sein. (Alternativ können die Leitungen auch hochohmigen gegen die Versorgungsspannung geschaltet sein und somit eine logische Eins führen. Man spricht dann von einem pull up Widerstand). Mit dieser Schaltung lässt sich jede denkbare diskunktive Normalform mit zwei Variablen realisieren. Beispiel: Äquivalenzverknüpfung Funktionstabelle:

KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD) 97 A B Y 0 0 1 0 1 0 1 0 0 1 1 1 Die Programmierung besteht also darin, an den richtigen Leitungskreuzungen leitende Verbindungen herzustellen. Dies kann zum Beispiel bei Schaltungen mit MOS-FETs (Metall Oxyd Semiconductor Feldeffekttransistoren) dadurch geschehen, dass das Gate eines solchen FET aufgeladen wird und der Kanal des FET leitend wird. Die Gateladung kann bei einigen Ausführungen entweder durch UV-Licht geslöscht werden (EPLD = Erasable PLD ) oder durch elektrische Impulse (EEPLD = Electrical Erasable PLD ). Alternativ kann eine Programmierung dadurch erfolgen, dass Verbindungen - durch durchbrennen von Sicherungen - geeignet getrennt werden. Ein Löschen und Neuprogrammieren ist hier nicht möglich. 11.3 Allgemeine PLD-Schaltung Eine allgemeine PLD-Schaltung besteht aus einer UND-Matrix und einer ODER-Matrix. Sowohl UND- als auch ODER-Matrix können programmierbar sein. Beispiel: 3 Eingänge und 2 Ausgänge

KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD) 98 Vereinfachte Darstellung durch Verwendung mehradriger Leitungen. Beispiel: Q 1 = A BC AB C Q 2 = A BC Ā B C Programmierte Verbindungen siehe oben. 11.4 Einteilung von PLDs 11.4.1 PAL/GAL Schaltungen PAL = Programmable Array Logic = programierbare Matrix Logik Eigenschaften:

KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD) 99 UND-Matrix ist vom Anwender programmierbar. ODER-Matrix ist fest verdrahtet. GAL = Generic rray Logic (wie PAL, aber elektrisch löschbar) 11.4.2 PROM Schaltungen PROM = Programmable Read Only Memory = programierbarer Nur-Lese-Speicher Eigenschaften: UND-Matrix ist nicht programmierbar. ODER-Matrix ist vom Anwender programmierbar. 11.4.3 FPLA Schaltungen FPLA = Field Programming Logic Array = feldprogramierbare Logik-Matrix Eigenschaften: UND-Matrix und ODER-Matrix sind vom Anwender programmierbar. 11.5 Programmierung von PLDs PLDs lassen sich über den Computer mittels Software und Programmiergerät komfortabel programmieren. Die logische Funktion, die in dem Baustein verwirklicht werden soll, kann z.b. in Form der schaltalgebraischen Gleichung oder Wahrheitstabelle oder als Zeichnung eingegeben werden. Nach erfolgter Programmierung wird der PLD-Baustein von der Software auf die richtige Funktionsweise geprüft. 11.5.1 Beispiel: PAL16L8 UND-Matrix ist vom Anwender programmierbar. ODER-Matrix ist fest verdrahtet. Logikdiagramm des PAL16L8

KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD) 100 Erläuterungen zum Logikdiagramm Allgemeines: IC mit 20 PINs

KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD) 101 PIN 10: GND (Ground, Masse) PIN 20: VCC (Versorgungsspannung) max. 16 Eingänge max. 8 Ausgänge L : Low-Active (negierte Ausgänge!) PAL programmierbare UND-Matrix, festverdrahtete ODER-Matrix Elemente des Logikdiagramms Eingangsverstärker: Abschaltbarer negierter Ausgangsverstärker: Y = {Ā, falls X = 1 hochohmig abgeschlossen, falls X = 0 Beispiel: PIN 18 kann als negierter Ausgang (X=1) oder als Eingang (X=0) verwendet werden. Programmierbare UND: Festverdrahtete ODER: Besonderheit:

KAPITEL 11. PROGRAMMIERBARE LOGISCHE SCHALTUNGEN (PLD) 102 Signalleitungen zu den Eingängen sind ohne weitere Beschaltung zunächst auf High- Potential (pull-up-widerstand), also anders als bei den Schaltungen bisher im PLD- Kapitel. Die Leitungen sind 32-adrig (0... 31). Beispiel zur PLD-Programmierung: Funktionstabelle: KV-Diagramm: A B C Y 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 C\AB 00 01 11 10 0 0 0 1 1 1 0 1 1 1 Aufgrund des invertierenden Ausgangsverstärkers des PAL16L8 müssen nun die Nullen, also Ȳ, ausgelesen werden. Ȳ = Ā C Ā B 11.6 FPGAs (siehe Vorlesung)

Kapitel 12 Schaltkreisfamilien 12.1 Eigenschaften digitaler Schaltungen 12.1.1 Allgemeines Für verschiedene technische Anwendungen existieren verschiedene Schaltkreisfamilien. Zumeist muss bei der Auswahl für eine Realisierung ein Kompromiss zwischen Geschwindigkeit, Leistungsaufnahme, Baugröße, Störsicherheit, Preis etc. gesucht werden. Im folgenden sollen einige wichtige technische Kenngrößen realer digitaler Schaltungen vorgestellt werden. 12.1.2 Leistungsaufnahme Digitalschaltungen sind als aktive Schaltungen aus Widerständen, Transistoren, etc. aufgebaut. Diese Bauelemente nehmen elektrische Leistung auf. Hohe Leistungsaufnahme bedeuten Geringe Betriebszeit bei Batterie-/Akku-Betrieb. Hohe Verlustwärme (geringere Integrationsdichte möglich). 12.1.3 Pegelbereiche Die Pegelbereiche geben an in welchen Bereichen der Spannungswerte die Signale als High und Low interpretiert werden (Eingangsspannungspegel U in, Ausgangsspannungspegel U out ). Beispiel: TTL (U b = 5 V) 103

KAPITEL 12. SCHALTKREISFAMILIEN 104 12.1.4 Schaltzeiten Zur Beurteilung der Geschwindigkeit von digitalen Schaltungen haben sich zwei wichtige Zeiten etabliert: die Signallaufzeit t p und die Signalübergangszeit t T. 12.1.4.1 Signallaufzeit Die mittlere Signallaufzeit t p (p=propagation) gibt die mittlere Impulsverzögerung zwischen Eingangs- und Ausgangsspannung an. Zur Festlegung der Signallaufzeit wird ein Bezugspegel U Bezug festgelegt. Beispiel: 12.1.4.2 Signalübergangszeit t p = t plh + t phl 2 Die mittlere Signalübergangszeit t T (t=transition) gibt die mittlere Steilheit der ansteigenden und abfallenden Flanke des Ausgangssignals an.

KAPITEL 12. SCHALTKREISFAMILIEN 105 12.1.5 Lastfaktoren t T = t T LH + t T HL 2 Digitale Schaltungen werden mit bestimmten Spannungen und Strömen gesteuert, die für vorgeschaltete Elemente eine Belastung darstellen. Wie stark eine Schaltung ein vorgeschaltetes Element belastet wird durch den Eingangslastfaktor F I (Fan-in) beschrieben. Für eine Standardelement gilt F I = 1. Wie stark ein Element durch nachfolgende Elemente belastbar ist wird durch den Ausgangslastfaktor F Q (Fan-out) beschrieben. Für ein zuverlässiges Funktionieren der Schaltung muss sicher gestellt sein, dass gilt Beispiel: F Q F I (12.1) Ein Standard-Element habe F Q = 10 und F I = 1. Folgende Schaltung ist damit möglich. Der IC soll die Schaltung dreimal so stark belasten wie ein Standard-Element, es gelte hier F I = 3.

KAPITEL 12. SCHALTKREISFAMILIEN 106 12.2 Dioden-Transistor-Logik (DTL) Zum Schaltungsentwurf werden Dioden, Transistoren und Widerstände verwendet. 12.2.1 Passives ODER-Gatter Die Schaltung beinhaltet zunächst eine Geberschaltung zur Vorgabe der Eingangsspannungen. Die logische Schaltung selbst besteht dann aus zwei Dioden D1 und D2 und einem Widerstand R. Bei der Analyse kann von einem vereinfachten Verhalten der Dioden ausgegangen werden. (Begriffe: PN-Übergang, Raumladungszone, Diffusionsspannung, Flussrichtung, Sperrrichtung, Kennzeichnung: Ring an Kathode, Anode (Pluspol, nimmt Elektronen auf), Kathode (Minuspol, gibt Elektroden ab)) Bei zwei Schaltern ergeben sich vier mögliche Signaleingangskombinationen. 1. Fall: A=High=1, B=Low=0 D1 ist in Durchlassrichtung geschaltet D2 sperrt Spannungsabfall an der Diode 0,7 V Spannungsabfall am Widerstand 11,3 V Q=High=1 2. Fall: A=Low=0, B=High=1

KAPITEL 12. SCHALTKREISFAMILIEN 107 D2 ist in Durchlassrichtung geschaltet D1 sperrt Spannungsabfall an der Diode 0,7 V Spannungsabfall am Widerstand 11,3 V Q=High=1 3. Fall: A = B=High=1 D2 und D1 sind in Durchlassrichtung geschaltet Spannungsabfall an den Dioden 0,7 V Spannungsabfall am Widerstand 11,3 V Q=High=1 4. Fall: A = B=High=0 kein Stromfluss: U Q = 0 V Q=Low=0 Es ergibt sich also insgesamt das Verhalten eines ODER-Gatters: A B Q 0 0 0 0 1 1 1 0 1 1 1 1 12.2.2 Aktive NICHT-Stufe Die Schaltung besteht aus einem bipolaren Transistor einem Vorwiderstand R V Kollektorwiderstand R C. und dem Bei der Analyse kann von einem vereinfachten Verhalten des Transistors ausgegangen werden.

KAPITEL 12. SCHALTKREISFAMILIEN 108 Bei einem Schalter in der Geberschaltung ergeben sich zwei mögliche Signaleingangskombinationen. 1. Fall: A=Low=0 Es fließt kein Strom durch die Basis des Transistors Es fließt kein Kollektorstrom und damit auch kein Strom durch R C Spannungsabfall an R C ist Null Q=High=1 2. Fall: A=High=1 Es fließt ein Strom durch die Basis des Transistors Es fließt ein Kollektorstrom (Kollektor-Emitter-Strecke wird niederohmig) Spannungsabfall an R C ca. 11,9 V Q=Low=0 Es ergibt sich also insgesamt das Verhalten eines NICHT-Gatters: 12.2.3 Aktives NOR-Gatter A Q 0 1 1 0 Zusammenführung der ODER- und der NICHT-Stufe zu einem aktivem NOR-Gatter:

KAPITEL 12. SCHALTKREISFAMILIEN 109 12.2.4 Passives UND-Gatter Die logische Schaltung selbst besteht nun aus drei Dioden D1, D2 und D3 und einem Widerstand R. Damit die Schaltung funktioniert muss noch der Lastwiderstand R Last R (Eingangswiderstand der nachfolgenden Stufe) berücksichtigt werden. Bei zwei Schaltern ergeben sich vier mögliche Signaleingangskombinationen. 1. Fall: A = B=High=1 Stromfluss durch R, D3 und R Last Wegen R Last R ist auch der Spannungsabfall an R Last deutlich größer als der Spannungsabfall an R (An der Diode fallen wieder ca. 0,7 V ab.) Q=High=1 2. Fall: A = B=Low=0 Stromfluss über D1, D2 und R Diodenspannung (D1, D2) ca. 0,7 V Durch D3 fließt kein Strom. Q=Low=0 3.+4. Fall: A=Low=0 oder B=Low=0 (andere Variable jeweils Eins) Wie im 2. Fall, jedoch ist jeweils nur eine Diode (D1 oder D2) stromdurchflossen. Es ergibt sich also insgesamt das Verhalten eines UND-Gatters: A B Q 0 0 0 0 1 0 1 0 0 1 1 1

KAPITEL 12. SCHALTKREISFAMILIEN 110 12.2.5 Aktives NAND-Gatter Zusammenführung der UND- und der NICHT-Stufe zu einem aktivem NAND-Gatter: 12.3 Transistor-Transistor-Logik (TTL) TTL-Gatter arbeiten im Prinzip genauso wie DTL-Gatter. (Tietze/Schenk - Halbleiterschaltungstechnik) Die Diodenschaltung wird jedoch durch einen Multi-Emitter-Transistor ersetzt. NAND Standard-TTL-Bauelement Vorteil des Transistors gegenüber den Dioden: Kleinerer Aufbau bei integrierten Schaltungen Der Transistor ist nie gesperrt. Entweder ist er im Normalbetrieb durchgesteuert (Stromfluss von der Basis zum Emitter) oder er ist im Inversbetrieb (Stromfluss von der Basis zum Kollektor). Es fließt somit also immer ein Basisstrom und die Basisladung muss nie ausgeräumt werden. Damit ist es schnelles Umschalten möglich! In der TTL-Schaltkreisfamilie gibt es Unterfamilien für verringerte Leistungsaufnahme (z.b. Low-Power-Schottky-TTL) oder verringerte Impulsverzögerungszeit (Fast-TTL).

KAPITEL 12. SCHALTKREISFAMILIEN 111 12.4 MOS-Schaltungen 12.4.1 Einführung Bei CMOS (Complementary MOS)- Schaltungen werden selbstsperrende P- und N-Kanal MOS FETs verwendet (MOS = Metal Oxid Semiconductor, FET=Feld-Effekt Transistor) Beim N-Kanal-MOS-FET führt eine positive Gate-Source-Spannung bei geeigneter Beschaltung zu einem positivem Drain-Strom (Drain-Source-Strecke wird leitfähig). Beim P-Kanal-MOS-FET führt eine negative Gate-Source-Spannung führt zu negativem Drain-Strom (Drain-Source-Strecke wird leitfähig). CMOS Eigenschaften: Gut miniaturisierbar (Es werden nur Transistoren verwendet) Geringe statische Leistungsaufnahme (kaum Stromfluss, da immer ein Transistor sperrt) Mit steigender Frequenz erhöhte Leistungsaufnahme (Umladeströme parasitärer Kapazitäten) Leichte Zerstörung der dünnen Oxydschichten durch elektrostatische Entladung (Diodenschutzschaltungen)