Upload
vothuy
View
218
Download
0
Embed Size (px)
Citation preview
Einführung in
Eingebettete Systeme
Vorlesung 7 Bernd Finkbeiner 03/12/2014 [email protected]
Prof. Bernd Finkbeiner, Ph.D. [email protected]
1
Schaltfunktionen
! Schaltfunktion: f: {0,1}n → {0,1}m ! (n-stellige) Boolesche Funktion: f: {0,1}n → {0,1} ! Eine Schaltfunktion entspricht m Booleschen Funktionen ! Eine Boolesche Funktion kann (unter anderem)
ausgedrückt werden durch ! einen Booleschen Ausdruck ! eine Wahrheitstafel
2
A NAND B: A · B
A B A NAND B
0 0 1
0 1 1
1 0 1
1 1 0
Darstellungen
! Alle zweistelligen Booleschen Funktionen können mit Hilfe von ! NOT, AND, und OR, oder ! NOT und OR, oder ! NOT und AND, oder ! NAND, oder ! NOR
! dargestellt werden.
3
Binäre Addition
! Addition von zwei Binärzahlen x = xn-1 ... x1x0 und y = yn-1 ... y1y0
! Ziffernweise Addition, so daß in jedem Schritt eine Ziffer si der Summe s = sn-1 ... s1s0 entsteht.
! Dabei werden die in jedem Schritt enstehenden Überträge bei der Addition des nächsten Paares berücksichtigt
4
Halbaddierer
! Addition zweier bits x0,y0
! Summenziffer s0=1 entsteht genau dann wennentweder x0=1 oder y0=1 s0 = x0 XOR y0
! Übertrag u1=1 entsteht genau dann wennx0=1 und y0=1 u1 = x0 · y0
5
Volladdierer
! Summenziffer si=1 entsteht genau dann wennentweder (entweder xi=1 oder yi=1) oder ui=1 si = xi XOR yi XOR ui
! Übertrag ui+1=1 entsteht genau dann wenn(xi=1 und yi=1) oder ((xi=1 oder yi=1) und ui=1)ui+1 = (xi · yi) + ((xi + yi) · ui)
6
Volladdierer
! si = xi XOR yi XOR ui ! ui+1 = (xi · yi) + ((xi + yi) · ui)
7[H. Liebig: Logischer Entwurf digitaler Systeme, 2006]
1.2 Boolesche Funktionen 29
Beispiel 1.16. Addition. Die Funktionen ui+1 und si aus Beispiel 1.13 sollendurch Blockbilder dargestellt werden, und zwar in denjenigen Strukturen, wie siedort durch die Gleichungen vorgegeben sind. Es entsteht Bild 1-7.
Aufgabe 1.8. Subtraktion. Beschreiben Sie in Analogie zur ziffernpaarweisen Addition die zif-fernpaarweise Subtraktion in allen hier gezeigten Darstellungsformen.
Aufgabe 1.9. Paritätsprüfung. Die Datenübertragung binär codierter Zeichen (8-Bit-Codewörter)von einem Sender zu einem Empfänger (in einem Rechner z.B. von der Peripherie zum Prozes-sor) wird oft dadurch überprüft, daß zu allen Wörtern auf der Senderseite ein sog. Paritätsbit hin-zugefügt wird, wodurch sich die Anzahl der Codewörter verdoppelt. Es entstehen zu gleichenTeilen gültige und ungültige Wörter, die auf der Empfängerseite auf ihre Gültigkeit überprüftwerden. – Beschreiben Sie die folgenden Funktionen durch Gleichungen und Blockbilder. (a) Eine erste boolesche Funktion (senderseitig) soll zu einem 8-Bit-Wort, einem Byte, den Wertdes Paritätsbits erzeugen, so daß die Quersumme der entstehenden 9-Bit-Wörter ungerade ist.Als Verknüpfung ist die Äquivalenz zu verwenden. (b) Eine zweite boolesche Funktion (empfängerseitig) soll „1“ liefern, wenn die Anzahl der Ein-sen, d.h. die Quersumme der 9-Bit-Wörter, gerade ist. Als Verknüpfung ist entweder die Äquiva-lenz oder die Antivalenz zu verwenden.
Ausblick. Wir haben eine Reihe äquivalenter Darstellungen einer Funktion vor-gestellt. Die Gleichungsdarstellung nahm dabei eine zentrale Rolle ein; von ihrausgehend haben wir die anderen Darstellungsformen entwickelt. Aber genau so,wie aus der Gleichung die Tabelle oder die Tafel ermittelt werden kann, ist esmöglich, aus einer Tabelle eine Tafel und weiter eine Gleichung und darausschließlich das Blockbild zu konstruieren. Das betrifft die Schaltungssyntheseund wird im Abschnitt 1.2.3 fortgeführt.
1.2.2 Systeme von Funktionen (Vektorfunktionen)
In 1.2.1 (auf S. 24) wurde eine Funktion allgemein durch
(33)
beschrieben. Zur bequemeren Schreibweise kürzen wir das „eindimensionaleFeld“
[x1 x2 x3 … xn]
Bild 1-7. Blockbilder für die Vollad-dierfunktion bzw. die Volladdier-schaltung; a Übertrag, b Summe.
uixi
siui+1
xi yi ui
⊕
⊕
a b
yi
y f x1 x2 x3 … xn, , , ,( )=
Ausgezeichnete Terme
! Produktterm Konjunktion mehrerer (möglicherweise negierter) Variablen z.B. A · B · C
! Summenterm Disjunktion mehrerer (möglicherweise negierter) Variablen z.B. A + B + C
8
Ausgezeichnete Terme
! Minterm:Produktterm in dem jede Variable genau einmal vorkommt (einfach oder negiert)
! Maxterm:Summenterm in dem jede Variable genau einmal vorkommt (einfach oder negiert)
9
Normalformen
! Disjunktive Normalform (DNF)Disjunktion von Produkttermen
! Konjunktive Normalform (KNF)Konjunktion von Summentermen
! Kanonische Disjunktive Normalform (KDNF)Eindeutige Darstellung einer Booleschen Funktion als Disjunktion von Mintermen
! Kanonische Konjunktive Normalform (KKNF)Eindeutige Darstellung einer Booleschen Funktion als Konjunktion von Maxtermen
10
Schaltnetze! Ein Schaltnetz ist eine schaltungstechnische
Realisierung einer Schaltfunktion f: {0,1}n → {0,1}m ! f ist zerlegbar in m Boolesche Funktionen mit den
gleichen n Eingangsvariablen f1(x1,...,xn), f2(x1,...,xn), ..., fm(x1,...,xn)
! Ein Schaltnetz heißt auch kombinatorische Logik.11
x1
x2
... xn
f1(x1,...,xn) f2(x1,...,xn) ... fm(x1,...,xn)
Schaltnetze
! Schaltnetze können einstufig (eine Gatterebene), zweistufig, oder mehrstufig sein
! Aus der Darstellung als kanonische Normalform folgt dass jede Schaltfunktion durch ein zweistufiges Netz realisierbar ist.
12
Karnaugh-Veitch-Diagramme
! Grafische Darstellung einer Booleschen Funktion ! Ziel: Vereinfachung (kleine Realisierung) ! Gesucht: Minimaler logischer Ausdruck ! Nützlich bei bis zu vier Eingangsvariablen
13
y :
x2
x1x0
y = x2
Karnaugh-Veitch-Diagramme
Beispiel:
14
0 0 0 0
1 1 1 1
Primimplikanten
! Primimplikant (auch: Primterm): Konjunktionsterm minimaler Länge (minimaler Variablenanzahl)
! Implizieren die Ursprungsfunktion ! So groß wie möglich gewählte “Blöcke”
von “Einsen” im KV Diagramm ! Beispiel:
! Primterme:
15
x1x2 x0x1 x0x2
x0x1x2 _ x0x1x2 _ x0x1x2 _ x0x1x2
x2
x1x0
0 0 1 01 1 1 0
Essentielle Primterme
! Essentielle Primimplikanten: Primimplikanten die mindestens eine “Eins” enthalten, die sonst von keinem anderen Block abgedeckt ist
! Redundante Primimplikanten: markieren nur von essentiellen Primimplikanten bereits abgedeckte “Einsen”
! Minimale Lösungen enthalten zumindest die essentiellen Primimplikanten, keine redundanten Primimplikanten, und ggf. eine Teilmenge der nicht-essentiellen und nicht-redundanten Primimplikanten.
! Beispiel: Essentiell:Redundant:
16
x0x2 x2
x1x0
0 0 1 01 1 1 0
x1x2 x0x1
Karnaugh-Veitch-Diagramme
! Ein Diagramm pro Ausgabevariable ! Beispiel: 7-Segmentanzeige
17
98 2 Schaltnetze, Schaltketten
2 Schaltnetze, Schaltketten
2.1 Schaltungsstruktur und Funktionsweise
Schaltnetze und Schaltketten bestehen aus elementaren Schaltgliedern, derentechnische Grundlage heute Transistoren sind und deren theoretische Grundlageder Aussagenkalkül der mathematischen Logik ist (siehe 1.1). – Ihrer Strukturnach sind Schaltnetze rückwirkungsfreie Zusammenschaltungen solcher Schalt-glieder (Gatter); ihre Funktion folgt den Gesetzen der Booleschen Algebra (siehe1.2). Damit läßt sich der Begriff Schaltnetz wie folgt definieren:
• Ein Schaltnetz ist die schaltungstechnische Realisierung einer booleschenFunktion. Es wird mathematisch beschrieben durch eine Abbildung f mit x alsEingangsvektor und y als Ausgangsvektor boolescher Variablen.
Beispiel 2.1. Schaltnetz für die 7-Segment-Anzeige. Zur Anzeige von Dezimal-ziffern in der Form von sieben Segmenten (7-Segment-Anzeige, Bild 2-1a) be-nötigt man ein „Kästchen“ (Schaltnetz, Bild 2-1b), das Zusammenschaltungen
von Gattern enthält, und zwar entsprechend einer booleschen Funktion zur Um-formung der Dualzahlen 0 bis 9 in den Code zur Ansteuerung der sieben Seg-mente. Das Schaltnetz setzt also die dual codierten Dezimalziffern (x3x2x1x0) indie Signale für die Segmente [y6y5y4y3y2y1y0] um.
xSchaltnetz:
yy = f (x)
f
Bild 2-1. Ansteuerung einer 7-Segment-Anzeige für die Dezimalziffern 0 bis 9 aus denDualzahlen 0 bis 9; a Form der Anzeige, b Schaltnetz als Kästchen.
y6
y5
?y3
y4
a b
x3
y6 y5 y4 y3 y2 y1 y0
x2 x1 x0X =
Y =
y2
y1
y0
[H. Liebig: Logischer Entwurf digitaler Systeme, 2006]
9. Synchrone Schaltwerke
Ziel:
! Entwurf getakteter Schaltwerke
Rückgekoppelte Schaltnetze
! Schaltnetz vs. Schaltwerk
19
Digitale Schaltung
Schaltnetz (kombinatorisch) Schaltwerk
Synchron (sequentiell)
Asynchron
Synchrone vs. Asynchrone Schaltwerke
! Synchrone Schaltwerke ! getaktet: Änderungen der internen Zustände nur zu
bestimmten Zeitpunkten zugelassen ! Verzögerung für alle Rückkopplungspfade gleich
(Taktperiode) ! Asynchrone Schaltwerke
! unterschiedliche Laufzeiten in verschiedenen Rückkopplungspfaden, Race-Probleme
! Vorteil: Geschwindigkeit, Energieverbrauch ! Nachteil: aufwändiger zu entwerfen
! komplexe Funktionen in der Regel synchron realisiert ! im Folgenden: synchrone Schaltwerke
(darin aber z.B. Flipflops die intern asynchron arbeiten!)20
Set-Reset Flipflop
! Asynchron, pegelgesteuert
21
Q
Q
R
S
S R Operation (Q‘)
0 0 Zustand halten
1 0 Q setzen
0 1 Q zurücksetzen
1 1 undefiniert
Set-Reset Flipflop
! Asynchron, pegelgesteuert
22
S R Operation (Q‘)
0 0 Zustand halten
1 0 Q setzen
0 1 Q zurücksetzen
1 1 undefiniert
Q
Q
R
S
Q
Q
R
S
! {S=1,R=0}{S=0,R=0}...
! {S=1,R=0}{S=0,R=0}{S=0,R=1}{S=0,R=0}...
RS-Flipflop mit Taktpegel
! Taktgesteuert, transparent ! Operation wie SR-Latch, wenn E aktiviert ist
23
Q
Q
R
S
E
D-Flipflop
! Taktflankengesteuert, rückkoppelungsfähig ! steigende Flanke: D wird eingelesen ! fallende Flanke: D wird abgespeichert
24
D Q
Q
Schieberegister
! In Reihe geschaltete D-Flipflops ! Umwandlung seriell/parallel
25
D
←
Dser Qser
SRG4
a3a2a1a0
b3b2b1b0
c
s3s2s1s0
Beispiel: Sequentieller Addierer
! Aufwand: 1 Addierer + 1 Flipflop als Carry
26
Schieberegister
Schieberegister
Flipflop
SchieberegisterAddierer
clk
clk
clk
clk
1.2 Boolesche Funktionen 29
Beispiel 1.16. Addition. Die Funktionen ui+1 und si aus Beispiel 1.13 sollendurch Blockbilder dargestellt werden, und zwar in denjenigen Strukturen, wie siedort durch die Gleichungen vorgegeben sind. Es entsteht Bild 1-7.
Aufgabe 1.8. Subtraktion. Beschreiben Sie in Analogie zur ziffernpaarweisen Addition die zif-fernpaarweise Subtraktion in allen hier gezeigten Darstellungsformen.
Aufgabe 1.9. Paritätsprüfung. Die Datenübertragung binär codierter Zeichen (8-Bit-Codewörter)von einem Sender zu einem Empfänger (in einem Rechner z.B. von der Peripherie zum Prozes-sor) wird oft dadurch überprüft, daß zu allen Wörtern auf der Senderseite ein sog. Paritätsbit hin-zugefügt wird, wodurch sich die Anzahl der Codewörter verdoppelt. Es entstehen zu gleichenTeilen gültige und ungültige Wörter, die auf der Empfängerseite auf ihre Gültigkeit überprüftwerden. – Beschreiben Sie die folgenden Funktionen durch Gleichungen und Blockbilder. (a) Eine erste boolesche Funktion (senderseitig) soll zu einem 8-Bit-Wort, einem Byte, den Wertdes Paritätsbits erzeugen, so daß die Quersumme der entstehenden 9-Bit-Wörter ungerade ist.Als Verknüpfung ist die Äquivalenz zu verwenden. (b) Eine zweite boolesche Funktion (empfängerseitig) soll „1“ liefern, wenn die Anzahl der Ein-sen, d.h. die Quersumme der 9-Bit-Wörter, gerade ist. Als Verknüpfung ist entweder die Äquiva-lenz oder die Antivalenz zu verwenden.
Ausblick. Wir haben eine Reihe äquivalenter Darstellungen einer Funktion vor-gestellt. Die Gleichungsdarstellung nahm dabei eine zentrale Rolle ein; von ihrausgehend haben wir die anderen Darstellungsformen entwickelt. Aber genau so,wie aus der Gleichung die Tabelle oder die Tafel ermittelt werden kann, ist esmöglich, aus einer Tabelle eine Tafel und weiter eine Gleichung und darausschließlich das Blockbild zu konstruieren. Das betrifft die Schaltungssyntheseund wird im Abschnitt 1.2.3 fortgeführt.
1.2.2 Systeme von Funktionen (Vektorfunktionen)
In 1.2.1 (auf S. 24) wurde eine Funktion allgemein durch
(33)
beschrieben. Zur bequemeren Schreibweise kürzen wir das „eindimensionaleFeld“
[x1 x2 x3 … xn]
Bild 1-7. Blockbilder für die Vollad-dierfunktion bzw. die Volladdier-schaltung; a Übertrag, b Summe.
uixi
siui+1
xi yi ui
⊕
⊕
a b
yi
y f x1 x2 x3 … xn, , , ,( )=
x0x1
y0y1
r0 r1
clk
Schaltwerke als Realisierung von Automaten
27
Übergangs-Schaltnetz
Zustandsregister
clk
Vom Automat zum Schaltwerk
28
r1r2
s0 s1 s2 s3x/y x/y x/y
x/y
x/y x/y x/y x/y
1
s0
00
s1
01
s2
10
s3
11
x/y x/y x/y
x/y
x/y x/y x/y x/y
1
�r1 = r2r1x _ r2r1x
�r2 = r2r1x _ r2r1x
�y = r2r1x
Vom Automat zum Schaltwerk
29
s0
00
s1
01
s2
10
s3
11
x/y x/y x/y
x/y
x/y x/y x/y x/y
1
�r1 :
r1r2
x
�r1 = xr1
KV-Diagramme
30
�r1 = r2r1x _ r2r1x
0 0 0 0
1 0 0 1
Schaltwerk
31
�r2 = r2r1x _ r2r1x
�y = r2r1x
�r1 = xr1