Sie sind auf Seite 1von 200

Digitaltechnik

Einleitung
Personen 2

Dozent: Prof. Dr.-Ing. A. Kunz


Labor für Telekommunikationselektronik
Tel.: 0681 / 5867 – 382
Raum 8103
Mail: albrecht.kunz@htwsaar.de

T. Bertel, M.Sc.
Tel.: 0681 / 5867 – 381
Raum 8109
Mail: thomas.bertel@htwsaar.de

Skripte und Übungsmaterialien auf HTW-Homepage:


siehe Profil von T. Bertel auf www.htwsaar.de
3

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

Borucki, L.; Digitaltechnik; 5., überarbeitete Auflage; Teubner Verlag Stuttgart/


Leipzig/ Wiesbaden, 2000; ISBN 3-519-46415-2

Fricke, K.; Digitaltechnik – Lehr- und Übungsbuch für Elektrotechniker und


Informatiker; Vieweg Verlag Braunschweig/Wiesbaden, 1999; ISBN 3-528-03861-6

Gotthardt, K.; Grundlagen der Informationstechnik – Einführungen; LIT Verlag


Münster, 2005; ISBN 3-8258-5556-2

Lipp, H.M.; Grundlagen der Digitaltechnik; 3. Auflage; Oldenbourg


Wissenschaftsverlag GmbH, 2000; ISBN 3-486-25493-6

Swoboda, J.: Codierung zur Fehlerkorrektur und Fehlererkennung; Oldenbourg


Verlag München/Wien, 1973; ISBN 3-486-39371-5

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

Werner, M.; Information und Codierung – Grundlagen und Anwendungen; 2. Auflage;


Vieweg + Teubner | GWV Fachverlage GmbH Wiesbaden, 2008; ISBN 978-3- 8348-0232-3

Zusammenschrift der Vorlesungen


mit Anmerkungen und Beschreibungen
auch als Buch erhältlich:
ISBN: 978-3656539919
Inhaltsverzeichnis 4

Übersicht der anstehenden Themengebiete:

Kapitel 1: Einleitung
- Begriffsdefinition der Digitaltechnik
- Vor- und Nachteile der Digitaltechnik
- Digitale / Binäre Signale

Kapitel 2: Mathematische Grundlagen


- Boolesche Funktionen
- Boolesche Algebra
- Dualzahlen (Rechenverfahren)

Kapitel 3: Codierungsverfahren
- Vorstellung verschiedener Codes und deren Bedeutung
Inhaltsverzeichnis 5

Kapitel 4: Darstellung, Synthese und Analyse boolescher Funktionen


- Spezielle Diagramme
- Spezielle Terme
- Zweistufige Normalformen
- Vereinfachung nach Quine & McCluskey

Kapitel 5: Optimierung von Schaltnetzen


- Verwendete Schaltgatter in der Digitaltechnik
- Verknüpfung logischer Gatter

Kapitel 6: Schaltungsentwurf digitaler Schaltungen


- Aufbau einer Wechselschaltung
- Aufbau einer 2-aus-3-Schaltung
Inhaltsverzeichnis 6

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 8: Register- und Speicherschaltungen


- FlipFlop-Speicher
- Zählerschaltungen
- Entwurf von Zählerschaltungen
Inhaltsverzeichnis 7

Kapitel 9: Rechenschaltungen
- Der Halbaddierer
- Der Volladdierer
- 4bit-Parallel-Addierschaltung
- 4bit-Seriell-Addierschaltung
- Carry-look-ahead-Addierer
- Subtraktionsschaltung

Kapitel 10: Digitale Auswahl- und Verbindungsschaltung


- Multiplexer und Demultiplexer
- 2x4-Bit zu 4-Bit Datenselektor
- Komparatorschaltung
- DA- und AD-Wandler
Inhaltsverzeichnis 8

Kapitel 11: Automatentheorie


- Analyse und Verhaltensweise eines Automaten
- Entwurf eines Fahrkartenautomaten

Parallel zur Vorlesung:


- 11 Übungsblätter zu den einzelnen Themen
- Übungsklausuren
Die Übungen und Klausuren können heruntergeladen werden (Thomas.Bertel)

Klausurtermin: Dieser wird vom Prüfungsausschuss


geplant und mitgeteilt!
Einleitung 9

1. Einleitung

1.1 Begriffsdefinition

Digitaltechnik = Umsetzung von analogen


(wertkontinuierlichen) in digitale (wert- Anwendungsbereich Form
diskrete) Signale und umgekehrt.
Digitaltechnik „0“ oder „1“
Aussagelogik „wahr“ oder „falsch“
Folgende Konventionen wurden zur
Zustandsangabe in verschiedenen Physik „low“ oder „high“
Anwendungsbereichen getroffen: (Tab. 1.1.1)

Sprachliche/Geschichtliche Herkunft:
Digitus (lat.) = Finger Semantik: Mit Hilfe der Finger
Digit (engl.) = Ziffer, Stelle Semantik: In abzählbarer Form
Einleitung 10

1.2 Vorteile der Digitaltechnik

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.

Miniaturisierung elektronischer Bauelemente / höhere Leistungsfähigkeit der


Bauelemente (Speicherkapazität, Rechnerleistung, Transistorenzahl) führt zu zunehmender
Digitalisierung.
Einleitung 11

1.2 Nachteile der Digitaltechnik

Digitale Systeme sind langsamer als analoge Systeme. In der Hochfrequenztechnik


dominiert die Analogtechnik.

Anzahl der benötigten Schaltungsbestandteile ist um ein Vielfaches höher als bei
analogen Systemen (wird durch eine hohe Integrationsdichte auf entsprechende Chips
kompensiert).

Informationsverlust bei der Umwandlung analoger in digitale Informationen.


Mathematisch kann dieses Phänomen als Rundungsfehler bezeichnet werden, welcher aufgrund
der stets begrenzten Anzahl von Stellen immer auftritt.

