Digitaltechnik - PowerPoint PPT Presentation

About This Presentation
Title:

Digitaltechnik

Description:

Title: Digitaltechnik Author: KB Last modified by: kb Created Date: 3/5/2003 6:57:56 AM Document presentation format: Bildschirmpr sentation Other titles – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 128
Provided by: KB96
Category:

less

Transcript and Presenter's Notes

Title: Digitaltechnik


1
Digitaltechnik
  • Klaus Becker
  • 2007

2
Digitaltechnik
3
Teil 1
Logische Grundoperationen
4
Aufzugssteuerung
Problem Ein Aufzug soll sich nur dann nach oben
bewegen, wenn der Knopf gedrückt und die Tür zu
ist.
Lösung Nur wenn der Stromkreis geschlossen ist,
kann der Motor den Aufzug bewegen.
nach H. Bühler Grundlagen einer Verständigung
mit Computern
5
Binäre Kodierung mit Schaltvariablen
Binäre Kodierung Kodierung mit zwei Werten 0 /
1
y
Schaltvariable
x1
x2
  • Beschreibung von Systemzuständen
  • x1 0 Tür ist offenx1 1 Tür ist geschlossen
  • x2 0 Schalter ist nicht gedrücktx2 1
    Schalter ist gedrückt
  • y 0 Motor ist inaktivy 1 Motor ist aktiv

Systemzustände Tür ist offen /
geschlossen Schalter ist gedrückt / nicht
gedrückt Motor ist inaktiv / aktiv
6
Beschreibung des Systemverhaltens
  • Beschreibung von Systemzuständen
  • x1 0 Tür ist offenx1 1 Tür ist geschlossen
  • x2 0 Schalter ist nicht gedrücktx2 1
    Schalter ist gedrückt
  • y 0 Motor ist inaktivy 1 Motor ist aktiv

y
x1
x2
Schalttabelle / Schaltfunktion
x1 0 0 1 1
x2 0 1 0 1
y 0 0 0 1
Motor ist aktiv genau dann, wenn Tür ist
geschlossen und Schalter ist gedrückt
7
Logische Deutung
Logische Deutung 0 falsch 1 wahr
y
Wahrheitswerte
x1
x2
logische Verknüpfung von Aussagen
aussagenlog. Formel /Schaltterm
x1 0 0 1 1
x2 0 1 0 1
y 0 0 0 1
y Motor ist aktiv genau dann, wenn x1 Tür
ist geschlossen und x2 Schalter ist gedrückt
8
Technische Lösung mit Logikgatter
  • Beschreibung von Systemzuständen
  • x1 0 Tür ist offenx1 1 Tür ist geschlossen
  • x2 0 Schalter ist nicht gedrücktx2 1
    Schalter ist gedrückt
  • y 0 Motor ist inaktivy 1 Motor ist aktiv

y
x1
x2
x1 0 0 1 1
x2 0 1 0 1
y 0 0 0 1
x1
UND-Operator

y
x2
Kontakt-schalter
Motor
Und-Gatter
9
Logik-basierte Systembeschreibung
Beschreibung des Systemverhaltens mit einer
aussagenlogischen Formel (Schaltfunktion)
y
x1 0 0 1 1
x2 0 1 0 1
y 0 0 0 1
x1
x2
Systemgrößen
Systemverhalten
x1 Tür ist geschlossenx2 Schalter ist
gedrückty Motor ist aktiv
Motor ist aktiv genau dann, wenn Tür ist
geschlossen und Schalter ist gedrückt
10
Elektronik-Logik-Schichtung
Systemgrößen
Systemverhalten
x1 Tür ist geschlossenx2 Schalter ist
gedrückty Motor ist aktiv
Logik
Elektronik
x1
Kontaktschalter

y
Motor
x2
Kontaktschalter
Logikgatter
11
Problem Steuerung eines Türöffners
Problem Die Haustür soll sich öffnen, wenn der
Türöffner im ersten oder im zweiten Stock
gedrückt wird.
nach H. Bühler Grundlagen einer Verständigung
mit Computern
12
Lösung mit ODER-Operator
Beschreibung der Systemgrößen mit Schaltvariablen
x1 Türöffner im 1. Stock ist gedrücktx2
Türöffner im 2. Stock ist gedrückt y
Türverriegelung ist deaktiviert
Beschreibung des Systemverhaltens mit logischen
Operationen
x1 0 0 1 1
x2 0 1 0 1
y 0 1 1 1
ODER-Operator
x1
?1
y
x2
13
Problem Kühlschrankbeleuchtung
Problem Öffnet man den Kühlschrank, so soll das
Licht im Kühlschrank automatisch angehen.
nach H. Bühler Grundlagen einer Verständigung
mit Computern
14
Lösung mit NICHT-Operator
Beschreibung der Systemgrößen mit Schaltvariablen
x Tür ist geschlosseny Licht im Kühlschrank
ist an
Beschreibung des Systemverhaltens mit logischen
Operationen
x 0 1
y 1 0
bzw.
x
1
y
NICHT-Operator
15
Logische Grundoperationen
Konjunktion / UND-Operation
Disjunktion / ODER-Operation
Negation / NICHT-Operation
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 0 1 1 1
x 0 1
x 1 0
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 0 0 0 1
Logik
Elektronik
x1
x1
?1

y
y
x
1
y
x2
x2
UND-Gatter
ODER-Gatter
NICHT-Gatter
16
Übung
Aufgabe Testen Sie die Gatter zu den logischen
Grundoperationen mit Hilfe von Hades. Gatter
rechte Maustaste create -gt gates -gt
... Eingang rechte Maustaste create -gt io -gt
Ipin(switch) Ausgang rechte Maustaste
create -gt io -gt Opin (LED) Verbindungen mit der
Maus "ziehen".
17
Teil 2
Schaltfunktionen und Schaltnetze
18
Multiplexer Demultiplexer
Ein Problem der Vermittlungstechnik Zwei
Teilnehmer sollen wahlweise ihre Daten (in
binärer Form kodiert) über eine gemeinsame
Leitung senden.
MUX
DEMUX
0
1
19
Funktionale Modellierung
Modellierung des Ein-/Ausgabe-Verhaltens
(Black-Box-Modellierung)
Binäre Daten
1
0
1
MUX
DEMUX
0
1
Steuersignal
Steuersignal
0
1
d0
d0
DEMUX
MUX
b
b
d1
d1
Eingaben
Ausgaben
Eingaben
Ausgaben
s
s
20
Logische Systembeschreibung
Entwicklung von Schalttermen zur Beschreibung des
Ein-Ausgabe-Verhaltens bzw. der Schaltfunktionen
d0
d0
DEMUX
MUX
b
b
d1
d1
Eingaben
Ausgaben
Eingaben
Ausgaben
s
s
s 0 b d0
s 0 d0 b
s 1 b d1
s 1 d1 b
Schaltterm
21
Schaltnetze
Entwicklung von Schaltungen zu den Schalttermen.
d0
d0
DEMUX
MUX
b
b
d1
d1
s
s
NOT-Gatter
d0


d0
b
?1
d1


d1
Schaltnetz
Schaltnetz
s
s
22
Idee Funktionale Modellierung
d0
MUX
b
Beschreibung des Systemverhaltens mit einer
logischen Schaltfunktion
d1
s
d0

?1
Realisierung des Systems mit Hilfe eines
Logik-basierten Schaltnetzes
d1

s
23
Übung
Aufgabe Erstellen und testen Sie mit Hilfe von
Hades das entwickelte Schaltnetz.
d0


d0
b
?1
d1


d1
s
s
24
Übung
Aufgabe Entwickeln und testen Sie ein
Multiplexer-Demultiplexer-System mit 4
Datenleitungen. Benutzen Sie zur Auswahl der
Datenleitung 2 Steuerleitungen. Adressieren Sie
die Datenleitungen wie unten angezeigt.
d0
d0
d1
d1
b
MUX
DEMUX
d2
d2
d3
d3
0
0
1
0
s1
s0
s1
s0
25
Teil 3
Exkurs Schaltalgebra
26
Steuerung einer Autoinnenbeleuchtung
Problem Öffnet man eine der beiden Türen, so
soll das Licht im Auto angehen.
nach H. Bühler Grundlagen einer Verständigung
mit Computern
27
Steuerung einer Autoinnenbeleuchtung
Beschreibung der Systemgrößen mit Schaltvariablen
x1 Fahrertür ist geschlossenx2 Beifahrertür
ist geschlossen y Licht im Auto ist an
Beschreibung des Systemverhaltens mit einer
Schaltfunktion
x1 0 0 1 1
x2 0 1 0 1
y 1 1 1 0
x1
F
y
x2
28
Schaltterme und Schaltnetze
x1 0 0 1 1
x2 0 1 0 1
y 1 1 1 0
Schaltfunktion
Schaltterme
x1
x2
9 Gatter
x1


y
x2
?1

?1
y
2 Gatter

Schaltnetze
29
Steuerung einer Autoinnenbeleuchtung
Beschreibung der Schaltfunktion mit einem
Schaltterm Version 1
Korrektheitsnachweis mit einer Wertetabelle
x1 ? x2 1 1 1 0
x1 0 0 1 1
x2 0 1 0 1
y 1 1 1 0
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 0 0 0 1
30
Steuerung einer Autoinnenbeleuchtung
Beschreibung der Schaltfunktion mit einem
Schaltterm Version 2
Korrektheitsnachweis mit einer Wertetabelle
y1
y2
y3
x1 0 0 1 1
x2 0 1 0 1
y 1 1 1 0
x1 ? x2 0 1 0 0
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 1 0 0 0
x1 ? x2 0 0 1 0
(y1 ? y2) ? y2 1 1 1 0
31
Finden von Schalttermen
x1 0 0 1 1
x2 0 1 0 1
y 1 1 1 0
x1
x2
ProblemWie findet man systematisch Schaltterme
zur Repräsentation von vorgegebenen
Schaltfunktion?
9 Gatter

?1

?1
y

