Digitaltechnik: Gatter, Schaltnetze, Addierer
Im Prozessor rechnen keine Zahlen, sondern Schalter. Ein Addierwerk besteht aus Gattern, und jemand muss sie so verschalten, dass die Ausgänge genau die gewünschte Funktion ergeben. Wie findet man zu einer Wahrheitstabelle systematisch eine Schaltung, und wie macht man sie klein? Und wie kann eine Schaltung etwas speichern?
Du lernst die Boolesche Algebra, den Entwurf von Schaltnetzen, den Mehrbitaddierer und das einfachste Speicherelement.
Boolesche Algebra und ihre Gesetze
Die Boolesche Algebra rechnet mit den Werten 0 und 1 und den Verknüpfungen UND (, auch ), ODER (, auch ) und NICHT (, auch ). UND bindet stärker als ODER. UND und ODER sind kommutativ und assoziativ, und es gilt , , und . Außerdem gelten diese Gesetze. Anders als beim Rechnen mit Zahlen gilt das Distributivgesetz in beide Richtungen. Die De Morganschen Regeln besagen: Eine Negation vertauscht UND und ODER.
Logikgatter
Ein Gatter ist ein Baustein, der eine Verknüpfung ausführt.
| Gatter | Funktion | Ausgang ist 1, wenn |
|---|---|---|
| UND | beide Eingänge 1 sind | |
| ODER | mindestens ein Eingang 1 ist | |
| NICHT | der Eingang 0 ist | |
| NAND | nicht beide Eingänge 1 sind | |
| NOR | beide Eingänge 0 sind | |
| XOR | die Eingänge verschieden sind |
NAND und NOR sind universell: Jede Verknüpfung lässt sich allein mit NAND (oder allein mit NOR) bauen. Das XOR ist .
UND und ODER nur aus NAND
UND und ODER nur aus NAND
Baue NICHT, UND und ODER allein aus NAND-Gattern.
NICHT: , denn .
UND: , also ein NAND und dahinter ein als NICHT geschaltetes NAND. Das sind 2 Gatter.
ODER: Nach De Morgan ist . Jeder Eingang geht erst durch ein als NICHT geschaltetes NAND, dann beide in ein NAND. Das sind 3 Gatter.
Schaltnetze, Normalformen und Synthese
Ein Schaltnetz verbindet Gatter ohne Rückkopplung. Sein Ausgang hängt nur von den Eingaben ab. Die Analyse geht von der Schaltung zur Funktion: Man schreibt an jedem Gatter den Ausdruck auf und stellt die Wahrheitstabelle auf. Die Synthese geht von der Wahrheitstabelle zur Schaltung.
Ein Minterm ist ein UND aller Variablen, einzeln negiert oder nicht, und für genau eine Zeile 1. Die disjunktive Normalform (DNF) ist ein ODER von Mintermen: Man nimmt jede Zeile mit Ergebnis 1 und negiert die Variablen mit Wert 0. Ein Maxterm ist ein ODER aller Variablen und für genau eine Zeile 0. Die konjunktive Normalform (KNF) ist ein UND von Maxtermen: Man nimmt jede Zeile mit Ergebnis 0 und negiert die Variablen mit Wert 1. Beide Formen ergeben direkt ein zweistufiges Schaltnetz, sind aber oft nicht minimal.
KV-Diagramm
Ein KV-Diagramm (Karnaugh-Veitch) ordnet die Zeilen der Wahrheitstabelle als Raster an, in dem sich benachbarte Felder in genau einer Variablen unterscheiden. Dafür ordnet man zwei Variablen an einer Achse in der Folge 00, 01, 11, 10 und nicht 00, 01, 10, 11. Auch der linke und der rechte Rand sind benachbart. Man fasst Felder mit 1 zu Rechtecken aus 1, 2, 4 oder 8 Feldern zusammen, möglichst große und möglichst wenige. Jedes Rechteck ergibt einen Produktterm aus den Variablen, die im ganzen Rechteck gleich bleiben. Die ODER-Verknüpfung dieser Terme ist die vereinfachte Funktion. Ein Feld darf in mehreren Rechtecken liegen.
Die Mehrheitsfunktion vereinfachen
Die Mehrheitsfunktion vereinfachen
Ein Schaltnetz mit drei Eingängen a, b, c soll 1 liefern, wenn mindestens zwei Eingänge 1 sind. Bestimme die DNF und vereinfache sie mit dem KV-Diagramm.
Die Ergebnisse sind 1 für abc = 011, 101, 110 und 111. Die DNF ist . Im KV-Diagramm steht a in den Zeilen, bc in den Spalten:
| a / bc | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 |
Drei Paare lassen sich bilden. Zeile a = 1 mit den Spalten 01 und 11: c bleibt 1, ergibt . Spalte 11 mit den Zeilen 0 und 1: ergibt . Zeile a = 1 mit den Spalten 11 und 10: ergibt . Das Ergebnis ist .
Halbaddierer, Volladdierer und Mehrbitaddierer
Der Halbaddierer addiert zwei Bits. Seine Summe ist , sein Übertrag . Der Volladdierer addiert drei Bits: a, b und den Übertrag der Stelle davor. Er besteht aus zwei Halbaddierern und einem ODER. Der Übertrag entsteht, wenn a und b beide 1 sind oder wenn genau eines von beiden 1 ist und ein Übertrag ankommt.
Ein Mehrbitaddierer reiht n Volladdierer, der Übertrag jeder Stelle geht als in die nächste. Die niedrigste Stelle hat . Bei vorzeichenlosen Zahlen zeigt ein Übertrag aus der höchsten Stelle den Überlauf. Weil der Übertrag im ungünstigen Fall durch alle n Stufen läuft, wächst die Laufzeit mit n. Schnellere Addierer berechnen die Überträge vorab (Carry-Lookahead).
Eine 4-Bit-Addition
Eine 4-Bit-Addition
Addiere 1011 und 0110 stellenweise von rechts mit Volladdierern.
| Stelle (von rechts) | a | b | S | ||
|---|---|---|---|---|---|
| 0 | 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 1 | 0 | 0 | 1 |
| 2 | 0 | 1 | 1 | 0 | 1 |
| 3 | 1 | 0 | 1 | 0 | 1 |
Die Summenbits von Stelle 3 bis 0 sind 0001, der letzte Übertrag ist 1. Das ergibt 10001 = 17. Kontrolle: 11 + 6 = 17. Mit 4 Bit ohne Vorzeichen ist 17 nicht darstellbar, der Übertrag 1 zeigt den Überlauf.
Latch, Flipflop und Schaltwerke
Ein Schaltnetz hat kein Gedächtnis. Speichern kann man durch Rückkopplung: Der Ausgang eines Gatters läuft zu einem Eingang zurück. Zwei kreuzweise gekoppelte NOR-Gatter bilden den SR-Latch. Seine Eingänge S (setzen) und R (zurücksetzen) stellen den Ausgang Q auf 1 oder 0 und lassen ihn sonst unverändert.
| S | R | Wirkung |
|---|---|---|
| 0 | 0 | Q bleibt, der Wert ist gespeichert |
| 1 | 0 | Q = 1 |
| 0 | 1 | Q = 0 |
| 1 | 1 | verboten: beide Ausgänge sind 0, danach ist der Zustand unbestimmt |
Ein Latch reagiert auf seine Eingänge, solange sie anliegen. Ein Flipflop reagiert nur im Moment einer Taktflanke. Das D-Flipflop übernimmt bei der steigenden Flanke des Takts den Wert von D und speichert ihn bis zur nächsten Flanke. Ein Schaltwerk besteht aus einem Schaltnetz und Flipflops, die den Zustand speichern. Seine Ausgabe hängt von den Eingaben und vom Zustand ab.
Ein Zähler als Schaltwerk
Ein Zähler als Schaltwerk
Zwei D-Flipflops speichern den Zustand . Ein Schaltnetz bildet die Eingänge und . Welche Zustandsfolge entsteht, wenn der Zustand 00 ist und Taktflanken kommen?
Bei jeder Taktflanke werden und als neuer Zustand übernommen. Von 00: , , neuer Zustand 01. Von 01: , , neuer Zustand 10. Von 10: , , neuer Zustand 11. Von 11: , , neuer Zustand 00. Der Zähler zählt 0, 1, 2, 3 und beginnt von vorn.
De Morgan falsch angewendet
De Morgan falsch angewendet
" ist gleich ."
Die Negation vertauscht UND und ODER: . Probe mit , : Die linke Seite ist . Die falsche rechte Seite wäre , die richtige ist .
Falsche Gruppen im KV-Diagramm
Falsche Gruppen im KV-Diagramm
"Ich fasse drei benachbarte Einsen zu einem Rechteck zusammen, und die Spalten ordne ich 00, 01, 10, 11."
Rechtecke haben 1, 2, 4 oder 8 Felder. Drei Einsen ergeben zwei überlappende Paare. Die Spalten stehen als 00, 01, 11, 10, damit sich Nachbarn in genau einer Variablen unterscheiden.
Zusammenfassung
Die Boolesche Algebra hat Gesetze wie Distributivität in beide Richtungen, Komplement, Absorption und die De Morganschen Regeln: Eine Negation vertauscht UND und ODER.
NAND und NOR sind universell, jedes Schaltnetz lässt sich allein mit ihnen bauen.
Analyse führt von der Schaltung zur Wahrheitstabelle, Synthese von der Tabelle über DNF (Zeilen mit 1) oder KNF (Zeilen mit 0) zur Schaltung.
Das KV-Diagramm vereinfacht eine Funktion durch möglichst große Rechtecke aus 1, 2, 4 oder 8 Feldern, mit der Spaltenfolge 00, 01, 11, 10.
Halbaddierer: und . Der Volladdierer rechnet den Übertrag mit, der Mehrbitaddierer reiht n Volladdierer, seine Laufzeit wächst mit n.
Rückkopplung ergibt Speicher: SR-Latch, D-Flipflop. Ein Schaltwerk ist ein Schaltnetz mit Flipflops, seine Ausgabe hängt auch vom Zustand ab.
Übungen
Welcher Ausdruck ist gleich ?
Eine Funktion von drei Variablen ist in genau 5 der 8 Zeilen der Wahrheitstabelle 1. Wie viele Maxterme hat ihre KNF?
Ein 4-Bit-Addierer addiert 1101 und 0110. Welche Dezimalzahl zeigen die vier Summenbits ohne den letzten Übertrag?
In einem KV-Diagramm für a, b, c sind alle vier Felder der Zeile a = 1 mit 1 belegt, alle anderen mit 0. Welchen Term liefert das eine Rechteck aus vier Feldern?
Gib die disjunktive Normalform der Funktion an.
Ein SR-Latch aus NOR-Gattern speichert Q = 1. Was geschieht bei S = 0 und R = 0?