Analoge Anzeigen sind anschaulicher und schneller zu erfassen, weil Proportionen


dargestellt werden. (Vergleiche Wertetabelle (digital) und Balkendia-gramm (analog)).
Einleitung 12

1.3 Digitale / Binäre Signale

Binäre Signale: Es gibt genau 2 Zustände (Binäre Digitaltechnik)


Digitale Signale: Es gibt mehrere, endliche Zustände

Informationsfluss von binären Signalen erfolgt sequentiell. Ein einzelnes binäres Zeichen
wird Bit genannt. Folgende Konventionen sind im Umfang dieser Vorlesung gängig:

4bit = Halbbyte (Nibble)


8bit = Byte (Oktett)
16bit = Wort
32bit = Doppelwort

(Abb. 1.3.1)
Einleitung 13

Spannungspegel der Digitaltechnik

Digitale Signale werden mithilfe von Spannungen übertragen. Es gibt verschiedene


Logikfamilien (TTL, CMOS, ...) die mit verschiedenen Spannungspegeln zur Detektion
arbeiten. Der tatsächliche Low- oder High-Pegel ist jedoch kein fester Wert, sondern ein
vorgegebener Spannungsbereich:

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

(Tab. 1.3.1) (Abb. 1.3.2)


Digitaltechnik
Mathematische Grundlagen
Mathematische Grundlagen 2

2. Mathematische Grundlagen

2.1 Die boolesche Funktion

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

2.1.1 Alle Funktionen einer Variablen

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

Die Darstellung einer booleschen Funktion


vereinfacht sich für ein reelles B1. Die Bilder 2.1.1.2a bis 2.1.1.2d zeigen sämtliche
booleschen Funktionen einer Variablen. Die Tabelle 2.1.1.1 die zugehörigen
Funktionstafeln (Wahrheitstabellen).

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

Die algebraischen Darstellungen zu Tabelle 2.1.1.1 lauten:

F0 ( X 1 ) = 0 ; F1 ( X 1 ) = X 1 ; F2 ( X 1 ) = X 1 ; F3 ( X 1 ) = 1 , (2.1.1.1)

Wobei F1 beispielsweise stets sein Argument invertiert.

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

Definition der Negation:

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

Definition des Literals:

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

2.1.2 Alle Funktionen zweier Variablen

Boolesche Funktionen von zwei Variablen


X 1 , X 2 ∈ B1
kann man gemäß Abb. 2.1.2.1 veranschaulichen.

X2
1 (Abb. 2.1.2.1)

0 1 X1

Einheitswürfel zur Darstellung boolescher Funktionen


Mathematische Grundlagen 10

Tabelle aller booleschen Funktionen (Lösungen) zweier Variablen X1, X2

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

X1 X2 F8 F9 F10 F11 F12 F13 F14 F15

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

Verschiedenen Funktionen wurden dabei bestimmte Namen zugeordnet:

Bedeutung (Name) Infix- Schreibweise

Konjunktion (UND-Funktion)
F8 ( X 1 , X 2 ) X1 ∧ X 2

F14 ( X 1 , X 2 )
Disjunktion (ODER-Funktion)
X1 ∨ X 2

F7 ( X 1 , X 2 ) NAND (NOT AND)


X 1 ∧ X 2 := X 1 ∧ X 2

F1 ( X 1 , X 2 ) NOR (NOT OR)


X 1 ∨ X 2 := X 1 ∨ X 2

F6 ( X 1 , X 2 ) Antivalenz X1 ⊕ X 2

Äquivalenz
F9 ( X 1 , X 2 ) X1 ⊕ X 2
Mathematische Grundlagen 12

Die Operatoren sind also im Einzelnen:

Überstreichung für die Negation:

∧ Für logisches UND( ∧ vom lateinischen aut)

∨ Für logisches ODER( ∨ vom lateinischen vel)

⊕ Für die Äquivalenz

⊕ Für die Antivalenz

Ü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

Bezüglich Notation ist es international üblich das Konjunktionszeichen weg zu lassen. Es


gilt die Rechenregel:

„Konjunktion vor Disjunktion, Äquivalenz, Antivalenz“

(X 1 ∧ X 2 ) ⊕ X 3 = X 1 X 2 ⊕ X 3
Die naheliegende Ausdrucksweise

X1 „mal“ X2

sollte jedoch vermieden werden


Mathematische Grundlagen 14

2.2 Boolesche Algebra

Menge boolescher Objekte und Bündel von Rechenregeln, mit denen neue Objekte bestimmt
werden.

Neue Variablendeklaration: A, B, C, ...

2.2.1 Ein Axiomsystem

Bei den folgenden Betrachtungen wird von folgender mathematischer Definition ausgegangen:

A, B, C, .... ∈{0, 1}

Folgende Rechengesetze kommen zur Anwendung:


Mathematische Grundlagen 15

Axiome der booleschen Algebra

a) Kommutativgesetz der Konjunktion d) Kommutativgesetz der Disjunktion

A∧ B = B∧ A A∨ B = B∨ A

b) Idempotenzgesetz der Konjunktion e) Idempotenzgesetz der Disjunktion

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

Weitere Axiome der booleschen Algebra

g) Existenz des Identitätselements der Konjunktion / Disjunktion

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

Grundlegende Funktionstafel der Konjunktion und Disjunktion

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

Neben den Axiomen gibt es weiterhin häufig verwendete Rechenregeln. Die


meistverwendeten sind im Folgenden aufgelistet
Mathematische Grundlagen 18

2.2.2 Wichtige Rechenregeln

Die wichtigsten Rechenregeln lauten:

()
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

Regeln nach De Morgan

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

Antivalenz und Äquivalenz

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

für die Antivalenz bzw. für die Äquivalenz

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

2.3.1 Umwandlung von Dualzahlen

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

hat den gleich bezeichneten Zahlenwert