32
Minimierung des Schaltnetzes
x1 0 0 1 1
x2 0 1 0 1
y 1 1 1 0
ProblemWie gewinnt man möglichst einfache
Schaltnetze zur Realisierung der vorgegebenen
Schaltfunktion?
x1

1
y
x2
x1

y
x2
NAND-Gatter
33
Boolesche Algebra / Schaltalgebra
Operationen (NOT) ? (AND) ? (OR)
Objekte 0 (FALSE) 1 (TRUE)
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 0 1 1 1
x 0 1
x 1 0
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 0 0 0 1
Entwickelt 1854 von George Boole (1815-1864)
34
Schaltterme
Schaltvariable Eine Schaltvariable ist eine
Variable, für die nur die Werte 0 und 1
eingesetzt werden können.
Schaltterm Ein Schaltterm ist aufgebaut aus-
den Konstanten 0 (FALSE) und 1 (TRUE)-
Schaltvariablen- den Operationen ? (AND), ?
(OR), (NOT).
Beispiele
35
Aufstellen von Schalttermen
Minterm (Elementarkonjunktion)
y1
y2
y3
x1 0 0 1 1
x2 0 1 0 1
y 1 1 1 0
x1 ? x2 0 1 0 0
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 1 0 0 0
x1 ? x2 0 0 1 0
(y1 ? y2) ? y2 1 1 1 0
Wert des Minterms y2 ist 1 gdw Wert(x1) 0 und
Wert(x2) 1 gdw Wert(x1) 1 und Wert(x2) 1
Wert(y) ist 1 gdw Wert eines Minterms ist 1
Term in disjunktiver Normalform (Disjunktion von
Mintermen)
36
Äquivalenz von Schalttermen
x1 ? x2 1 1 1 0
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 0 0 0 1
Zwei Schaltterme t1 und t2 sind (logisch)
äquivalent gdw gilt Der Wert von t1 und t2 ist
für alle möglichen Einsetzungen der in t1 und t2
vorkommenden Variablen durch 0 bzw. 1 gleich.
y1
y2
y3
x1 ? x2 0 1 0 0
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 1 0 0 0
x1 1 1 0 0
x2 1 0 1 0
x1 ? x2 0 0 1 0
(y1 ? y2) ? y2 1 1 1 0
37
Gesetze der Schaltalgebra
x1 ? x2 0 1 0 0
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 1 0 0 0
x1 1 1 0 0
x2 1 0 1 0
x1 ? x2 0 0 1 0
y1 ? (y2 ? y3) 1 1 1 0
y1
y2
y3
x1 ? x2 0 1 0 0
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 1 0 0 0
x1 1 1 0 0
x2 1 0 1 0
x1 ? x2 0 0 1 0
(y1 ? y2) ? y3 1 1 1 0
38
Gesetze der Schaltalgebra
Assoziativgesetz für Disjunktionen
a 0 0 0 0 1 1 1 1
b 0 0 1 1 0 0 1 1
a ? b 0 0 1 1 1 1 1 1
c 0 1 0 1 0 1 0 1
(a ? b) ? c 0 1 1 1 1 1 1 1
b ? c 0 1 1 1 0 1 1 1
a ? (b ? c) 0 1 1 1 1 1 1 1
39
Gesetze der Schaltalgebra
Assoziativgesetze
Kommutativgesetze
Distributivgesetze
Gesetze der neutralen Elemente
40
Gesetze der Schaltalgebra
0-1-Gesetze
Komplementgesetze
De Morgansche Gesetze
Adsorptionsgesetze
41
Vereinfachung von Schalttermen
ErgebnisDie Terme sind logisch äquivalent.
42
Vereinfachung der Schreibweise
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 0 1 1 1
x 0 1
x 1 0
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 0 0 0 1
x1 0 0 1 1
x2 0 1 0 1
x1 x2 0 1 1 1
x 0 1
x 1 0
x1 0 0 1 1
x2 0 1 0 1
x1 ? x2 0 0 0 1
43
Termumformung m. Boolescher Algebra
44
Übung
Aufgabe Neben der NAND-Operation gibt es als
weitere wichtige Operationen die NOR-Operation
und die XOR-Operation. Testen Sie diese
Operationen mit Hades und ergänzen Sie ihre
Wertetabellen. Beschreiben Sie diese Operationen
auch mit Schalttermen, in denen nur die drei
Grundoperationen vorkommen.
x1 0 0 1 1
x2 0 1 0 1
x1 NAND x2 1 1 1 0
x1 NOR x2
x1 XOR x2
45
Teil 3
Rechensysteme
46
Zahldarstellungen
Problem Wie viele Blätter sind hier dargestellt?
(10010)2
18
(12)16
47
Stellenwertsysteme
23 0000000011111111
22 0000111100001111
21 0011001100110011
20 0101010101010101
100 0123456789012345
101 0000000000111111
160 0123456789ABCDEF
Dualzahlen
Hexadezimalzahlen
48
Addiersystem
Ziel ist es, ein Addiersystem für Dualzahlen zu
entwickeln.
Schriftliche Addition im Zehnersystem
112
910
Summand A
Summand B
Übertrag
Summe
Schriftliche Addition im Dualsystem
0 110
110
1 100
0011
11
Summand A
Summand B
Übertrag
Summe
49
Funktionale Modellierung
Summand A
0 110
110
1 100
0011
11
Übertrag
Summand B
Summe
1
0
0
1
a
s
a
s
0
HA
VA
b
1
1
1
0
b
ü
c
ü
Volladdierer
Halbaddierer
50
Halbaddierer
a 0 0 1 1
b 0 1 0 1
s 0 1 1 0
ü 0 0 0 1
1
0
a
s
HA
1
1
b
ü
Halbaddierer
51
Volladdierer
c 01010101
a 00001111
b 00110011
s 01101001
ü 00010111
0
1
a
s
0
VA
b
1
0
c
ü
Volladdierer
52
Volladdierer m. Halbaddierer-Bausteinen
a
b
c
ü
HA
?1
ü
s
ü
HA
s
s
c 01010101
a 00001111
b 00110011
s 01101001
ü 00010111
a 0 0 1 1
b 0 1 0 1
s 0 1 1 0
ü 0 0 0 1
Volladdierer
Halbaddierer
53
4-Bit-Paralleladdierer mit Bausteinen
Beispiel (1001) (1011) 1(0100)
a3
a2
a1
a0
1
0
0
1
1
ü
VA
0
s3
VA
1
s2
VA
0
s1
HA
0
s0
1
0
1
1
b3
b2
b1
b0
54
Übung
Aufgabe Erstellen und testen Sie zunächst einen
Halb- und Volladdierer. Entwickeln Sie
anschließend einen 4-Bit-Paralleladdierer mit
Hilfe geeigneter Bausteine.
55
Hinweise Erzeugung von Bausteinen
Schritt 1 Schaltnetz erzeugen und abspeichern
(z. B. ha.hds)
Schritt 2 Neues Symbol erzeugen EditCreate
symbol
Schritt 3 Neuen Baustein erzeugen rechte
Maustaste Create Create
Subdesign... ha.hds
Schritt 4 Neuen Baustein benutzen rechte
Maustaste Create Create
Subdesign... ha.hds
56
Übung
Aufgabe Entwickeln Sie analog zum
4-Bit-Addierer einen 4-Bit-Inkrementierer.
Idee
1 01
1 10
110
011

Zahl
Inkrement
Übertrag
Nachfolger
57
Übung
Aufgabe Entwickeln Sie einen 4-Bit-Komparator,
der überprüft, ob zwei 4-Bit-Dualzahlen gleich
sind.
Idee
110
11 1
11
011

Zahl A
0
Zahl B
Hilf
Ergebnis
58
Lösung - Addierer
59
Lösung - Inkrementierer
1 01
Idee
1 10
110
011

Zahl
Inkrement
Übertrag
Nachfolger
60
Lösung - Komparator
Idee
110
11 1
11
011

Zahl A
0
Zahl B
Hilf
Ergebnis
61
Teil 4
Flip-Flops
62
An der Tankstelle
Problem Steuerung der Kontrolllampe einer
Zapfsäule
Die Kontrolllampe zeigt an, ob die Zapfsäule
bereit ist. Nur wenn sie bereit ist, führt ein
Tankversuch zur Aktivierung der Pumpanlage. Durch
Einhängen der Zapfpistole wird die Pumpanlage
gesperrt. Sie ist erst wieder bereit, wenn sie
freigegeben wird.
nach D. Jonietz Lehrprobenentwurf
63
Zapfsäule als zustandsbasiertes System
einhängen
freigeben
auslösende Aktion
einhängen
Anfangszustand
bereit
gesperrt
Zustand
freigeben
Grundeigenschaft zustandsbasierter Systeme Das
Verhalten des Systems hängt nicht nur von den
auslösenden Aktionen (freigeben / einhängen) ab,
das Verhalten hängt auch von internen Zuständen
des Systems (bereit / gesperrt) ab.
64
Binäre Kodierung
einhängen
freigeben
Neuer Zustand
einhängen
Aktueller Zustand
bereit
gesperrt
S 00 00 11 11
R 00 11 00 11
Q 01 00 11
Q 01 01 01 01
nichts machennichts machen freigebenfreigeben
einhängeneinhängen einhängen und
freigebeneinhängen und freigeben
freigeben
Zustände Q 0 bereitQ 1
gesperrt Steuersignale S einhängenR
freigeben
65
Entwicklung einer Schaltung
S 00 11
R
Q 01 11
Q 01 01
nichts machennichts machen freigebenfreigeben
einhängeneinhängen einhängen und
freigebeneinhängen und freigeben
Q
?1
Q
S
66
Entwicklung einer Schaltung
S 00 00 11
R 00 11 00
Q 01 00 11
Q 01 01 01
nichts machennichts machen freigebenfreigeben
einhängeneinhängen einhängen und
freigebeneinhängen und freigeben
Q
?1
S
Q

R
67
Entwicklung einer Schaltung
Q
?1
S

Q
R
Q
?1
S
?1
Q
R
S
?1
Q
?1
Q
R
68
Überprüfung der Schaltung
S
?1
P
Bedingung P Q
?1
Q
R
S 1 R 0 P .. Q .. ? P 0 Q 1
S 0 R 1 P .. Q .. ? P 1 Q 0
S 0 R 0 P 1 Q 0 ? P 1 Q 0
S 0 R 0 P 0 Q 1 ? P 0 Q 1
S 1 R 1 P 0 Q 1 ? P 0 Q 0
unzulässig
S 1 R 1 P 1 Q 0 ? P 0 Q 0
69
Flip-Flop
Funktion
S 00 00 11 11
R 00 11 00 11
Q 01 00 11
Q 01 01 01 01
S
?1
P Q
Zustandbewahren
Zustand zurücksetzen
Q
?1
R
Zustandsetzen
Flip-Flop-System
Systemverhalten
Eine Schaltung, die zwei stabile Zustände besitzt
(bistabile Kippschaltung), wird als Flip-Flop
bezeichnet.
70
Flip-Flop als Speicherelement
S 0 0 1 1
R 0 1 0 1
Q Q 0 1
Funktion Bewahren Rücksetzen Setzen
S
?1
P Q
Q
?1
R
Flip-Flop-System
Speicherelement
S
Q
Schaltsymbol
R
Das entwickelte Flip-Flop-System verhält sich wie
ein Speicherelement. Mit Hilfe der Funktionen
Setzen und Rücksetzen wird ein Wert in den
Speicher geschrieben, mit der Funktion Bewahren
wird er im Speicher aufbewahrt.
71
Zustandsgraph
S 0 R 0
S 0 R 0
S 1 R 0
S 0 R 1
S 1 R 0
Q 0
Q 1
S 0 0 1 1
R 0 1 0 1
Q Q 0 1
Funktion Bewahren Rücksetzen Setzen
S 0 R 1
R
S
S R 1 vermeiden
S
Q 0
Q 1
R
72
Übung
S 0 0 1 1
R 0 1 0 1
Q Q 0 1
Funktion Bewahren Rücksetzen Setzen
S
?1
P Q
Q
?1
R
Flip-Flop-System
Speicherelement
Aufgabe Bauen Sie das Flip-Flop-System auf und
testen Sie sein Verhalten.
73
Übung
Funktion
S 00 00 11 11
R 00 11 00 11
Q
Q 01 01 01 01
S

Q

P
R
System
Systemverhalten
Aufgabe Testen Sie auch das dargestellte System
und beschreiben Sie sein Verhalten.
74
Übung
Funktion
S 00 00 11 11
R 00 11 00 11
Q
Q 01 01 01 01
S

Q

P
R
System
Systemverhalten
Aufgabe Testen Sie, ob man mit der oben
dargestellten Schaltung ebenfalls ein
Speicherelement erhält.
75
Teil 5
Von taktgesteuerten Flip-Flops zu Registern
76
Synchronisation von Flip-Flops
In der Regel müssen bei Speichervorgängen mehrere
Bits gleichzeitig übernommen werden. Hierzu ist
es notwendig, die Flip-Flops zu synchronisieren,
d. h., eine am Eingang vorliegende Information
darf erst auf ein bestimmtes Signal hin
übernommen werden. Man verwendet hierzu i. a. ein
periodisches Taktsignal.
1-Zustand
0-Zustand
Fallende Flanke
Steigende Flanke
77
Taktgesteuertes Flip-Flop
Nur wenn der Takt den Wert 1 hat, kann ein Setzen
oder Rücksetzen des Flip-Flops erfolgen.
S

Q
S
C
R

R
S 0 0 1 1
R 0 1 0 1
Q Q Q 0 1
C 0 1 1 1 1
S R 1 vermeiden
C ? R
C ? S
C ? S
Q 0
Q 1
C ? R
78
Übung
Aufgabe Testen Sie das entwickelte Flip-Flop
mit Hades. Ergänzen Sie anschließend das unten
dargestellte Impulsdiagramm.
S

Q
S
C
R

R
C
S
R
Q
Impulsdiagramm
79
Master-Slave-Flip-Flop
Die Belegungen der Eingänge wirken sich hier erst
um eine halbe Taktperiode verzögert am Ausgang
aus. Master- und Slave-Flip-Flop sind abwechselnd
zum (Rück-)Setzen bereit bzw. gesperrt.
Master
Slave
80
Übung
Aufgabe Testen Sie die Flip-Flop-Schaltung
(siehe msff.hds) und ergänzen Sie das
Impulsdiagramm.
C
S
R
QM
QS
81
Flankengesteuertes D-Flip-Flop
Ein Zustandswechsel erfolgt hier nur bei einer
steigenden Taktflanke.
82
Übung
Aufgabe Erstellen Sie zunächst eine
D-Flip-Flop-Testschaltung. Erzeugen Sie dann die
im Impulsdiagramm dargestellten Eingangssignale
und ergänzen Sie das Q-Ausgangssignal.
C
C
C ? D
Z0 Q 0
Z1 Q 1
C
C
C ? D
C ? D
Z3 Q 0
Z2 Q 1
C ? D
C
C
C
D
Q
83
Schieberegister
Ein 4-Bit-Schieberegister ist eine Einheit mit
folgenden Eigenschaften
0
1
0
0
1
/1/ Das Register kann 4 Bit mit Hilfe von
Flip-Flops speichern. /2/ Das Register hat einen
Dateneingang, über den es neue Werte aufnehmen
kann. /3/ Mit jeder steigenden Taktflanke werden
die gespeicherten Werte um eine Einheit nach
rechts verschoben. Das erste Flip-Flop übernimmt
den Wert am Dateneingang, der Wert des letzten
Flip-Flops geht (hier) verloren.
84
Übung
Entwerfen und testen Sie ein 4-Bit-Schieberegister
, das mit Hilfe von D-Flip-Flops aufgebaut ist.
85
Schieberegister-Baustein
Hades stellt einen vordefinierten
Schieberegisterbaustein zur Verfügung rechte
Maustaste create create by name
hades.models.register.ShiftRegister
Shift-Eingang
Takt
Eingang zum Laden
Umschalten Laden/Shift
Reset
86
Übung
Testen Sie den vordefinierten Schieberegister-Baus
tein von Hades.
hades.models.register.ShiftRegister
87
Addierwerk
Ein serielles 4-Bit-Addierwerk lässt sich wie
dargestellt mit Hilfe eines Volladdierers und
Schieberegisterbausteinen aufbauen.
0
0
1
1
0
0



0
0
0
1
1
VA
1
88
Übung
Entwickeln Sie ein serielles 4-Bit-Addierwerk.
Benutzen Sie vordefinierte Schieberegisterbaustein
e, um die Dualzahlen zwischenzuspeichern.
89
Register
Ein Register soll als Speichereinheit wie folgt
arbeiten
ENA
NR
Q
D
clk
/1/ Das Register kann 1 Bit speichern. /2/ Das
Register hat einen Dateneingang D und einen
Datenausgang Q. /3/ Mit Hilfe eines Steuereingang
ENA (enable) kann das Register aktiviert bzw.
deaktiviert werden. /4/ Mit Hilfe eines
Steuereingangs NR (negated reset) kann das
Register initialisiert werden Das Register wird
mit 0 belegt, wenn NR 0 ist. /5/ Das Register
reagiert nur bei steigender Taktflanke.
90
Übung
Testen Sie folgende Realisierung des Registers.
wenn QFF 1 und ENA 0
ENA
1
oder
NR
Q
wenn ENA 1 und NR 1 und D 1
D
clk
91
Übung
Testen Sie auch den von Hades vordefinierten
Register-Baustein create Create By Name
hades.models.rtlib.register.RegRE Stellen Sie
den Baustein auf die Größe "8 Bit" ein rechte
Maustaste Edit .... Benutzen Sie eine
hexadezimale Darstellung des Registerinhalts.
hades.models.rtlib.io.IpinVector
hades.models.rtlib.register.RegRE
hades.models.rtlib.io.OpinVector
92
Lösung - Taktsteuerung
Nur wenn der Takt auf "1" ist, kann ein Setzen
oder Rücksetzen des Flip-Flops erfolgen.
S 0 0 1 1
R 0 1 0 1
Q Q Q 0 1
C 0 1 1 1 1
C
S
R
Q
93
Lösung - MS-Flip-Flop
Ein Zustandswechsel erfolgt beim MS-Flip-Flop um
eine halbe Taktperiode verzögert.
S
QS
QM


S
S
R
R


