Zustände: 0 und 1, High und Low, Wahr und Falsch, Spannungspegel
Wiederholung
Digitaltechnik
Komplexe Systeme können aus einfachen Elementen aufgebaut werden
Hierarchischer Entwurf
Systeme werden immer komplexer oder billiger
Auswirkungen auf die Wirtschaft
Diskrete, quantisierte, gerasterte Signale
Zeitdiskret, Spannungsdiskret, Stromdiskret
Binäre, duale Signale haben 2 Zustände
„0“,“1“; FALSCH (FALSE), WAHR (TRUE); 0V, 5V; Licht aus, an
Elektrotechnik:
Spannungsquellen werden mit Schaltern ein oder ausgeschaltet
Messung der Spannung
Für komplexere Schaltungen werden Signale mit digitalen Funktionsgeneratoren
erzeugt und mit dem Oszilloskop oder Logikanalysator gemessen.
Fragen heute
Was kann ich mit dualen Signalen anfangen?
Wie kann ich Grundfunktionen auf verschiedene Arten darstellen?
Die Kombination mehrerer dualer Signale kann eine Funktion, eine Verknüpfung,
eine Grundfunktion darstellen.
Jede Funktion hat Eingänge und Ausgänge.
Durch Zusammenfassung von mehreren dualen Signalen können Symbole erzeugt werden.
Mann kann eine Verknüpfung mathematisch als Gleichung, als Schaltzeichen,
als Wahrheitstabelle, mit einer Programmiersprache symbolisch oder durch eine
zeitliche Messung der Eingangs- und Ausgangssignale darstellen.
Gurtwarnlampe
Der Sitz ist besetzt.
Der Gurt ist nicht eingerastet
Das Auto fährt
Wenn der Sitz besetzt ist, der Gurt nicht eingerastet ist
und das Auto fährt, leuchtet die Lampe und
ein Warnton erklingt.
Eingänge
Besetzt (B), Gurt eingerastet (G), fahren (F)
Ausgänge
Lampe (L), Ton (T)
Verknüpfungen:
UND, NICHT
Die Digitaltechnik bildet eine Problembeschreibung in Eingänge, Ausgänge und Verknüpfungen ab.
Diese Verknüpfungen werden mit Transistoren in einer Schaltung realisiert.
Der Einfachheit halber werden Abkürzungen eingesetzt: B, G, F, L, T
Jeder Eingang und Ausgang ist entweder '0' oder '1'.
Ziele
Sie kennen die logischen Grundfunktionen.
Sie können logische Grundfunktionen auf verschiedene Arten darstellen.
Sie Wissen was eine Wahrheitstabelle ist.
Sie kennen die booleschen Gesetze.
Sie kennen die Schaltsymbole der logischen Grundfunktionen.
Ausgehend von der Mathematik wurden Symbole (^,v) für boolesche Funktionen eingeführt.
Diese Symbole waren leider zu Beginn der Datentechnik nicht bei dem darstellbaren ASCII Zeichensatz dabei.
Deshalb ist es immer noch schwierig diese Symbole in der elektronischen Datenverarbeitung darzustellen.
Programmiersprachen haben deshalb eigenen Notationen (+,·) mit Symbolen aus dem ASCII Zeichensatz entwickelt.
Schaltzeichen
Auch bei den Schaltzeichen gibt es unterschiedliche Zeichen. Es gibt einen IEC, einen ANSI und
einen DIN Standard für Logikschaltzeichen.
Daneben wurden Programme zum zeichnen und simulieren von Schaltkreisen entwickelt. Das Programm LTSPICE, das in
dieser Vorlesung verwendet wird benutzt Zeichen nach dem ANSI Standard.
Mit einer Simulation mit LTSPICE kann die Funktion einer Digitalschaltung verifiziert werden.
Es gibt zwar die Möglichkeit in Programmen die vorhandenen Symbole zu ersetzen, in der Praxis erfordert dies
jedoch zu viel Aufwand. Deshalb werden in dieser Vorlesung ANSI Symbole dargestellt. Der Vollständigkeit halber
werden die anderen Darstellungsarten erwähnt.
Wahrheitstabelle
Die Wahrheitstabelle ist eine aufzählende Darstellung einer booleschen Verknüpfung.
Links stehen die Eingangssignale und rechts die Ausgangssignale.
Die möglichen Eingangskombinationen Zn von n Signalen,
die nur die 2 Zustände '1' und '0' haben können, ist:
Zn = 2n.
Deshalb gibt es genau 2n + 1 Zeilen inklusive Überschrift.
Um sicher zu stellen, dass man alle Eingangskombinationen aufzählt, werden die Zeilen systematisch gefüllt.
Man zählt im Dualsystem: 000, 001, 010, 011, 100, .. genauso, wie im Dezimalsystem.
Betrachtet man die Spalten der Eingangssignale hat die rechte Spalte eine Sequenz von 0,1,0,1,...
Die nächste Spalte links davon hat die Sequenz: 0,0,1,1,0,0,1,1,..
Würde man dies in einem zeitlichen Ablauf betrachten, hätte die zweite Spalte die halbe Frequenz
der ersten Spalte.
VHDL
Boolesche Verknüpfungen können auch textuell dargestellt werden.
Die Hardware Description Languages (HDL) sehen aus, wie normale Programmiersprachen.
Es gibt statt Variablen Signale und Übergabeparameter werden als
Signale mit dem Typ bit oder std_logic versehen.
Zuweisungen '=' können als Verbindungen '<=' dargestellt werden.
Da HDLs sehr alt sind, ist die textuelle Beschreibung etwas aufwendiger, als bei modernen Programmiersprachen.
Es gibt auch noch höhere Beschreibungsmittel für digitale Systeme z. B. SystemC, Matlab, Labview.
Für VHDL gibt es eine ähnliche Entwicklungsumgebung, wie für andere Programmiersprachen.
In VHDL werden im Praktikum Logikfunktionen und ein einfacher Zustandsautomat realisiert.
Y = X1 ^ X2 = X1 · X2
Y <= X1 and X2;
y = X1 && X2;
X1
X2
Y
0
0
0
0
1
0
1
0
0
1
1
1
ODER, OR
Y = X1 v X2 = X1 + X2
Y <= X1 or X2;
y = X1 || X2;
X1
X2
Y
0
0
0
0
1
1
1
0
1
1
1
1
Diese Grundfunktionen finden sich in Formelsammlungen wieder oder werden auswendig gelernt.
Die Namen entsprechen der erwartenden Funktion (sprechende Namen).
UND: Nur wenn Eingang X1 und Eingang X2 '1' sind ergibt sich am Ausgang eine '1'.
ODER: Immer wenn Eingang X1 oder Eingang X2 '1' ist ergibt sich am Ausgang eine '1'.
Boolesche Algebra Grundfunktionen
Schaltfunktion
Schaltsymbol
Wahrheitstabelle
NICHT, NOT
Y = \overline{X} = !X = /X
Y <= not (X);
Y = !X;
x
Y
0
1
1
0
Der Kreis markiert die Invertierung des Signals.
Zur vereinfachten Darstellung kann statt eines
Inverters ein Kreis am Eingang gezeichnet werden.
Boolesche Algebra Grundfunktionen
Schaltfunktion
Schaltsymbol
Wahrheitstabelle
NAND
Y = \overline{X1 \wedge X2} Y = \overline{X1 · X2}
Y <= not (X1 and X2);
y = not(X1 && X2);
X1
X2
Y
0
0
1
0
1
1
1
0
1
1
1
0
NOR
Y = \overline{X1 \vee X2} Y = \overline{X1 + X2}
Y <= not( X1 or X2);
y = not( X1 || X2);
X1
X2
Y
0
0
1
0
1
0
1
0
0
1
1
0
Das vorgestellte N steht für not oder nicht.
Das Ausgangssignal der UND oder ODER Funktion wird invertiert.
Weitere Grundfunktionen
EXOR, XOR
Wahrheitstabelle
y=(not(X1) and X2) or (X1 and not(X2))
y=not(X1 and X2) and (X1 or X2)
Y= X1 xor X2;
Es gibt NICHT, UND, ODER Funktionen die WAHR oder FALSCH liefern.
Je nach Länderversion heißen die Funktionen im Englischen, dann
NOT, AND, OR.
Andere Funktionen müssen aus den Grundfunktionen zusammen gesetzt werden.
Mit Excel kann eine Handrechnung verifiziert werden.
Daneben kann man logische Verknüpfungen auch simulieren oder messen.
Simulation und Messung boolescher Verknüpfungen
Schaltplan LTSPICE
Zeitliche Simulation
Praktischer Aufbau
Signalmessung
Oszilloskop
Nach dem Entwurf einer digitalen Schaltung wird das Verhalten simuliert und mit der Wahrheitstabelle
verglichen. Dazu legt man nacheinander die Pegelkombinationen der Wahrheitstabelle an.
Bei der zeitlichen Simulation sieht man in Blau und Grün die Eingangssignale und in Rot das Ausgangssignal.
Zu einem Zeitpunkt wird eine Zeile der Wahrheitstabelle abgebildet und gemessen.
Zu Anfang liegt 00 am Eingang und der Ausgang ist auch 0.
Danach folgen die restlichen Zeilen der Wahrheitstabelle.
Nach erfolgreicher Simulation wird die Schaltung aufgebaut und
das korrekte Verhalten mit dem Oszilloskop gemessen.
Beispiel
Stellen Sie folgende boolesche Funktion als Schaltplan und Wahrheitstabelle dar:
y = ((x1+x2)(x2+x3))+/x4
Version 4
SHEET 1 880 680
WIRE -112 96 -160 96
WIRE -64 112 -80 112
WIRE -144 128 -160 128
WIRE -112 128 -144 128
WIRE -64 144 -64 112
WIRE -48 144 -64 144
WIRE 16 160 0 160
WIRE -48 176 -64 176
WIRE -144 192 -144 128
WIRE -112 192 -144 192
WIRE -64 208 -64 176
WIRE -64 208 -80 208
WIRE 16 208 16 160
WIRE 48 208 16 208
WIRE -112 224 -160 224
WIRE 96 224 80 224
WIRE 48 240 16 240
WIRE -112 288 -160 288
WIRE -16 288 -64 288
WIRE 16 288 16 240
WIRE 16 288 -16 288
FLAG -160 96 X1
IOPIN -160 96 In
FLAG -160 128 X2
IOPIN -160 128 In
FLAG 96 224 Y
IOPIN 96 224 In
FLAG -160 224 X3
IOPIN -160 224 In
FLAG -160 288 X4
IOPIN -160 288 In
FLAG -64 112 H1
FLAG -64 208 H2
FLAG 16 160 H3
FLAG -16 288 H4
SYMBOL NOT -80 288 R0
SYMATTR InstName X4
SYMBOL OR2 64 224 R0
SYMATTR InstName X6
SYMBOL AND2 -16 160 R0
WINDOW 0 3 -33 Bottom 2
SYMATTR InstName X1
SYMBOL OR2 -96 112 R0
SYMATTR InstName X2
SYMBOL OR2 -96 208 R0
SYMATTR InstName X3
TEXT 152 64 Left 2 !VDD VDD 0 DC 1\nVX1 X1 0 PULSE(1 0 0 5n 5n 95n 200n)\nVX2 X2 0 PULSE(1 0 0 5n 5n 195n 400n)\nVX3 X3 0 PULSE(1 0 0 5n 5n 395n 800n)\nVX4 X4 0 PULSE(1 0 0 5n 5n 795n 1600n)\n.tran 1600n
TEXT 144 240 Left 2 !.include cmosedu_models.txt
TEXT 144 272 Left 2 !.param CDL=10f
TEXT -8 80 Left 2 !.global VDD
Für die Wahrheitstabelle zerlegt man die Funktion in
einfache Hilfsfunktionen mit jeweils 2 Eingängen.
H1 = x1 + x2
H2 = x2 + x3
H3 = H1 * H2
H4 = /x4
Y = H3 + H4
Dies systematisiert den Lösungsweg, erhöht den Schreibaufwand, aber
vereinfacht die Auswertung der Einzelfunktionen.
Beispiel
Stellen Sie folgenden Schaltplan als boolesche Funktion und Wahrheitstabelle dar:
Genauso wie für die Rechenregeln und Gesetze für natürliche Zahlen gibt es
Rechenregeln und Gesetze für die boolesche Algebra.
UND und ODER Operationen sind gleichwertig.
Es empfiehlt sich Klammern einzusetzen.
Y =(X1 UND X2) ODER (X3 UND NICHT(X4))
Y =( X1 * X2 ) + ( X3 * /X4 )
Weiterhin gibt es Assoziativgesetz, Kommutativgesetz, Distributivgesetz und weitere Gesetze. Link Wikipedia.
Zur Vereinfachung von logischen Ausdrücken gibt es auch Reduktionsformeln und das Gesetz von De Morgan.
Wir werden in dieser Vorlesung nur mit Wahrheitstabellen, Karnaugh Diagrammen und Programmen
zur Vereinfachung von logischen Ausdrücken arbeiten.
Boolesche Operationen mit mehr als 2 Eingängen
Es werden NAND und XOR Wahrheitstabellen betrachtet.
Version 4
SymbolType BLOCK
LINE Normal -32 -33 -16 -33
LINE Normal -32 32 -16 32
LINE Normal -27 -31 -32 -33
LINE Normal -22 -25 -27 -31
LINE Normal -19 -16 -22 -25
LINE Normal -17 -2 -19 -16
LINE Normal -19 14 -17 -2
LINE Normal -22 22 -19 14
LINE Normal -27 29 -22 22
LINE Normal -32 32 -27 29
ARC Normal 15 -33 -48 32 -16 32 -16 -33
WINDOW 0 5 -30 Bottom 2
PIN -16 -16 NONE 8
PINATTR PinName A
PINATTR SpiceOrder 1
PIN -16 16 NONE 8
PINATTR PinName B
PINATTR SpiceOrder 2
PIN 16 0 NONE 8
PINATTR PinName Y
PINATTR SpiceOrder 3
Version 4
SymbolType BLOCK
LINE Normal -32 32 -32 -33
LINE Normal -32 -33 -16 -33
LINE Normal -32 32 -16 32
ARC Normal 15 -33 -48 32 -16 32 -16 -33
WINDOW 0 0 -33 Bottom 2
PIN -32 -16 NONE 8
PINATTR PinName A
PINATTR SpiceOrder 1
PIN -32 16 NONE 8
PINATTR PinName B
PINATTR SpiceOrder 2
PIN 16 0 NONE 8
PINATTR PinName Y
PINATTR SpiceOrder 3
Version 4
SymbolType BLOCK
LINE Normal -32 24 -32 -23
LINE Normal 0 0 -32 24
LINE Normal -32 -23 0 0
CIRCLE Normal 17 11 0 -9
WINDOW 0 -12 -23 Bottom 2
PIN -32 0 NONE 8
PINATTR PinName A
PINATTR SpiceOrder 1
PIN 16 0 NONE 8
PINATTR PinName Y
PINATTR SpiceOrder 2