c = B0 + B1 ⋅ 21 + B2 ⋅ 2 2 + ... + Bn−1 ⋅ 2 n−1 ; B0 , B1 , ... , Bn−1 ∈ {0,1}

Wobei 0 und 1 die ganzen Zahlen Null und Eins sind.


Mathematische Grundlagen 23

Beispiel zur Umwandlung von einer Dualen zu einer dezimalen Zahl

(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

b = 2 n−1 = 1{ 0{ ... 0{ ... 0{


(!) ( 2 ) (3 ) (n )

Andernfalls gilt:

2 n−2 < b < 2 n−1


Mathematische Grundlagen 24

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

8 < 9 < 16 c = 1001... = 64 + 8 + ...

9 – 8 = 1 --> c = 1001001 = 64 + 8 + 1 = 73

Antwort: 7310 = 10010012


Mathematische Grundlagen 25

Umwandlung in andere Zahlensysteme:

Oktales Zahlensystem:

(001 011 001 110 101 001) 2


↓ ↓ ↓ ↓ ↓ ↓
(1 3 1 6 5 1)8

Hexadezimales Zahlensystem:

(1011 0011 1010 1001 1010 0010) 2


↓ ↓ ↓ ↓ ↓ ↓
(B 3 A 9 A 2)16
Mathematische Grundlagen 26

2.3.2 Rechenoperationen mit Dualzahlen

2.3.2.1 Duale Addition

Definition des Übertrags:


Mathematische Grundlagen 27

2.3.2.2 Duale Subtraktion

Problemstellung Subtraktion von dualen Zahlen:

Lösung des Problems durch 2er-Komplement:

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

Beispiel zur Subtraktion mithilfe des 2er-Komplements:

c=a–b a = 1210 = 11002 , b = 710 = 01112

Bildung des 1er-Komplements von b: b’ = 10002

Bildung des 2er-Komplements von b: b’’ = 10002 + 00012 = 10012

Addition des 2er-Komplements mit Minuenden:


Mathematische Grundlagen 29

2.3.2.3 Duale Multiplikation

Folgende Zahlen sollen im dualen Zahlenbereich miteinander multipliziert werden:

5 • 6 = 30
Nach der Umwandlung folgt die Berechnung:
Mathematische Grundlagen 30

2.3.2.3 Duale Division


Mathematische Grundlagen 31

2.3.3 Definition von pos. und neg. Zahlen


Digitaltechnik
Kodierungsverfahren
Kodierungsverfahren 2

3. Kodierungsverfahren

3.1 Der BCD-Code


Kodierungsverfahren 3

3.2 Der Zählcode


Kodierungsverfahren 4

3.3 Der 1-aus-10-Code


Kodierungsverfahren 5

3.4 Der 3-Exzeß-Code


Kodierungsverfahren 6

3.5 Der Aiken-Code


Kodierungsverfahren 7

3.6 Der GRAY-Code


Kodierungsverfahren 8

3.7 Der Libaw-Craig-Code (Johnson-Code)


Kodierungsverfahren 9

3.8 Der ASCII-Code


Digitaltechnik
Darstellung, Synthese und Analyse
boolescher Funktionen
Darstellung, Synthese und Analyse
2
boolescher Funktionen

4.1 Spezielle Diagramme

4.1.1 Venn – Diagramme

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

Venn – Diagramm zum Mengen-Komplement

A B
A

A’

( A U B )' = A' I B'


( A ∩ B )' = A' ∪ B'
Darstellung, Synthese und Analyse
4
boolescher Funktionen

4.1.2 Karnaugh-Veitch (KV) Diagramme

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

Verschmelzung von MINTERMEN:

(
AB ∨ A B = A B ∨ B = A )
Darstellung, Synthese und Analyse
6
boolescher Funktionen

Beispiel für die Verschmelzung von MINTERMEN:


Darstellung, Synthese und Analyse
7
boolescher Funktionen

Vereinfachte Verschmelzung von MINTERMEN mittels KV-Tafeln:


Darstellung, Synthese und Analyse
8
boolescher Funktionen

Verschmelzung mittels KV-Tafeln:

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

Ein Disjuntionsterm entsteht durch disjunktive Verknüpfungen von Literalen

{ } I ⊂ {1,..., n}
~ ~
T = ∨ X i ; X i ∈ Xi, X i mit
i∈ I

Definition MAXTERM: Disjunktionsterme maximaler Länge n, wobei n die Anzahl der


Funktionsvariablen ist, heißen Maxterme. Der negierte MINTERM entspricht gerade dem
MAXTERM:
(
Mi = M i
Darstellung, Synthese und Analyse
10
boolescher Funktionen

Vereinfachte Verschmelzung von MAXTERMEN mittels KV-Tafeln:


Darstellung, Synthese und Analyse
11
boolescher Funktionen

4.3.1 Disjunktive Normalform

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

X = ( X 1 ,..., X n ) ; ni , lij ∈ {1,..., n}


Darstellung, Synthese und Analyse
12
boolescher Funktionen

Disjunktive Normalform aus der Wahrheitstabelle der 2aus3 Schaltung:

( ) ( ) ( )
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

Konjunktive Normalform aus der Wahrheitstabelle der 2aus3 Schaltung:

( ) (
Z = (A ∨ B ∨ C ) ∧ A ∨ B ∨ C ∧ A ∨ B ∨ C ∧ A ∨ B ∨ C ) ( )
Digitaltechnik
Vereinfachung nach Quine McCluskey
Vereinfachung nach Quine McCluskey 2

4.4 Vereinfachung nach Quine McCluskey

- Vereinfachung boolescher Funktionen über KV-Diagramm nur handschriftlich möglich

- Automatisierte Vereinfachung über Quine / McCluskey

Quine / McCluskey geht von der


Kanonischen Disjunktiven Normalform aus (DKNF)

- Konjunktive Normalformen (KKNF) grundsätzlich auch möglich

- Im Rahmen dieser Veranstaltung ausschliesslich DKNF

- Aufgabenstellungen müssen in disjunktive Normalform umgerechnet werden


Vereinfachung nach Quine McCluskey 3

Gegeben Sei folgende Funktion aus unbekannter Aufgabenstellung:

( ) ( ) ( ) (
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 )

Prüfung ob mit Z eine kanonische disjunktive Normalform vorliegt

Letzter Term muss angepasst werden!


( A ∧ B ∧ D ) = (A ∧ B ∧ C ∧ D ) ∨ ( A ∧ B ∧ C ∧ 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

Sortierung der Minterme:

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):

Gruppe 1: Alle Minterme mit 4 negierten Literalen

Gruppe 2: Alle Minterme mit 3 negierten Literalen

Gruppe 3: Alle Minterme mit 2 negierten Literalen

Gruppe 4: Alle Minterme mit 1 negierten Literal

Gruppe 5: Alle Minterme mit mit keinem negierten Literal


Vereinfachung nach Quine McCluskey 5

Gruppe 1 (Alle Literale negiert):


(A ∧ B ∧ C ∧ D )
Gruppe 2 (Drei Literale negiert):
(A ∧ B ∧ C ∧ D ), (A ∧ B ∧ C ∧ D ), (A ∧ B ∧ C ∧ D )
Gruppe 3 (Zwei Literale negiert):
(A ∧ B ∧ C ∧ D ), (A ∧ B ∧ C ∧ D )
Gruppe 4 (Ein Literal negiert):
(A ∧ B ∧ C ∧ D )
Gruppe 5 (kein Literal negiert):
( A ∧ B ∧ C ∧ D)
Vereinfachung nach Quine McCluskey 6

Vereinfachung:

Findung bzw. Bildung von Primtermen

Primterme sind Konjunktionen die sich nicht mehr vereinfachen lassen

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 an Vereinfachung teilnehmen erhalten

Resultierende, vereinfachte Terme werde in Folgespalte eingetragen

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

Gruppe Minterme 1. Vereinfachung 2. Vereinfachung


1 (A ∧ B ∧ C ∧ D ) (A ∧ B ∧ D ) (A ∧ D ) P5

(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

Die Primterme der Ausgangsfunktion lauten demnach:


P1: (B ∧ C ∧ D ) P2: (A ∧ B ∧ C ) P3: (A ∧ C ∧ D ) P4: ( A ∧ B ∧ D ) P5: (A ∧ D )

Vergleiche – Welcher Primterm ist in welchem Minterm enthalten?


P1 P2 P3 P4 P5
Minterme (B ∧ C ∧ D ) (A ∧ B ∧ C ) (A ∧ C ∧ D ) ( A ∧ B ∧ D) (A ∧ D )
(
M1 A ∧ B ∧ C ∧ D )
M2 (A ∧ B ∧ C ∧ D )

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.

- Die Ergebnisse aus der Minterm-Primterm-Tabelle werden übertragen.

- Bei n Primtermen kann jeder Minterm zwischen 0...n Primterme enthalten.

- Minterme werden paarweise (spaltenweise) miteinander verglichen

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

- Zeilen der Primterme werden miteinander verlgichen

- 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

5.1.1 AND Gatter

Boolesche Funktion: Schaltsymbol:


A
A
A∧ B = C & C C

B B

Wahrheitstabelle für AND:


Optimierung von Schaltnetzen 3

5.1.1 NAND Gatter

Boolesche Funktion: Schaltsymbol:

A & C A
A∧ B =C C

B B

Wahrheitstabelle für NAND:


Optimierung von Schaltnetzen 4

5.1.2 OR Gatter

Boolesche Funktion: Schaltsymbol:

A∨ B = C A C
A C

B B

Wahrheitstabelle für OR:


Optimierung von Schaltnetzen 5

5.1.2 NOR Gatter

Boolesche Funktion: Schaltsymbol:


A C A C
A∨ B = C
B B

Wahrheitstabelle für NOR:


Optimierung von Schaltnetzen 6

5.1.3 Der Inverter

Boolesche Funktion: Schaltsymbol:

Y =A A 1 Y A Y

Wahrheitstabelle für Inverter:


Optimierung von Schaltnetzen 7

5.1.4 Das Äquivalenzelement (XNOR)


Boolesche Funktion: Schaltsymbol:

( A ∧ B ) ∨ (A ∧ B ) = C A
=1 C
A
C

B B

Wahrheitstabelle für XNOR:


Optimierung von Schaltnetzen 8

5.1.5 Das Antivalenzelement (XOR)


Boolesche Funktion: Schaltsymbol:

(A ∧ B ) ∨ (A ∧ B ) = C A
=1 C A C

B B

Wahrheitstabelle für XNOR:


Optimierung von Schaltnetzen 9

5.2.1 Gatter mir mehreren Eingängen


AND mit drei Eingängen:

A &

&
D
C
Optimierung von Schaltnetzen 10

5.2.2 Verknüpfung mehrerer Gatter


Optimierung von Schaltnetzen 11

5.2.2 Substitution durch NOR

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

OR- und NOT-Schaltungen lassen sich mit NOR-Gattern realisieren:


Beispiel Inverter

A=Z → B∨C = B∨C = Z


Optimierung von Schaltnetzen 12

5.2.2 Substitution

Eine AND-Schaltung lässt sich ebenfalls nur mit NOR-Gattern realisieren!

Bsp.: Sei Z = Ausgang; A,B = Eingänge AND; C,D,E,F,G,H = Eingänge NOR,


E = F = A und G = H = B

A∧ B = Z → C =E∨F ; D =G∨ H ; Z = E∨ F ∨G∨ H

Substitution logischer Schaltungen mittels NAND Gattern ist analog zur gezeigten unter Anwendung
der De Morgan‘schen Regeln.

ACHTUNG: Gleichung darf nicht einseitig verändert werden!


Optimierung von Schaltnetzen 13

NOR – Substitution
NOT-Logik durch NOR-Gatter:

OR-Logik durch NOR-Gatter:

AND-Logik durch NOR-Gatter:


Optimierung von Schaltnetzen 14

NAND – Substitution
NOT-Logik durch NAND-Gatter:

AND-Logik durch NAND-Gatter:

OR-Logik durch NAND-Gatter:


Digitaltechnik
Schaltungsentwurf digitaler Schaltungen
Schaltungsentwurf digitaler Schaltungen 2

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 3: Bestimmen der logischen Verknüpfungsschaltung (Wahrheitstabelle spiegelt


Funktionsgleichung wieder Bestimmen der Gleichung (disjunktiv / konjunktiv))

Schritt 4: Vereinfachung / Umformung mittels K-Diagramm, boolescher Algebra, ... (Funktion aus
Wahrheitstabelle liefert meist nicht kürzeste Funktionsgleichung!)
Schaltungsentwurf digitaler Schaltungen 3

Aufbau einer Wechselschaltung

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.

Schritt 1: Festlegen der Ein- und


Schritt 2: Erstellen der Wahrheitstabelle (Durch
Ausgangsvariablen (Welche Variablen werden
Anzahl der Variablen ergibt sich maximale Anzahl
benötigt um die komplette Funktion des
an möglichen Ausgangszuständen
Systems zu realisieren?)
VOLLSTÄNDIGES ausfüllen der Wahrheitstabelle!)

Digitale
A Z
Wechsel-
B schaltung
Schaltungsentwurf digitaler Schaltungen 4

Aufbau einer Wechselschaltung

Schritt 3: Bestimmen der logischen Schritt 4: Vereinfachung / Umformung mittels K-


Verknüpfungsschaltung (Wahrheitstabelle Diagramm, boolescher Algebra, ... (Funktion aus
spiegelt Funktionsgleichung wieder Wahrheitstabelle liefert meist nicht kürzeste
Bestimmen der Gleichung (disjunktiv / Funktionsgleichung!)
konjunktiv))

Laut Aufgabenstellung nur mit NAND-Gattern:

K-Diagramm liefert keine Vereinfachung ...

( ) ( )
Z = A∧ B ∨ A∧ B

( ) (
Z = A∧ B ∨ A∧ B ) = (A ∧ B )∨ (A ∧ B ) = (A ∧ B ) ∧ (A ∧ B )
Schaltungsentwurf digitaler Schaltungen 5

Aufbau einer Wechselschaltung


Aufbau der Schaltung: Sobald im letzten Schritt die kleinstmögliche Gleichung gefunden wurde,
geht es im Aufbau darum diese mittels logischer Gatter zu realisieren:

( ) ( ) ( ) (
Z = A∧ B ∨ A∧ B = A∧ B ∨ A∧ B = A∧ B ∧ A∧ B ) ( ) ( )
Schaltungsentwurf digitaler Schaltungen 6

Aufbau einer 2-aus-3-Schaltung


Aufgabentext:
Bei Anlagen die einen hohen Sicherheitsstandard erfüllen müssen, werden oft redundante Geber /
Wächter eingesetzt. Gegeben seien in diesem Fall 3 Wächter. Beim Auslösen von 2 Wächtern (egal
welche) soll eine Sicherheitsmaßnahme eingeleitet werden. Die Schaltung soll wiederum
ausschliesslich mit NAND-Gattern realisiert werden.

Schritt 1: Festlegen der Ein- und Schritt 2: Erstellen der Wahrheitstabelle


Ausgangsvariablen

Wächter 1
(Eingang A)

2-aus-3
Wächter 2
(Eingang B) Z
Schaltung

Wächter 3
(Eingang C)
Schaltungsentwurf digitaler Schaltungen 7

Aufbau einer 2-aus-3-Schaltung

Schritt 3: Bestimmen der logischen Schritt 4: Vereinfachung / Umformung mittels K-


Verknüpfungsschaltung Diagramm, boolescher Algebra, ...

(
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

Aufbau einer 2-aus-3-Schaltung


Aufbau der Schaltung: Sobald im letzten Schritt die kleinstmögliche Gleichung gefunden wurde,
geht es im Aufbau darum diese mittels logischer Gatter zu realisieren:

A B C

&

Z
& &

&
Digitaltechnik
Flip-Flop-Schaltungen
Flip-Flop-Schaltungen 2

Flip-Flops

Eingänge E1 ; E2 ; ..... (Mehrere Eingänge möglich)

Ausgänge A1 ; A2 ; ..... (A2 ist zu A1 negiert)

E1 A1

E2 A2

(Abb. 7.1: Symbol Flip-Flop)

Unterschied Latch und Flip Flop:

Latch Zustandsgesteuert in Abhängigkeit des angelegten Pegels (low oder high)

Flip-Flop Taktflankengesteuert in Abhängigkeit einer Signalflanke (steigende oder fallend)


Flip-Flop-Schaltungen 3

Darstellung und Funktionsweise

Vorgaben zur Darstellung der Bauteile (nach DIN & Anpassung an die Vorlesung):

- Keine Anschlüsse für Versorgungsspannung

- Ausgänge stellen entgegengesetzte Zustände dar.

- Allgemeine Funktion:

- Zustand „1“ an „E1“ setzt „A1“ auf „1“


(Setzvorgang)
E1 A1
- Zustand „1“ an „E2“ setzt „A2“ auf „1“
(Rücksetzvorgang) E2 A2

- Zustände „0“ an Eingängen haben keine steuernde


Wirkung (Rücksetzvorgang)
- „A1“ kennzeichnet Speicherzustand des Flip-Flops
(A1 = 1 Zustand „1“ ist gespeichert)
Flip-Flop-Schaltungen 4

Statische und dynamische Betrachtung

- Statische Eingänge reagieren auf den aktuellen Zustand

- Dynamische Eingänge reagieren auf die Zustandsänderung (Flanke)

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

Steuerung der Ausgänge durch Synchronisierung mit einem Takt T:

S
& A1

& A2
R

Zustand „1“ an S und „1“ an T A1 = 1

Zustand „1“ an R und „1“ an T A2 = 1

Zustand „1“ an R & S und „1“ an T verbotener Zustand!


Flip-Flop-Schaltungen 6

Zustandsgesteuertes Flip-Flop

Realisierung mittels NOR-Gatter:

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

(Tab. 7.2.1: Wahrheitstabelle des NOR Flip-Flop)


Flip-Flop-Schaltungen 7

Zustandsgesteuertes Flip-Flop

Realisierung mittels NAND-Gatter:

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

(Tab. 7.2.2: Wahrheitstabelle des NAND Flip-Flop)


Flip-Flop-Schaltungen 8

Zustandsdiagramm (RS-Flip-Flop)

Ausgangszustand reagiert auf Eingangszustand (Reaktionszeit ~ Nanosekunden)

Funktion wird bei der Planung der Schaltung oftmals in Zustandsdiagramm dargestellt:

S 1
0
t

R 1
0
t

Q 1
0
t

Abb. 7.2.3: Impulsdiagramm des RS-Flip-Flops


Flip-Flop-Schaltungen 9

Taktzustandsgesteuertes RS- / SR-Flip-Flop

Synchronität im Schaltvorgang durch Verknüpfung der Eingänge mit dem Takt

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

(Abb. 7.3.1) (Abb. 7.3.2)


Flip-Flop-Schaltungen 10

Taktflankengesteuertes RS- / SR-Flip-Flop

Detektion der Taktflanken und Verknüpfung mit den Signaleingängen:


E1
& 1 A1
&
S 1
0
T 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

T-Flip-Flop hat nur einen Eingang T (Toggle = „Baumeln“)

- Zustand „1“ an Eingang Ausgang toggelt in negierten Zustand

- 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

D-Flip-Flop hat ebenfalls nur einen Eingang D (Delay = Verzögerung)

- Bedingte Speicherung eines Zustands („0“ oder „1“)

- Zustand E = 1 bewirkt A = 1; Zustand E = 0 bewirkt A = 0


Flip-Flop-Schaltungen 14

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

Zusammenschaltung zweier JK-Flip-Flops resultiert in JK-MS-Flip-Flop


(Takt des Slaves negiert zum Takt des Masters):

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

Der Wortspeicher (Register)

Aneinanderreihung mehrerer Flip-Flops: Jedes Flip-Flop speichert 1Bit

Register sind notwendig um Zwischenergebnisse oder Speicherinhalte zu speichern. Meist werden


die gespeicherten Daten dann für weitere Berechnungen benötigt.

Register für
Operand A
Vom Speicher

Rechen- Register für Ausgabe


Schaltnetz Ergebnis auf
Bildschirm
Register für
Operand B

Abb. 8.1.1: Auffangregister beim Rechnen


Register- und Speicherschaltungen 3

Der Wortspeicher (Register)

Realisierung des Registers mittels Flip-Flops (einfache Variante):

Q1 Q2 Q3

E1
1J 1J
1J 1J 1J

1C 1C
1C 1C 1C
1 1K
1K 1K 1K

Abb. 8.1.1.2: 1-bit-Speicher mit JK-FF‘s


Register- und Speicherschaltungen 4

Nachteil des einfachen Registers

Sind Taktflanken nicht steil genug, kann Zustand „zu weit rutschen“

Am ersten FF wird ein Zustand und der Takt angelegt

Wenn Takt nicht steil genug, wird Zustand an den Ausgang des ersten und damit an den Eingang
des zweiten Flip-Flops geschaltet

Zeitpunkt t1 schaltet Zustand wie gewünscht an Ausgang von FF1

Zeitpunkt t2 schaltet Zustand ungewollt an Ausgang von FF2


U

t1 t2
t
Register- und Speicherschaltungen 5

Abhilfe: Einsatz JK-MS-FF

Diesem Nachteil kann entgegen gewirkt werden indem JK-MS-FFs verwendet werden!

Flankensteilheit ist nur 2rangig da Ausgang des FF‘s um einen Takt


verzögert zum Eingangszustand gesetzt wird
Register- und Speicherschaltungen 6

Das Schieberegister

Zustand „E“ wird mit jedem Takt um ein FF nach rechts


verschoben: T 1
0
t

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

Ringregister mit Serieller Eingabe

Zustand „E“ wird mit jedem Takt um ein FF nach rechts


verschoben (Ausgangszustand „Q4“ wird mit Takt auf „E“
geschoben Ringschieberegister): T 1
0
Q4 t

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

Schieberegister mit paralleler Eingabe Q4

E
Q1 Q2 Q3

J J J J

1C 1C 1C 1C
&
K K K K

S R S R S R S R

&

&(a) &(b) & & & & & &

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

Zur technischen Umsetzung werden meist JK-Flip-Flops eingesetzt (Toggle-Eogenschaft)


Register- und Speicherschaltungen 10

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

1K Q1’ 1K Q2’ 1K Q3’ 1K Q4’

FF1 R FF2 R FF3 R FF4 R

&

R
Register- und Speicherschaltungen 12

Synchron-Zähler

Q1 Q2 Q3

&

1J 1J 1J

C1 C1 C1

1K 1K 1K

FF1 FF2 FF3


T

Synchroner 3-bit-Vorwärtszähler
Register- und Speicherschaltungen 13

Entwurf von Zählerschaltungen

- Zähler können mit verschiedenen Flipflops aufgebaut werden.

- Jede Flipflop-Charakteristik bildet eigene Ansteuerfunktion zur Umsetzung des Zählers.

- Schwerpunkt auf synchronen Aufbauten.

Flip-Flop-Typ I: RS-Flip-Flop

Synchroner 3-bit-Vorwärtszähler
Register- und Speicherschaltungen 14

Entwurf von Zählerschaltungen


Flip-Flop-Typ II: D-Flip-Flop

Flip-Flop-Typ III: T-Flip-Flop


Register- und Speicherschaltungen 15

Entwurf von Zählerschaltungen


Flip-Flop-Typ IV: JK-Flip-Flop
Register- und Speicherschaltungen 16

Entwurf eines BCD-Zählers

Zum Aufbau des Zählers sollen JK-FFs verwendet werden Schaltfolgetabelle!

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

Umsetzung in KV-Diagramm (Flip-Flop 0)

(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

Umsetzung in KV-Diagramm (Flip-Flop 0)


K0:
(Q3 )
∧ Q2 ∧ Q1 ∧ Q0 = X (Q
3 )
∧ Q2 ∧ Q1 ∧ Q0 = 1

(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

Umsetzung in KV-Diagramm (Flip-Flop 1)


J1 :
(Q3 )
∧ Q2 ∧ Q1 ∧ Q0 = 0 (Q
3 )
∧ Q2 ∧ Q1 ∧ Q0 = 1

(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

Umsetzung in KV-Diagramm (Flip-Flop 1)


K1:
(Q3 )
∧ Q2 ∧ Q1 ∧ Q0 = X (Q
3 )
∧ Q2 ∧ Q1 ∧ Q0 = X

(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

Umsetzung in KV-Diagramm (Flip-Flop 2)


J2 :
(Q3 )
∧ Q2 ∧ Q1 ∧ Q0 = 0 (Q
3 )
∧ Q2 ∧ Q1 ∧ Q0 = X

(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

Umsetzung in KV-Diagramm (Flip-Flop 2)


K2:
(Q3 )
∧ Q2 ∧ Q1 ∧ Q0 = X (Q 3 )
∧ Q2 ∧ Q1 ∧ Q0 = 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

(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

Umsetzung in KV-Diagramm (Flip-Flop 3)


J3 :
(Q3 )
∧ Q2 ∧ Q1 ∧ Q0 = 0 (Q
3 )
∧ Q2 ∧ Q1 ∧ Q0 = 0

(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

Umsetzung in KV-Diagramm (Flip-Flop 3)


K3:
(Q3 )
∧ Q2 ∧ Q1 ∧ Q0 = X (Q
3 )
∧ Q2 ∧ Q1 ∧ Q0 = X

(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

Aufbau der Schaltung


Ermittelte Gleichungen werden als Lgoik in Schaltung eingesetzt:
J 2 = Q0 ∧ Q1 J3 = Q0 ∧Q1 ∧Q2
n n n n n
J0 = 1 J 1 = Q0 ∧ Q3
n n

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

Entwurf eines synchronen 3-bit-Zählers


Beispiel 2 zum Schaltungsentwurf:

Am häufigsten liegt Aufgabenstellung in verbalisierter Form vor.


Schwierigkeit liegt darin die Zusammenhänge aus dem Text zu erkennen (Textaufgabe!)

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.

Die übrigen Informationen werden im späteren Verlauf benötigt.


Die Variablen sind vorerst erkannt und bestimmt!
Register- und Speicherschaltungen 28

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

3-bit-Zähler (Schaltfolgetabelle II)


Qn Xn Qn+1 Yn

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 (Aufstellen der Funktionen)


Am Beispiel vom Eingang J2 soll die Funktion bestimmt werden:
Register- und Speicherschaltungen 31

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

3-bit-Zähler (Aufbau der Schaltung)


Alle Funktionsgleichungen nach
Schaltfolgetabelle und
Vereinfachung im KV-Diagramm:

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

Der Halbaddierer (Theorie)

Die „einfachste“ Rechenschaltung ist der Halbaddierer


Die Rechenregeln der dualen Addition lauten:

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

Der Halbaddierer (Schaltung)

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

Der Volladdierer (Theorie)


Nachteil des Halbaddierers: Überträge aus vorhergehenden Berechnungen können nicht
verarbeitet werden.
Volladdierer hat zusätzlichen Eingang zur Aufnahme des vorhergehenden Übertrags!

Wahrheitstafel des Volladdierers: A1n = (E1n ∧ E 2n ∧ C 3n )∨ (E1n ∧ E 2n ∧ C 3n )


C3n E2n E1n A1n(Ergebnis) A2n (Übertrag) ( )
∨ E1n ∧ E 2 n ∧ C 3n ∨ (E1n ∧ E 2 n ∧ C 3n )

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

= [C 3 (E1 ⊕ E 2 )]∨ [C 3 (E1 ⊕ E 2 )]


0 1 0 1 0

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

Der Volladdierer (Schaltung)

E1 E2 C3
1

1
&

&
≥1 1
A1
Z
A1n = C 3n ⊕ (E1n ⊕ E 2 n )
&

&

&

& 1 A2 A2 n = (E1n E 2 n ) ∨ (E1n C 3n ) ∨ (E 2 n C 3n )


Ü
&
Rechenschaltungen 6

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

Lösung durch carry-look-ahead:


Überträge von x-Dualstellen werden mit einem Takt bestimmt

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:

Cn+1 = (Bn ⋅ An ) ∨ [Cn ⋅ (Bn ⊕ An ) ]

Beispiel anhand der 2bit-Addition:

22 21 20 Cn +1 = (Bn ⋅ An ) ∨ [Cn ⋅ (Bn ⊕ An ) ]


A 1 1 = (B0 ⋅ A0 ) ∨ [C0 ⋅ (B0 ⊕ A0 ) ]
B + 1 1
 
_____________ C1 = (1 ⋅ 1) ∨ 0 ⋅ (1 ⊕ 1)  = 1 ∨ 0 = 1
 1
424
0
3

1 1 0
Rechenschaltungen 10

Carry-Look-Ahead-Addierer (generate / propagate)

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 )

C4 = G3 ∨ (C3 P3 ) = G3 ∨ [ (G2 ∨ (G1 P2 ) ∨ (C1 P1 P2 )) P3 ]


= G3 ∨ (G2 P3 ) ∨ (G1 P2 P3 ) ∨ (C1 P1 P2 P3 )

C5 = G4 ∨ (C4 P4 ) = G4 ∨ [ (G3 ∨ (G2 P3 ) ∨ (G1 P2 P3 ) ∨ (C1 P1 P2 P3 )) P4 ]


= G4 ∨ (G3 P 4) ∨ (G2 P3 P4 ) ∨ (G1 P2 P3 P4 ) ∨ (C1 P1 P2 P3 P4 )
Rechenschaltungen 12

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

4bit Parallel Addierschaltung

Ü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

Demultiplexer (1-bit zu 4-bit)

&
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

2x4-Bit zu 4-Bit Datenselektor

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

2x4-Bit zu 4-Bit Datenselektor


&
A1

&
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

Es werden drei Ausgänge benötigt um Ergebnis darzustellen:

X = 1 wenn A > B ; Y = 1 wenn A = B ; Z = 1 wenn A < B .... 0 sonst

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

000 001 010 011 100 101 110 111


Digitalwerte
Digitale Auswahl- und Verbindungsschaltungen 10

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

Nyquist/Shannon bestimmen Abtastrate doppelt so gross als


obere Grenzfrequenz des Nutzsignals:

f Abtast > 2 ⋅ f max

Das Nutzsignal muss kleiner als die Nyquistfrequenz sein:

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?

Bisherige Anwendungen funktionierten nach folgendem Schema


Bestimmte Eingabe ruft eine gewisse Ausgabe hervor!

Nachteil dieser Funktionsweise:


Sind mehrere (sequentielle) Eingaben nötig um definierte Ausgabe zu erhalten,
ist bisher betrachtete Funktion nicht mehr effektiv!

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

Mehrere Eingabemöglichkeiten führen zu einem Eingangsalphabet:

E = {E1 , E 2 , E3 , ...., E g ,...., Eu }


Diesem wird ein Ausgangsalphabet zugeordnet:

A = {A1 , A2 , A3 , ...., Ah ,...., Av }

Da nicht alle Eingaben parallel stattfinden (können), muss eine zeitliche Abfolge
geschaffen werden:

FE = E gn E gn−1 E gn−2 .... FA = Ahn Ahn −1 Ahn − 2 ....

Dabei entstehen „ältere“ und „jüngere“ Variablen. Ältere stehen


dabei rechts von den Jüngeren!
Automatentheorie 4

Funktionsbeschreibung

Ein einfaches Schaltnetz würde somit wie folgt definiert:

( )
Ahn = f E gn

Da es mehrere Eingangskombinationen gibt muss das Argument um die Menge der


möglichen Eingänge erweitert werden:

(
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

„S“ wird als Zustand des Automaten benannt.

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

Mealy und Moore

In Abhängigkeit von Eingabe E und Zustand S werden zwei grundsätzliche


Automatenmodelle unterschieden:

Der Mealy- oder Übergangsautomat:


(Ausgabe ist abhängig von Eingabe und Zustand)

(
Ahn = λ Egn , S kn )

Der Moore- oder Zustandsautomat:


(Ausgabe ist nur abhängig vom Zustand)

( )
Ahn = λ S kn
Automatentheorie 8

Komparator (Schaltung)
Der Mealy- oder Übergangsautomat: Der Moore- oder Zustandsautomat:

(
Ahn = λ E gn , S kn ) ( )
Ahn = λ S kn

λ λ

Egn Ahn Egn Ahn


δ δ
S kn+1 S kn+1
S kn
Speicher S kn Speicher
Automatentheorie 9

Graph eines Moore-Automaten


Allgemeiner Moore-Graph:

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

Graph eines Mealy-Automaten


Allgemeiner Mealy-Graph:

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

Beispiel für Mealy- und Mooregraph

Folgendes Beispiel zeigt identische Automatenfunktionen realisiert mit


unterschiedlichen Modellen:
Automatentheorie 12

Beispiel für Realisierung eines Zählers

Zu Entwerfen ist der Graph eines Zählers mit


folgender Funktion
(Vorgabe nach Moore-Modell):

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

Es soll der Graph eines einfachen Fahrkartenautomaten


mit folgender Funktion realisiert werden

1 Fahrkarte kostet 1,50 €

Mögliche Eingaben: 50cent, 1€

Mögliche Ausgaben: Karte und gegebenenfalls Rückgeld


Automatentheorie 14

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

Grenzstelle: Beginn / Anfang eines Programms

Prozess: Reaktion des Programms / Automaten auf Eingabe

Übergang: Übergang von einem Zustand zum nächsten durch Eingabe

Abfrage: Verzweigung / Abfrage der Eingangsvariablen

Beispiel für Programmablaufdiagramm anhand eines


Fahrkartenautomaten im Mealy Modell:
Automatentheorie 18

Programmablaufdiagramm
Automatentheorie 19

Zustände des Fahrkartenautomaten

Drei Zustände die durchlaufen werden können möglich:

0cent (Ruhe) ; 50cent ; 100cent

Anzahl der Zustände gibt an wie viele Variablen benötigt werden:


Q1 Q0

Zustand 1 (0cent) 0 0

Zustand 2 (50cent) 0 1

Zustand 3 (100cent) 1 0

Zustände werden durch Betragsabfrage nach Münzeinwurf erreicht


Automatentheorie 20

Realisierung mittels D-Flip-Flop

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

Minimierung über KV-Diagramme

Beachten: Pseudotetraden dürfen zur Vereinfachung NICHT verschmolzen werden!

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

Minimierung über KV-Diagramme

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

Minimierung über KV-Diagramme

Funktion für Farhkarte:

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

Minimierung über KV-Diagramme

Funktion für Rückgeld:

(
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 )