R
C
1
C ? S
C
S
R
QM
QS
94
Lösung - D-Flip-Flop
C
C
Ein Zustandswechsel kann nur bei einer steigenden
Taktflanke erfolgen.
C ? D
Z0 Q 0
Z1 Q 1
C
C
C ? D
C ? D
Z3 Q 0
Z2 Q 1
C ? D
C
C
C
D
Q
0
3
0
3
0
1
2
3
0
3
0
1
2
1
2
3
95
Teil 6
Registermaschine
96
Zielsetzung
Mit Hilfe vorgegebener Hardwarebausteinen soll
ein einfacher, voll funktionsfähiger Rechner
entwickelt werden. Wir orientieren uns hier am
Konzept des Bonsai-Rechners. (vgl.
http//www.hsg-kl.de/faecher/inf/material/bonsai/i
ndex.php)
97
Registermaschine
Eine Registermaschine bearbeitet beliebig
eingebbare Daten nach einem fest vorgegebenen
Programm.
Programm
Daten
gt 0 JMP 3 1 INC 0 2 DEC 1 3 TST 1 4 JMP
1 5 HLT
0 51 32 03 04 0..
Erhöhe Register i um 1. Gehe zu Zeile x1.
gt x INC i
gt x DEC i
Erniedrige Register i um 1. Gehe zu Zeile x1.
Gehe zu Zeile i.
gt x JMP i
Wenn Register i ungleich 0 ist, dann gehe zu
Zeile x1, sonst zu Zeile x2.
gt x TST i
gt x HLT
Beende die Bearbeitung.
98
Universelle Registermaschine
0 JMP 3 1 INC 0 2 DEC 1 3
TST 1 4 JMP 1 5 HLT 0 0
0005 1 0 0003 .. 0 0000
Programm
Codierung
CPU
INC 1 DEC 2 JMP 3 TST 4 HLT 5
Daten
0 3 0003 1 1 0007 2 2 0008 3 4
0008 4 3 0001 5 5 0000 6 0 0000
7 0 0005 8 0 0003 .. 0 0000
Programm
CPU
Daten
99
Rechnerarchitektur (von Neumann)
Adressbus
0 3 0003 1 1 0007 2 2 0008 3 4
0008 4 3 0001 5 5 0000 6 0 0000
7 0 0005 8 0 0003 .. 0 0000
PC
IR
Arbeitsspeicher
Steuerwerk
Datenbus
Akku
Rechenwerk
100
Befehlszyklus
Adressbus
0 3 0003 1 1 0007 2 2 0008 3 4
0008 4 3 0001 5 5 0000 6 0 0000
7 0 0005 8 0 0003 .. 0 0000
PC
IR
Arbeitsspeicher
Steuerwerk
Befehlszyklus
Datenbus
Wiederhole Befehl holen Befehl dekodieren
und ausführen
Akku
Rechenwerk
101
Schritt 1 Akku-Register
Wir beginnen mit dem Akku-Register. Der hier
benutzte Akku soll 8-Bit-Dateneinheiten aufnehmen
können. Benutzen Sie den von Hades
vordefinierten Register-Baustein create
Create By Name ... Stellen Sie den Baustein
auf die Größe "8 Bit" ein rechte Maustaste
Edit .... Benutzen Sie eine hexadezimale
Darstellung des Registerinhalts.
Akku
hades.models.rtlib.register.RegRE
CLK Takt-Eingang (Register reagiert b.
steigender Taktflanke)
NR Reset-Eingang (NR 0 Reset)
ENA Enable-Eingang (ENA 1 Register bereit
zum Lesen)
D Daten-Eingang
Q Daten-Ausgang
102
Registertest
Testen Sie den Registerbaustein. Benutzen Sie
geeignete Eingabe- und Ausgabe-Einheiten (die auf
die Größe "8 Bit" angepasst werden müssen).
Schreiben Sie einen Wert in das Register und
lesen Sie ihn wieder aus.
hades.models.rtlib.io.IpinVector
hades.models.rtlib.io.OpinVector
103
Schritt 2 Rechenwerk
Mit Hilfe des Rechenwerkes sollen einfache
Inkrementier- und Dekrementieroperationen
ausgeführt werden.
Akku
Rechenwerk
Das Rechenwerk wird hier mit vordefinierten Incr-
bzw. Decr-Bausteinen realisiert. Zur Auswahl der
Datenleitungen werden geeignete Multiplexer
benötigt.
104
Test des Rechenwerks
Bauen Sie die Schaltung auf und testen Sie diese,
indem Sie eine zweistellige Hexadezimalzahl
(8-Bit-Einheit) in den Akku schreiben und diese
Zahl dann inkrementieren / dekrementieren.
hades.models.rtlib.arith.Decr
hades.models.rtlib.arith.Incr
hades.models.rtlib.muxes.Mux21
105
Schritt 3 Arbeitsspeicher
Die im Akku-Register zu verarbeitenden Daten
sollen aus einem Arbeitsspeicher geholt und nach
der Bearbeitung im Akku wieder in den
Arbeitsspeicher geschrieben werden.
0 3 3 1 1 7 2 2 8 3 4 8 4 3 1
5 5 0 6 0 0 7 0 5 8 0 3 .. 0 0
Arbeitsspeicher
Akku
Rechenwerk
106
RAM-Baustein
Erzeugen Sie einen RAM-Baustein und legen Sie die
Speichergröße wie angezeigt fest.
Hades zeigt die Speicherinhalte zunächst nicht
korrekt als zweistellige Hexadezimalzahlen an.
Benutzen Sie folgenden "Trick" Speichern Sie die
Schaltung ab. Öffnen Sie diese Datei mit einem
Texteditor. Ergänzen Sie die Zeile zur
Beschreibung des RAM-Bausteins um eine
Datei-Angabe. In dieser Datei sollen die
gewünschten Speicherinhalte stehen.
components ... hades.models.rtlib.memory.RAM
i1 -18300 33900 _at_N 1001 16 8 RP1.rom ... end
components
hades.models.rtlib.memory.RAM
nCS nCS 0 (notChipSelect) RAM-Baustein aktiv

