Inhalt | Vorheriges Kapitel | Nächstes Kapitel |
Für die Lösung eines schaltungstechnischen Problems bietet die Digitaltechnik unterschiedliche Wege, von denen einige bereits behandelt wurden.
Insbesondere drei Methoden können
auf Grund ihrer Bedeutung unterschieden werden:
Das zu lösende Problem wird algebraisch in Form einer Booleschen Funktion formuliert. Die technische Realisierung geschieht unter Anwendung spezieller Gatterschaltungen.
Die so entwickelten Schaltungen
haben den Vorteil einer hohen Verarbeitungsgeschwindigkeit, allerdings
sind sie schwerer zu entwickeln und zu modifizieren.
Die geforderten Ausgangssignale werden durch Datenoperationen aus den Eingangswerten erzeugt. Die Sequenzen dieser Operationen werden als Algorithmen formuliert und als Programm an spezielle Mikroprozessoren und programmierbare Bausteine angepaßt. Die notwendigen Programme werden bei dieser Logik-Realisierung meistens in Festwertspeichern (ROMs) abgelegt, Zwischenwerte, die während der Programmausführung anfallen, dagegen in Schreib-Lese-Speichern (RAMs).
In dieser Form realisierte Schaltungen
laufen zwar langsamer ab, sie haben aber den Vorteil einer einfacheren
Entwicklungs- und Testphase.
Ist eine Boolesche Funktion vorgegeben, so ist die Beziehung zwischen Ein- und Ausgangswerten eindeutig bestimmt; die Schaltung kann in der tabellarischen Form einer Wertetabelle (Wahrheitstafel) beschrieben werden. Als einfachster Weg einer Realisierung der Schaltung bietet sich dann das Ablegen dieser Tabelle in einem Speicher an.
Diese Realisierungsform führt zu der als "Programmierbare Logik" bezeichneten Methodik; die zur Realisierung verfügbaren speziellen Bausteine werden unter dem Begriff PLD zusammengefaßt (programmable logic device).
3.3.1 Speicherdarstellung einer Wertetabelle
An Hand des bereits behandelten Problems der Umwandlung des BCD-Codes in den Siebensegment-Code kann die speicherorientierte Lösung verdeutlicht werden.
Zu diesem Zweck werden die den BCD-Code darstellenden Eingangsvariablen als Adressen zur Speicheradressierung interpretiert.
Der Siebensegment-Code stellt den zugehörigen Speicherinhalt dar:
Abb. 3.14: Speicherbelegung zur Umwandlung des BCD-Codes.
Um den gesamten Tabelleninhalt in einem Speicher ablegen zu können, ist offensichtlich eine Speicherkapazität von 16*7 Bit notwendig.
Der BCD-Code ist kein vollständiger
Code. Der Eingangsbereich der Adressen 10 - 15 kann
deshalb als "don't care"-Bereich spezifiziert
werden, der in diesem Fall mit Null-Werten aufgefüllt wurde.
Jede der in dieser Tabelle dargestellten
sieben Booleschen Funktionen A - G kann wiederum über
eine Minterm-Dekodierung und nachfolgender Zusammenfassung dieser
Minterme durch ODER-Verknüpfung dargestellt werden (s.o.).
An Hand der Speicheradresse 2 und der Ausgangsfunktion E soll dies näher erläutert werden:
Zur Dekodierung der Eingangswerte
(Adressen) kann zur vereinfachten Darstellung ein entsprechend
beschaltetes UND-Gatter benutzt werden:
Abb. 3.15: Darstellung des Minterms m2 und einer Teilfunktion der Ausgangsfunktion E.
Die Verknüpfung erzeugt den Minterm m2. Wie aus der Tabelle ersichtlich, wird dieser Minterm zur Beschreibung der Funktionen A, B, D, E und G benötigt.
Zur Beschreibung der Funktion E werden
weiterhin die Minterme m0,
m6
und m8
benötigt, die durch äquivalente Dekoder-Realisierungen
(UND-Gatter) erzeugt werden können. E ergibt sich schließlich
durch ODER-Verknüpfung der beteiligten Minterme:
. | (3.2) |
Die Beziehung der speicherinternen
Funktionsdarstellung zur vorher behandelten Minterm-Darstellung
ist damit hergestellt.
Derartige Problemlösungen mit
Festwertspeichern haben Vor- und Nachteile:
Vorteile:
Nachteile:
Insbesondere die Tatsache, daß
sich weder "don't care"-Positionen ergeben können
noch eine Implikandenbildung möglich ist, erweist sich als
besonders nachteilig.
Inhalt | Vorheriges Kapitel | Nächstes Kapitel |