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.
entity und is port (
X1,X2: in bit;
Y: out bit);
end und;
architecture logic of und is
begin
Y <= X1 and X2;
end
Schaltfunktionen
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.
entity NAND is port (
X1,X2: in bit;
Y: out bit);
end NAND;
architecture logic of NAND is
begin
Y <= NOT(X1 and X2);
end
Boolesche Algebra Grundfunktionen
Schaltfunktion
Schaltsymbol
Wahrheitstabelle
UND, AND
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
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.