nWE nWE 0 DIN ? adressiertes Register nWE
1 adressiertes Register ? DOUT
A Adress-Eingang
DIN Daten-Eingang
DOUT Daten-Ausgang
107
RAM-Test
Testen Sie das bisher entwickelte System. Der
Inhalt von Register 7 soll aus dem Speicher
gelesen und im Akku zwischengelagert werden.
Anschließend soll dieser Wert inkrementiert
werden.
RAM ? Akku
108
RAM-Test
Testen Sie das bisher entwickelte System. Der im
Akku zwischengelagerte Wert soll zurück in das
Register 7 geschrieben werden.
Akku ? RAM
109
Schritt 4 Datenbus
Der Datenaustausch zwischen dem Arbeitsspeicher
und dem Akku-Register soll über einen Datenbus
erfolgen.
0 3 3 1 1 7 2 2 8 3 4 8 4 3 1
5 5 0 6 0 0 7 0 5 8 0 3 .. 0 0
Arbeitsspeicher
Datenbus
Akku
Rechenwerk
110
Datenbus
Datenbus
Datenbus
RAM ? Datenbus ? Akku
Akku ? Datenbus ? RAM
111
Torsteuerung
hades.models.rtlib.muxes.TriBuf
Bei der Realisierung des Busses muss darauf
geachtet werden, dass nicht mehrere Quellen ihre
Daten gleichzeitig auf den Bus schreiben. Der
Datenfluss soll mit Hilfe von Toren, die durch
Tristate-Gatter realisiert werden, geregelt
werden.
Datenbus
112
Tristate-Verhalten
S 0 0 1 1
E 0 1 0 1
A 0 0 0 1
UND-Gatter
S 0 0 1 1
E 0 1 0 1
A Z Z 0 1
Tristate-Gatter
hochohmig
S 0 passiv S 1 aktiv (durchlassen)
113
Schritt 5 Befehlsregister und Adressbus
Adressbus
JMP 3
0 3 3 1 1 7 2 2 8 3 4 8 4 3 1
5 5 0 6 0 0 7 0 5 8 0 3 .. 0 0
IR
3 3
Arbeitsspeicher
Datenbus
Akku
Rechenwerk
114
Befehlsregister
Die hexadezimal kodierten Befehle werden im
Befehlsregister in ihre Bestandteile zerlegt.
Adressbus
Bussplitter
Speicher
Befehlsregister
Befehlsregister
Datenbus
Reset
115
Befehlsregister und Bussplitter
hades.models.rtlib.io.BusTapBottom
hades.models.rtlib.io.BusTapBottom
hades.models.rtlib.register.RegRE
hades.models.rtlib.register.RegRE
116
Bussystem
4-Bit-Adressbus
Speicher mit 16 8-Bit-Registern
Befehlsregister
Befehlsregister
8-Bit-Datenbus
117
Schritt 6 Programmzähler
Adressbus
0 3 3 1 1 7 2 2 8 3 4 8 4 3 1
5 5 0 6 0 0 7 0 5 8 0 3 .. 0 0
IR
PC
3 3
0
Arbeitsspeicher
Datenbus
Akku
Rechenwerk
118
Programmzähler
Adressbus
Programmzähler
Befehlsregister
Befehlsregister
Datenbus
119
Schritt 7 Programmbeendung
Adressbus
0 3 3 1 1 7 2 2 8 3 4 8 4 3 1
5 5 0 6 0 0 7 0 5 8 0 3 .. 0 0
IR
PC
3 3
0
Arbeitsspeicher
Datenbus
Akku
Rechenwerk
120
Nullentdeckung
Datenbus
hades.models.rtlib.compare.CompareEqual
121
Schritt 8 Steuerwerk
Adressbus
0 3 3 1 1 7 2 2 8 3 4 8 4 3 1
5 5 0 6 0 0 7 0 5 8 0 3 .. 0 0
IR
PC
3 3
0
Arbeitsspeicher
Steuerwerk
Datenbus
Akku
Rechenwerk
122
Steuerwerk
Steuersignal
Steuerwerk
123
Mikroprogramm
Befehl holen0 101 10, 3, 112 0, 2 INC
ausführen10 1211 12, 3, 712 12, 513 12, 4, 8,
1314 0, 1 ...
Mikroprogramm
124
Ausführung des Mikroprogramms
Befehl holen0 101 10, 3, 112 0, 2 INC
ausführen10 1211 12, 3, 712 12, 513 12, 4, 8,
1314 0, 1 ...
Mikroprogrammzähler
Mikroprogrammzähler
125
Funktionseinheiten
Programmzähler
Befehlsregister
Adressbus
Arbeitsspeicher
Datenbus
Rechenwerk
Steuerwerk
Akkumulator
126
Funktionseinheiten
Adressbus
PC
IR
Arbeitsspeicher
Steuerwerk
Datenbus
Akku
Rechenwerk
127
Literaturhinweise
  • F. Gasper, I. Leiß, M. Spengler, H. Stimm
    Technische und theoretische Informatik. Bsv 1992.
  • Eckhart Modrow Automaten Schaltwerke Sprachen.
    Dümmler Verlag 1988.
  • H. Bühler Grundlagen einer Verständigung mit
    Computern. Skript.
  • Heinz-Dietrich Wuttke, Karsten Henke
    Schaltsysteme. Pearson Studium 2003.
  • ...
Write a Comment
User Comments (0)
About PowerShow.com