Digitale Schaltungen - selbst erstellen |
Man könnte sagen: "Das ist Teil2 der Digitalen Schaltungen!"
Damit will ich sagen:
Dazu gehen wir in folgenden Schritten voran:
Weiterhin soll in diesem Teil die Art der digitalen Schaltungen auf solche ohne
Speichereigenschaften beschränkt werden.
Allerdings werden wir das Vereinfachen und das Erstellen der Schaltung hier schon
mal intensiver behandeln, es gilt ja auch für andere Arten der digitalen Schaltungen.
Verbale Beschreibung des technischen Problems
"Ich will mal einen Computer bauen!" - na ja, das wird wohl nichts werden!
Aber Teile daraus gehen:
ok - wir bleiben bei dem kleinen Addierwerk. Aber schon gibt es neues Problem -
wie rechnet eigentlich so ein Computer?
Man spricht ja auch genauer von einem Digital-Rechner.
Und da sind wir wieder bei digital.
Das bedeutet ganz einfach gesagt, dass wir nur die Zahlen (besser: Ziffern) 1 oder 0 zur Verfügung haben.
Was wir brauchen, ist ein kleiner Exkurs zu Zahlensystemen:
Die 10 in diesem System kennzeichnet das "Dezimalsystem", also können wir auch ohne Probleme ins Dualsystem umschwenken. Es muss ja gelten:
Aufgabe1:
Ermittle aus den Dezimalzahlen: 3, 7, 81 und 123 die Dualzahlen!
(erst einmal probieren, dann später hier nachsehen)
Von rechts beginnend, ist 3 + 7 natürlich 10 (der Übertrag ist in der ersten Stelle natürlich 0), wir schreiben aber nur die 0 hin, aber einen Übertrag für die nächste Stelle! In der nächsten Stelle müssen wir nun auch den Übertrag mit berücksichtigen: 2 + 5 + 1 = 8 Der Übertrag für die nächste Stelle ist 0. In der dritten Stelle gilt 1 + 0 + 0 = 1 (die erste 0 kommt aus der zweiten Zahl) |
Der wesentliche Unterschied zum verhergehenden Beispiel ist, daß in der letzten Stelle
ein Übertrag entsteht - im Ergebnis erweitern wir einfach den Wert um eine Stelle
nach links, wenn das Papier auf dem wir schreiben noch links Platz hat, geht das. Aber wir haben eben ein kleines wenn gehört! |
Man kann das auch im Dezimalsystem verfolgen, wir addieren 11(10) + 3(10), das sollte 14(10) als Ergebnis bringen. Dual funktioniert das in gleicher Weise rechte Stelle:
Als Ergebnis entsteht 1110(2) das entspricht natürlich 14(10). |
Nun haben wir ein kleines, nein ein großes Problem, das "wenn" von oben gilt,
wir haben kein Platz mehr. Wenn man sich technisch auf 4 Stellen festgelegt hat, geht es eben nur mit 4 Stellen - wir müssen überlegen, was man mit dem Übertrag machen kann! Auch wenn man die Stellenzahl erhöht, irgendwann geht es nicht mehr. In der Technik ist man so bei 64 Stellen. |
Zur weiteren Bearbeitung treffen wir die Festlegung:
Die nächste Frage ist: "Was machen wir mit Kettenrechnungen?"
Also, so etwa:
2 + 3 + 1 + 5 + 1
Die nächste Forderung sind 33 Summanden usw. Nicht für jede Anordnung kann man ein
Addierwerk bauen, man muß eine allgemeingültige Regel finden!
Eine solche wäre z.B.
Zwischensumme i-1 + Summand i = Zwischensumme i
also die neue Zwischensumme ist die Summe aus alter Zwischensumme plus neuem
Summand
Das bei dieser Aktion nicht nur 2 Summanden sondern auch der Übertrag verarbeitet
werden muss, wissen wir schon. Das Ganze kann man nun beliebig
oft wiederholen, man muss nur die richtigen Summanden ran-organisieren.
Und dann bleibt noch die Frage nach der Zwischensumme am Anfang? Die setzen wir
einfach auf 0 (jede Stelle 0). Hier mal so ein Beispiel:
Und da wir nun auch schon wissen, dass die Rechnung Stelle für Stelle erfolgt, braucht zunächst nur eine Stelle konstruiert werden! |
Damit können wir eine nächste Festlegung aufstellen:
Symbolisch könnte das so aussehen:
Wir wiederholen noch einmal:
Technische Beschreibung des Problems
Aus
Teil1 der digitalen Schaltungen
wissen wir, dass man das logische Verhalten einer Schaltung sehr gut durch eine
Wahrheitstabelle beschreiben kann.
Das Verfahren drehen wir nun einfach um - wir erstellen als erstes eine Wahrheitstabelle,
dazu muss es mindest eine Schaltung geben.
Wir haben 3 Eingangsgößen für die Schaltung, also muss die Wahrheitstabelle auch 3 Variable
haben, die die Werte 0 und 1 annehmen können. Die Kombination gibt dann 8
Möglichkeiten:
Wenn eine 1 in der Kombnation auftritt, ist die Summe 1 und der Übertrag 0. Tritt die 1 zweimal auf (egal wo, Ü oder a oder b), dann ist die Summe 0 und der Übertrag 1. In der letzten Kombination ist dann sowohl die Summe, wie auch der Übertrag 1. |
Es gibt also sowohl für S als auch für Ü nur an bestimmten Stellen eine 1.
Das wäre dann wie im Teil1, wenn die LED leuchtet - nur das interessiert uns! Man könnte also sagen, dass die LED für die Summe leuchtet, wenn Ü = 0 und b = 0 und a = 1 ist oder wenn Ü = 0 und b = 1 und a = 0 ist oder ... Ein wenig verändert (Aussagen auf 1 bezogen): wenn Ü ungleich 1 und b ungleich 1 und a gleich 1 ist oder wenn Ü ungleich 1 und b gleich 1 und a ungleich 1 ist oder ... |
So kann man natürlich auch den Übertrag aufschreiben:
Im linken Fenster gibt es eine Auswahl der Bauelemente. Es wurde "f(x) ALU" und in dem
Angebot dann VA (VollAdder)ausgewählt. Das Element wird wie üblich mit
der Maus angeklickt und rübergezogen. Aus dem Angebot "Schalter" kommen die Schalter
und aus "Anzeige" die Lampen. Verbindungen der Elemente werden einfach durch ziehen
mit der Maus vom Ausgang zum entsprechenden Eingang organisiert usw.
Im übrigen lassen sich fast alle Bauelemente noch modifizieren. Nach Klicken aufs
Zahnrad in der Bedienleiste sind die Schalter aktiv und schalten durch Anklicken um -
ich finde das einfach toll.
Das Bild zeigt A = 1, B = 0 und C (Ü) = 0, daraus folgt S = 1 und C (ü) = 0;
obere Lampe für die Summe leuchtet (1), die untere nicht (0).
Die Datei: digitalsimulatorv5.57.exe muss man aus dem Netz laden (etwa 27MB).
Viele Uni's verwenden diese Software, kann man dort herunterladen
(Niemals Adresse angeben, ist Free-Ware - dann ist es ein unlauterer Anbieter!).
Man muss zur Installation als Administrator angemeldet sein und eine Internetverbindung
haben. Bisher habe ich auch keine Vieren über die Seite abgefasst, dass das so immer
ist -
Aufgabe
Zur Festigung und Kontrolle wollen wir eine zweite Aufgabe als Übungsaufgabe bearbeiten, d.h. ich weniger!
Im Teil1 der digitalen Schaltungen
haben wir die logischen Grundfunktionen wie AND, OR, NAND und NOR kennengelernt.
Wir wollen nun eine Schaltung (Schaltkreis) entwickel, die alle 4 Grundfunktionen
ausführen kann!?
Hinweise:
Es sollen nur 2 Eingänge logisch Verknüpft werden.
Da 4 Funktionen dazu ausgewählt werden sollen, braucht man 2 weitere Eingänge:
Vervollständige die Tabelle mit allen Kombinationen der 4 Eingangsgrößen und trage unter
y das logische Ergebnis ein.
Unter "Funktion" ist der Name der aktuellen logischen Funktion einzutragen.
(erst einmal probieren, dann später
hier nachsehen)
Vereinfachung der Beschreibung per Formel
Nun haben wir die Beschreibung der Schaltung mittels einer Formel. Daraus kann man
sofort die Schaltung erstellen - das heben wir uns aber noch etwas auf, denn man
sollte immer zunächst mal schauen, ob die Formel vereinfacht werden kann.
Das ist ganz wichtig, denn jede Verkleinerung der Formel reduziert auch die
Schaltung, d.b. weniger Gatter - weniger teuer. Das schränkt nicht die Funktion ein,
es werden nur unsinnige Verbindungen und logische Funktionen gesucht und beseitigt.
Die Basis der Arbeit sind die schon aus Teil1 bekannten Regeln:
Bisher wurde es nicht so deutlich gesagt: AND hat höhere Priorität als OR deshalb müssen die Klammern geschrieben werden! |
Im ersten Schritt (1) beseitigen wir erst mal die Klammer.
Der letzte Teil mit x1 und x0 einmal negiert und einmal nicht, ist immer sehr
verdächtig für eine dolle Vereinfachung.
In dem Extra-Kästchen soll das probiert werden:
Zunächst beseitigt man die Negation über die beiden Werte, erhält die Negation der
einzelnen Werte und das logische ODER.
Jetzt kann man wieder die Klammer beseitigen und erhält zwei Ausdrücke in denen die eine
Größe immer negiert und unnegiert auftritt. Das ist gut denn dass ist 0. Aber 0 UND x
ist auch 0, damit wird tatsächlich der ganze Teil 0 (2).
Nun kann man den langen Strich beseitigen (3) und erhält ein relativ einfaches Ergebnis.
Es hat sich doch gelohnt, hier zunächst theoretisch an der Formel zu arbeiten,
wir brauchen nur noch einen ODER-Baustein mit 3 Eingängen und 2 Negatoren (sicher ein
zweiter Baustein - geht aber auch mit nur einem).
Das Kästchen muss man noch einmal betrachten:
Wenn man das als Schaltung aufbauen soll, kann man sich viel Arbeit machen. Wir haben aber gezeigt dass das Ergebnis 0 ist! Was bedeutet das? Die Schaltung funktioniert wie eine Leitungsunterbrechung, ich kann sie auch weglassen!!! So spart man also noch mehr Aufwand. |
Die Vereinfachung (1) ist zu verstehen. In (2) kommt jedoch ein fieser Trick, wir fügen zu x1 negiert einfach mit UND eine 1 hinzu - das ist ok. Daneben steht wie die 1 realisiert wird, dass ist auch richtig, aber wer kommt darauf? In (3) wird das eingesetzt, und in (4) ausgerechnet, was dann in (5) wieder anders ausgeklammert wird - und siehe da, da x ODER x negiert 1 ist und auch x ODER 1 auch 1 ist bleibt nur x ODER x negiert (6), das ist aber auch 1, was nun auch das Ergebnis ist! Was bedeutet das? Die Schaltung funktioniert nun wie ein Draht, kann man also weglassen und die Betriebsspannung an den nächsten Eingang legen!!! |
Aufgabe3:
Vereinfache folgende Schaltfunktion:
Das Vereinfachen der Funktionen für das Addierwerk und das Universalgatter verschieben
wir auf den nächsten Punkt. Beide lassen sich wenig vereinfachen und das nur wieder
durch hinzufügen weiterer Elemente - also später!
Fakt ist, dass es einiger Übung bedarf immer den richtigen Ansatz zu finden!
Vereinfachung der Beschreibung per Grafik
Basis für eine Vereinfachung war das Ausklammern:
Die Anordnung der 4 Elemente ist beliebig, es sollte jedoch ein Quadrat sein und einer
Regel entsprechen:
In der oberen Zeile ändert sich nur die rechte Stelle, genialer Weise auch in der zweiten Zeile Auch unterscheidet sich die zweite Spalte nur um eine Stelle von der ersten Spalte. Bei größeren Anordnungen gilt die gleiche Forderung. Gibt es also benachbarte Elemente, fällt diese Stelle heraus! - das entspricht genau der beschriebenen Vereinfachung. |
Häufig sieht man, dass nur die unnegierten Bezeichnungen der Spalten und Zeilen geschrieben werden. |
Nehmen wir folgendes Beispiel: Diese beiden Teile tragen wir ins Schema ein bei 3 und 1, sie sind benachbart. |
Ein anderes Beispiel: (das erste Element (1) liegt oben links (nicht in b und nicht in a), das zweite (1) oben rechts (nicht in b aber in a), das dritte (2) unten links (in b nicht in a). |
Als Ergebnis erhalten wir:
Noch ein letztes Beispiel, bevor wir uns wieder unserer Aufgabe widmen:
Das scheint irgendwie unsinnig zu sein, das entspricht der schon bekannten
Funktion: Wenn alle Elemente herausfallen entspricht das wieder einem Draht, das Ergebnis ist 1. |
Mit 3 Variablen kann man 8 Kombinationen erzeugen, die müssen wieder sinnvoll angeordnet werden, ein Quadrat geht nicht. Aber auch im Rechteck gibt es Möglichkeiten die Kombinationen so anzuordnen, dass sie sich zum Nachbarn immer nur in eine Stelle unterscheiden, es gibt viele Varianten. Ich schlage folgende vor:
Man beachte, dass auch die rechte Spalte auch an die ganz linke passt, d.h. es kann auch Blöcke über die Ränder hinweg geben! |
Tragen wir nun die Summe in das Schema ein:
dann entsteht folgendes Bild, was wieder typisch ist. |
Probieren wir das gleiche mit dem Übertrag:
dann läßt sich etwas vereinfachen. |
Die erste Aufgabe ist nun bezüglich der Vereinfachung abgearbeitet, nun wollen wir uns wieder dem universellen Baustein für die logischen Grundfunktionen zuwenden.
Auch hier soll nun eine grafische Vereinfachung realisiert werden.
Man sieht sofort, dass es wohl schwieriger werden wird, denn nun haben wir es mit
4 Eingangsgrößen zu tun - aber keine Bange, das packen wir auch!
Wie bisher gilt auch hier die Forderung, die Elemente so anzuordnen, dass sie sich zum Nachbar nur um eine Stelle unterscheiden. Das klingt erstmal schwierig, wir erweitern aber nur das Schema für 3 Größen, indem wir zwischen die zwei Zeilen zwei weitere einfügen. Für allgemein genannte Größen dcba kann man leicht folgendes Schema aufschreiben:
Man kann selbstverständlich auch eine andere Anordnung finden, das ist völlig egal,
man sollte nur ein Schema nutzen, was man sich leicht merken kann.
Noch etwas ist zu beachten:
Nun gibt es große Blöcke, ein 16-er Block ist wieder ein Draht. Man sollte immer
große Blöcke finden, jede 1 muß mindest einmal durchlaufen werden.
Nehmen wir ein Beispiel:
Werte: 2,1,12,15,13,4,5 |
Dieses Element ist einzutragen: |
nicht in a (1. und 2. Spalte) |
UND in b (2.Spalte) |
UND nicht in c (2.Spalte 1. und 2. Zeile) |
UND nicht in d (2.Spalte 1.Zeile) |
Insgesamt haben wir nun 7 mal eine 1 im Schema. Auf den ersten Blick sieht man 3 zweier
Blöcke und 2 einzelne Elemente.
Ich möchte noch einmal an die Möglichkeit erinnern, dass es auch über den Rand hinaus
weiter geht - nun der zweite Blick und wir stellen fest, es gibt sogar einen 4-er
Block (unten links und rechts) und das obere rechte Element bildet nach unten ein
2-er Block. Das Element, was als Beispiel gezeigt wurde (die 2), bleibt ein einzelnes
Element. Damit gibt es nun folgende Blöcke:
Wir können feststellen, dass es eine recht große Vereinfachung gab!
Dieses Ergebnis könnte man nun in eine Schaltung umsetzen
Zuvor gibt es jedoch eine Aufgabe, denn unser Universal-Baustein (4 logische Funktionen)
muss auch noch bearbeitet werden.
Aufgabe4:
Für den Universalbaustein mit 4 logische Grundfunktionen, kann man aus der Wahrheitstabelle folgende Funktionsbeschreibung aufstellen:
Eigentlich ist das ganz einfach, denn wir haben ja die Beschreibung durch die Formel, die brauchen wir ja nur umsetzen. Nehmen wir wieder als Beispiel unseren Addierer:
Schaltung Addierer
Das können wir denn mal üben.
Aufgabe5:
Für unseren Universalbaustein zur Realisierung von 4 logischen Grundfunktionen sollte folgende Formel nach der Vereinfachung entstanden sein:
(erst einmal probieren, dann später hier nachsehen)
Umwandlung der Schaltung in eine bestimmte Gatter-Form
Das kann durchaus passieren - auf Grund von irgendwelchen technischen Forderungen,
sei es dass nur diese Sorte Gatter vorhanden ist oder die billiger sind, ist eine
bestimmte Gatter-Art gefordert.
Wir legen mal fest: "Wir wollen nur NAND-Gatter mit zwei Eingängen verwenden!!!"
Ich gebe zu, das ist heftig, aber es geht. Auch hier gibt es systematische Schritte,
die die Aufgabe vereinfachen oder erst möglich machen. Zwei Möglichkeiten sind
vorhanden:
Für die Negation die beiden Varianten |
Für die UND-Funktion |
Für die ODER-Funktion |
So sieht der Schaltkreis innen aus. Auffällig ist, dass der letzte Übertrag durch eine spezielle Schaltung erzeugt wird. Das ist so bei großer Rechenbreite üblich, denn so steht der Übertrag sofort zur Verfügung. |
Will man von diesem Schaltkreis nur einen Addierer nutzen, so geht das nur mit der letzten Stelle S4, denn nur hier erhält man auch den Übertrag Ün (C0). Bis zu dieser Stelle muss man definierte interne Überträge erzeugen, das geht immer mit 0 + 0. Für die 4. Stelle kommt also als Ü = 0. An der 4. Stelle kann man mittels Schalter die Addition überprüfen. |
Aufgabe6:
Für unseren Universalbaustein zur Realisierung von 4 logischen Grundfunktionen ist eine Schaltung ausschließlich aus NAND's mit jeweils 2 Eingängen aufzubauen!
(erst einmal probieren, dann später hier nachsehen)
Nach dem wir uns nun mächtig gequält haben, auch etwas Positives.
Den Schaltkreis (in erweiterter Form) gibt es tatsächlich schon, wir können ihn
einfach nutzen - toll!
zurück zur Start-Seite |