-
Die
vorliegende Erfindung bezieht sich auf eine integrierte Logikschaltung
und ein Verfahren zum Herstellen einer integrierten Logikschaltung.
-
Logikschaltungen
im Sinne der vorliegenden Erfindung sind Schaltungen, die Informationen
umwandeln, aufbereiten oder auf andere Weise verarbeiten. Die zu
verarbeitende Information wird in der Regel von außen empfangen.
Die Verarbeitung der Information erfolgt beispielsweise durch logische
Verknüpfungen
von empfangenen Informationen oder von empfangenen Informationen
mit gespeicherten Informationen. Das Ergebnis der Informationsverarbeitung
wird über
Ausgänge
der Logikschaltung ausgegeben.
-
Logikschaltungen
werden in großer
Vielfalt und in großer
Stückzahl
hergestellt und in immer mehr Gebieten der Technik eingesetzt. Herkömmliche
Logikschaltungen sind beispielsweise FPGA-Bausteine (FPGA = Field
Programmable Gate Array), ASICs (ASIC = Application Specific Integrated
Circuit), ASSP (ASSP = Application Specific Standard Product), Gate-Arrays
etc. Diese herkömmlichen
Logikschaltungen werden in der Regel mit Speicherbauelementen auf
dem gleichen Chip oder auf einem separaten Chip kombiniert. Sie
werden unter anderem zur Steuerung oder Regelung zahlreicher Geräte verwendet.
-
Die
Logikschaltung und der Speicher werden in der Regel in unterschiedlichen
Technologien gefertigt. Sowohl die Integration eines großen Speichers
mit einer Logikschaltung auf einem Chip bzw. als auch die Kombination
zweier separater integrierter Schaltungen wirken sich ungünstig auf
die Herstellungskosten aus.
-
Aus
der
DE 69913582 T2 ist
eine Logikschaltung bekannt, die einen integrierten RAM-Speicher
mit einem Adressendekodierer, einer Mehrzahl von Speicherzellen
und einer Kopplungseinrichtung, die Datenausgangssignale des RAM-Speichers
auf einen Teil der Adresseingänge
des RAM-Speichers rückkoppelt,
aufweist. Die Logikschaltung dient dabei als Kodierer, der in Form
eines Schrittschaltwerkes ausgebildet ist.
-
Eine
Aufgabe der vorliegenden Erfindung besteht darin, eine verbesserte
integrierte Logikschaltung und ein Verfahren zu ihrer Herstellung
zu schaffen.
-
Diese
Aufgabe wird durch die Gegenstände
der unabhängigen
Ansprüche
gelöst.
-
Bevorzugte
Weiterbildungen der vorliegenden Erfindung werden in den abhängigen Ansprüchen definiert.
-
Die
vorliegende Erfindung beruht auf der Erkenntnis, dass zahlreiche
Aufgaben, für
die Logikschaltungen eingesetzt werden, einen großen Speicherbedarf
für Bildschirmmasken,
akustische Ansagen etc., aber nur eine relativ einfache Logik erfordern,
beispielsweise ausschließlich
Verzweigungen. Die vorliegende Erfindung beruht ferner auf der Idee,
eine Logik durch einen oder mehrere Speicherbereiche und deren Verknüpfung in
einer integrierten Schaltung zu realisieren. Datenausgänge eines
Speicherbereichs werden direkt oder indirekt mit Adresseingängen des
Speicherbereichs oder eines anderen Speicherbereichs der integrierten Schaltung
gekoppelt. Die Logik wird durch die Kopplung der Datenausgänge mit
den Adresseingängen
und durch die im Speicherbereich gespeicherte Information implementiert.
-
Die
Speicherzellen des Speicherbereichs können sowohl Festwertspeicherzellen
(ROM = Read Only Memory) als auch nichtflüchtige oder flüchtige Speicherzellen
mit veränderbarem
Inhalt (DRAM, FRAM-, MRAM, PCRAM, CBRAM, PROM, EPROM, EEPROM, Flash
etc.) umfassen. Ein Speicherbereich kann Speicherzellen mehrerer
verschiedener Typen umfassen, oder mehrere Speicherbereiche können jeweils
einen von mehreren Typen von Speicherzellen umfassen. Speicherzellen
mit unveränderlichem
Inhalt werden beispielsweise implementiert, indem in einer DRAM-Schaltung
die Speicherkondensatoren durch elektrisch leitfähige Verbindungen (beispielsweise
pull-up- oder pull-down-Widerstände) mit
VDD oder VSS ersetzt
werden. Die Pro grammierung der Logik erfolgt in diesem Fall beispielsweise
im Backend der Produktionslinie durch leitfähige Strukturen in einer Metallisierungsebene.
-
Die
Verwendung von PROM-, EPROM-, EEPROM-, FRAM-, MRAM-, PCRAM-, CBRAM-,
Flash- oder anderen Speicherzellen, die nach Abschluss des Herstellungsverfahrens
einmal oder mehrfach beschreibbar sind, ermöglicht eine Programmierung
der integrierten Logikschaltung unabhängig von deren Herstellung.
Die integrierte Logikschaltung kann in großen Stückzahlen und damit kostengünstig hergestellt,
gehäust
und gelagert werden. Die Anpassung an eine spezifische Aufgabe bzw.
die Programmierung der Logik ist jederzeit möglich. Im Falle mehrfach wiederbeschreibbarer
Speicherzellen (EEPROM, EPROM, MRAM, PCRAM, CBRAM, Flash etc.) kann
die auf der integrierten Logikschaltung durch den Speicherinhalt
der Speicherzellen implementierte Logik jederzeit korrigiert, modifiziert
oder an eine neue Aufgabe angepasst werden.
-
Eine
Verwendung flüchtiger
Speicherzellen (beispielsweise DRAM) hat eine Löschung der Logik nach einer
mehr als nur kurzfristigen Unterbrechung der Leistungsversorgung
zur Folge. Für
die integrierte Logikschaltung kann beispielsweise durch Dimensionierung
der in einem Kondensator oder einem Akkumulator gespeicherten Energie
eine vorbestimmte Lebensdauer bestimmt werden. Ferner kann durch
Verwendung flüchtiger
Speicherzellen sichergestellt werden, dass bei einer Manipulation
eines Geräts
die implementierte Logik gelöscht
wird, beispielsweise durch Unterbrechung der Leistungsversorgung.
-
Eine
integrierte Logikschaltung kann mehrere oder viele Speicherbereiche
umfassen, wobei jeder Speicherbereich eine Mehrzahl von Gruppen
von Speicherzellen, einen Adressdecoder und eine Mehrzahl von Datenausgängen umfasst.
Eine Gruppe von Speicherzellen umfasst beispielsweise die einer
Wortleitung zugeordneten Speicherzellen. In jedem Speicherbereich
ist jeder Gruppe von Speicherzellen eine Adresse zugeordnet. Der Adressdecoder
eines Speicherbereichs empfängt über eine
Mehrzahl von Adresseingängen eine
Adresse und wählt
die Gruppe von Speicherzellen aus, der die empfangene Adresse zugeordnet
ist. Die in der von dem Adressdecoder ausgewählten Gruppe von Speicherzellen
gespeicherte Information wird über die
Mehrzahl von Datenausgängen
ausgegeben. Zumindest ein Teil der Datenausgänge eines Speicherbereichs
ist mit zumindest einem Teil der Adresseingänge des Adressdecoders desselben
Speicherbereichs oder eines anderen Speicherbereichs gekoppelt.
Diese Kopplung erfolgt im einfachsten Fall durch eine entsprechende
Anzahl paralleler Leitungen. Alternativ sind nur ein Datenausgang
und ein Adresseingang miteinander gekoppelt, wobei die Übertragung
von Information zwischen dem Datenausgang und dem Adresseingang
seriell erfolgt. Die Kopplung erfolgt durch elektrisch leitfähige Verbindungen,
optische Wellenleiter und/oder andere Kommunikationskanäle. Zur
Synchronisation mit einem Takt kann in diesen Leitungen ein Master-Slave-Speicher oder
eine andere Taktsynchronisierungseinrichtung vorgesehen sein.
-
Eine
integrierte Logikschaltung kann zunächst mit einer Vielzahl von
Speicherbereichen, wie sie oben beschrieben wurden, sowie optional
mit weiteren Funktionselementen, beispielsweise Decodern oder Multiplexern,
hergestellt werden. Die integrierte Logikschaltung kann neben Decodern,
die als Adressdecoder Teil eines Speicherbereichs sind, weitere
Decoder aufweisen. Ferner kann die integrierte Logikschaltung Multiplexer
als Teile von Speicherbereichen oder auch als von Speicherbereichen
unabhängige
Funktionselemente aufweisen. Eine Spezialisierung auf eine bestimmte
Art oder Klasse von Aufgaben erfolgt dann durch die Verdrahtung
bzw. Verbindung der Speicherbereiche und anderen Elemente durch
Leiterbahnen im Backend des Herstellungsprozesses. Eine Programmierung
für eine
ausgewählte
Aufgabe erfolgt durch Beschreiben der Speicherzellen mit entsprechender
Information.
-
Nachfolgend
werden Ausführungsbeispiele
der vorliegenden Erfindung mit Bezug auf die Figuren näher erläutert. Es
zeigen:
-
1 eine
schematische Darstellung eines Speicherbereichs mit aus dem Stand
der Technik bekanntem Aufbau;
-
2 eine
schematische Darstellung eines Speicherbereichs mit aus dem Stand
der Technik bekanntem Aufbau;
-
3 eine
schematische Darstellung einer integrierten Logikschaltung mit aus
dem Stand der Technik bekanntem Aufbau;
-
4 eine
schematische Darstellung eines Teils einer integrierten Logikschaltung;
-
5 eine
schematische Darstellung eines Teils einer integrierten Logikschaltung;
-
6 eine
schematische Darstellung einer integrierten Logikschaltung;
-
7 eine
schematische Darstellung einer integrierten Logikschaltung;
-
8 eine
schematische Darstellung eines Teils einer integrierten Logikschaltung;
-
9 eine
schematische Darstellung eines Teils einer integrierten Logikschaltung;
-
10 eine
schematische Darstellung eines Teils einer integrierten Logikschaltung;
-
11 eine
schematische Darstellung einer integrierten Logikschaltung; und
-
12 eine
schematische Darstellung eines Flussdiagramms eines Verfahrens zum
Herstellen einer integrierten Logikschaltung.
-
1 ist
eine schematische Darstellung eines Beispiels eines Speicherbereichs 20 mit
bekanntem Aufbau, der für
die nachfolgend beschriebenen Logikschaltungen verwendbar ist. Der
Speicherbereich 20 weist eine Mehrzahl von Speicherzellen 21 auf,
die zum Speichern von jeweils einem oder mehreren Bits jeweils zwei
oder mehr verschiedene Zustände
annehmen können.
Jede Speicherzelle 21 ist beispielsweise eine DRAM- oder eine andere
flüchtige
Speicherzelle oder eine ROM-, PROM-, EPROM-, EEPROM-, MRAM-, PCRAM-,
CBRAM-, Flash- oder andere nicht-flüchtige Speicherzelle. Die Speicherzellen 21 sind
beispielsweise wie in 1 dargestellt in einem rechteckigen
Array an Kreuzungspunkten von Wortleitungen 221 und Bitleitungen 241 angeordnet.
-
Die
Wortleitungen 221 sind mit einem Adressdecoder 22 verbunden.
Der Adressdecoder 22 weist eine Mehrzahl von Adresseingängen 23 auf.
Die Bitleitungen 241 sind mit Leseverstärkern 24 verbunden.
Die Leseverstärker
weisen Datenausgänge 25 auf.
Alternativ zu der Darstellung in 1 können beispielsweise Speicherzellen 21 nur
an jeder zweiten Kreuzung einer Wortleitung 221 mit einer
Bitleitung 241 angeordnet und jeder Leseverstärker 24 mit
zwei Bitleitungen 241 verbunden sein.
-
In
dem in 1 dargestellten Beispiel weist der Adressdecoder 22 vier
Adresseingänge 23 auf.
Wenn der Adressdecoder 22 dazu ausgebildet ist, über jeden
Adresseingang 23 ein binäres Signal zu empfangen, kann
er bis zu 16 verschiedene Adressen empfangen und eine entsprechende
Anzahl von Wortleitungen 221 einzeln adressieren. Wenn
der Speicherbereich 20, wie in 1 beispielhaft
dargestellt, 12 Leseverstärker 24 umfasst,
kann der Speicherbereich 20 bis zu 192 Speicherzellen 21 umfassen,
die in 16 Gruppen 12 Speicherzellen 21 angeordnet
sind.
-
2 ist
eine schematische Darstellung eines Speicherbereichs 20 mit
bekanntem Aufbau in der Art, wie Speicherbereiche in den nachfolgenden
Figuren schematisch dargestellt werden. Unabhängig vom inneren Aufbau, insbesondere
von der Anzahl und Art der Speicherzellen, der Anzahl der Wortleitungen,
der Anzahl der Bitleitungen, der Anzahl der Leseverstärker, der
Anzahl der Adresseingänge
und der Anzahl der Bits, die in einer Speicherzelle gespeichert
sind, umfasst ein Speicherbereich 20 jeweils eine Mehrzahl
von Gruppen von Speicherzellen, denen jeweils eine Adresse zugeordnet
ist. Der Begriff Speicherzelle umfasst dabei jede Art von mehr oder
weniger scharf abgrenzbarem Speicherort. Eine Speicherzelle kann
durch elektrische bzw. elektronische Bauelemente oder auch durch
optische oder andere Bauelemente oder mehr oder weniger definierte
Orte in einem beliebigen Speichermedium realisiert sein. Der Speicherbereich 20 kann über Adresseingänge 23 eine
Adresse empfangen und über
Datenausgänge 25 Information,
die in der Gruppe von Speicherzellen gespeichert ist, der die Adresse
zugeordnet ist, ausgeben.
-
3 ist
eine schematische Darstellung einer an sich bekannten integrierten
Logikschaltung 10 mit Eingängen 11 und Ausgängen 12.
Jeder Eingang 11 der integrierten Logikschaltung 10 ist
mit einem Adresseingang 23 eines Speicherbereichs 20 gekoppelt.
Jeder Ausgang 12 der integrierten Logikschaltung 10 ist mit
einem Datenausgang 25 des Speicherbereichs 20 gekoppelt.
Die Anzahl der Adresseingänge 23 des Speicherbereichs 20 ist
größer als
die Anzahl der Eingänge 11 der
integrierten Logikschaltung 10. Die Anzahl der Datenausgänge 25 des
Speicherbereichs 20 ist größer als die Anzahl der Ausgänge 12 der
integrierten Logikschaltung 10. Adresseingänge 23 des
Speicherbereichs 20, die nicht mit Eingängen 11 der integrierten Schaltung 10 gekoppelt
sind, sind über
Kopplungsleitungen 41 mit Datenausgängen 25 des Speicherbereichs 20 gekoppelt.
-
Bei
dem in 3 dargestellten Beispiel sind nur Datenausgänge 25,
die nicht mit Ausgängen 12 der integrierten
Schaltung 10 gekoppelt sind, mit Adresseingängen 23 des
Speicherbereichs 20 gekoppelt. Alternativ können jedoch
auch einer oder mehrere Datenausgänge 25 des Speicherbereichs 20 jeweils
gleichzeitig mit einem Ausgang 12 der integrierten Logikschaltung 10 und
einem Adresseingang 23 des Speicherbereichs 20 gekoppelt
sein. Ferner können
weitere, in 3 nicht dargestellte Adresseingänge des
Speicherbereichs 20 mit weiteren, in 3 nicht
dargestellten Elementen gekoppelt sein. Ferner können in 3 dargestellte Datenausgänge 25 und/oder
weitere, in 3 nicht dargestellte Datenausgänge des
Speicherbereichs 20 mit weiteren, in 3 nicht
dargestellten Elementen gekoppelt sein.
-
Jeder
Eingang 11 der integrierten Logikschaltung 10 ist über einen
Schalter 31 mit Masse 32 oder einem anderen definierten
Potenzial verbunden. Jeder Ausgang 12 der integrierten
Logikschaltung 10 ist über eine
Ausgabeeinrichtung 33 mit Masse 34 oder einem
anderen definierten Potenzial verbunden. Die Ausgabeeinrichtungen 33 sind
in 3 beispielhaft als Leuchten dargestellt. Jede
einzelne Ausgabeeinrichtung 33 kann jedoch eine beliebige
akustische Anzeigeeinrichtung (Summer, Lautsprecher etc.) oder optische
Anzeigeeinrichtung (Lampe, alphanumerische Anzeige etc.) oder elektromechanische
Wirkeinrichtung (Elektromagnet, Relais, elektromagnetisches oder
piezoelektrisches Ventil, Elektromotor etc.). Jede einzelne Ausgabeeinrichtung 33 kann
dabei, wie in 3 gezeigt, direkt über eine
Leitung oder auf andere Weise (beispielsweise über einen Impedanzwandler oder
Verstärker)
mit einem Ausgang 12 der integrierten Logikschaltung 10 verbunden
bzw. gekoppelt sein.
-
Die
Schalter 31 sind beispielsweise dafür vorgesehen, von einem Anwender
bzw. Benutzer betätigt
zu werden. Die Ausgabeeinrichtungen 33 sind beispielsweise
dafür vorgesehen,
dem Benutzer einen Status anzuzeigen, ihn zur Eingabe einer Information
oder zu einer Auswahl aufzufordern. Beispielsweise ist die integrierte
Logikschaltung 10 Bestandteil eines Fahrkartenautomaten
im öffentlichen
Nahverkehr. Die Schalter 31 sind Taster, mit denen ein
Fahrgast eine Fahrkarte, ein Fahr ziel oder eine gewünschte Art
der Bezahlung angibt, oder mithilfe derer der Fahrkartenautomat
den Einwurf einer Münze
erfasst. Die Ausgabeeinrichtungen 33 sind beispielsweise
Leuchten oder Mehrsegmentanzeigen, die die ausgewählte Fahrkarte,
den Fahrpreis, den noch einzuwerfenden Restbetrag oder eine Fehlfunktion
anzeigen oder ein Elektromotor, der eine Fahrkarte zu einem Ausgabeschacht
in dem Fahrkartenautomaten bewegt.
-
Dadurch,
dass ein Teil der Adresseingänge 23 des
Speicherbereichs 20 mit Eingängen der integrierten Schaltung 10 und
ein anderer Teil der Adresseingänge 23 mit
Datenausgängen 25 des
Speicherbereichs 20 gekoppelt sind, sind die von dem Speicherbereich 20 empfangene
Adresse und die über
die Datenausgänge 25 ausgegebene
Information sowohl von Signalen von außen als auch von der zuletzt
ausgegebenen Information abhängig.
Damit sind die von dem Speicherbereich 20 an die Ausgänge 12 der
integrierten Logikschaltung 10 ausgegebene Information
und die Aktionen bzw. Wirkungen der Ausgabeeinrichtungen 33 sowohl
von Eingaben an den Eingängen 11 der
integrierten Logikschaltung 10 als auch von einem inneren
Zustand der integrierten Logikschaltung 10 abhängig. Dies
bedeutet eine Verknüpfung
einer von außen
zugeführten
Information mit einem inneren Zustand.
-
4 ist
eine schematische Darstellung eines Teils einer integrierten Logikschaltung.
Im Gegensatz zur 3 sind Ein- und Ausgänge der
integrierten Logikschaltung und deren Kopplung mit Adresseingängen oder
Datenausgängen
eines in 4 dargestellten Speicherbereichs 20 nicht
dargestellt. Der in 4 dargestellte Speicherbereich 20 kann
beispielsweise auf eine der 3 entsprechende
Weise mit Ein- und Ausgängen
einer integrierten Logikschaltung gekoppelt sein. Der in 4 dargestellte
Speicherbereich 20 kann jedoch auch Teil einer mehrere
Speicherbereiche umfassenden größeren Logikschaltung
sein, wie sie beispielsweise unten mit Bezug auf die 6 bis 11 dargestellt
ist. Im Gegensatz zu
-
3 sind
auch die Adresseingänge,
Datenausgänge
und die mit diesen verbundenen Leitungen nicht mehr einzeln dargestellt.
Die in 4 als breite Linien dargestellten Leitungen umfassen
jeweils eine beliebige Anzahl von einzelnen Leitungen oder Kommunikationskanälen, über die
Information parallel oder seriell übertragen wird.
-
Im
Unterschied zu der Darstellung in 3 ist bei
dem in 4 dargestellten Speicherbereich 20 eine erste
Gruppe 251 von Datenausgängen nicht direkt, sondern über eine
Taktsynchronisierungseinrichtung 42 mit einer ersten Gruppe 231 von
Adresseingängen
des Speicherbereichs 20 gekoppelt. Die Taktsynchronisierungseinrichtung 42 empfängt über eine
Taktleitung 43 ein Taktsignal. Dieses Taktsignal kann entweder
ein in der integrierten Logikschaltung 10 erzeugtes internes
Taktsignal oder ein aus einem äußeren Taktsignal
abgeleitetes internes Taktsignal oder ein von außen zugeführtes Taktsignal sein. Die
Taktsynchronisierungseinrichtung 42 bewirkt eine Synchronisation
der Arbeit des Speicherbereichs 20 mit dem über die
Taktleitung 43 empfangenen Takt. Mit der Taktsynchronisierungseinrichtung
wird gleichzeitig sichergestellt, dass keine undefinierten Zustände der
Datenausgänge
an die Adresseingänge
gelangen. Alternativ wird dies durch Einrichtungen am Adressdecoder
oder an den Leseverstärkern
des Speicherbereichs 20 sichergestellt.
-
Die
Taktsynchronisierungseinrichtung 42 umfasst beispielsweise
eine Anzahl von Master-Slave-Flipflops, die der Anzahl von einzelnen
Leitungen oder Kommunikationskanälen,
der Anzahl der Datenausgänge in
der ersten Gruppe 251 von Datenausgängen und der Anzahl der Adresseingänge in der
ersten Gruppe 231 von Adresseingängen entspricht. Dabei ist
beispielsweise der Eingang jedes Master-Slave-Flipflop über eine einzelne
Leitung mit einem Datenausgang aus der ersten Gruppe 251 von
Datenausgängen
gekoppelt, und der Ausgang jedes Master-Slave-Flipflops ist über eine einzelne Leitung mit
einem Adresseingang aus der ersten Gruppe 231 von Adresseingängen gekoppelt.
-
5 ist
eine schematische Darstellung eines Teils einer weiteren integrierten
Logikschaltung. Ein in 5 dargestellter Speicherbereich 20 kann, ähnlich wie
der oben anhand der 4 dargestellte Speicherbereich,
der 3 entsprechend mit Ein- und Ausgängen der
integrierten Logikschaltung gekoppelt sein. Alternativ oder zusätzlich kann
der in 5 dargestellte Speicherbereich 20 Teil
einer größeren integrierten
Logikschaltung sein, die eine Mehrzahl von Speicherbereichen aufweist.
Eine solche größere integrierte
Logikschaltung ist beispielsweise unten mit Bezug auf die 6 bis 11 dargestellt.
-
Ähnlich wie
bei dem oben anhand der 4 dargestellten Ausführungsbeispiel
ist eine erste Gruppe 231 von Adresseingängen des
Speicherbereichs 20 über
eine Kopplungsleitung 41 und eine Taktsynchronisierungseinrichtung 42 mit
einer ersten Gruppe 251 von Datenausgängen des Speicherbereichs 20 gekoppelt. Eine
zweite Gruppe 232 von Adresseingängen ist nicht mit Datenausgängen des
Speicherbereichs 20 gekoppelt. Eine zweite Gruppe 252 von
Datenausgängen
des Speicherbereichs 20 ist nicht mit Adresseingängen des Speicherbereichs 20 gekoppelt.
-
Im
Unterschied zu dem oben anhand der 4 dargestellten
Ausführungsbeispiel
sind eine Buserweiterungseinrichtung und ein Multiplexer 46 vorgesehen.
Ein erster Eingang der Buserweiterungseinrichtung 45 ist
mit einem Ausgang der Taktsynchronisierungseinrichtung 42 gekoppelt
und empfängt
damit die gleiche Information, die die erste Gruppe 231 von
Adresseingängen
des Speicherbereichs 20 empfängt. Ein zweiter Eingang der
Buserweiterungseinrichtung 45 ist mit einer dritten Gruppe 253 von
Datenausgängen
des Speicherbereichs 20 gekoppelt. Alternativ zu der Darstellung
in 5 kann der zweite Eingang der Buserweiterungseinrichtung 45 über eine
weitere Taktsynchronisierungseinrichtung mit der dritten Gruppe
von Datenausgängen 253 des
Speicherbereichs 20 gekoppelt sein.
-
Ein
Ausgang der Buserweiterungseinrichtung 45 ist mit einem
Steuereingang des Multiplexers 46 verbunden. Ein Ausgang 462 des
Multiplexers 46 ist mit der zweiten Gruppe 232 von
Adresseingängen
des Speicherbereichs 20 gekoppelt.
-
Die
Buserweiterungseinrichtung 45 verknüpft an der ersten Gruppe 251 und
an der dritten Gruppe 253 von Datenausgängen ausgegebene Informationen
und steuert den Multiplexer 46. Abhängig von der an der ersten
Gruppe 251 und an der dritten Gruppe 253 von Datenausgängen ausgegebenen
Information gibt der Multiplexer 46 nur einen Teil der
Information, die er über
seinen Eingang 461 empfängt, über seinen
Ausgang 462 an die zweite Gruppe 232 von Adresseingängen des
Speicherbereichs 20 weiter. Beispielsweise können in
bestimmten inneren Zuständen
bestimmte an den Eingängen 461 des
Multiplexers 46 empfangene Eingaben eines Benutzers als
Fehlbedienung interpretiert und verworfen werden.
-
Als
Beispiel sei angenommen, dass bei dem oben anhand der 4 dargestellten
Ausführungsbeispiel
die erste Gruppe 231 von Adresseingängen sechs Adresseingänge, die
zweite Gruppe 232 von Adresseingängen zehn Adresseingänge, die
erste Gruppe von Datenausgängen 251 sechs
Datenausgänge
und die zweite Gruppe 252 von Datenausgängen zehn Datenausgänge umfassen.
Der Speicherbereich 20 umfasst dann 216 × 16 Bit
= 220 Bit = 1 Mbit.
-
Durch
die Verwendung der Buserweiterungseinrichtung 45 und des
Multiplexers 46 bei dem oben anhand der 5 dargestellten
Ausführungsbeispiel
sei es möglich,
die Anzahl der Adresseingänge
in der zweiten Gruppe 232 von Adresseingängen gegenüber dem
Ausführungsbeispiel
aus 4 von 10 auf 7 zu reduzieren. Hinzu kommen zwei
Datenausgänge
in der dritten Gruppe 253 von Datenausgängen. Der Speicherbereich 20 umfasst
damit 213 × 18 Bit = 144 kbit. Der Speicherbedarf
kann somit durch Verwendung der Buserweiterungseinrichtung 45 und
des Multiplexers 46 unter Umständen deutlich reduziert werden.
-
Die
Buserweiterungseinrichtung 45 ist im einfachsten Fall eine
Zusammenführung
der einzelnen Leitungen vom Ausgang der Taktsynchronisierungseinrichtung 42 und
der einzelnen Leitungen von der dritten Gruppe 253 von
Datenausgängen
des Speicherbereichs 20, die dann parallel zum Steuereingang
des Multiplexers 46 weitergeführt werden. Die Buserweiterung
kann vom Steuereingang des Multiplexers 46 beabstandet oder
unmittelbar an dem Steuereingang des Multiplexers 46 angeordnet
oder mit dem Steuereingang des Multiplexers 46 integriert
sein.
-
Alternativ
umfasst die Buserweiterungseinrichtung 45 einen weiteren
Multiplexer. Dadurch kann die Anzahl der einzelnen Leitungen zwischen
der Buserweiterungseinrichtung 45 und dem Steuereingang
des Multiplexers 46 reduziert werden.
-
6 ist
eine schematische Darstellung einer integrierten Logikschaltung 10 mit
mehreren Gruppen von Eingängen 111, 112, 113 und
mehreren Gruppen von Ausgängen 121, 122, 123.
Die integrierte Logikschaltung 10 umfasst eine Mehrzahl
von Speicherbereichen 201, 202, 203, 204, 205, 206, 207,
wie sie beispielsweise oben anhand der 1 dargestellt
wurden. Jeder der Speicherbereiche 201, ..., 207 umfasst
eine erste Gruppe von Adresseingängen
und eine zweite Gruppe von Adresseingängen. Eine erste Gruppe von
Eingängen 111 der
integrierten Logikschaltung 10 ist mit einer zweiten Gruppe
von Adresseingängen
des ersten Speicherbereichs 201 gekoppelt. Eine zweite
Gruppe 112 von Eingängen
der integrierten Logikschaltung 10 ist mit einer zweiten
Gruppe von Adresseingängen
eines zweiten Speicherbereichs 202 gekoppelt. Datenausgänge des
zweiten Speicherbereichs 202 sind mit einer ersten Gruppe
von Adresseingängen
des dritten Speicherbereichs 203 gekoppelt. Datenausgänge des
ersten Speicherbereichs 201 sind mit einer zweiten Gruppe
von Adresseingängen
des dritten Speicherbereichs 203 gekoppelt. Datenausgänge des
dritten Speicherbereichs 203 sind mit einer zweiten Gruppe
von Adresseingängen eines
vierten Speicherbereichs 204 gekoppelt. Eine erste Gruppe
von Datenausgängen
des vierten Speicherbereichs 204 ist mit einer ersten Gruppe
von Adresseingängen
des vierten Speicherbereichs 204 gekoppelt. Eine zweite
Gruppe von Datenausgängen
des vierten Speicherbereichs 204 ist parallel mit einer
ersten Gruppe von Adresseingängen
des ersten Speicherbereichs 201, mit einer ersten Gruppe
von Adresseingängen
des zweiten Speicherbereichs 202, mit einer zweiten Gruppe
von Adresseingängen
eines fünften
Speicherbereichs 205, mit einer zweiten Gruppe von Adresseingängen eines
sechsten Speicherbereichs 206 und mit einer zweiten Gruppe
von Adresseingängen
eines siebten Speicherbereichs 207 gekoppelt. Eine erste
Gruppe von Datenausgängen
des fünften
Speicherbereichs 205 ist mit einer ersten Gruppe von Adresseingängen des
fünften
Speicherbereichs 205 gekoppelt. Eine zweite Gruppe von
Datenausgängen
des fünften
Speicherbereichs 205 ist mit einer ersten Gruppe 121 von
Ausgängen
der integrierten Logikschaltung 10 gekoppelt. Eine erste
Gruppe von Datenausgängen
des sechsten Speicherbereichs 206 ist mit einer ersten
Gruppe von Adresseingängen
des sechsten Speicherbereichs 206 gekoppelt. Eine zweite
Gruppe von Datenausgängen
des sechsten Speicherbereichs 206 ist mit einer zweiten
Gruppe 122 von Ausgängen
der integrierten Logikschaltung 10 gekoppelt. Eine erste Gruppe
von Adresseingängen
des siebten Speicherbereichs 207 ist mit einer dritten
Gruppe von Eingängen 113 der
integrierten Logikschaltung 10 gekoppelt. Datenausgänge des
siebten Speicherbereichs 207 sind mit einer dritten Gruppe 123 von
Ausgängen
der integrierten Logikschaltung 10 gekoppelt. Obwohl in 6 jede Gruppe
von Adresseingängen
oder Datenausgängen
mit drei Eingängen
bzw. Ausgängen
dargestellt und mit jeweils drei parallelen Leitungen verbunden
ist, können
die Anzahlen der parallelen Leitungen und entsprechend die Anzahlen
der mit diesen verbundenen Ein- und Ausgänge jeweils beliebig sein.
-
Die 6 zeigt
beispielhaft verschiedene Arten möglicher Kopplungen zwischen
mehreren Speicherbereichen. Die in 6 dargestellte
integrierte Logikschaltung 10 kann weitere Speicherbereiche
und weitere Kopplungen zwischen Datenausgängen und Adresseingängen von
Speicherbereichen aufweisen. Ferner kann die in 6 dargestellte
integrierte Logikschaltung durch weitere Elemente, beispielsweise
Taktsynchronisierungseinrichtungen oder Multiplexer, wie sie oben
anhand der 4 und 5 dargestellt
wurden, umfassen.
-
In
der in 6 dargestellten Topologie sind der erste Speicherbereich 201,
der zweite Speicherbereich 202 und der dritte Speicherbereich 203 für eine Erfassung
und Aufbereitung von Information, die über die erste Gruppe 111 und
die zweite Gruppe 112 von Eingängen der integrierten Logikschaltung 10 empfangen
wird, vorgesehen. Der vierte Speicherbereich 204 ist der
Logik des Prozessablaufs zuzuordnen. Der fünfte Speicherbereich 205,
der sechste Speicherbereich 206 und der siebte Speicherbereich 207 sind
der Ausgabe von Information bzw. der Steuerung weiterer, außerhalb
der integrierten Logikschaltung 10 angeordneter Elemente
und Vorrichtungen zuzuordnen. Beispielsweise werden über die
erste Gruppe 111 von Eingängen Eingaben von Benutzern
empfangen. Dazu sind die Eingänge
der ersten Gruppe 111 beispielsweise mit Schaltern oder
Tastern verbunden. Ferner werden beispielsweise über die Eingänge der
zweiten Gruppe 112 weitere für die Steuerung eines Ablaufs
wichtige Informationen empfangen. Beispielsweise sind die Eingänge der
zweiten Gruppe 112 mit Schaltern oder anderen Sensoren
gekoppelt, die durch zur Bezahlung eingeworfene Münzen betätigt werden.
-
Der
erste Speicherbereich 201 empfängt über die erste Gruppe seiner
Adresseingänge
von der zweiten Gruppe von Datenausgängen des vierten Speicherbereichs 204 eine
Information über
einen inneren Zustand. In dem bereits erwähnten Beispiel eines Fahrkartenautomaten
sind mögliche
innere Zustände
beispielsweise ”vor
der Auswahl einer Fahrkarte” oder ”nach der
Auswahl einer Fahrkarte, vor der Bezahlung” oder ”nach der Bezahlung, vor Abschluss
der Ausgabe der Fahrkarte”.
Abhängig von
diesen inneren Zuständen
bereiten der erste Speicherbereich 201 und der zweite Speicherbereich 202 die über die
erste Gruppe 111 und die zweite Gruppe 112 empfangenen
Informationen auf. Die aufbereiteten Informationen werden über die
Datenausgänge
des ersten Speicherbereichs 201 und die zweite Gruppe von
Adresseingängen
des dritten Speicherbereichs 203 bzw. über Datenausgänge des
zweiten Speicherbereichs 202 und die erste Gruppe von Adresseingängen des
dritten Speicherbereichs 203 an den dritten Speicherbereich 203 übertragen.
Der dritte Speicherbereich 203 bereitet diese Informationen
weiter auf und überträgt sie an
den vierten Speicherbereich 204.
-
Der
vierte Speicherbereich 204 steuert über seine zweite Gruppe von
Datenausgängen
die Aufbereitung von über
die erste Gruppe 111 und die zweite Gruppe 112 empfangenen
Informationen durch den ersten Speicherbereich 201 bzw.
den zweiten Speicherbereich 202 und die Ausgabe von Informationen über die
erste Gruppe 121, die zweite Gruppe 122 und die
dritte Gruppe 123 von Ausgängen der integrierten Logikschaltung 10 durch
den fünften
Speicherbereich 205, den sechsten Speicherbereich 206 bzw.
den siebten Speicherbereich 207. Dabei enthalten beispielsweise
der fünfte
Speicherbereich 205 optische Anzeigeinformation in Form von
Bildschirmmasken, der sechste Speicherbereich 206 akustische
Anzeigeinformation in Form von Tönen oder
eines gesprochenen Ansagetextes und der siebte Speicherbereich 207 Information
zur Steuerung von Ausgabegeräten,
beispielsweise zum Bedrucken und Ausgeben einer Fahrkarte. Der siebte
Speicherbereich 207 empfängt und verarbeitet dazu beispielsweise
auch über
Information, die er über
die dritte Gruppe 113 der Eingänge der integrierten Logikschaltung 10 und
die erste Gruppe seiner Adresseingänge empfängt, beispielsweise die Schaltzustände von
Endlageschaltern, Lichtschranken etc..
-
Die
integrierte Logikschaltung 10 kann auf vielfältige Weise
an ein breites Spektrum von Aufgaben angepasst werden. Beispielsweise
können
die Anzahl der Gruppen 111, 112, 113 von Eingängen, die
Anzahl der Eingänge
in jeder Gruppe 111, 112, 113, die Anzahl
der mit diesen unmittelbar gekoppelten Speicherbereiche 201, 202,
die Anzahl der Schritte, in denen die empfangene Information aufbereitet
wird (in 6 über einen Zwischenschritt im
dritten Speicherbereich 203), die Anzahl der Gruppen 121, 122, 123 von
Ausgängen,
die Anzahl der Ausgänge
in jeder Gruppe, die Gesamtzahl der Speicherbereiche 201,
..., 207 und die Größe jedes einzelnen
Speicherbereichs angepasst werden. Beispielsweise sind in einem
Speicherbereich, der optische Anzeigeinformation speichert, oft
nur wenige Bildschirmmasken zu speichern, wobei jedoch jede einzelne
Bildschirmmaske eine sehr große
Datenmenge umfasst. Der dafür
vorgesehene Speicherbereich muss nur einen kleinen Adressraum und
entsprechend wenige Adresseingänge
aufweisen. Jeder einzelne Adresse ist jedoch eine große Anzahl
von Speicherzellen zuzuordnen. Entsprechendes kann für einen
Speicherbereich gelten, der beispielsweise einen gesprochenen Ansagetext
enthalten soll.
-
7 ist
eine schematische Darstellung einer weiteren integrierten Logikschaltung 10 mit
mehreren Gruppen 111, 112, 113 von Eingängen und
mehreren Gruppen 121, 122, 123 von Ausgängen. Die
integrierte Logikschaltung 10 umfasst eine Mehrzahl von
Speicherbereichen 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020.
Die integrierte Logikschaltung 10 umfasst ferner eine Auswahleinrichtung 47,
die über
Leitungen mit Auswahlempfängern 471 an
den Speicherbereichen 2011, ..., 2020 gekoppelt
ist. Die Auswahleinrichtung 47 ist beispielsweise wie ein
Adressdecoder eines Speicherbereichs ausgeführt. Nur am ersten Speicherbereich 2011 ist
der Auswahlempfänger
mit dem Bezugszeichen 471 versehen, jedoch umfassen vorzugsweise
mehrere oder alle Speicherbereiche entsprechende Auswahlempfänger.
-
Ferner
umfasst die integrierte Logikschaltung 10 eine Taktsynchronisierungseinrichtung 42 ähnlich der oben
anhand der 4 und 5 dargestellten
Taktsynchronisierungseinrich tung. Die Taktsynchronisierungseinrichtung 42 ist über eine
Taktleitung 43 mit einem Takteingang 44 der integrierten
Logikschaltung 10 gekoppelt. Alternativ empfängt die
Taktsynchronisierungseinrichtung 42 ein Taktsignal von
einer Taktsignalquelle, die Bestandteil der integrierten Logikschaltung 10 ist.
Eine erste Gruppe von Adresseingängen
des ersten Speicherbereichs 2011, eine erste Gruppe von
Adresseingängen
eines zweiten Speicherbereichs 2012, eine erste Gruppe
von Adresseingängen
eines dritten Speicherbereichs 2013 sowie Adresseingänge eines fünften Speicherbereichs 2015,
eines sechsten Speicherbereichs 2016, eines siebten Speicherbereichs 2017, eines
achten Speicherbereichs 2018, eines neunten Speicherbereichs 2019 und
eines zehnten Speicherbereichs 2020 sind mit einem Ausgang
der Taktsynchronisierungseinrichtung 42 verbunden.
-
Eine
zweite Gruppe von Adresseingängen
des ersten Speicherbereichs 2011 ist mit einer ersten Gruppe 111 von
Eingängen
der integrierten Logikschaltung 10 verbunden. Eine zweite
Gruppe von Adresseingängen
des zweiten Speicherbereichs 2012 ist mit einer zweiten
Gruppe 112 von Eingängen
der integrierten Logikschaltung 10 verbunden. Eine zweite
Gruppe von Adresseingängen
des dritten Speicherbereichs 2013 ist mit einer dritten
Gruppe 113 von Eingängen
der integrierten Logikschaltung 10 verbunden. Datenausgänge des
ersten Speicherbereichs 2011, Datenausgänge des zweiten Speicherbereichs 2012 und
Datenausgänge des
dritten Speicherbereichs 2013 sind mit einer ersten Gruppe
bzw. einer zweiten Gruppe bzw. einer dritten Gruppe von Adresseingängen eines
vierten Speicherbereichs 2014 verbunden. Eine erste Gruppe
von Datenausgängen
des vierten Speicherbereichs 2014, eine erste Gruppe von
Datenausgängen
des fünften
Speicherbereichs 2015, eine erste Gruppe von Datenausgängen des
sechsten Speicherbereichs 2016, eine erste Gruppe von Datenausgängen des
siebten Speicherbereichs 2017, eine erste Gruppe von Datenausgängen des achten
Speicherbereichs 2018, eine erste Gruppe von Datenausgängen des
neunten Speicherbereichs 2019 und eine erste Gruppe von
Datenausgän gen
des zehnten Speicherbereichs 2020 sind mit einem Eingang
der Taktsynchronisierungseinrichtung 42 verbunden. Eine
zweite Gruppe von Datenausgängen
des vierten Speicherbereichs 2014, eine zweite Gruppe von
Datenausgängen
des fünften
Speicherbereichs 2015, eine zweite Gruppe von Datenausgängen des
siebten Speicherbereichs 2017 und eine zweite Gruppe von
Datenausgängen
des neunten Speicherbereichs 2019 sind mit einem Eingang
der Auswahleinrichtung 47 verbunden. Eine zweite Gruppe
von Datenausgängen
der sechsten Speichereinrichtung 2016 ist mit der ersten
Gruppe 121 von Ausgängen
der integrierten Logikschaltung 10 verbunden. Eine zweite
Gruppe von Datenausgängen
des achten Speicherbereichs 2018 ist mit einer zweiten
Gruppe 122 von Ausgängen
der integrierten Logikschaltung 10 verbunden. Eine zweite
Gruppe von Datenausgängen
des zehnten Speicherbereichs 2020 ist mit einer dritten
Gruppe 123 von Ausgängen
der integrierten Logikschaltung 10 verbunden.
-
Bei
der oben anhand der 6 dargestellten integrierten
Logikschaltung ist durch die Kopplung zwischen den Datenausgängen von
Speicherbereichen und Adresseingängen
der gleichen oder anderer Speicherbereiche vorgegeben, wohin eine
von einem Speicherbereich erzeugte bzw. veränderte Information übertragen
wird. Im Gegensatz dazu wird bei dem in 8 dargestellten
Ausführungsbeispiel
von einem der Speicherbereiche 2014 bis 2020 an
dessen erster Gruppe von Datenausgängen bereitgestellte Information über die
Taktsynchronisierungseinrichtung 42 an alle Speicherbereiche 2011, 2012, 2013 und 2015 bis 2020 übertragen.
Die Auswahleinrichtung 47 bestimmt gesteuert durch die
jeweils zweite Gruppe von Datenausgängen des vierten Speicherbereichs 2014,
des fünften
Speicherbereichs 2015, des siebten Speicherbereichs 2017 und
des neunten Speicherbereichs 2019, welcher der Speicherbereiche 2014 bis 2020 im
nächsten
Taktzyklus Information an den Eingang der Taktsynchronisierungseinrichtung 42 überträgt.
-
Die
in einem Speicherbereich gespeicherte Information umfasst nicht
nur die Information, die abhängig von
der an den Adresseingängen
empfangenen Information ausgegeben wird, wenn die Auswahleinrichtung 47 den
Speicherbereich ausgewählt
hat. Im Fall des vierten Speicherbereichs 2014, des fünften Speicherbereichs 2015,
des siebten Speicherbereichs 2017 und des neunten Speicherbereichs 2019 bestimmen
die darin gespeicherten Informationen auch, welcher Speicherbereich
oder welche Speicherbereiche im jeweils nachfolgenden Taktzyklus
von der Auswahleinrichtung 47 ausgewählt wird. An jedem Speicherbereich
stellt der zugehörige
Auswahlempfänger 471 sicher,
dass der Speicherbereich nur dann an seinen Datenausgängen eine Information
ausgibt, wenn der Speicherbereich durch die Auswahleinrichtung 47 ausgewählt ist.
Dazu greift der Auswahlempfänger 471 beispielsweise
in die Leistungsversorgung der Leseverstärker ein oder trennt deren
Ausgänge
von den Datenausgängen
des Speicherbereichs.
-
Um
am Eingang der Taktsynchronisierungseinrichtung 42 definierte
Signale zu erhalten, kann es sinnvoll sein, von den Speicherbereichen 2014 bis 2020,
deren jeweils erste Gruppe von Datenausgängen parallel an den Eingang
der Taktsynchronisierungseinrichtung 42 geschaltet sind,
zu jedem Zeitpunkt immer nur einen auszuwählen. Hingegen kann auch eine
gleichzeitige Auswahl des ersten Speicherbereichs 2011,
des zweiten Speicherbereichs 2012 und des dritten Speicherbereichs 2013 an
den Adresseingängen
des vierten Speicherbereichs 2014 keine undefinierten Signalpegel
hervorrufen, wenn die Datenausgänge
des ersten Speicherbereichs 2011, des zweiten Speicherbereichs 2012 und
des dritten Speicherbereichs 2013 mit verschiedenen Gruppen
von Adresseingängen
des vierten Speicherbereichs 2014 gekoppelt sind.
-
Durch
die beschriebene Funktion der Auswahleinrichtung 47 und
der Auswahlempfänger 471 kann eine
Aktivität
von einem der Speicherbereiche 2014, 2015, 2016, 2017, 2018, 2019, 2020 zu
einem anderen dieser Speicherbereiche übertragen werden. Wenn in einem
Taktzyklus einer der Speicherbereiche aktiv ist und eine Information
an die Taktsynchronisierungseinrichtung 42 überträgt, kann
gesteuert durch eine weitere Information, die von dem aktiven Speicherbereich
an die Auswahleinrichtung 47 übertragen wird, im folgenden Taktzyklus
der gleiche Speicherbereich oder ein anderer Speicherbereich aktiviert
werden. Dabei ist die Aktivierung des gleichen Speicherbereichs
den oben anhand der 3, 4 und 5 beschriebenen
Situationen ähnlich,
bei denen ein Teil der Datenausgänge
eines Speicherbereichs mit einem Teil der Adresseingänge desselben
Speicherbereichs verbunden ist.
-
Bei
dem anhand der 7 dargestellten Ausführungsbeispiel
sind der erste Speicherbereich 2011, der zweite Speicherbereich 2012,
der dritte Speicherbereich 2013 und der vierte Speicherbereich 2014 vor
allem dafür
vorgesehen, über
die drei Gruppen 111, 112, 113 von Eingängen der
integrierten Logikschaltung 10 empfangene Eingangssignale
in einer ersten Stufe (bestehend aus dem ersten Speicherbereich 2011,
dem zweiten Speicherbereich 2012 und dem dritten Speicherbereich 2013)
und einer zweiten Stufe (bestehend aus dem vierten Speicherbereich 2014)
abhängig
von einem inneren Zustand der integrierten Logikschaltung 10 aufzubereiten.
Der fünfte
Speicherbereich 2015, der siebte Speicherbereich 2017 und
der neunte Speicherbereich 2019 sind in erster Linie für eine Ablaufsteuerung
bzw. einer Steuerung eines Prozessverlaufs vorgesehen. Der sechste
Speicherbereich 2016, der achte Speicherbereich 2018 und
der zehnte Speicherbereich 2020 sind für eine Erzeugung von Ausgangssignalen
an den drei Gruppen 121, 122, 123 von
Ausgängen
der integrierten Logikschaltung 10 vorgesehen. Der fünfte Speicherbereich 2015,
der siebte Speicherbereich 2017 und der neunte Speicherbereich 2019 können beispielsweise
die Logik für
unterschiedliche Teilprozesse enthalten. Der sechste Speicherbereich 2016,
der achte Speicherbereich 2018 und der zehnte Speicherbereich 2020 sind
beispielsweise zur Ausgabe von Information bzw. Signalen an unterschiedliche
Empfänger
vorgesehen. Beispielsweise sind mit der ersten Gruppe 121 von
Ausgängen
der integrierten Logikschaltung 10 eine optische Anzeigeeinheit
oder eine Treiberschaltung für
eine optische Anzeigeeinheit verbunden, mit der zweiten Gruppe 122 von
Ausgängen
eine akustische Anzeigeeinrichtung und mit der dritten Gruppe 123 von
Ausgängen
ein Druckwerk zur Erzeugung und Ausgabe einer Fahrkarte oder ähnliches
verbunden.
-
Die
nachfolgende Tabelle stellt beispielhaft den Inhalt eines Speicherbereichs
dar, wie er in einer Variante der oben anhand der 7 dargestellten
integrierten Logikschaltung verwendbar ist. Der Speicherbereich
umfasst im Gegensatz zu den in 7 dargestellten
Speicherbereichen drei Gruppen von Ausgängen. Die erste Gruppe umfasst
zwei binäre
Ausgänge
und ist mit einer Auswahleinrichtung gekoppelt. Die zweite Gruppe
umfasst sechs binäre
Ausgänge
und ist mit dem Eingang einer Taktsynchronisierungseinrichtung gekoppelt.
Die dritte Gruppe umfasst zwölf
binäre
Ausgänge,
die mit einer Gruppe von Ausgängen
der integrierten Logikschaltung gekoppelt sind. Die dritte Gruppe
von Ausgängen
umfasst zwei Ausgänge,
die gleichzeitig zur zweiten Gruppe zählen, oder die mit zwei Ausgängen der
zweiten Gruppe intern parallelgeschaltet sind. Ferner umfasst der
Speicherbereich vier binäre
Eingänge.
-
In
der linken Spalte der Tabelle ist jeweils die Adresse einer Gruppe
von Speicherzellen (beispielsweise einer Wortleitung) angegeben,
in der rechten Spalte ist in binärer
Darstellung die in der entsprechenden Gruppe von Speicherzellen
gespeicherte Information angegeben. Die von links gezählt ersten
beiden Bits stellen jeweils eine über die erste Gruppe von Ausgängen an
die Auswahleinrichtung zu übermittelnde
Adresse (aa bzw. bb) eines Speicherbereichs dar. Die nächsten vier
Bits stellen eine Adresse einer Gruppe von Speicherzellen innerhalb
eines Speicherbereichs dar, die über
die zweite Gruppe von Ausgängen
an den Eingang der Taktsynchronisierungseinrichtung zu übermitteln
ist. Die letzten zwölf
Bits („xxxxxxxxxxxx” bzw. „zzyyyyyyyyyy”) stellen
eine Information dar, die über
die dritte Gruppe von Ausgängen
auszugeben ist.
-
Das
siebte und das achte Bit zählen
dabei sowohl zur zweiten als auch zur dritten Gruppe.
Adresse
einer Gruppe von Speicherzellen | in
der Gruppe von Speicherzellen gespeicherte Information (binär) |
0 | aa0001xxxxxxxxxxxx |
1 | aa0010xxxxxxxxxxxx |
2 | aa0011xxxxxxxxxxxx |
3 | aa0100xxxxxxxxxxxx |
4 | aa0101xxxxxxxxxxxx |
5 | aa0110xxxxxxxxxxxx |
6 | aa0111xxxxxxxxxxxx |
7 | aa1000xxxxxxxxxxxx |
8 | aa1001xxxxxxxxxxxx |
9 | aa1010xxxxxxxxxxxx |
10 | aa1011xxxxxxxxxxxx |
11 | aa1100xxxxxxxxxxxx |
12 | aa1101xxxxxxxxxxxx |
13 | aa1110xxxxxxxxxxxx |
14 | aa1111xxxxxxxxxxxx |
15 | bbzzzzzzyyyyyyyyyy |
-
In
dem in der Tabelle dargestellten Beispiel enthalten die beiden ersten
beiden Bits im Fall der fünfzehnten
Gruppe von Speicherzellen die Bits bb und in allen anderen Gruppen
von Speicherzellen die Bits aa. Die Bits aa repräsentieren dabei die Adresse
des Speicherbereichs, dessen Inhalt in der Tabelle dargestellt ist, die
Bits bb repräsentieren
die Adresse eines anderen Speicherbereichs. Dies hat zur Folge,
dass nach Aufruf einer der Adressen 0 bis 14 innerhalb des betrachteten
Speicherbereichs wieder derselbe Speicherbereich durch die Auswahleinrichtung
ausgewählt
wird. Nach Aufruf der Adresse 15 wird ein anderer Speicherbereich durch
die Auswahlreinrichtung ausgewählt.
-
Die
nächsten
vier Bits (drittes Bit bis sechstes Bit) entsprechen jeweils der
Adresse der nächsten
Gruppe von Speicherzellen in dem Speicherbereich. Der in der Tabelle
dargestellte Inhalt des Speicherbereichs der jeweils ersten sechs
Bits jeder Gruppe von Speicherzellen hat somit zur Folge, dass nach
Aufruf einer beliebigen Adresse zwischen 0 und 14 in dem Speicherbereich über die
dritte Gruppe von Ausgängen
der Inhalt der adressierten Gruppe und der nachfolgenden Gruppen
von Speicherzellen ausgegeben wird und danach ein anderer Speicherbereich
(mit der Adresse bb) ausgewählt
wird.
-
Die
Ausgabe des siebten Bits und des achten Bits sowohl über die
zweite Gruppe von Ausgängen
als auch über
die dritte Gruppe von Ausgängen
ermöglicht
eine Ausgabe von Adressen mit unterschiedlicher Länge. In
dem anhand der Tabelle dargestellten Beispiel sind die Adressen
innerhalb des betrachteten Speicherbereichs nur vier Bit lang, während die
Adresse in dem anderen Speicherbereich, der durch „aa” angesprochen wird,
sechs Bit lang ist.
-
Auf
die beschriebene Weise können
nach Aufruf einer einzigen Adresse (0000) in einem Speicherbereich
(hier mit der Adresse aa) große
Mengen an Information ausgegeben werden, die größer sind als die Informationsmenge,
die in einer einzigen Gruppe von Speicherzellen in dem Speicherbereich
gespeichert sein kann. So können
beispielsweise Sprachausgaben und andere Töne sowie Bildschirmdarstellungen
etc. in einem oder mehreren Speicherbereichen abgelegt sein.
-
Alternativ
kann zur Speicherung großer
Datenmengen auch ein Speicherbereich verwendet werden, der durch
automatische Inkrementierung der Adresse selbstständig den
Inhalt mehrerer Gruppen von Speicherzellen ausgibt.
-
8 ist
eine schematische Darstellung eines Teils einer integrierten Logikschaltung.
Die integrierte Logikschaltung umfasst eine Mehrzahl von Speicherbereichen 2031, 2032,
..., 2039 und einen Decoder 2030. Datenausgänge der
Speicherbereiche 2031, 2032, ..., 2039 sind
parallel mit N Leitungen verbunden. Ein Eingang des Decoders 2030 ist
mit K parallelen Leitungen verbunden. Der Decoder 2030 weist
ferner für
jeden der Speicherbereiche 2031, 2032, ..., 2039 einen
Adressausgang auf, der über
jeweils L parallele Leitungen mit dem Adresseingang des entsprechenden
Speicherbereichs 2031, 2032, ..., 2039 verbunden
ist. In 8 ist ferner eine Leitung dargestellt, über die
der Decoder 2030 ein Signal CS (beispielsweise ein Chip-Select-Signal)
empfängt.
Ferner ist der Decoder 2030 über je eine Steuerleitung mit
jedem der Speicherbereiche 2031, 2032, ..., 2039 verbunden, über die
die Signale CS(0), CS(1), ..., CS(M) übertragen werden. Wenn der
Decoder 2030 ein aktives Steuersignal CS empfängt, gibt
er abhängig
von der gleichzeitig an seinem Adresseingang empfangenen Adresse
genau ein aktives Steuersignal CS(0), CS(1), CS(M) an einen der
Speicherbereiche 2031, 2032, ..., 2039 aus,
wobei die anderen Steuersignale CS(0), CS(1), ..., CS(M) inaktiv
sind.
-
Die
Differenz K – L
der Anzahl K der parallelen Leitungen, mit denen der Adresseingang
des Decoders 2030 verbunden ist, und der Anzahl L der parallelen
Leitungen, über
die jeder Speicherbereich 2031, 2032, ..., 2039 mit
dem entsprechenden Adressausgang des Decoders 2030 verbunden
ist, verhält
sich zur Anzahl M + 1 der Speicherbereiche 2031, 2032,
..., 2039 so, dass 2K-L ≥ M + 1 ist.
Wenn beispielsweise K = 16 parallele Leitungen mit dem Adresseingang
des Decoders 2030 verbunden sind, und der Adresseingang
jedes Speicherbereichs 2031, 2032, ..., 2039 über L =
12 parallele Leitungen mit dem entsprechenden Adressausgang des
Decoders 2030 verbunden ist, ist die Anzahl M + 1 der Speicherbereiche 2031, 2032,
..., 2039 maximal 16.
-
Der
Decoder 2030 und die Speicherbereiche 2031, 2032,
..., 2039 wirken bzw. verhalten sich nach Außen zusammen
wie ein großer
Speicherbereich 20 mit einem Adresseingang 23,
der mit K parallelen Leitungen verbunden ist, und einem Datenausgang 25,
der mit N parallelen Leitungen verbunden ist. 8 zeigt
somit ein Beispiel dafür,
wie aus einer Mehrzahl kleinerer Speicherbereiche ein größerer Speicherbereich
zusammengesetzt werden kann.
-
Bei
der in 8 dargestellten Verschaltung der Speicherbereiche 2031, 2032,
..., 2039 mit dem Decoder 2030 wird der Adressraum
vergrößert. Wenn
mehrere Speicherbereiche die gleichen Adressen erhalten bzw. empfangen,
kann andererseits die Breite des Datenausgangs vervielfacht werden.
-
9 ist
eine schematische Darstellung eines Speicherbereichs 20 einer
integrierten Logikschaltung. Der Speicherbereich weist beispielsweise
80 Speicherzellen 21 auf, die an allen Kreuzungen von 16
Wortleitungen und 5 Bitleitungen angeordnet sind. Jede Speicherzelle 21 ist
durch eine ”0” oder eine ”1” dargestellt, die
den Wert des in der Speicherzelle 21 gespeicherten Bits
darstellt. Der Adressdecoder 22 weist vier einzelne Adresseingänge 233, 234, 235, 236 auf, über die
er die Signale A, B, C, D empfängt.
Zwischen dem Adressdecoder 22 und den Speicherzellen 21 sind
die Adressen der 16 Wortleitungen binär dargestellt. Dabei entspricht
jedes Bit der Adresse einem Signal A, B, C, D an einem der Adresseingänge 233, 234, 235, 236,
und jede Kombination der Signale A, B, C, D (beispielsweise ABCD
= 0000, ABCD = 0001, ABCD = 0010 etc.) entspricht einer Adresse.
Beispielsweise aktiviert der Adressdecoder 22 die erste
Wortleitung, wenn an allen Eingängen 233, 234, 235, 236 ein
nicht aktives Signal A, B, C, D bzw. eine ”0” anliegt, und die letzte,
in 9 ganz unten dargestellte Wortleitung, wenn an
allen Adresseingängen 233, 234, 235, 236 je
eine ”1” anliegt.
-
In
dem in 9 dargestellten Beispiel soll der Speicherbereich 20 über die
Datenausgänge 25 das Datenwort ”01011” ausgeben,
wenn an allen Adresseingängen 233, 234, 235, 236 eine ”1” anliegt.
In allen anderen Fällen
soll der Speicherbereich 20 das Datenwort ”00110” ausgeben.
Es ist erkennbar, dass die in den Speicherzellen 21 des
Speicherbereichs 20 gespeicherte Information damit hochgradig
redundant ist.
-
10 zeigt
ein zu dem Ausführungsbeispiel
aus 9 alternatives Ausführungsbeispiel, bei dem die Signale
an vier Adresseingängen 233, 234, 235, 236 auf
die gleiche Weise logisch verknüpft
werden wie in 9. Insbesondere wird nur dann,
wenn an allen vier Eingängen 233, 234, 235, 236 eine ”1” anliegt,
das Datenwort ”01011” ausgegeben,
in allen anderen Fällen
wird das Datenwort ”00110” ausgegeben.
-
Im
Vergleich zu dem oben anhand der 9 dargestellten
Ausführungsbeispiel
umfasst das in 10 dargestellte Ausführungsbeispiel
insgesamt deutlich weniger Speicherzellen 21, die jedoch
nicht in einem einzigen Speicherbereich, sondern in insgesamt drei
Speicherbereichen 2041, 2042, 2043 angeordnet
sind. Der erste Speicherbereich 2041 weist nur zwei Adresseingänge 233, 234 und
vier Speicherzellen auf. Ein zweiter Speicherbereich 2042 weist
zwei Adresseingänge 235, 236 und
vier Speicherzellen auf. Ein dritter Speicherbereich 2043 weist
zwei Adresseingänge
und 20 Speicherzellen, die beispielsweise an vier Wortleitungen
angeordnet sind, auf. Der Datenausgang des ersten Speicherbereichs 2041 ist
mit einem ersten Adresseingang des dritten Speicherbereichs 2043 verbunden.
Der Datenausgang des zweiten Speicherbereichs 2042 ist
mit einem zweiten Adresseingang des dritten Speicherbereichs 2043 verbunden.
-
Bei
allen drei Speicherbereichen 2041, 2042, 2043 sind ähnlich wie
bei der Darstellung in 9 die Speicherzellen durch die
in ihnen gespeicherten Bits ”0” bzw. ”1” dargestellt.
Ferner sind ähnlich
wie bei 9 zwischen den Adressdecodern
und den Speicherzellen die Adressen der Wortleitungen binär dargestellt.
Es ist erkennbar, dass sowohl der erste Speicherbereich 2041 als
auch der zweite Speicherbereich 2042 jeweils nur dann eine ”1” an ihrem
Datenausgang erzeugen, wenn an jeweils beiden Adresseingängen 233 und 234 bzw. 235 und 236 eine ”1” anliegt.
Ferner ist erkennbar, dass der dritte Speicherbereich 2043 an
seinen Datenausgängen 25 das
Datenwort ”01011” ausgibt,
wenn an beiden Adresseingängen
eine ”1” anliegt,
und das Datenwort ”00110” in allen
anderen Fällen.
-
Die
anhand der 9 und 10 dargestellten
Ausführungsbeispiele
sind hinsichtlich der Gesamtzahl der Speicherzellen, der Anzahl
der Wortleitungen, der Anzahl der Adresseingänge, der Anzahl der Datenausgänge und
hinsichtlich der logischen Verknüpfung
der an den Adresseingängen
anliegenden Signale lediglich Beispiele. Es ist jedoch erkennbar,
dass zumindest unter bestimmten Umständen logische Verknüpfungen entweder
durch einen großen
Speicherbereich oder durch mehrere kleinere Speicherbereiche ersetzt
werden können,
wobei die Gesamtzahl der Speicherzellen der mehreren kleineren Speicherbereiche
geringer oder deutlich geringer als die Gesamtzahl der Speicherzellen
des einen großen
Speicherbereichs sein kann.
-
Die
oben anhand der 1 bis 10 dargestellten
Merkmale und Varianten können
sehr weitgehend frei miteinander kombiniert werden. Beispielsweise
können
Taktsynchronisierungseinrichtungen 42, wie sie oben anhand
der 4, 5 und 7 dargestellt
wurden, auch in anderen oben dargestellten Ausführungsbeispielen verwendet
werden. Ferner können über eine
oder mehrere Auswahleinrichtungen, wie sie oben anhand der 7 dargestellt
wurde, auch in anderen Ausführungsbeispielen
jeweils einer oder mehrere Speicherbereiche oder deren Ausgänge aktiviert
oder deaktiviert werden. Ferner kann die oben anhand der 8 dargestellte
Verknüpfung
mehrerer Speicherbereiche zu einem großen Speicherbereich auch bei
anderen oben dargestellten Ausführungsbeispielen
realisiert werden. Auch die oben anhand der 9 und 10 dargestellte
alternative Verwendung eines großen Speicherbereichs oder mehrerer
kleiner Speicherbereiche zur Implementierung einer Logik kann für alle Ausführungsbeispiele
und deren Varianten möglich
sein.
-
Wie
bereits erwähnt,
ist die durch eine oben dargestellte integrierte Logikschaltung
implementierte Logik zum Teil in der Verdrahtung von einem oder
mehreren Speicherbereichen und zum Teil in der Information, die
in den Speicherbereichen gespeichert ist, enthalten. Eine erste
Spezialisierung einer integrierten Logikschaltung für eine bestimmte
Klasse oder Gruppe von Anwendungen kann durch die Verdrahtung der Speicherbereiche
innerhalb der integrierten Logikschaltung erfolgen. Eine Anpassung
einer integrierten Logikschaltung an eine bestimmte Aufgabe kann
durch eine Definition der in dem oder den Speicherbereichen gespeicherte
Information erfolgen. Je nach Art der einzelnen Speicherzellen kann
dieser letzte Schritt auch nach Fertigstellung der integrierten
Logikschaltung erfolgen. Im Falle wiederbeschreibbarer bzw. mehrfach
beschreibbarer Speicherzellen kann eine integrierte Logikschaltung
nacheinander für
verschiedene Aufgaben programmiert werden.
-
11 ist
eine schematische Darstellung einer integrierten Logikschaltung 10 mit
einer Mehrzahl von Speicherbereichen 20, einem oder mehreren
Auswahleinrichtungen 47 und einem oder mehreren Decodern 48.
Die Speicherbereiche 20, der oder die Auswahleinrichtungen 47 und
der oder die Decoder 48 werden beispielsweise durch Strukturierung
einer Halbleiteroberfläche
erzeugt. Die Herstellung der integrierten Logikschaltung 10 ohne
eine Verdrahtung der Speicherbereiche 20, der Auswahleinrichtungen 47 und
der Decoder 48 ohne eine Verdrahtung kann in einer großen Stückzahl und
deshalb vergleichsweise kostengünstig
erfolgen. Für
eine Spezialisierung der integrierten Logikschaltung für eine bestimmte
Art oder Klasse von Anwendungen ist lediglich die Herstellung und
Verwendung von einer oder mehreren speziellen Masken für die Verdrahtungsebene
oder die Verdrahtungsebenen erforderlich. Je nach Typ der verwendeten
Speicherzellen kann die integrierte Logikschaltung 10 danach
unter Umständen
auf einfache Weise für
ihre zukünftige
Aufgabe programmiert werden.
-
12 ist
eine schematische Darstellung eines Flussdiagramms eines Verfahrens
zum Herstellen einer integrierten Logikschaltung. In einem ersten
Schritt 101 wird eine Mehrzahl von Gruppen von Speicherzellen
erzeugt. In einem zweiten Schritt 102 wird ein Adressdecoder
mit einer Mehrzahl von Adresseingängen zum Empfangen einer Adresse
und zum Auswählen
einer Gruppe von Speicherzellen erzeugt. In einem dritten Schritt 103 wird
eine Mehrzahl von Datenausgängen
zum Ausgeben von Information erzeugt. Der dritte Schritt 103 kann
die Erzeugung von Leseverstärkern
umfassen. Der erste Schritt 101, der zweite Schritt 102 und
der dritte Schritt 103 können in einer beliebigen Reihenfolge
oder auch ganz oder teilweise gleichzeitig ausgeführt werden.
Mit dem ersten Schritt 101, dem zweiten Schritt 102 und
dem dritten Schritt 103 kann gleichzeitig oder nacheinander
eine Mehrzahl von Speicherbereichen erzeugt werden, die jeweils
eine Mehrzahl von Gruppen von Speicherzellen, einen Adressdecoder
und eine Mehrzahl von Datenausgängen
umfassen.
-
In
einem vierten Schritt 104 wird eine Kopplungseinrichtung
erzeugt, die zumindest einen Teil der Datenausgänge des Speicherbereichs oder
eines ersten Speicherbereichs mit zumindest einem Teil der Adresseingänge des
Adressdecoders des Speicherbereichs bzw. des ersten Speicherbereichs
oder eines zweiten Speicherbereichs koppelt. Die Kopplungseinrichtung
umfasst beispielsweise elektrische oder optische Leitungen, eine
Taktsynchronisierungseinrichtung, einen Multiplexer, einen oder
mehrere weitere Speicherbereiche oder andere Einrichtungen. Der
vierte Schritt 104 kann zusammen mit dem ersten Schritt 101,
dem zweiten Schritt 102 und dem dritten Schritt 103 oder
unmittelbar nach diesen in einem zeitlich zusammenhängenden Herstellungsverfahren
ausgeführt
werden. Alternativ wird der vierte Schritt 104 zu einem
späteren
oder deutlich späteren
Zeitpunkt ausgeführt
als der erste Schritt 101, der zweite Schritt 102 und
der dritte Schritt 103.
-
In
einem fünften
Schritt 105 wird Information in den Speicherzellen gespeichert,
die eine durch die integrierten Logikschaltung zum implementierende
Logik definiert. Auch der fünfte
Schritt 105 kann zusammen mit oder unmittelbar nach dem
ersten Schritt 101, dem zweiten Schritt 102, dem
dritten Schritt 103 und dem vierten Schritt 104 oder
davon zeitlich getrennt zu einem späteren Zeitpunkt ausgeführt werden.
-
Die
oben anhand der Figuren dargestellten integrierten Logikschaltungen
sind für
ein breites Spektrum von Anwendungen geeignet. Neben dem bereits
mehrfach erwähnten
Fahrkartenautomaten sind weitere Beispiele unter Anderem Benutzerschnittstellen
für Büromaschinen
und andere Geräte,
sowie Überwachungsaufgaben.
Für verschiedene
Anwendungen ist auch das Speichern von Information während der
Laufzeit in einem Teil eines Speicherbereichs oder in einem oder
mehreren dafür
vorgesehenen Speicherbereichen möglich. Beispielsweise
können
Bilder von Überwachungskameras
in einem Speicherbereich einer integrierten Logikschaltung abgelegt
und mit nachfolgenden Bildern verglichen werden, um Veränderungen
zu erkennen.
-
- 10
- integrierte
Logikschaltung
- 11
- Eingang
der integrierten Logikschaltung 10
- 111
- erste
Gruppe von Eingängen 11
- 112
- zweite
Gruppe von Eingängen 11
- 113
- dritte
Gruppe von Eingängen 11
- 12
- Ausgang
der integrierten Logikschaltung 10
- 121
- erste
Gruppe von Ausgängen 12
- 122
- zweite
Gruppe von Ausgängen 12
- 123
- dritte
Gruppe von Ausgängen 12
- 20
- Speicherbereich
- 201
- Speicherbereich
- 202
- Speicherbereich
- 203
- Speicherbereich
- 204
- Speicherbereich
- 205
- Speicherbereich
- 206
- Speicherbereich
- 207
- Speicherbereich
- 2011
- Speicherbereich
- 2012
- Speicherbereich
- 2013
- Speicherbereich
- 2014
- Speicherbereich
- 2015
- Speicherbereich
- 2016
- Speicherbereich
- 2017
- Speicherbereich
- 2018
- Speicherbereich
- 2019
- Speicherbereich
- 2020
- Speicherbereich
- 2030
- Decoder
- 2031
- Speicherbereich
- 2032
- Speicherbereich
- 2039
- Speicherbereich
- 2041
- erster
Speicherbereich
- 2042
- zweiter
Speicherbereich
- 2043
- dritter
Speicherbereich
- 21
- Speicherzelle
- 22
- Adressdecoder
- 221
- Wortleitung
- 23
- Adresseingang
- 231
- erste
Gruppe von Adresseingängen
- 232
- zweite
Gruppe von Adresseingängen
- 233
- erster
Adresseingang
- 234
- zweiter
Adresseingang
- 235
- dritter
Adresseingang
- 23
- vierter
Adresseingang
- 237
- fünfter Adresseingang
- 238
- sechster
Adresseingang
- 24
- Leseverstärker
- 241
- Bitleitung
- 25
- Datenausgang
- 251
- erste
Gruppe von Datenausgängen
- 252
- zweite
Gruppe von Datenausgängen
- 253
- dritte
Gruppe von Datenausgängen
- 26
- Steuersignaleingang
- 31
- Schalter
- 32
- Masse
- 33
- Ausgabeeinrichtung
- 34
- Masse
- 41
- Kopplungsleitung
- 42
- Taktsynchronisierungseinrichtung
- 43
- Taktleitung
- 44
- Takteingang
- 45
- Buserweiterungseinrichtung
- 46
- Multiplexer
- 461
- Eingang
- 462
- Ausgang
- 47
- Auswahleinrichtung
- 471
- Auswahlempfänger
- 48
- Decoder
- A
- Signal,
das einem Bit einer Adresse entspricht
- B
- Signal,
das einem Bit einer Adresse entspricht
- C
- Signal,
das einem Bit einer Adresse entspricht
- D
- Signal,
das einem Bit einer Adresse entspricht