Beruflich Dokumente
Kultur Dokumente
Einleitung
Personen 2
T. Bertel, M.Sc.
Tel.: 0681 / 5867 – 381
Raum 8109
Mail: thomas.bertel@htwsaar.de
Literaturverzeichnis
Beuth, K.; Digitaltechnik – Elektronik 4; 10., überarbeitete und erweiterte Auflage;
Vogel Verlag Würzburg, 1998; ISBN 3-8023-1755-6.
Borgmeyer, J.; Grundlagen der Digitaltechnik; Carl Hanser Verlag München, 1997;
ISBN 3-446-15624-0
Tietze, U.: Schenk, Ch.; Halbleiter Schaltungstechnik; 12. Auflage; Springer Verlag
Berlin, 2002; ISBN 3-540-42849-6.
Urbanski, U.: Woitowitz, R; Digitaltechnik – Ein Lehr und Übungsbuch; 4., neu
bearbeitete und erweiterte Auflage; Springer Verlag Berlin, 1997; ISBN 3-540- 40180-6
Kapitel 1: Einleitung
- Begriffsdefinition der Digitaltechnik
- Vor- und Nachteile der Digitaltechnik
- Digitale / Binäre Signale
Kapitel 3: Codierungsverfahren
- Vorstellung verschiedener Codes und deren Bedeutung
Inhaltsverzeichnis 5
Kapitel 7: FlipFlop-Schaltungen
- Allgemeine Vereinbarung für FlipFlops
- Das zustandsgesteuerte SR-FlipFlop
- Das taktzustandsgesteuerte SR-FlipFlop
- Das taktflankengesteuerte SR-FlipFlop
- Das JK-FlipFlop
- Das T-FlipFlop
- Das D-FlipFlop
- Taktsteuerung und Rücksetzen von FlipFlops
Kapitel 9: Rechenschaltungen
- Der Halbaddierer
- Der Volladdierer
- 4bit-Parallel-Addierschaltung
- 4bit-Seriell-Addierschaltung
- Carry-look-ahead-Addierer
- Subtraktionsschaltung
1. Einleitung
1.1 Begriffsdefinition
Sprachliche/Geschichtliche Herkunft:
Digitus (lat.) = Finger Semantik: Mit Hilfe der Finger
Digit (engl.) = Ziffer, Stelle Semantik: In abzählbarer Form
Einleitung 10
Digitale Signale lassen sich einfacher und weniger störanfällig übertragen. Sie
unterliegen keiner Fehlerfortpflanzung.
Digitale Signale lassen sich leicht kodieren (dekodieren) und sind somit gut zur
Datenübertragung auch für weite Strecken geeignet.
Digitale Signale lassen sich leicht konstruieren. Sie lassen sich einfach in Rechnern,
Mikroprozessoren, Gatterbausteinen verarbeiten und speichern.
Anzahl der benötigten Schaltungsbestandteile ist um ein Vielfaches höher als bei
analogen Systemen (wird durch eine hohe Integrationsdichte auf entsprechende Chips
kompensiert).
Informationsfluss von binären Signalen erfolgt sequentiell. Ein einzelnes binäres Zeichen
wird Bit genannt. Folgende Konventionen sind im Umfang dieser Vorlesung gängig:
(Abb. 1.3.1)
Einleitung 13
U/V
Fall High Low
5,5
1 +1,8V 0V high
4,5
2 +3,3V 0V
3 +5V 0V
0,8
4 +12V 0V low
0
5 +12V -12V
2. Mathematische Grundlagen
Die gewohnte Schreibweise einer Funktion F von n Variablen gilt hier für einen Spezialfall
von Variablenwerten aus der zweielementigen Menge {0, 1}.
Y = F ( X 1 ,..., X n ) (2.1.1)
Wichtig ist, dass bei booleschen Funktionen auch der Funktionswert Y nur 0 oder 1 sein
kann. In moderner Notation schreibt man für boolesches F auch:
F : B n → B1. (2.1.2)
Mathematische Grundlagen 3
B n ist dabei der n-dimensionale Binärraum im Sinne des kartesischen Produktes (x):
Bn = B 1
{ { × B 1
× .... × B 1
=
{ { { 0 , 0 , ... , 0
{ ,..., ( 1,1, ... ,1 ) ,
(2.1.3)
(1) ( 2) (n) (1) ( 2 ) (n)
also die Menge aller 2n geordneten n-Tupel mit Elementen aus B1. Man nennt diese n
Tupel auch n-dimensionale Binärvektoren. F bildet also derartige Vektoren auf
die Menge {0, 1} ab. Für n = 3 lautet (2.1.3) beispielsweise
(2.1.4)
B = {(0,0,0), (0,0,1), (0,1,0), (0,1,1), (1,0,0), (1,0,1), (1,1,0), (1,1,1)}
3
Mathematische Grundlagen 4
Eine reelle Funktion Y = F(X1) wird graphische gerne mittels eines Koordinatensystems
wie in Abb. 2.1.1.1 zu sehen dargestellt.
Y
F
X1
(Abb. 2.1.1.1)
Mathematische Grundlagen 5
F0 F1 F2 F3
1 1 1 1
(Abb. 2.1.1.2)
0 1 X1 0 1 X1 0 1 X1 0 1 X1
a) b) c) d)
Y
X1 F0 F1 F2 F3
0 0 1 0 1
(Tab. 2.1.1.1)
1 0 0 1 1
Abb.
a) b) c) d)
2.1.1.2
Mathematische Grundlagen 6
F0 ( X 1 ) = 0 ; F1 ( X 1 ) = X 1 ; F2 ( X 1 ) = X 1 ; F3 ( X 1 ) = 1 , (2.1.1.1)
Y
X1 F0 F1 F2 F3
0 0 1 0 1 (Tab. 2.1.1.1)
1 0 0 1 1
Abb.
a) b) c) d)
2.1.1.2
Mathematische Grundlagen 7
X 1 heisst Negation (Verneinung) von X 1. Es können auch Funktionen negiert werden. Aus
F0 ( X 1 ) = 0 ; F1 ( X 1 ) = X 1 ; F2 ( X 1 ) = X 1 ; F3 ( X 1 ) = 1 ,
folgt beispielsweise
F 2 ( X 1 ) := F2 ( X 1 ) = F1 ( X 1 ) (2.1.1.2)
Y
X1 F0 F1 F2 F3
0 0 1 0 1 (Tab. 2.1.1.1)
1 0 0 1 1
Abb.
a) b) c) d)
2.1.1.2
Mathematische Grundlagen 8
Die Größe
~
{
X ∈ X,X }
die also wahlweise
oder
~
X X
sein kann, heißt Literal.
Literale sind nützlich, wenn man auch negierte Variablen als Quasivariablen nutzen möchte,
z.B. wenn die Ausführung der Negation keine Mühe bereitet.
Mathematische Grundlagen 9
X2
1 (Abb. 2.1.2.1)
0 1 X1
X1 X2 F0 F1 F2 F3 F4 F5 F6 F7
0 0 0 1 0 1 0 1 0 1
0 1 0 0 1 1 0 0 1 1
1 0 0 0 0 0 1 1 1 1
1 1 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 1 0 1
0 1 0 0 1 1 0 0 1 1
1 0 0 0 0 0 1 1 1 1
1 1 1 1 1 1 1 1 1 1
Mathematische Grundlagen 11
Konjunktion (UND-Funktion)
F8 ( X 1 , X 2 ) X1 ∧ X 2
F14 ( X 1 , X 2 )
Disjunktion (ODER-Funktion)
X1 ∨ X 2
F6 ( X 1 , X 2 ) Antivalenz X1 ⊕ X 2
Äquivalenz
F9 ( X 1 , X 2 ) X1 ⊕ X 2
Mathematische Grundlagen 12
Üblicherweise werden die Überstreichungen zur Negation nicht nur über dem Operanden,
sondern n der Regel auch über den Variablen angewendet
A∨B = A ∨ B
Mathematische Grundlagen 13
(X 1 ∧ X 2 ) ⊕ X 3 = X 1 X 2 ⊕ X 3
Die naheliegende Ausdrucksweise
X1 „mal“ X2
Menge boolescher Objekte und Bündel von Rechenregeln, mit denen neue Objekte bestimmt
werden.
Bei den folgenden Betrachtungen wird von folgender mathematischer Definition ausgegangen:
A, B, C, .... ∈{0, 1}
A∧ B = B∧ A A∨ B = B∨ A
A∧ A= A A∨ A = A
c) Assoziativgesetz der Konjunktion f) Assoziativgesetz der Disjunktion
A ∧ (B ∧ C ) = ( A ∧ B ) ∧ C A ∨ (B ∨ C ) = ( A ∨ B ) ∨ C
Mathematische Grundlagen 16
1∧ A = A 0∨ A= A
h) Erstes Distributivgesetz
A ∧ (B ∨ C ) = ( A ∧ B ) ∨ ( A ∧ C )
i) Zweites Distributivgesetz
A ∨ (B ∧ C ) = ( A ∨ B ) ∧ ( A ∨ C )
Mathematische Grundlagen 17
A B A∧ B A∨ B A
0 0 0 0 1
0 1 0 1 1
1 0 0 1 0
1 1 1 1 0
()
A := A = A
0∧ A=0
1∨ A = 1
Weiterhin kommen verschiedene Absorptionsregeln zum Gebrauch die einen booleschen
Ausdruck umformen und/oder verkürzen:
A ∨ ( A ∧ B) = A A ∨ AB = A
A ∧ ( A ∨ B) = A A( A ∨ B ) = A
( A ∧ B ) ∨ (A ∧ B ) = A AB ∨ A B = A
Mathematische Grundlagen 19
Die Regeln nach De Morgan befassen sich mit der Umformung boolescher Funktionen
durch Änderung der Negation, Operanden und Variablen:
A∨ B = A∧ B = A B
und
AB = A ∧ B = A ∨ B
Die doppelte Negation mit De Morgan:
A∧ B = A∨ B
Mathematische Grundlagen 20
Zwei weitere wichtige Rechenregeln betreffen die Darstellung (den Ersatz) von Antivalenz
und Äquivalenz durch UND, ODER und NICHT. Es gilt:
A ⊕ B = AB ∨ AB A ⊕ B = AB ∨ A B
Gelegentlich werden zur Verkürzung von Rechnungen gern die folgenden Regeln für die
Antivalenz angewandt:
0⊕ A = A 1⊕ A = A
Mathematische Grundlagen 21
Shannonscher Inversionssatz
Der shannonsche Inversionsatz dient zur einfachen Negierung eines Ausdrucks. Jede nur
mit den Operatoren UND, ODER, und NICHT gebildete Schaltfunktion kann dadurch
negiert werden, dass die Operanden für UND und ODER miteinander vertauscht und jedes
Literal negiert wird:
F ( X1, X 2 , X 3 ) = (
X1 X 2 ∨ X 3 )
Anwendung des Shannonschen Inversionssatzes folgt zu
F ( X1, X 2 , X 3 ) = (
X1 X 2 ∨ X 3 )
= (
X1 ∨ X 2 ∨ X 3 )
Mathematische Grundlagen 22
Dualzahlen sind Zahlen die mit den Ziffern 0 und 1 gebildet werden. Innerhalb einer n-stelligen
Dualzahl c hat die i-te Stelle von Rechts den Wert
2i −1
d.h. die Dualzahl
c = (Bn−1...B2 B1 B0 )2
(11001)2 = 11001 = 1 ⋅ 2 4 + 1 ⋅ 23 + 0 ⋅ 2 2 + 0 ⋅ 21 + 1 ⋅ 2 0 = 16 + 8 + 1 = 25
Bei der umgekehrten Umwandlung von Dezimalzahlen in Dualzahlen, müssen probeweise alle
Zehnerpotenzen gebildet werden, bis erstmal mindestens die Dezimalzahl erreicht ist. Ist beim n-ten
Vergleich erwiesen, dass c eine Zweierpotenz ist, so ist offenbar
Andernfalls gilt:
Beispiel zur Umwandlung von einer dezimalen zu einer dualen Zahl. Die Zahl c = 73 soll als Dualzahl
dargestellt werden. Als Hilfestellung dienen Ergebnisse aus den Zweierpotenzen:
20 21 22 23 24 25 26 27
1 2 4 8 16 32 64 128
Berechnung:
64 < 73 < 128 c = 1.... = 64 + ... 73 – 64 = 9
9 – 8 = 1 --> c = 1001001 = 64 + 8 + 1 = 73
Oktales Zahlensystem:
Hexadezimales Zahlensystem:
es sei c = a – b ; a, b, c > 0
b durch das 1er-Komplement ersetzen und inkrementieren. Es folgt eine Addition des 2er-
Komplements von b mit a (entspricht Subtraktion mit b)
Mathematische Grundlagen 28
5 • 6 = 30
Nach der Umwandlung folgt die Berechnung:
Mathematische Grundlagen 30
3. Kodierungsverfahren
A= {α1 , α 2 , α 3 , α 4 , α 5 , α 6 }
α1
β4
B= {β1 , β 2 , β3 , β 4 , β5 , β6 } α5
β1
α2
Durchschnittsmenge: β3
α3 α6
β2
A I B = {α 5 , α 6 } α4
Vereinigungsmenge:
A U B = {α1 ,...α 6 , β 3 , β 4 }
Darstellung, Synthese und Analyse
3
boolescher Funktionen
A B
A
A’
X1 X1
0 1 0 1
2 3 X2
X1 X1
0 1 5 4 0 1 5 4
2 3 7 6 X2 2 3 7 6
10 11 15 14
X2
X3
X4 8 9 13 12
X3
Darstellung, Synthese und Analyse
5
boolescher Funktionen
4.2.1 Konjunktionsterme
Ein Konjunktionsterm T ist eine spezielle boolesche Funktion. Er entsteht durch konjunktive
Verknüpfung von Literalen
{ }
~ ~
T = ∧ X i ; X i ∈ Xi, X i mit I ⊂ {1,..., n}
i∈I
Definition MINTERM: Ein Minterm Mi ist ein Konjunktionsterm maximaler Länge, also bei
F : Bn → B
eine Konjunktion von n Literalen mit jeweils unterschiedlichen Indizes
(
AB ∨ A B = A B ∨ B = A )
Darstellung, Synthese und Analyse
6
boolescher Funktionen
F = X1 X 2 ∨ X1 X 4 ∨ X 2 X 4 ∨ X 1 X 3 X 4
Darstellung, Synthese und Analyse
9
boolescher Funktionen
4.2.2 Disjunktionsterme
{ } I ⊂ {1,..., n}
~ ~
T = ∨ X i ; X i ∈ Xi, X i mit
i∈ I
Die disjunktive Normalform ist die Form einer schaltalgebraischen Gleichung, in der
Vollkonjunktionen miteinander durch ODER verknüpft sind. Eine Vollkonjunktion ist
eine UND-Verknüpfung, in der alle vorhandenen Variablen (negiert/nicht negiert)
vorkommen. Die disjunktive Normalform einer Schaltfunktion F ist also eine
Disjunktion von Konjunktionstermen. Algebraisch lässt sich das bei m Termen Ti
wiefolgt darstellen:
F ( X ) = ∨ Ti ; Ti = ∧ X~l ; X~ k ∈{X k ; X k }
m ni
i =1 j =1 ij
( ) ( ) ( )
Z = A ∧ B ∧ C ∨ A ∧ B ∧ C ∨ A ∧ B ∧ C ∨ (A ∧ B ∧ C ) Z = ( A ∧ B ) ∨ (B ∧ C ) ∨ ( A ∧ C )
Darstellung, Synthese und Analyse
13
boolescher Funktionen
( ) (
Z = (A ∨ B ∨ C ) ∧ A ∨ B ∨ C ∧ A ∨ B ∨ C ∧ A ∨ B ∨ C ) ( )
Digitaltechnik
Vereinfachung nach Quine McCluskey
Vereinfachung nach Quine McCluskey 2
( ) ( ) ( ) (
Z = A∧ B ∧C ∧ D ∨ A∧ B ∧C ∧ D ∨ A∧ B ∧C ∧ D ∨ A∧ B ∧C ∧ D )
∨ (A ∧ B ∧ C ∧ D ) ∨ (A ∧ B ∧ C ∧ D ) ∨ ( A ∧ B ∧ D )
Resultierende Funktion
( ) ( ) ( ) (
Z = A∧ B ∧C ∧ D ∨ A∧ B ∧C ∧ D ∨ A∧ B ∧C ∧ D ∨ A∧ B ∧C ∧ D )
∨ (A ∧ B ∧ C ∧ D ) ∨ (A ∧ B ∧ C ∧ D ) ∨ ( A ∧ B ∧ C ∧ D ) ∨ (A ∧ B ∧ C ∧ D )
Vereinfachung nach Quine McCluskey 4
Die Minterme der vollständigen (kanonischen) disjunktiven Normalform werden nun in Gruppen
sortiert, die sich durch die Anzahl der negierten Literale pro Konjunktionsterm unterscheiden (5
Gruppen bei 4 Literalen):
Vereinfachung:
Sukzessiver Vergleich der Terme aus Gruppe 1 mit allen Termen aus Gruppe 2
Es wird nach Literalen gesucht, die sich durch folgende Regel gegenseitig aufheben
Ai ∨ Ai = 1
Beispiel Term aus Gruppe 1 und erster Term aus Gruppe 2:
(A ∧ B ∧ C ∧ D ) ∨ (A ∧ B ∧ C ∧ D ) → (A ∧ B ∧ D )
Vereinfachung nach Quine McCluskey 7
Vereinfachung:
Terme die nicht vereinfacht werden können sind Primterme und erhalten Pn
Wurden alle Terme aus der ersten Spalte miteinander verglichen, werden die Terme der zweiten
Spalte (bereits reduzierte Terme) miteinander verglichen
Vergleiche werden so lange durchgeführt bis keine Vereinfachung mehr möglich ist
Vereinfachung nach Quine McCluskey 8
(A ∧ C ∧ D )
(B ∧ C ∧ D ) P1
2
(A ∧ B ∧ C ∧ D ) (A ∧ C ∧ D )
(A ∧ B ∧ C ∧ D ) (A ∧ B ∧ D )
(A ∧ B ∧ C ∧ D ) (A ∧ B ∧ C ) P2
3 (A ∧ B ∧ C ∧ D ) (A ∧ C ∧ D ) P3
(A ∧ B ∧ C ∧ D )
4 (A ∧ B ∧ C ∧ D ) (A ∧ B ∧ D) P4
5 ( A ∧ B ∧ C ∧ D)
Vereinfachung nach Quine McCluskey 9
M3 (A ∧ B ∧ C ∧ D )
M4 (A ∧ B ∧ C ∧ D )
M5 (A ∧ B ∧ C ∧ D )
M6 (A ∧ B ∧ C ∧ D )
M7 (A ∧ B ∧ C ∧ D )
Minterm –
Primterm –
M8 ( A ∧ B ∧ C ∧ D ) Tabelle
Vereinfachung nach Quine McCluskey 10
4.4.1 Spaltendominanzprüfung
- Zur Durchführung werden die Minterme spaltenweise und die Primterme zeilenweise in
einer Tabelle aufgetragen.
Existiert ein Minterm dessen Primterm(e) Teilemenge eines zweiten Minterms ist (sind), so
kann der Minterm mit Obermenge an Primtermen gestrichen werden.
- Existiert in einer Spalte lediglich ein Primimplikant, so wird dieser als Kernimplikant
deklariert. Kernimplikanten sind in jedem Fall Teil der Lösung des Minimierungs-prozesses.
Vereinfachung nach Quine McCluskey 11
M1 M2 M3 M4 M5 M6 M7 M8
P1
P2
P3
P4
Primterm –
P5 Minterm –
Tabelle
Liste der Minterme die durch lediglich einen Primterm (Kernimplikanten) dargestellt werden:
M2, M3, M5, M8
Diese Minterme werden durch die Kernimplikanten P4 und P5 dargestellt. Die Kernimplikanten Pn sind
bereits Teil der Gesamtlösung, da kein anderer Primterm die betreffenden Minterme Mn darstellen
kann. Weiterführend werden alle Minterme in denen die Kernimplikanten vorhanden sind aus der
Tabelle entfernt.
Vereinfachung nach Quine McCluskey 12
M1 M2 M3 M4 M5 M6 M7 M8
P1
P2
P3
P4 Primterm –
Minterm –
P5 Tabelle
Die Spaltendominanz besagt, dass alle Minterme deren Zusammensetzung aus einem Kernimplikanten
selbst oder einer Obermenge des Kernimplikanten bestehen (Kernimplikant + weitere
Primimplikanten) gelöscht werden können.
Weitere Reduzierungen der Tabelle ergeben sich eventuell durch das folgende Zeilen-
dominanzverfahren
Vereinfachung nach Quine McCluskey 13
4.4.2 Zeilendominanzprüfung
- Kann eine Zeile eines Primterms durch eine andere Zeile substituiert werden, oder ist ein
Primimplikant nicht in einem der Minterme enthalten, so können diese Zeilen gelöscht
werden
M4 M6
M4 M6
P1
M4 M6
P2 P1
P3 P2 P2
P4 P3
P5
Vereinfachung nach Quine McCluskey 14
Aus der Spalten- und Zeilendominanzprüfung resultieren die Primterme P2, P4 und P5 welche sich
nicht weiter vereinfachen lassen. Die minimale Lösung der Aufgabenstellung nach Quine /
McCluskey ist durch die disjunktive Normalform dieser Primterme gegeben:
Z = P2 ∨ P4 ∨ P5 = (A ∧ B ∧ C )∨ ( A ∧ B ∧ D ) ∨ (A ∧ D )
Würden an dieser Stelle P1 und P3 gewählt, hätte die Funktion folgende Gestalt:
Z = P1 ∨ P3 ∨ P4 ∨ P5 = (B ∧ C ∧ D )∨ (A ∧ C ∧ D )∨ ( A ∧ B ∧ D ) ∨ (A ∧ D )
Beide Gleichungen liefen eine disjunktive Normalform der Lösung, allerdings ist die erste Gleichung
die minimale Lösung und wird daher bevorzugt.
Die Spalten- und Zeilendominanzprüfung kann in mehreren Iterationen erfolgen, da sich durch die
Reduzierungen der Tabelle eventuell neue Möglichkeiten durch Dominanzprüfungen ergeben. Die
Prüfungen sind so lange zu wiederholen, bis keine Vereinfachungen mehr möglich sind.
Digitaltechnik
Optimierung von Schaltnetzen
Optimierung von Schaltnetzen 2
B B
A & C A
A∧ B =C C
B B
5.1.2 OR Gatter
A∨ B = C A C
A C
B B
Y =A A 1 Y A Y
( A ∧ B ) ∨ (A ∧ B ) = C A
=1 C
A
C
B B
(A ∧ B ) ∨ (A ∧ B ) = C A
=1 C A C
B B
A &
&
D
C
Optimierung von Schaltnetzen 10
Jede logische Schaltung lässt sich aus NOR oder NAND Gatter aufbauen!
Die De Morgan‘schen Regeln zeigen, dass jede AND-Verknüpfung mit OR- und NOT- Gattern
realisiert werden kann:
A∧ B = A∨ B ; A∧ B = A∨ B ; A∧ B = A∨ B
5.2.2 Substitution
Substitution logischer Schaltungen mittels NAND Gattern ist analog zur gezeigten unter Anwendung
der De Morgan‘schen Regeln.
NOR – Substitution
NOT-Logik durch NOR-Gatter:
NAND – Substitution
NOT-Logik durch NAND-Gatter:
Kochrezept
Um digitale Schaltungen korrekt und sinnvoll zu entwerfen, ist es ratsam eine gewisse Reihenfolge
bei der Entwicklung einzuhalten:
Schritt 1: Festlegen der Ein- und Ausgangsvariablen (Welche Variablen werden benötigt um die
komplette Funktion des Systems zu realisieren?)
Schritt 2: Erstellen der Wahrheitstabelle (Durch Anzahl der Variablen ergibt sich maximale Anzahl
an möglichen Ausgangszuständen VOLLSTÄNDIGES ausfüllen der Wahrheitstabelle!)
Schritt 4: Vereinfachung / Umformung mittels K-Diagramm, boolescher Algebra, ... (Funktion aus
Wahrheitstabelle liefert meist nicht kürzeste Funktionsgleichung!)
Schaltungsentwurf digitaler Schaltungen 3
Aufgabentext:
Der Ausgangszustand ist immer dann zu ändern, wenn sich eine der Eingangsvariablen ändert und
der Ruhezustand der Eingänge nicht identisch ist. Ändern sich beide Eingangs-variablen, so soll sich
der Ausgangszustand nicht ändern. Weiterhin ist die Schaltung mit NAND-Gattern zu realisieren.
Digitale
A Z
Wechsel-
B schaltung
Schaltungsentwurf digitaler Schaltungen 4
( ) ( )
Z = A∧ B ∨ A∧ B
( ) (
Z = A∧ B ∨ A∧ B ) = (A ∧ B )∨ (A ∧ B ) = (A ∧ B ) ∧ (A ∧ B )
Schaltungsentwurf digitaler Schaltungen 5
( ) ( ) ( ) (
Z = A∧ B ∨ A∧ B = A∧ B ∨ A∧ B = A∧ B ∧ A∧ B ) ( ) ( )
Schaltungsentwurf digitaler Schaltungen 6
Wächter 1
(Eingang A)
2-aus-3
Wächter 2
(Eingang B) Z
Schaltung
Wächter 3
(Eingang C)
Schaltungsentwurf digitaler Schaltungen 7
(
Z = A∧ B ∧C )
∨ (A ∧ B ∧ C )
∨ (A ∧ B ∧ C )
∨ (A ∧ B ∧ C )
Z = ( A ∧ B ) ∨ ( A ∧ C ) ∨ (B ∧ C )
( ) (
= A∧ B ∧ A∧C ∧ B ∧C ) ( )
Schaltungsentwurf digitaler Schaltungen 8
A B C
&
Z
& &
&
Digitaltechnik
Flip-Flop-Schaltungen
Flip-Flop-Schaltungen 2
Flip-Flops
E1 A1
E2 A2
Vorgaben zur Darstellung der Bauteile (nach DIN & Anpassung an die Vorlesung):
- Allgemeine Funktion:
E
Q
E E
/Q Steigende
1
Flanke
0 t
tx
E
E Q
E Fallende
/Q Flanke
1
E
0 t
tx
Flip-Flop-Schaltungen 5
Zustandsgesteuertes Flip-Flop
S
& A1
& A2
R
Zustandsgesteuertes Flip-Flop
E1 A1
≥1
Q
A2 /Q
≥1 (Abb. 7.2.1)
E2
Fall E2 E1 A1 A2 Zustand
1 0 0 X X Speicherfall
2 0 1 0 1 Setzen
3 1 0 1 0 Rücksetzen
4 1 1 0 0 Nicht erlaubt
Zustandsgesteuertes Flip-Flop
E1 A1
&
S Q
R A2
&
E2
Q
Zustand
Fall E2 E1 A1 A2
1 0 0 1 1 Irregulär
2 0 1 0 1 Rücksetzen
3 1 0 1 0 Setzen
4 1 1 X X Speichern
Zustandsdiagramm (RS-Flip-Flop)
Funktion wird bei der Planung der Schaltung oftmals in Zustandsdiagramm dargestellt:
S 1
0
t
R 1
0
t
Q 1
0
t
Synchrones RS Flip-Flop: S 1
0
t
S
& 1 Q R
& 1
0
t
T
T 1
0
/Q t
&
& 1
R Q
Q 1
0
t
A2 R 1
& 0
& 1 t
E2
T 1
(Abb. 7.4.1) 0
t
E1 A1 E1 A1
Q 1
T A2 T A2 0
t
E2 E2
(Abb. 7.4.3)
(Abb. 7.4.2)
Flip-Flop-Schaltungen 11
Das JK-Flip-Flop
Erweiterung des SR-Flip-Flops zum JK-Flip-Flop:
J K A1 A1+
0 0 0 0
0 0 1 1
& S
S A1 0 1 0 0
J
0 1 1 0
K & R 1 0 0 1
R A2
1 0 1 1
1 1 0 1
1 1 1 0
J 1
0
t
K 1
0
t
A1 1
0
t
Flip-Flop-Schaltungen 12
Das T-Flip-Flop
Erweiterung des JK-Flip-Flops zum T-Flip-Flop:
A1
E J
A2
K
- Jeder Zustandswechsel von „0“ nach „1“ bewirkt ein toggeln am Ausgang
Flip-Flop-Schaltungen 13
Das D-Flip-Flop
Erweiterung des RS-Flip-Flops zum D-Flip-Flop:
E E
A1 A1
S D
1 A2 A2
R
Taktsteuerung
J 1J J 1J J 1J
1C 1C 1C
K 1K K 1K K 1K
T T T
a) b) c)
T 1
0
t
J 1 Impulsdiagramm:
0 t Positiv-
Taktflankengesteuertes-
K 1 JK-Flip-Flop
0 t (Abb. 7.8.3)
Q 1
0 t
Flip-Flop-Schaltungen 15
JK-Master-Slave-Flip-Flop
T 1
0
t
J 1
0
t
K 1
0
t
S 1
0
t
Q 1
0
t
Flip-Flop-Schaltungen 16
JK-Master-Slave-Flip-Flop
Bei Initialisierung einer komplexen logischen Schaltung sind Ausgangszustände nicht vorhersagbar!
Logik muss vor erstem Gebrauch resettet werden Definierter Zustand für alle Ausgänge
D D S
Nach einem Takt T sind Ausgänge der einer Schaltung auf Zustand „0“
Digitaltechnik
Register- und Speicherschaltungen
Register- und Speicherschaltungen 2
Register für
Operand A
Vom Speicher
Q1 Q2 Q3
E1
1J 1J
1J 1J 1J
1C 1C
1C 1C 1C
1 1K
1K 1K 1K
Sind Taktflanken nicht steil genug, kann Zustand „zu weit rutschen“
Wenn Takt nicht steil genug, wird Zustand an den Ausgang des ersten und damit an den Eingang
des zweiten Flip-Flops geschaltet
t1 t2
t
Register- und Speicherschaltungen 5
Diesem Nachteil kann entgegen gewirkt werden indem JK-MS-FFs verwendet werden!
Das Schieberegister
Q1 Q2 Q3 Q4 E 1
0 t
E
D D D D Q1 1
0 t
1C 1C 1C 1C
Q2 1
0 t
R R R R
T T
Q3 1
R 0 t
T
Q4 1
0 t
Register- und Speicherschaltungen 7
Q1 Q2 Q3 E 1
0 t
E
D D D D Q1 1
0 t
1C 1C 1C 1C
... Q2 ... Q3 ...
R R R R
Q4 1
0 t
R
T 1
0
t
Register- und Speicherschaltungen 8
E
Q1 Q2 Q3
J J J J
1C 1C 1C 1C
&
K K K K
S R S R S R S R
&
U A B C D
Register- und Speicherschaltungen 9
Zählerschaltungen
Um Zählerschaltungen zu realisieren, werden in der Planungsphase die Zählzustände oftmals in
einem Zustandsgraphen dargestellt:
0 1 2 3 4
9 8 7 6 5
3-bit-Zähler
1 1 1
Q1 Q2 Q3
1J 1J 1J
T
C1 C1 C1
1K 1K 1K
Q1’ Q2’ Q3’
FF1 FF2 FF3
0 1 2 3 4 5 6 7 0 1
T 1
0
t
Q1 1
0
t
Q2 1
0
t
Q3 1
0
t
Register- und Speicherschaltungen 11
Mod-10-Zähler
1 Q1 1 Q2 1 Q3 1 Q4
1J 1J 1J 1J
E
C1 C1 C1 C1
&
R
Register- und Speicherschaltungen 12
Synchron-Zähler
Q1 Q2 Q3
&
1J 1J 1J
C1 C1 C1
1K 1K 1K
Synchroner 3-bit-Vorwärtszähler
Register- und Speicherschaltungen 13
Flip-Flop-Typ I: RS-Flip-Flop
Synchroner 3-bit-Vorwärtszähler
Register- und Speicherschaltungen 14
Qn Qn+1
Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X
0 0 0 1 0 0 1 0 0 X 0 X 1 X X 1
0 0 1 0 0 0 1 1 0 X 0 X X 0 1 X
0 0 1 1 0 1 0 0 0 X 1 X X 1 X 1
0 1 0 0 0 1 0 1 0 X X 0 0 X 1 X
0 1 0 1 0 1 1 0 0 X X 0 1 X X 1
0 1 1 0 0 1 1 1 0 X X 0 X 0 1 X
0 1 1 1 1 0 0 0 1 X X 1 X 1 X 1
1 0 0 0 1 0 0 1 X 0 0 X 0 X 1 X
1 0 0 1 0 0 0 0 X 1 0 X 0 X X 1
Register- und Speicherschaltungen 17
(Q3 )
∧ Q2 ∧ Q1 ∧ Q0 = 1 (Q 3 )
∧ Q2 ∧ Q1 ∧ Q0 = X
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q 3 ∧ Q2 ∧Q ∧Q )=1
1 0
(Q3 ∧ Q2 ∧Q ∧Q )=1
1 0 (Q 3 ∧ Q2 ∧Q ∧Q )= X
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q 3 ∧ Q2 ∧Q ∧Q )=1
1 0
(Q3 ∧ Q2 ∧Q ∧Q )=1
1 0 (Q 3 ∧ Q2 ∧Q ∧Q )= X
1 0
J0 = 1
Register- und Speicherschaltungen 18
(Q3 ∧ Q2 ∧Q ∧Q )=1
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= X
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )=1
1 0
(Q3 ∧ Q2 ∧Q ∧Q )=1
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= X
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )=1
1 0
K0 = 1
Register- und Speicherschaltungen 19
(Q3 ∧ Q2 ∧Q ∧Q )=1
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= X
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= X
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q
3 ∧ Q2 ∧ Q ∧ Q )= 0
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= 0
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= 0
1 0
J 1 = Q0 ∧ Q3
n n
Register- und Speicherschaltungen 20
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q
3 ∧ Q2 ∧ Q ∧ Q )= 0
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= 0
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )=1
1 0
(Q3 ∧ Q2 ∧ Q ∧ Q )=1
1 0 (Q
3 ∧ Q2 ∧ Q ∧ Q )= X
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= X
1 0
K1 = Q0
n
Register- und Speicherschaltungen 21
(Q3 ∧ Q2 ∧ Q ∧ Q )= 0
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= X
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= 0
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= X
1 0
(Q3 ∧ Q2 ∧Q ∧Q )=1
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= 0
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= 0
1 0
J 2 = Q0 ∧ Q1
n n
Register- und Speicherschaltungen 22
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q 3 ∧ Q2 ∧ Q ∧ Q )= 0
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q 3 ∧ Q2 ∧Q ∧Q )=1
1 0
(Q3 ∧ Q2 ∧ Q ∧ Q )= X
1 0 (Q 3 ∧ Q2 ∧ Q ∧ Q )= X
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= 0
1 0 (Q 3 ∧ Q2 ∧Q ∧Q )= X
1 0
K 2 = Q0 ∧ Q1
n n
Register- und Speicherschaltungen 23
(Q3 ∧ Q2 ∧ Q ∧ Q )= 0
1 0 (Q
3 ∧ Q2 ∧ Q ∧ Q )= 0
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= 0
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )=1
1 0
(Q3 ∧ Q2 ∧ Q ∧ Q )= 0
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= X
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= 0
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= X
1 0
J3 = Q0 ∧Q1 ∧Q2
n n n
Register- und Speicherschaltungen 24
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= X
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )= X
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q
3 ∧ Q2 ∧ Q ∧ Q )= 0
1 0
(Q3 ∧ Q2 ∧Q ∧Q )= X
1 0 (Q
3 ∧ Q2 ∧Q ∧Q )=1
1 0
K 3 = Q0
n
Register- und Speicherschaltungen 25
K 2 = Q0 ∧ Q1 K 3 = Q0
n n n
K0 = 1 K1 = Q0
n
1
Q0 Q1 Q2 Q3
1J 1J 1J 1J
C1 C1 C1 C1
1K 1K 1K 1K
T
Register- und Speicherschaltungen 26
AUFGABENSTELLUNG:
Es sei ein Zähler als Schaltwerk zu entwerfen, der im Dualzahlencode
zyklisch von 0 bis 7 zählen kann, eine Rücksetzmöglichkeit (Eingangsvariable
N) auf 0 besitzt, und beim Wert 7 ein Signal (Überlauf Ü) zu Eins setzt. Das
Zählereignis sei der Wechsel eine Zählvariablen Z von 0 nach 1. Es sollen JK-
FF mit positiver Flankensteuerung ohne zusätzlichen R/S-Eingang verwendet
werden. Die Anordnung sei synchron betrieben.
(Beispiel für Klausuraufgabe!)
Register- und Speicherschaltungen 27
3-bit-Zähler (Variablendeklaration)
Eingangsvariablen:
AUFGABENSTELLUNG:
Es sei ein Zähler als Schaltwerk zu entwerfen, der im - Rückstellen auf 0: N=1
Dualzahlencode zyklisch von 0 bis 7 zählen kann, eine - Sonst: N=0
Rücksetzmöglichkeit (Eingangsvariable N) auf 0 besitzt,
und beim Wert 7 ein Signal (Überlauf Ü) zu Eins setzt.
Ausgangsvariablen:
Das Zählereignis sei der Wechsel eine Zählvariablen Z
von 0 nach 1. Es sollen JK-FF mit positiver
- Zählerstand = 7: Ü=1
Flankensteuerung ohne zusätzlichen R/S-Eingang
- Sonst: Ü=0
verwendet werden. Die Anordnung sei synchron
betrieben.
3-bit-Zähler (Schaltfolgetabelle I)
Qn Xn Qn+1 Yn
Q3 Q2 Q1 N Q3 Q2 Q1 Ü
0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0
0 0 1 0 0 1 0 0
N als Rücksetzsignal
0 0 1 1 0 0 0 0
0 1 0 0 0 1 1 0
0 1 0 1 0 0 0 0
0 1 1 0 1 0 0 0
Ü als Überlauf, detektiert
0 1 1 1 0 0 0 0
Höchsten Zählstand
1 0 0 0 1 0 1 0
1 0 0 1 0 0 0 0
1 0 1 0 1 1 0 0
1 0 1 1 0 0 0 0
1 1 0 0 1 1 1 0
1 1 0 1 0 0 0 0
1 1 1 0 0 0 0 1
1 1 1 1 0 0 0 1
Register- und Speicherschaltungen 29
Q3 Q2 Q1 N Q3 Q2 Q1 Ü J3 K3 J2 K2 J1 K1
0 0 0 0 0 0 1 0 0 X 0 X 1 X
0 0 0 1 0 0 0 0 0 X 0 X 0 X
0 0 1 0 0 1 0 0 0 X 1 X X 1
0 0 1 1 0 0 0 0 0 X 0 X X 1
0 1 0 0 0 1 1 0 0 X X 0 1 X
0 1 0 1 0 0 0 0 0 X X 1 0 X
0 1 1 0 1 0 0 0 1 X X 1 X 1
0 1 1 1 0 0 0 0 0 X X 1 X 1
1 0 0 0 1 0 1 0 X 0 0 X 1 X
1 0 0 1 0 0 0 0 X 1 0 X 0 X
1 0 1 0 1 1 0 0 X 0 1 X X 1
1 0 1 1 0 0 0 0 X 1 0 X X 1
Beispiel
1 1 0 0 1 1 1 0 X 0 X 0 1 X
1 1 0 1 0 0 0 0 X 1 X 1 0 X
1 1 1 0 0 0 0 1 X 1 X 1 X 1
1 1 1 1 0 0 0 1 X 1 X 1 X 1
(Tab. 8.3.2.2)
Register- und Speicherschaltungen 30
3-bit-Zähler (KV-Diagramm)
(Q3 )
∧ Q2 ∧ Q1 ∧ N = 0
(Q3 ∧ Q2 ∧Q ∧ N)= 0
1
Vereinfachung im KV-Diagramm (X = don‘t care)
(Q3 ∧ Q2 ∧ Q ∧ N)=1
1
(Q3 ∧ Q2 ∧Q ∧ N)= 0
1
(Q3 ∧ Q2 ∧ Q ∧ N)= X
1
(Q3 ∧ Q2 ∧Q ∧ N)= X
1
(Q3 ∧ Q2 ∧Q ∧ N)= X
1
(Q3 ∧ Q2 ∧ Q ∧ N)= 0
1
J 2 = N ∧ Q1
t
(Q3 ∧ Q2 ∧Q ∧ N)= 0
1
(Q3 ∧ Q2 ∧ Q ∧ N )=1
1
(Q3 ∧ Q2 ∧Q ∧ N)= 0
1
(Q3 ∧ Q2 ∧ Q ∧ N)= X
1
(Q3 ∧ Q2 ∧Q ∧ N)= X
1
(Q3 ∧ Q2 ∧ Q ∧ N)= X
1
(Q3 ∧ Q2 ∧ Q ∧ N)= X
1
(Q3 ∧ Q2 ∧ Q1 ∧ N ) = X
Register- und Speicherschaltungen 32
J 3 = N ∧ Q2 ∧ Q1
n n
K 3 = N ∨ N ∧ Q2 ∧ Q1
n n
(= N ∨ Q 2
n
∧ Q2
n
)
K 2 = N ∨ Q1
n
J 2 = N ∧ Q1
n
J1 = N
K1 = 1
Digitaltechnik
Rechenschaltungen
Rechenschaltungen 2
0+0=0
0+1=1
1+0=1
1 + 1 = 10
Es werden also im einfachsten Fall 2 Eingänge (E1, E2) und 2 Ausgänge (A1, A2) benötigt. Folgende
Abbildung zeigt die daraus resultierende Wahrheitstafel
E2 E1 A1 A2
0 0 0 0
( ) (
A1 = E1 ∧ E 2 ∨ E1 ∧ E 2 )
0 1 1 0
A2 = A ∧ B
1 0 1 0
1 1 0 1
Rechenschaltungen 3
Mit den ermittelten Gleichungen kann die logische Schaltung aufgebaut werden
E1
≥1
&
A1
≥1
( ) (
A1 = E1 ∧ E 2 ∨ E1 ∧ E 2 )
E2 &
≥1
A2
&
A2 = A ∧ B
Rechenschaltungen 4
0 0 0 0 0 [ (( ) (
= C 3n E1n E 2 n ∨ E1n E 2 n))]
0 0 1 1 0 ∨ [C 3 ((E1 E 2 )∨ (E1 E 2 ))]
n n n n n
0 1 1 0 1 n n n n n n
1 0 0 1 0 A1n = C 3n ⊕ (E1n ⊕ E 2 n )
A2 n = (E1n ∧ E 2n ∧ C 3n )∨ (E1n ∧ E 2n ∧ C 3n )
1 0 1 0 1
1 1 0 0 1
( )
∨ E1n ∧ E 2 n ∧ C 3n ∨ (E1n ∧ E 2 n ∧ C 3n )
1 1 1 1 1
A2 n = (E1n E 2 n ) ∨ (E1n C 3n ) ∨ (E 2 n C 3n )
Rechenschaltungen 5
E1 E2 C3
1
1
&
&
≥1 1
A1
Z
A1n = C 3n ⊕ (E1n ⊕ E 2 n )
&
&
&
4-bit-Parallel-Addierer (Schaltung)
1 0 1 1 0 1 1 1
1 0 1 1
+ 0 1 1 1
ci ci ci ci
∑ ∑ ∑ ∑ ______________________________
co co co co 1 0 0 1 0
VA VA VA HA
1 0 0 1 0
Ü Summe
Rechenschaltungen 7
4-bit-Seriell-Addierer (Schaltung)
Übertrag
Variable A FF
0 1 1 0 0 1 1 0
E3
ci
E2 Ergebnis
+ 0 0 1 1
E1 ∑ co Z
1 0 0 1
Variable B
_____________________________
0 0 1 1 1 0 0 1
Taktgeber
Rechenschaltungen 8
Carry-Look-Ahead-Addierer
Nachteil der bis hier vorgestellten Addierer:
Addition erfolgt bitweise
Übertrag ist erst nach Berechnung des Ausgangsbits vorhanden
Benötigte Anzahl der Takte = Anzahl der Dualstellen
Bei 128bit führt dies zu nicht hinnehmbaren Rechenzeiten
Funktionsweise soll anhand einer 4bit-Addition dargestellt werden. Benötigte Variablen sind:
A1, A2, A3, A4 = Summand A mit den Wertigkeiten 20, 21, 22,23
B1, B2, B3, B4 = Summand B mit den Wertigkeiten 20, 21, 22,23
C1, C2, C3, C4, C5 = Carry-bits:
C1 Ü aus vorhergehender Berechnung
C2, ... ,C5 Ü’s aus aktueller Berechnung
Rechenschaltungen 9
Carry-Look-Ahead-Addierer
Herleitung einer allgemeingültigen Gleichung für die einzelnen Überträge C1 bis C5.
C2 bis C4 müssen in den Stellen 2 bis 4 zu den Summanden hinzuaddiert werden:
Es werden zwei Terme zur Bestimmung des aktuellen und vorherigen Übertrags definiert.
Generate-Term (Erzeugung):
Bestimmt den Übertrag der aktuell betrachteten Wertigkeit n
Gn = Bn ⋅ An
Propagate-Term (Fortpflanzung):
Bestimmt den Übertrag der evtl. aus einer vorangestellten Wertigkeit übertragen werden muss
Pn = Bn ⊕ An
Der allgemeingültige Ausdruck zur Bestimmung eines Übertrags an der Stelle n lautet also:
Cn+1 = Gn ∨ (Cn ⋅ Pn )
Rechenschaltungen 11
Carry-Look-Ahead-Addierer (carry-Bestimmung)
Mit der allgemeingültigen Formel Cn+1 = Gn ∨ (Cn ⋅ Pn ) Können nun alle carries bestimmt
werden. Als Beispiel werden die Überträge einer 4bit-Addition (5 Überträge) bestimmt:
C2 = G1 ∨ (C1 P1 )
C3 = G2 ∨ (C2 P2 ) = G2 ∨ [ (G1 ∨ (C1 P1 )) P2 ]
= G2 ∨ (G1 P2 ) ∨ (C1 P1 P2 )
Carry-Look-Ahead-Addierer (Ergebnis-Bestimmung)
Neben dem Übertrag muss selbstverständlich auch das Ergebnis selbst bestimmt werden
B2 A2 B1 A1 C1
Z n = Cn ⊕ ( An ⊕ Bn )
& =1 & =1
≥1 ≥1
= =
C3 Z2 Z1
Rechenschaltungen 13
Subtraktionsschaltung
Subtraktion über 2er-Komplement-Bildung des Subtrahenden
Minuenden Subtrahenden
Register Register
Komplement-
Bildungs
Schaltung
Übertrags Differenz
Register Register
Digitaltechnik
Digitale Auswahl- und
Verbindungsschaltungen
Digitale Auswahl- und Verbindungsschaltungen 2
Allgemeines
Wird genutzt um ein Signal aus vielen zu selektieren. Bekannt Auswahlschaltungen sind unter
anderem:
- Datenselektoren
- Multiplexer (MUX)
- Demultiplexer (DEMUX)
Digitale Auswahl- und Verbindungsschaltungen 3
Multiplexer
E1
&
E1
MUX E2
E2 &
A ≥1 A
E3
E3
E4 &
E4
S1 S2 &
Schaltstufe S2 S1 A
1
1 0 0 E1
2 0 1 E3 S1 S2
3 1 0 E2
4 1 1 E4
Digitale Auswahl- und Verbindungsschaltungen 4
&
A1 E QA
DEMUX
A2
E &
A3
QB
A4
&
S1 S2
QC
&
Schaltstufe S2 S1 E QD
1 0 0 QA S2
1
2 0 1 QB
3 1 0 QC S1
1
4 1 1 QD
Digitale Auswahl- und Verbindungsschaltungen 5
Datenselektor
A1-4 2x4-Bit-zu-4-
Bit
Z1-4
B1-4 S
Schalterstufe S Z1-4=
1 0 A1-4
2 1 B1-4
Digitale Auswahl- und Verbindungsschaltungen 6
&
A2
&
A3 ≥1
Z1
&
A4 ≥1
Z2
≥1
&
B1 Z3
≥1
&
B2 Z4
&
B3
&
B4
1
S
Digitale Auswahl- und Verbindungsschaltungen 7
Komparatorschaltung (Theorie)
Digitale Schaltung die zwei binäre Zustände miteinander vergleicht.
Vergleichsmöglichkeiten sind:
A>B;A=B;A<B
Fall B A X Y Z
1 0 0 0 1 0
X = A∧ B
2 0 1 1 0 0 ( )
Y = A ∧ B ∨ (A ∧ B)
3 1 0 0 0 1
Z = A∧ B
4 1 1 0 1 0
Digitale Auswahl- und Verbindungsschaltungen 8
Komparator (Schaltung)
X = A∧ B ( )
Y = A ∧ B ∨ (A ∧ B) Z = A∧ B
A X ⊕Y
(A ∧ B )⊕ (A ∧ B )
1
& Z
1 1 Y
(A ∧ B )∨ (A ∧ B )
B & X
1
Digitale Auswahl- und Verbindungsschaltungen 9
Digital-Analog-Wandlung
Amplitudenwerte
7
6
5
4
3
2
1
0
R2R-Schaltung
R Dezimal-
S1 S0 UA
UA wert
2R 2R 2R
0 0 0 0V
S1 S0 1 0 1 3V
2 1 0 6V
21 20
UA=12V 3 1 1 9V
Digitale Auswahl- und Verbindungsschaltungen 11
Analog-Digital-Wandlung
1
f Nyquist = ⋅ f Abtast
2
Werden diese Gesetzmäßigkeiten eingehalten kann das Nutzsignal beliebig genau rekonstruiert
werden.
Digitale Auswahl- und Verbindungsschaltungen 12
Dual-Slop-Verfahren
Digitalisierung erfolgt in der Praxis meist mit sogenanntem Dual-Slope-Verfahren:
C
R
Integrator
U1
U2
U2 t1 t2
Spannungsverlauf
Digitaltechnik
Automatentheorie
Automatentheorie 2
Warum Automatentheorie?
Beispiel Fahrkartenautomat:
Viele Eingaben möglich und nötig verschiedene Tarife,
Erwachsener/Kind/Student, Zahlungsweise (0,50€,1€, 2€, AmEx, ....)
Es muss also eine Schaltung zur Verfügung gestellt werden die alle
Eingangsvariablen verarbeiten kann.
Automatentheorie 3
Eingangs- / Ausgangsvariablen
Da nicht alle Eingaben parallel stattfinden (können), muss eine zeitliche Abfolge
geschaffen werden:
Funktionsbeschreibung
( )
Ahn = f E gn
(
Ahn = f E gn , E gn −1 , E gn−2 , ....., E gn −α )
α ist dabei die zeitliche Tiefe der Verarbeitung (Anzahl der möglichen Eingaben)
Automatentheorie 5
Funktionsbeschreibung
Die Speichertiefe von α kann dabei je nach Komplexität der Aufgabenstellung nicht
genügen. In der Regel ist es sinnvoll auf ein neues Alphabet abzubilden:
(E n −1
g .... E gn −α ) → S mit
α
E ≥ S
Die Ausgabe eines Automaten ist also abhängig vom Zustand und der Eingabe
(
Ahn = λ Egn , Skn )
Kommt zu einem bestehenden Zustand eine zusätzliche Eingabe hinzu, so muss diese
im Folgezustand berücksichtig werden:
(
Skn +1 = δ Egn , S gn )
Automatentheorie 6
Schematische Funktion
Die Abhängigkeit eines Automaten AT kann also wiefolgt beschrieben werden:
AT = (E , A, S , δ , λ )
≥
Ein solcher Automat wird auch als endlicher Automat bezeichnet:
Egn Ahn
δ
S kn+1
S kn
Speicher
Automatentheorie 7
(
Ahn = λ Egn , S kn )
( )
Ahn = λ S kn
Automatentheorie 8
Komparator (Schaltung)
Der Mealy- oder Übergangsautomat: Der Moore- oder Zustandsautomat:
(
Ahn = λ E gn , S kn ) ( )
Ahn = λ S kn
λ λ
Moore-Knoten:
Ausgangselemte sind den Zuständen zugeordnet. Ausgangselement und Zustand des
Automaten werden in einem Knoten untereinander dargestellt
Moore-Kanten:
Eine Kante wird mit dem Eingangselement beschrieben, durch den die Änderung vom
Ausgangszustand zum Folgezustand hervorgerufen wird.
Automatentheorie 10
Mealy-Knoten:
Den Knoten im Mealy-Modell werden lediglich die aktuellen Zustände des Automaten
zugeordnet.
Mealy-Kanten:
Der Kante im Mealy-Modell wird das Ausgabeelement und das zugehörige
Eingabeelement dass die Ausgabe hervorruft zugeordnet.
Automatentheorie 11
X2 X1 Funktion
0 0 Rückstellen
0 1 Halten
1 0 Vorwärtszählen (Schrittweite 1)
1 1 Rückwärtszählen (Schrittweite 1)
Automatentheorie 13
Beispiel Fahrkartenautomat
Fahrkartenautomat im Mealy-Modell
Automatentheorie 15
Fahrkartenautomat im Moore-Modell
Automatentheorie 16
Die Automatentafel
In der Automatentafel sollen die Zustände in Abhängigkeit der Eingaben dargestellt werden. Um all
möglichen Zustände abzufangen muss das kartesische Kreuzprodukt von Eingang und Zustand
gebildet werden:
E gn × S kn
In der Automatentafel ergeben sich die Eingabemöglichkeiten (waagerecht) und die resultierenden
Zustände (senkrecht):
Automatentheorie 17
Das Programmablaufdiagramm
Programmablaufdiagramm
Automatentheorie 19
Zustand 1 (0cent) 0 0
Zustand 2 (50cent) 0 1
Zustand 3 (100cent) 1 0
Qn Qn+1
Betrag? F R
Q1n Q0n Q1n+1 Q0n+1 D1 D0
0 0 1 0 0 0 1
0 0
1 1 0 0 0 1 0
0 1 0 0 0 1 0
0 1
1 0 0 1 0 0 0
0 0 0 1 0 0 0
1 0
1 0 0 1 1 0 0
Automatentheorie 21
D0: (Q ∧ Q
1 0 )
∧ B =1
(Q ∧ Q
1 0 ∧ B) = 0
(Q ∧ Q
1 0 ∧ B) = 0
(Q ∧ Q
1 0 ∧ B) = 0
(Q ∧ Q
1 0 ∧ B) = 0
(Q ∧ Q
1 0 ∧ B) = 0
(
D0 = Q0 ∧ Q1 ∧ B )
Automatentheorie 22
D1: (Q
1 )
∧ Q0 ∧ B = 0
(Q
1 ∧ Q0 ∧ B) = 1
(Q
1 ∧ Q0 ∧ B) = 1
(Q
1 ∧ Q0 ∧ B) = 0
(Q
1 ∧ Q0 ∧ B) = 0
(Q
1 ∧ Q0 ∧ B) = 0
( ) (
D1 = Q0 ∧ Q1 ∧ B ∨ Q0 ∧ Q1 ∧ B )
Automatentheorie 23
F: (Q
1 )
∧ Q0 ∧ B = 0
(Q
1 ∧ Q0 ∧ B) = 0
(Q
1 ∧ Q0 ∧ B) = 0
(Q
1 ∧ Q0 ∧ B) = 1
(Q
1 ∧ Q0 ∧ B) = 1
(Q
1 ∧ Q0 ∧ B) = 1
( ) (
F = Q0 ∧ Q1 ∨ Q1 ∧ B )
Automatentheorie 24
(
R: Q1 ∧ Q0 ∧ B = 0 )
(Q1 ∧ Q0 ∧ B) = 0
(Q1 ∧ Q0 ∧ B) = 0
(Q1 ∧ Q0 ∧ B) = 0
(Q1 ∧ Q0 ∧ B) = 0
(Q1 ∧ Q0 ∧ B) = 1
(
R = Q1 ∧ Q0 ∧ B )
Automatentheorie 25
Zusammenfassung
(
D0 = Q0 ∧ Q1 ∧ B )
( ) (
D1 = Q0 ∧ Q1 ∧ B ∨ Q0 ∧ Q1 ∧ B )
( ) (
F = Q0 ∧ Q1 ∨ Q1 ∧ B )
(
R = Q1 ∧ Q0 ∧ B )