InhaltVorheriges Kapitel Nächstes Kapitel

3 Datenselektoren

3.3 Speicherrealisierung digitaler Schaltungen




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:


Eingänge
Ausgänge
Adressen
Inhalt
d
c
b
a
A
B
C
D
E
F
G
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0

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: