DE3783151T2 - Programmierbare logische vorrichtung. - Google Patents

Programmierbare logische vorrichtung.

Info

Publication number
DE3783151T2
DE3783151T2 DE8787301800T DE3783151T DE3783151T2 DE 3783151 T2 DE3783151 T2 DE 3783151T2 DE 8787301800 T DE8787301800 T DE 8787301800T DE 3783151 T DE3783151 T DE 3783151T DE 3783151 T2 DE3783151 T2 DE 3783151T2
Authority
DE
Germany
Prior art keywords
signals
logic
signal
array
stack
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE8787301800T
Other languages
English (en)
Other versions
DE3783151D1 (de
Inventor
Om Agrawal
Kapil Shankar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vantis Corp
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of DE3783151D1 publication Critical patent/DE3783151D1/de
Application granted granted Critical
Publication of DE3783151T2 publication Critical patent/DE3783151T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/045Program control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Logic Circuits (AREA)

Description

  • Die Erfindung betrifft programmierbare Logikeinrichtungen und vorzugsweise Einrichtungen, die zur Verwendung bei Steuerungen, beispielsweise bei Folgesteuerungseinheiten, geeignet sind und leicht programmierbare Hochpegel-Logikelemente wie etwa eine Last-in-first-out- Stapeleinrichtung, und einen RAM-Speicher aufweist.
  • Es wird verwiesen auf unsere mitanhängige Europäische Patentschrift EP-A2-0 244 925 (Artikel 54(3)).
  • PAL- und PLA-Einrichtungen
  • Derzeit finden programmierbare Array-Logik-Einrichtungen (PAL) und programmierbare Logik-Array-Einrichtungen (PLA) Anwendung zur Steuerung digitaler Schaltungen, etwa von "Zustands-Maschinen" oder Folgesteuerungseinheiten, die Flexibilität und leichte Verwendbarkeit erfordern. Obwohl derartige PAL/PLA-Einrichtungen schnell und flexibel arbeiten, sind sie schwierig zu programmieren, da sie zu diesem Zweck das Schreiben komplexer Boolescher Ausdrücke erfordern. Die Verwendung Boolescher Gleichungen zur Konzipierung der Folgesteuerungseinheit begrenzt die Anzahl der dem Designer zur Verfügung stehenden Variablen typischerweise auf acht bis sechszehn, und zwar wegen der mathematischen Schwierigkeiten beim Spezifizieren und Vereinfachen von Gleichungen, die mehr als acht Variablen aufweisen. Ferner erfordern derartige Folgesteuerungseinheiten zusätzliche externe Schaltungen zur Schaffung von Flexibilität sowie zusätzliche bedingte Testschaltungen.
  • Besondere Schwierigkeiten bereitet das Programmieren und Verstehen einer generellen PAL- oder PLA-Einrichtung, die zum Durchführen von Logik-Funktionen mit höherem Pegel verwendet wird, wie etwa Zählen, Zustands-Folgesteuerung, Abzweigen oder Mehrfachfall- Testen. In derartigen Einrichtungen sind keine Logik- Blöcke mit höherem Pegel, etwa Programmzähler, Last-infirst-out(LIFO)-Stapeleinrichtungen oder Speicher verfügbar, die leicht programmierbar oder leicht verständlich sind. Subroutinen sind ein sehr wünschenswertes Hochpegel-Sprachkonstrukt, wie dem Fachmann auf dem Gebiet ersichtlich ist, und das Vorsehen einer Stapeleinrichtung bietet in einem Steuerungs- oder Folgesteuerungsprogramm eine leichte Subroutine-Durchführbarkeit. Das Weglassen einer Stapeleinrichtung in den auf PAL/PLA basierenden Einrichtungen ist nicht förderlich für die Hochpegel-Sprachkonstrukte GOSUB und RE- TURN. Die Abwesenheit dieser Hochpegelelemente macht es sehr schwierig, Folgesteuerungseinheiten und Zustandsmaschinen mit auf Hochpegel-Sprache basierenden Zustandsmaschinenkonstrukten mit PALs und PLAs zu versehen. Zudem bewirkt das Fehlen dieser Hochpegelelemente, daß die aktuelle Architektur von PAL/PLA-Einrichtungen nicht optimal für Steuer-Logik-Anwendungen ist.
  • Während zum Reduzieren von Programmieraufwand und zum Erleichtern der Verständlichkeit einige Hochpegelsprachen(HLL)-Programmierschemata verfügbar sein mögen, existiert keine direkte Beziehung zwischen derartigen HLL-Konstrukten und der zugrundegelegten Hardware. Per se ist keine Methodologie verfügbar, die eine leichte Konzeption der Folgesteuerungseinheit ermöglicht, da innerhalb der auf PAL oder PLA basierenden Folgesteuerungseinheiten keine Hochpegelkonstrukte verfügbar sind, die den für die Designer höchst nützlichen Hochpegel-Sprach-Konstrukten entsprechen. Derzeit müssen komplexe, detaillierte und fehlerträchtige Boolesche Gleichungen geschrieben werden, um die Konzeption von auf PAL oder PLA basierenden Folgesteuerungseinheiten zu ermöglichen, und derartige Gleichungen weisen keine Eins-zu-eins-Entsprechung zu den zugrundegelegten Schaltungselementen der auf PAL oder PLA basierenden Folgesteuerungseinheit auf. Aus all diesen Gründen sind PAL/PLA-Einrichtungen nicht geeignet zur Anwendung bei großen, komplexen Steuerungen.
  • Einrichtungen auf PROM-Basis
  • Üblicherweise werden zur Anwendung bei derartigen Steuerungen mikrokodierte Folgesteuerungseinheiten verwendet, welche auf einem programmierbaren Nurlesespeicher (PROM) basieren. Diese Mikro-Folgesteuerungseinheiten haben jedoch viele Nachteile. Insbesondere bieten auf PROM basierende Mikro-Folgesteuerungseinheiten keine adäquaten Hochpegelelemente zur Zustandsmaschinen/Folgesteuerungseinheiten-Konzeption, und ihre Architektur steht nicht in Beziehung zu den für höheren Pegel vorgesehenen Konstrukten, die von Designern bevorzugt verwendet werden.
  • Ein solches Hochpegelelement, ein programmierbarer Zähler, der im Stand der Technik im Zusammenhang mit auf PROM basierenden Mikro-Folgesteuerungseinheiten nicht verfügbar ist, ist Gegenstand der hierauf bezogenen mitanhängigen Anmeldung. Der Zähler liefert dem Designer Hochpegel-Steuerungs-Folgesteuerungs-Konstrukte wie "Mehrwege"-Abzweigung, flexibles konditionales Testen und Abzweigen, Erzeugung von eingabeabhängigen Ausgangssignalen, und benutzeranpaßbare Instruktionsdekodierung. Die resultierende Einrichtung, die als "programmierbarer Logik-Steuerer" (PLC) bezeichnet wird, versieht eine Anzahl von Hochpegel-Sprach-Konstrukten mit einer Architektur, die eine starke Eins-zu eins-Entsprechung zu den Konstrukten aufweist. Sie vermeidet die komplexe Architektur von auf PROM basierenden Folgesteuerungseinheiten, welche Elemente wie einen Testmultiplexer, einen Programmzählermultiplexer und ein Instruktionsdekodierungs-PLA aufweisen. Diese Elemente verlangsamen zudem die Ausführungszeit des Steuerungs- oder Folgesteuerungsprogramms und machen die Konzeption und das Verständnis des Programms schwierig.
  • Ein weiteres Hochpegelelement, das in auf PROM basierenden Mikro-Folgesteuerungseinheiten nicht verfügbar ist, ist ein Direktzugriffsspeicher (RAM). Die Speicherung von Daten in einer Steuerungs-Folgesteuerungseinheit, insbesondere von Daten, die zu bestimmten Intervallen extern aufdatiert werden sollen, zieht vergrößerte Speicherpositionen nach sich. Herkömmlicherweise machte dies die Verwendung größerer programmierbarer UND- oder ODER-Gatter erforderlich, als für die Steuerfunktion unbedingt benötigt werden. Herkömmlichweise resultierte dies aus der Verwendung vergrabener Register für eine solche Datenspeicherung. Eine Vermehrung der Anzahl dieser Speicherstellen für zu einem sehr starken (exponentialen) Ansteigen der Array-Größe. Dieses große Array wiederum bewirkt, daß die Folgesteuerungseinheit langsamer arbeitet, und vergrößert die Kosten im Vergleich zu dem Gewinn an Speicherung unverhältnismäßig. Ferner wird eine derartige Speicherungsfunktionalität nicht durch eine Hochpegel-Sprache, die beispielsweise als READ oder WRITE aufgebaut ist, unterstützt, sondern muß durch das Schreiben umständlicher Boolescher Ausdrücke erzielt werden.
  • In einer programmierbaren Logik-Steuereinrichtung (PLC), wie sie in unserer Europäischen Patentschrift EP-A2-0 244 925 beschrieben wird, bilden ein Satz von Ausgangsregistern zusammen mit einem Zähler und ein Satz von vergrabenen Allzweck-Registern das Pipeline- Register von auf PROM basierenden Mikro-Folgesteuerungseinheiten. Der Zähler in einem PLC-Konzept bietet die Funktionalität eines Programmzählers im Mikro-Folgesteuerungseinheits-Konzept. Er bietet ferner das Sprungadressenfeld des Pipeline-Registers. Zudem führt in einer PLC-Einrichtung ein programmierbares UND-Array die Adressierfunktionen der Mikro-Folgesteuerungseinheiten aus, wohingegen auf PROM basierende Mikro-Folgesteuerungseinheiten fixierte UND-Arrays aufweisen.
  • Folglich schafft die Erfindung eine programmierbare Logikeinrichtung mit:
  • einer programmierbaren Array-Einrichtung, die derart ausgelegt ist, daß sie auf an Array-Eingänge angelegte Eingangssignale hin mehrere Logiksignale erzeugt;
  • einer Ausgangseinrichtung, die derart geschaltet ist, daß sie eine erste Anzahl der Logiksignale empfängt und daraus eine Anzahl von Einrichtungs-Ausgangssignalen an einer zugehörigen Anzahl von Eingangs-/Ausgangs-Ports der Einrichtung erzeugt;
  • einem Statusregister, das derart geschaltet ist, daß es eine zweite Anzahl der Logiksignale empfängt, und das derart ausgelegt ist, daß es daraus abgeleitete Daten speichert und ein Statuswortdatenausgangssignal erzeugt;
  • und die gekennzeichnet ist durch
  • eine Stapeleinrichtung, die derart geschaltet ist, daß sie auf eine dritte Anzahl der Logiksignale als Steuersignale reagiert, und die derart ausgelegt ist, daß sie von dem Statusregister übermittelte Statusworte auf First-in-last-out-Basis speichert, und daß sie den zuletzt eingegebenen Inhalt des Stapels wegnimmt und daraus an einem Statuswortausgang der Stapeleinrichtung ein das letzte gespeicherte Statuswort beinhaltendes Stapelausgangssignal erzeugt.
  • Die Stapeleinrichtung schafft eine sehr zweckmäßige und flexible Steuerstruktur für eine Zustandsmaschine. Es kann eine Einrichtung vorgesehen sein, die dem UND- Array die Stapelzustandsinformation zuführt. Beispielsweise können die Indikatoren STACK EMPTY und STACK FULL dem programmierbaren UND-Array rückübermittelt werden. Dies erlaubt die Verwendung komplexer Steuerstrukturen wie beispielsweise rekursiver Subroutinen. In der die Stapeleinrichtung aufweisenden PLC-Einrichtung wird eine verbesserte Flexibilität der Steuerungsstruktur erzielt. Die Stapeleinrichtung kann in sehr effizienter Weise Subroutinenaufrufe verwenden und Abzweigungen durchführen. Die Stapelverwendung basiert auf Adresszeigern. Die Zeiger adressieren stets die letzte Eingangsstelle. Ferner kehrt der Zeiger um, wenn die Anzahl der PUSH oder POPs die Anzahl der Stapelstellen überschreitet. Zudem ist ein Signal vorgesehen, um diesen Zeiger auf Null rückzusetzen. Dieses Signal wird ferner durch das ODER-Array gesteuert und meistens während der Initialisierung des Systems verwendet.
  • Eine weitere Ausführungsform der Erfindung enthält einen Direktzugriffsspeicher (RAM), der mit einer auf PAL oder PLA basierenden programmierbaren Logik-Einrichtung kombiniert ist. Das RAM ist sehr nützlich zur Informationsspeicherung. Es bietet eine sehr leicht betreibbare Einrichtung zur Speicherung von Steuerinformation, die extern aktualisierbar ist, typischerweise durch eine externe zentrale Verarbeitungseinheit (CPU). Die Arbeitsweise der Einrichtung kann von dieser Steuerinformation abhängig gemacht werden. Ferner kann der Benutzer mittels Software auf einfache Weise ein Benutzer-Interface programmieren, um diese Information von der externen Quelle zu aktualisieren.
  • Das Vorsehen des RAM bietet anders als die sogenannten "vergrabenen Register" zusätzliche Speicherleistung von externen Daten. Wie in der Systemkonzeption typisch ist, liefert die externe CPU periodisch Information an die Steuereinrichtung. Beispiele dieser Funktion sind DMA-Steuerer, Unterbrechungssteuerer und Videosteuerer. Das RAM kann diese Funktionalität sehr effizient handhaben. Die Arbeitsweise der Steuereinrichtung kann in Abhängigkeit von dieser Steuerinformation modifiziert werden. Ferner kann der Benutzer mittels Software das Benutzer-Interface definieren, um diese Information von jeglicher Art von externer Quelle zu erhalten. Eine solche Fähigkeit existiert nicht in den Einrichtungen, die auf PAL, PLA oder PROM basieren.
  • Das RAM bietet ferner eine Notizblockspeicherfunktion. Unter der Steuerung durch das ODER-Array kann ein Einschreiben oder Auslesen aus jedem Adressplatz erfolgen. Diese Plätze können als separate unabhängige Zähl- und Zeitsteuerungskanäle verwendet werden. Auch diese Funktion existiert nicht in herkömmlichen Folgesteuerungseinheiten. Diese unabhängigen, programmierbaren Zähl- und Zeitsteuerungskanäle können für eine Vielzahl von Systemsteuerungsfunktionen verwendet werden, etwa für einen Auffrisch-Zeitgeber für den Speichersteuerer.
  • Diese Funktion existiert nicht in herkömmlichen Folgesteuerungseinheiten.
  • Bei der Einrichtung nach der Erfindung sind Funktionen möglich, die bei derzeitigen auf PROM basierenden Mikro-Folgesteuerungseinheiten nicht existieren, beispielsweise eine flexiblere und einfachere Steuerung des RAM, womit neue Anwendungsbereiche eröffnet werden. Diese Funktion kann für PALs und PLAs durch Boolesche Gleichungen und im Falle von PLCs durch Software leicht gesteuert werden.
  • Bei einer weiteren Ausführungsform der Erfindung ist das RAM in einem PLC der hiermit zusammenhängenden, mitanhängigen Erfindung vorgesehen. Alternative bevorzugte Ausführungsformen beinhalten die Stapeleinrichtung und das RAM, das für eine Folgesteuerungseinheit auf PAL- oder PLA-Basis oder für ein PLC vorgesehen ist.
  • In einer repräsentativen Ausführungsform einer programmierbaren Logik-Einrichtung der Erfindung ist eine kombinatorische Logik-Schaltung vorgesehen, die ein programmierbares UND-Array und ein Paar von programmierbaren ODER-Arrays aufweist. Ein erstes ODER-Array erzeugt Logik-Signale, die an einen Satz von Ausgangs- Makrozellen und einen Direktzugriffsspeicher (RAM) übermittelt werden, der mit einem Satz von Eingangs/ Ausgangs-Stiften angeschlossen ist. Ein zweites ODER- Gatter erzeugt Logik-Signale, die einem Satz von "vergrabenen" internen Registern, einem Zähler und einer Last-in-first-out(LIFO)-Stapeleinrichtung zugeführt werden. Das zweite ODER-Array bietet eine Hochpegel- Logiksteuerungs-Folgesteuerungsfunktion. Die von bestimmten der Ausgangs-Makrozellen sowie von den internen Registern, dem RAM und dem Zähler erzeugten Signale werden über dazu vorgesehene interne Feedback-Wege zu dem UND-Array rückgeführt.
  • Das AND-Array der programmierbaren Logik-Einrichtung der Erfindung kann in Verbindung mit dem programmierbaren ODER-Array derart programmiert werden, daß die erforderlichen Steuersignale erzeugt werden. Ferner ist die Anzahl der von einem einzigen Produkt abhängigen ODER-Ausdrücke ziemlich kritisch. Für eine gesteigerte Geschwindigkeit ist es wichtig, die Abmessungen des ODER-Arrays so zu reduzieren, daß die Verzögerung des zweiten Gatters so weit wie möglich beseitigt wird. Bei einer Logik-Einrichtung nach der Erfindung werden zwei ODER-Arrays verwendet, von denen jedes eine ihm zugeteilte Funktion erfüllt, und zwar entweder die Ausgangssignal-Erzeugung oder die Folgesteuerungseinheit- Steuerung, wodurch die Abmessungen jedes ODER-Arrays reduziert werden.
  • Nach einer weiteren alternativen Ausführungsform wird bei einer schnelleren Einrichtung eine kombinatorische Logik-Schaltung verwendet, die ein programmierbares UND-Array und festgelegte ODER-Arrays aufweist.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 zeigt ein Blockschaltbild einer Ausführungsform einer programmierbaren Logik-Einrichtung nach der Erfindung, wobei ein programmierbarer Logik-Steuerer (PLC) eine LASt-in-first-out-Stapeleinrichtung und einen Direktzugriffsspeicher aufweist.
  • Fig. 2 zeigt ein Blockschaltbild der in einer programmierbaren Logik-Einrichtung nach der Erfindung verwendeten Stapeleinrichtung.
  • DETAILLIERTE BESCHREIBUNG EINER BEVORZUGTEN AUSFÜH- RUNGSFORM
  • Fig. 1 zeigt die programmierbare Logik-Steuereinrichtung (PLC) 100, die einen Direktzugriffsspeicher (RAM) 110 und einen Subroutinen-Speicher 130 als Hochpegel- Schaltungselemente aufweist, und zwar zusätzlich zu einem programmierbaren Zähler 240. Eine Beschreibung der die in Fig. 1 gezeigte PLC 100 bildenden Elemente außer dem RAM 110 und der Stapeleinrichtung 130 ist in der hiermit zusammenhängenden mitanhängigen Anmeldung "Flexible Programmable Logic Controller" enthalten, wobei diese Beschreibung durch Verweis hierin eingeschlossen ist. Zum besseren Verständnis weisen in der Beschreibung die somit eingeschlossenen ähnlichen Elemente, auf die verwiesen wird, gleiche Bezugszeichen auf wie die Elemente in der vorliegenden Anmeldung.
  • Auf die Beschreibung der in Fig. 1 gezeigten bevorzugten Ausführungsform folgen die Beschreibungen alternativer Ausführungsformen mit auf PAL oder PLA basierenden Einrichtungen, bei denen das RAM 110 und/oder die Stapeleinrichtung 130 verwendet werden.
  • Kurz gesagt weist die PLC 100 eine sicherungsprogrammierbare kombinatorische Logik-Schaltung 120 auf, die von einer externen Quelle Eingangssignale empfängt, die über einen Satz von zehn Signalleitungen 140 zugeführt werden. In den Figuren sind mehrere Signalleitungen summiert mit einem nebenstehenden Zahlenzeichen markiert, womit angezeigt ist, daß eine Anzahl von Signalen parallel auf den Leitungen geführt ist, obwohl lediglich eine einzige Leitung gezeigt ist, wobei das Zahlenzeichen die Zahl der parallelen Signale spezifiziert. Folglich weist die Leitung 140 das Zahlenzeichen "10" an einer Summierungs-Schnittlinie 140 auf. Die programmierbare kombinatorische Logik-Schaltung 120 kann aus programmierbaren UND- und ODER-Arrays gebildet sein, wie im folgenden detailliert erläutert wird.
  • Ein Satz von vierundzwanzig Ausgangs-Makrozellen 160, von denen jede ein Ausgangsregister 162 aufweist, empfängt über Signalleitungen 180 von der Schaltung 120 erzeugte Signale, wie es ein Satz von vergrabenen Registern 200 über Signalleitungen 220 macht. Die Register können beispielsweise herkömmliche Flip-flop-Einrichtungen sein.
  • Ferner empfängt ein programmierbarer Zähler 240 über Signalleitungen 262, 264 und 266 Signale, die von einer Schaltung 120 erzeugt werden. Diese Signale repräsentieren die Ladeadressen- und die Zählsteuerinformation. Signale, die den Inhalt der vergrabenen Register 200 und des Programmzählers 240 repräsentieren, werden über Signalleitungen 280 zu der programmierbaren kombinatorischen Schaltung 120 zurückgeführt, wo sie ein zweites Eingangssignal in die Schaltung 120 bilden.
  • Signale, die den Inhalt der Ausgangs-Makrozellen 160 repräsentieren, werden über Signalleitungen 300 zu Eingangs/Ausgangs(I/O)-Stiften 320 geleitet sowie über Signalleitungen 340 zu der kombinatorischen Schaltung 120 rückgeführt, wo sie ein drittes Eingangssignal in die Schaltung 120 bilden. Der Zähler 240 ist vorzugsweise ein Gray-Code-Zähler. Da der Inhalt eines solchen Zählers lediglich an einer Bit-Stelle verändert wird, sind Zustands-Übergänge keinen Instabilitäten unterzogen, die Übergangsfehler in den an den I/O-Stiften 320 erzeugten Signalen erzeugen können. Zudem bewirkt dies eine gesteigerte Optimierung der Booleschen Konzept-Gleichungen, da Produkt-Ausdrücke angrenzender Zustände Unterschiede von lediglich einem Bit involvieren, wie dem Fachmann geläufig ist.
  • Kurz gesagt werden Datensignale und dynamische Steuersignale, die von der kombinatorischen Logik-Schaltung 120 erzeugt werden, jeder der Ausgangs-Makrozellen 160 zugeführt, und die Makrozelle erzeugt daraus ein Signal, das aus dem Inhalt eines Registers innerhalb der Makrozelle 160 gewählt werden kann, oder das von der Schaltung 120 her empfangene kombinatorische Datensignal, und bewirkt, daß dieses Signal entweder in einer aktiven HIGH oder einer aktiven LOW-Polarität dem I/O- Stift 320 zur Ausgabe und Rückkopplung an die Schaltung 120 zugeführt wird, oder die Makrozelle kann bewirken, daß ein an den I/O-Stift 320 angelegtes Signal über die Signalleitung 340 an die Logik-Schaltung 120 übermittelt wird. Jedes vergrabene Register 200 empfängt ferner Daten- und dynamische Steuersignale von der Logik- Schaltung 120; es wird ihm jedoch kein I/O-Stift zugeteilt, an dem der Inhalt des Registers erzeugt werden kann, jedoch wird ein den Inhalt des Registers repräsentierendes Signal über den Feedback-Weg 280 an die Logik-Schaltung 120 rückgeführt, wo es zur "Zustands"- Bestimmung verwendet werden kann.
  • Der Inhalt des Programm-Zählers 240 wird in ähnlicher Weise zu der Logik-Schaltung 120 rückgeführt, um bei der "Zustands"-Bestimmung verwendet zu werden, und, da die externen Eingangssignale auch für die Logik-Schaltung 120 verfügbar sind, wird der Einsatz sowohl einer "Mealy"-Zustands-Maschine, bei der die Bestimmung des nächsten Zustandes auf dem aktuellen Zustand und den Eingangssignalen basiert, als auch einer "Moore"-Zustands-Maschine, die lediglich auf dem aktuellen Zustand basiert, von der PLC 100 der Erfindung komplikationslos erzielt. Der Zähler 240 kann auch Sequenzsteuerungsfunktionen durchführen und wird über die programmierbare Logik-Schaltung 120 leicht gesteuert. Der Zähler 240 empfängt ferner ein von der Schaltung 120 erzeugtes LOAD CONTROL-Signal und einen Satz von LOAD ADDRESS-Signalen, die bei Anlegen des LOAD CON- TROL-Signals das Einstellen des Inhaltes des Zählers 240 auf einen programmierbaren "Zustand" erlauben. Das auf diese Weise erfolgende Laden des Zählers schafft eine "Zustandsabzweige"-Funktion der PLC 100. Alternativ kann durch permanentes Einstellen des LOAD CONTROL- Signals auf HIGH der Zähler 240 als ein Extra-Satz von vergrabenen Registern funktionieren. Der Zähler 240 empfängt ferner ein Signal COUNTER CLEAR (CLR) von der Logik-Schaltung 120, das, wenn es geltend gemacht wird, den Zähler auf einen vorbestimmten "Start"-Zustand, beispielsweise "00"Hex, rücksetzt.
  • Die PLC 100 enthält ein RAM 110, das zur Datenspeicherung verwendet wird. Das RAM 110 erhält das Zeitgebungssignal CLK, das von den Registern 162 und 200 und dem Zähler 240 empfangen wird. Ein Adress-Signal, das von einem der kombinatorischen Schaltung 120 zugehörigen Bereich mit dem ODER-Ausgangssignalerzeugungs-Array 124 erzeugt wird, wird über eine Signalleitung 112 dem RAM 110 zugeführt. Bei der bevorzugten Ausführungsform weist das RAM 110 acht Speicherplätze auf, und folglich werden die Adress-Signale zeitlich gemultiplext auf der Leitung 112 geführt, oder alternativ könnte ein Satz von drei Signalleitungen verwendet werden, um binär kodierte Adress-Signale parallel zu führen. Ein von dem ODER-Array 124 erzeugtes Schreibfreigabesignal wird dem RAM 110 über eine Signalleitung 114 zugeführt, und ein Satz von acht Datensignalleitungen 116 leitet von dem ODER-Array 124 erzeugte Daten zu dem RAM 110 zur Speicherung darin. Das Anlegen des Schreibfreigabesignals bewirkt, daß die über die Signalleitungen 116 zugeführten Daten in dem RAM-Platz gespeichert werden, der durch die über die Signalleitung 112 empfangen Adress- Signale bestimmt ist, und zwar bei Empfang des nächsten Taktsignals.
  • Ein Satz von acht Datensignalleitungen 118 leitet bei Empfang des nächsten Taktsignals die Daten, die in dem RAM 110 an der durch die Adress-Signale auf der Leitung 112 bestimmten Stelle gespeichert sind, über den Feedback-Weg 340 zu einem der kombinatorischen Schaltung 120 zugehörigen Bereich mit dem programmierbaren UND- Array. Wenn keine RAM-Adresse bestimmt ist, wird eine Vorgabe-Adresse ZERO verwendet, um Daten von dem RAM 110 zu speichern oder wiederaufzufinden.
  • Die Daten, die in dem RAM 110 gespeichert sind, das, wie noch zu erläutern ist, von Software gesteuert wird, können eine interne Konstante oder einen variablen Wert, oder dem UND-Array 122 über Eingangsleitungen 1340 zugeführte Daten umfassen. Eine typische Anwendungsform des RAM 110 besteht in einem "Notizblock", der separate programmierbare Zähl- und Zeitgebungskanäle erlaubt, wie es für einen Auffrisch-Zeitgeber für einen Speichersteuerer erforderlich ist.
  • Die PLC 100 weist ferner eine Last-in-first-out-Stapeleinrichtung 130 auf, die dem PLC 100 eine Subroutine- Fähigkeit verleiht. Die Stapeleinrichtung 130 erhält das von dem RAM 110, den Registern 162 und 200 und dem Zähler 240 empfangene Zeitgebungssignal CLK und, auf der Signalleitung 266, das von dem Zähler 240 empfangene CLR-Signal. Ein PUSH-Signal und ein POP-Signal, die von einem der kombinatorischen Schaltung 120 zugehörigen Bereich mit dem Steuerungs-Folgesteuerungs-ODER- Array 126 erzeugt wird, wird über Signalleitungen 132 bzw. 134 der Stapeleinrichtung 130 zugeführt. Der Zähler 240 empfängt über Signalleitungen 136 einen Satz von LOAD STATE-Signalen, und zwar zusätzlich zu den über Signalleitungen 262 von dem ODER-Array 126 empfangenen LOAD ADDRESS-Signalen. Signale, die den Inhalt des Zählers 240 repräsentieren, werden über Signalleitungen 138 an der Stapeleinrichtung 130 zugeführt.
  • Im folgenden wird im Zusammenhang mit Fig. 2 eine Ausführungsform der Stapeleinrichtung 130 erläutert, die innerhalb der unterbrochenen Linie gezeigt ist. Ein Direktzugriffsspeicher (RAM) 131, der acht adressierbare Speicherplätze aufweist, von denen jeder zum Speichern eines 10-Bit-Wortes imstande ist, empfängt von dem Zähler 240 über Leitungen 138 das Datenwort. Ein Zähler (CTR) 133 innerhalb der Stapeleinrichtung 130 empfängt von dem ODER-Array 126 über die Leitungen 132 und 134 die PUSH- und POP-Signale. Der Zähler 133 ist vorzugsweise ein Modulo-8-Ring-Zähler und inkrementiert bei Empfang eines PUSH-Signals seinen Inhalt um eins (Modulo 8), und dekrementiert bei Empfang eines POP- Signals seinen Inhalt um eins (Modulo 8), und zwar typischerweise synchronisiert um das CLK-Signal, das der Zähler 133 empfängt. Der Zähler 133 empfängt ferner das von dem ODER-Array 126 erzeugte CLR-Signal, und der Empfang dieses Signals bewirkt typischerweise das Rücksetzen des Inhaltes des Zählers auf ZERO.
  • Der Zähler 133 erzeugt auf den Signalleitungen 135 einen Satz von drei Zählwertsignalen, die binär kodiert den aktuellen Wert repräsentieren, auf den in der Stapeleinrichtung 130 "gezeigt" wird. Diese Zählwertsignale werden einem Adressport des RAM 131 zugeführt und schaffen den Platz innerhalb des RAM 131, in den Daten eingeschrieben werden, wie sie an den Leitungen 138 anliegen, oder aus dem Daten gelesen werden. In ersteren Fall wird das von dem ODER-Array 126 erzeugte PUSH- Signal an einem Schreibfreigabe(W)-Anschluß des RAM 131 empfangen, damit das RAM 131 zum Schreiben freigegeben werden kann.
  • Von dem RAM 131 ausgelesene Daten werden über Signalleitungen einen Satz von zehn Freigabe/Sperr-Puffern 137 zugeführt, die ihrerseits mit dem Satz von Signalleitungen 26 verbunden sind, die die LOAD ADDRESS-Signale führen. Die Puffer 137 und ein Dreizustands-Puffer 139 empfangen das von dem ODER-Array 126 erzeugte POP-Signal an einem Wahr- bzw. an einem Komplementär- Freigabeanschluß. Die Dreizustands-Puffer 139 sind auf den Signalleitungen 262 vor ihrer Verbindung mit den Puffern 137 angeordnet.
  • Obwohl dies aus Gründen der Übersicht in Fig. 1 nicht gezeigt ist, kann der in der Stapeleinrichtung 130 verwendete Zähler 133 ein STACK FULL- und ein STACK EMPTY-Signal erzeugen, das den Inhalt des Zählers 133 angibt, der sieben oder null beträgt.
  • Generell gleicht die Arbeitsweise der Stapeleinrichtung 130 derjenigen der Last-in-first-out(FIFO)-Stapeleinrichtung und ist dem Fachmann ersichtlich. Kurz gesagt bewirkt der Empfang des PUSH-Signals auf der Leitung 132, daß der Inhalt des Zählers 240, der den aktuellen "Zustand" repräsentiert, über Signalleitungen 138 an die Stapeleinrichtung übermittelt wird. Dann wird der derzeitige Zustand an der aktuellen Position gespeichert, die durch den Stapel-"Zeiger" an dem Stapel 130 gezeigt ist; wobei mit dem auf dem Gebiet verwendeten Ausdruck von einem "Pushen" auf den Stapel die Rede ist. Dann wird der Wert des Stapel-Zeigers aktualisiert, um das Pushen dieses aktuellen Zustandes auf den Stapel 130 zu reflektieren. Eine konverse "POP"-Operation wird durch Empfang eines POP-Signals auf der Leitung 134 durchgeführt, das bewirkt, daß der Inhalt des Stapels 130, der sich an der durch den aktuellen Wert des Stapelzeigers repräsentierten Position befindet, über Signalleitungen 136 an den Zähler 240 übermittelt wird. Der derart entnommene Zustands-Wert ersetzt den Inhalt des Zählers 240. Die Push- und Pop-Operationen werden durch das von dem Zähler 240 und der Stapeleinrichtung 130 empfangene Taktsignal synchronisiert.
  • Bei einer bevorzugten Ausführungsform wird für die Stapeleinrichtung 130 ein in Fig. 2 nicht gezeigter Inkrementierer verwendet, der vor der Speicherung in der Stapeleinrichtung, d. h. wenn das PUSH-Signal auf der Signalleitung 132 erscheint, jeden von dem Zähler 240 erhaltenen Zustandszählwert um eins inkrementiert. Wenn das POP-Signal auf die Signalleitung 134 angelegt wird, wird der zuletzt auf der Stapeleinrichtung 130 gespeicherte Wert, d. h. der Zustandszählwert plus eins, dem Zähler 240 übermittelt.
  • Die in der Stapeleinrichtung 130 enthaltenen Puffer 137 und die Dreizustandspuffer 139 empfangen das POP-Signal, und der Zähler 240 gelangt in einen Zustand, in dem er nicht auf LOAD ADDRESS-Signale anspricht, die von dem Steuerungs-Folgesteuerungs-ODER-Array 126 erzeugt werden, während das POP-Signal auftritt. Das Auftreten des POP-Signals bewirkt ferner, daß der Zähler 240 das LOAD-Signal intern auf HIGH setzt, und zwar unabhängig von dem von dem ODER-Array 126 erzeugten LOAD-Signal, und der Inhalt der Stapeleinrichtung 130 wird dann über die Dreizustands-Puffer 139 dem Zähler 240 zugeführt, wie dem Fachmann ersichtlich ist. Das Auftreten des CLR-Signals auf der Leitung 266 bewirkt, daß der Wert des Stapel-Zeigers auf einen vorbestimmten Wert, beispielsweise null, rückgesetzt wird.
  • Durch das Pushen des Inhalts des Zählers 240 auf die Stapeleinrichtung 240 und das gleichzeitige Laden des Zählers 240 mit einer von dem ODER-Array 126 erzeugten Sprung-Adresse kann eine Subroutine durchgeführt werden, wie dem Fachmann geläufig ist. Durch das Entnehmen des so gespeicherten Zustands-Zählwertes aus der Stapeleinrichtung 130 und zurück zu dem Zähler 240 kann eine Rückkehr von der Subroutine durchgeführt werden.
  • Es ist anzumerken, daß das Laden des Zählers 240 eine vom Pushen des Inhaltes des Zählers auf die Stapeleinrichtung getrennte Operation ist. Folglich kann die Stapeleinrichtung 130 bei einer bestimmten Anwendung zum Speichern von Zustands-Information ohne Abzweigen verwendet werden.
  • Bei einer bevorzugten Ausführungsform hat die Stapeleinrichtung 130 eine Tiefe von acht Ebenen und erlaubt die Ausführung von bis zu acht verschachtelten Subroutinen. In diesem Fall arbeitet der Stapel-Zeiger in einer Modulo 8-Betriebsart, wie der Fachmann verstehen wird. Obwohl dies in Fig. 1 nicht gezeigt ist, können Signale, die den Zustand der Stapeleinrichtung 130 reflektieren, beispielsweise die Signale STACK FULL und STACK EMPTY, von der Stapeleinrichtung 130 erzeugt und dem UND-Array 122 zugeführt werden, um darin einen Stapeleinrichtungs-"Überlauf" oder -"Unterlauf" zu verhindern.
  • Das Programmieren der PLC-Einrichtung 100 der Erfindung erfolgt vorzugsweise über Hochpegelsprach(HLL)-Konstrukte. Das Vorsehen der Hochpegel-RAM 110- und Stapeleinrichtungs 130-Schaltelemente innerhalb der Einrichtungen der PLC 100 erleichtert dieses Programmieren und die sich daraus ergebende Verständlichkeit des resultierenden Programms. Eine exemplarische Syntax ist in der anliegenden Tabelle gezeigt. TABELLE Syntax der Hochpegel-Sprache Anweisung Typ Name Parameter Bedeutung DEFINIEREN INPINS Signalnamen Definieren OUTPINS ANWEISUNG INPUT PRIOR Prioritätskodierung eingegebener Signale OUTPUT Erzeugen Signale OUTIN Test-Feedback-Signale BURD n Vergrabenes Register n Testen der Signale des vergrabenen Registers/Erzeugen von Ausgangssignalen DELAY Halten des Ausgangssignals (der Ausgangssignale) für eine bestimmte Anzahl von Taktzyklen HOLD Nur Eingangssignale Halten der Eingangssignale für eine bestimmte Anzahl von Taktzyklen RELEASE Freigabe der Eingangssignale aus dem Haltezustand IF THEN ELSE Anweisungsmarkierung(en) WHILE DO FOR DO CASE OF GOTO direkter Abzweig GOTOR Relativer Abzweig ENABLE Nur Ausgangssignale Freigabe Puffer DISABLE Sperren Puffer RESET Rücksetzen Register PRESET Voreinstellen Register PRELOAD Vorladen Register GOSUB Ausrichten Subroutinen-Abzweig GOSUBr Abzweig der Relativ-Subroutine RETURN Rückkehr von Subroutine STORE Adresse, = Daten Speichern Daten in RAM 110 an Adresse RAMREAD Adresse (Bit-Zahl) Lesen RAM 110 an Adr. und Bit-Zahl
  • Die Bedeutung sämtlicher in der Tabelle gezeigter Anweisungen mit Ausnahme der letzten fünf, die sich auf die Stapeleinrichtung 130 und das RAM 110 beziehen, findet sich in der hiermit zusammenhängenden mitanhängigen Anmeldung "Flexible Programmable Logic Controller", deren Beschreibung hier durch Verweis eingeschlossen ist.
  • Die GOSUB- und GOSUBR-Anweisungen sind Anforderungen für direkte bzw. relative Subroutinen, die von der Stapeleinrichtung 130 verwendet werden, die den aktuellen Zustands-Zählstand auf den Stapel pusht und in den Zähler 240 im Falle der GOSUB-Anweisung die absolute Adresse der ersten Instruktion der Subroutine oder im Falle der GOSUBR-Anweisung die relative Adresse der ersten Instruktion einlädt. Die RETURN-Anweisung wird in die Subroutine plaziert, um eine Rückkehr zu dem Punkt in der Aufruf-Routine zu bewirken, der als nächstes auf die GOSUB- oder GOSUBR-Anweisung folgt, welche die Subroutine veranlaßt hat. Die RETURN-Anweisung wird realisiert durch Entnahme des Zustands-Zählstandes aus der Stapeleinrichtung 130 und in den Zähler 240.
  • Die STORE-Anweisung wird durch das RAM 110 realisiert, das auf der Leitung 112 Signale, die den Adressparameter repräsentieren, und auf der Leitung 116 Signale empfängt, die den Datenparameter repräsentieren. Die Daten werden dann an der korrekten Stelle in dem RAM 110 gespeichert. Die RAMREAD-Anweisung veranlaßt, daß Signale, die den Inhalt der durch den Adressparameter repräsentierten Stelle innerhalb des RAM 110 darstellen, auf den Leitungen 118 erzeugt werden, um zu dem UND-Array 122 rückgeführt zu werden. Ein optionaler Bit-Anzahl-Parameter erlaubt die Wahl eines bestimmten Bit-Parameters in der auszulesenden Stelle; die übrigen auf den Leitungen 118 erzeugten Signale werden so gebildet, daß sie ZERO entsprechen.
  • Die STORE-Anweisung, die durch das RAM 110 der PLC 100 realisiert wird, gibt dem Benutzer die Möglichkeit, die in dem RAM 110 gespeicherten Daten über das UND-Array 122 extern zu aktualisieren. Da diese Daten durch die RAMREAD-Anweisung rückgerufen werden können und zu dem UND-Array 122 rückgeführt werden können, kann das RAM 110 wahlweise zur Speicherung von extern aktualisierbarer Steuerinformation, wie sie von einer Host-Zentralverarbeitungseinheit (CPU) erzeugt wird, verwendet werden, und die Arbeitsweise der PLC 100 kann in Abhängigkeit von dieser Steuerinformation verändert werden. Somit sorgt das RAM 110 für die Speicherung externer Daten, zusätzlich zu der von den vergrabenen Registern 200 geschaffenen Speicherungsmöglichkeit. Typische Einsatzmöglichkeiten dieser Anwendungsform des RAM 110 finden sich in Steuereinrichtungen mit direktem Speicherzugriff (DMA), Unterbrechungs-Steuereinrichtungen und Video-Steuereinrichtungen.
  • Die STORE- und RAMREAD-Anweisungen ermöglichen ferner, daß das RAM 110 als "Notizblock" verwendet wird. Unter Verwendung von Signalen, die durch das Ausgangssignalerzeugungs-ODER-Array 124 erzeugt werden, kann ein Einschreiben oder Auslesen aus jeder Stelle innerhalb des RAM 110 durchgeführt werden. Diese Stellen können als separate unabhängige Zähl- und Zeitgebungskanäle verwendet werden, wie es ein Auffrisch-Zeitgeber für einen Speichersteuerer erfordert.
  • Bei alternative Ausführungsformen der Erfindung kann ein RAM 110 zusammen mit der programmierbaren Logik- Schaltung 120 verwendet werden, jedoch unter Weglassen des Zählers 240, wodurch eine auf PAL oder PLA basierende Einrichtung geschaffen wird, die ein RAM zur leichten Datenspeicherung aufweist, anders als bei den vergrabenen Registern 200. Alternativ kann entweder ein RAM 110 oder eine Stapeleinrichtung 130 allein mit der den Zähler 240 aufweisenden PLC-Einrichtung verwendet werden.

Claims (25)

1. Programmierbare Logikeinrichtung mit:
einer programmierbaren Array-Einrichtung (120), die derart ausgelegt ist, daß sie auf an Array-Eingänge (128,129) angelegte Eingangssignale hin mehrere Logiksignale erzeugt;
einer Ausgangseinrichtung (160), die derart geschaltet ist, daß sie eine erste Anzahl der Logiksignale empfängt und daraus eine Anzahl von Einrichtungs-Ausgangssignalen an einer zugehörigen Anzahl von Eingangs-/Ausgangs-Ports (320) der Einrichtung erzeugt;
einem Statusregister (240), das derart geschaltet ist, daß es eine zweite Anzahl der Logiksignale empfängt, und das derart ausgelegt ist, daß es daraus abgeleitete Daten speichert und ein Statuswortdatenausgangssignal erzeugt;
gekennzeichnet durch:
eine Stapeleinrichtung (130), die derart geschaltet ist, daß sie auf eine dritte Anzahl der Logiksignale als Steuersignale reagiert, und die derart ausgelegt ist, daß sie von dem Statusregister (240) übermittelte Statusworte auf First-in-last-out- Basis speichert, und daß sie den zuletzt eingegebenen Inhalt des Stapels wegnimmt und daraus an einem Statuswortausgang der Stapeleinrichtung (130) ein das letzte gespeicherte Statuswort beinhaltendes Stapelausgangssignal erzeugt.
2. Logikeinrichtung nach Anspruch 1, gekennzeichnet durch eine erste Einrichtung (137,139) zum Übermitteln des Stapelausgangssignals an das Statuswortregister (240).
3. Logikeinrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die erste Einrichtung eine Einrichtung zum selektiven Koppeln des Eingangs des Statusregisters (240) mit entweder der zweiten Anzahl von Logiksignalen oder dem Statuswortausgang der Stapeleinrichtung (130) aufweist.
4. Logikeinrichtung nach Anspruch 1, 2 oder 3, gekennzeichnet durch eine zweite Einrichtung zum Übermitteln des Stapelausgangssignals an eine erste Anzahl von Array-Eingängen, mit:
einer Einrichtung zum Laden des Statusregisters (240) mit einem durch das Stapelausgangssignal repräsentierten Statuswort; und
einer Einrichtung zum Übermitteln des Datenausgangssignals des Statusregisters (240) an die erste Anzahl von Array-Eingängen.
5. Logikeinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß das Statusregister (240) ferner einen Ladeinstruktionseingang aufweist, der zum Empfangen eines der Logiksignale geschaltet ist.
6. Logikeinrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die zweite Anzahl von Logiksignalen ein Ladeadressensignal und ein Ladeinstruktionssignal enthält; wobei der Empfang des Ladesteuersignals bewirkt, daß das Statusregister (240) seinen Inhalt durch die Ladeadresse ersetzt.
7. Logikeinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß das Statusregister (240) einen vorladbaren Zähler aufweist.
8. Logikeinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Zähler ein Gray-Kode-Zähler ist.
9. Logikeinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die zweite Anzahl von Logiksignalen ein Löschsignal aufweist und daß das Statusregister (240) auf das Löschsignal reagiert, wobei der Empfang des Löschsignals das Statusregister (240) dazu veranlaßt, ein vorbestimmtes Wort zu halten.
10. Logikeinrichtung nach Anspruch 9, dadurch gekennzeichnet, daß die Stapeleinrichtung (130) ebenfalls auf das Löschsignal reagiert, wobei der Empfang des Löschsignals bewirkt, daß sämtliche Inhalte der Stapeleinrichtung entfernt werden.
11. Logikeinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die dritte Anzahl der Logiksignale ein Einspeicher- und Entnahmesignal enthält, wobei der Empfang des Einspeichersignals das Statusregister (240) zum Erzeugen eines Datenausgangssignals veranlaßt und die Stapeleinrichtung (130) zum Speichern dieses Datenausgangssignals veranlaßt, und wobei der Empfang des Entnahmesignals die Stapeleinrichtung (130) zum Entfernen des zuletzt eingegebenen Statuswortes und zum Erzeugen des Statusausgangssignals veranlaßt, das dieses zuletzt eingegebene Statuswort und dessen Statuswortausgangssignal beinhaltet.
12. Logikeinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Stapeleinrichtung (130) einen "Full"- und einen "Empty"- Ausgang aufweist, wobei die "Full"- und "Empty"- Ausgänge mit betreffenden Array-Eingängen verbunden sind.
13. Logikeinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Tiefe der Stapeleinrichtung (130) größer als 1 ist.
14. Logikeinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die programmierbare Array-Einrichtung (120) einen ersten programmierbaren kombinatorischen Array-Bereich (122), der Array-Eingänge hat und zum Erzeugen von Array- Zwischenausgangssignalen ausgelegt ist, und einen zweiten Array-Bereich (126) aufweist, der zum Empfangen einer Anzahl der Array-Zwischenausgangssignale und zum Erzeugen der zweiten und/oder dritten Anzahl von Logiksignalen daraus geschaltet ist.
15. Logikeinrichtung nach einem der vorhergehenden Ansprüche, gekennzeichnet durch mehrere vergrabene Speicherzelleneinrichtungen (200), von denen jede zum Empfangen eines Signals einer vierten Anzahl von Logiksignalen geschaltet ist, und mit einer Einrichtung zum Speichern dieses Logiksignals zur Erzeugung eines vergrabenen Ausgangssignals daraus.
16. Logikeinrichtung nach Anspruch 13, dadurch gekennzeichnet, daß die programmierbare Array-Einrichtung (120) eine Anzahl vergrabener Ausgangssignale als zweite Anzahl der Eingangssignale empfängt.
17. Logikeinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die programmierbare Array-Einrichtung (120) eine Anzahl der Einrichtungs-Ausgangssignale als dritte Anzahl der Eingangssignale empfängt.
18. Logikeinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die programmierbare Array-Einrichtung (120) eine vierte Anzahl der Eingangssignale als Anzahl von Ausgangssignalen von dem Statusregister (240) empfängt.
19. Logikeinrichtung nach einem der vorhergehenden Ansprüche, gekennzeichnet durch eine Speichereinrichtung (110), die zum Empfang einer fünften Anzahl von Logiksignalen, die Daten repräsentieren, geschaltet ist und zum Speichern dieser Logiksignale sowie zum Erzeugen von die gespeicherten Signale angebenden Speicherausgangssignalen ausgelegt ist.
20. Logikeinrichtung nach Anspruch 19, dadurch gekennzeichnet, daß die programmierbare Array-Einrichtung (120) die Speicherausgangssignale als sechste Anzahl von Eingangssignalen empfängt.
21. Logikeinrichtung nach Anspruch 19 oder 20, dadurch gekennzeichnet, daß die fünfte Anzahl von Logiksignalen Speicheradressensignale sowie ein Schreibfreigabesignal beinhaltet und daß die Speichereinrichtung (110) mehrere Speicherzellen beinhaltet, von denen jede eine bestimmte Adresse hat, wobei die Speichereinrichtung auf die Speicheradressen- und die Schreibfreigabesignale derart reagiert, daß der Empfang von Schreibfreigabesignalen die Speichereinrichtung (110) dazu veranlaßt, den Inhalt einer Speicherstelle, deren Adresse durch die Adressensignale repräsentiert wird, durch von der fünften Anzahl von Logiksignalen repräsentierte Daten zu ersetzen.
22. Logikeinrichtung nach einem der Ansprüche 19 bis 21, dadurch gekennzeichnet, daß die Speichereinrichtung (110) ein Schreib-/Lese-Speicher ist.
23. Logikeinrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Logik- Array-Einrichtung (120) programmiert ist zum Erzeugen von Signalen zur Ausführung von Unterprogrammen, die folgende Schritte hervorrufen:
a) Übertragen des Inhalts des Statusregisters (240) in die Stapeleinrichtung (130);
b) Inkrementieren eines Stapelzeigers; und
c) Laden gewünschter Sprungadressenwerte in das Statusregister (240) und Anlegen des Ausgangssignals des Statusregisters (240) als Eingangssignale an das programmierbare Logik-Array (120).
24. Logikeinrichtung nach Anspruch 23, ferner programmiert mit den folgenden Unterprogramm-Rücksprungschritten, die als Reaktion auf dem programmierbaren Logik-Array (120) erzeugte Signale durchgeführt werden:
d) Laden des Statusregisters (240) mit dem Inhalt des oberen Endes des Stapels (130) (Entnahme); und Dekremtieren (modulo p) des Stapelzeigers.
25. Logikeinrichtung nach Anspruch 13, ferner programmiert mit dem folgenden Löschschritt, der als Reaktion auf von dem programmierbaren Logik-Array erzeugte Signale durchgeführt wird:
f) Löschen der Stapeleinrichtung (130) auf einen vorbestimmten Wert.
DE8787301800T 1986-03-06 1987-03-02 Programmierbare logische vorrichtung. Expired - Fee Related DE3783151T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US83678286A 1986-03-06 1986-03-06

Publications (2)

Publication Number Publication Date
DE3783151D1 DE3783151D1 (de) 1993-02-04
DE3783151T2 true DE3783151T2 (de) 1993-06-24

Family

ID=25272720

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8787301800T Expired - Fee Related DE3783151T2 (de) 1986-03-06 1987-03-02 Programmierbare logische vorrichtung.

Country Status (4)

Country Link
EP (1) EP0238230B1 (de)
JP (1) JPH0792740B2 (de)
AT (1) ATE83867T1 (de)
DE (1) DE3783151T2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4858178A (en) * 1986-09-30 1989-08-15 Texas Instruments Incorporated Programmable sequence generator
CA2010122A1 (en) * 1989-06-21 1990-12-21 Makoto Sakamoto Integrated circuit including programmable circuit
US5022008A (en) * 1989-12-14 1991-06-04 Texas Instruments Incorporated PROM speed measuring method
GB9121591D0 (en) * 1991-10-11 1991-11-27 Pilkington Micro Electronics Data security arrangement for semiconductor programmable logic devices
US5754823A (en) * 1995-02-23 1998-05-19 Datalogic, Inc. Configurable I/O system using logic state arrays

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT985055B (it) * 1972-07-24 1974-11-30 Babcock & Wilcox Co Apparecchiatura elettronica e meto do per la elaborazione di informa zioni per macchine utensili ed altro
JPS5354936A (en) * 1976-10-29 1978-05-18 Toshiba Corp Programable logical array
JPS558135A (en) * 1978-07-04 1980-01-21 Mamoru Tanaka Rewritable programable logic array
WO1981002937A1 (fr) * 1980-04-05 1981-10-15 Y Kuze Systeme de commande sequentielle a memoire morte
JPS57116431A (en) * 1981-01-10 1982-07-20 Nec Corp Programmable logic array
JPS60101642A (ja) * 1983-11-08 1985-06-05 Matsushita Electric Ind Co Ltd マイクロコンピユ−タ入力制御回路
US4876640A (en) * 1986-02-07 1989-10-24 Advanced Micro Devices, Inc. Logic controller having programmable logic "and" array using a programmable gray-code counter

Also Published As

Publication number Publication date
DE3783151D1 (de) 1993-02-04
EP0238230A2 (de) 1987-09-23
EP0238230B1 (de) 1992-12-23
JPS62277813A (ja) 1987-12-02
JPH0792740B2 (ja) 1995-10-09
EP0238230A3 (en) 1989-03-15
ATE83867T1 (de) 1993-01-15

Similar Documents

Publication Publication Date Title
DE68928213T2 (de) Inhaltadressierte Speicherzellenanordnung
DE3853613T2 (de) Mikrorechner mit flexiblen anwendungsspezifischen integrierten Schaltungen.
DE3587591T2 (de) Mikroprozessor für Forth-ähnliche Sprache.
DE3786594T3 (de) Speicherverwaltungseinheit für Digitalsignalprozessor.
DE69326467T2 (de) Unterbrechungsfreies, wahlfreies zugriffspeichersystem.
DE3750705T2 (de) Programmierbare, logische Kontrolleinrichtung.
DE68914172T2 (de) Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem.
DE68907518T2 (de) Inhaltsadressierte Speicheranordnung.
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
DE4212202C2 (de) Logikgatter
DE69914864T2 (de) Steuerung der konfiguration in einer programmierbaren logik-einheit mittels nichtflüchtiger bauelemente
DE3586603T2 (de) Datenprozessor fuer interpretierende und kompilierte sprache.
DE68924637T2 (de) Speicheranordnung für Mehrprozessorsysteme.
DE2813128C2 (de) Steuereinrichtung für Mikroprogrammspeicher
DE68922975T2 (de) Speichereinheit mit zwei Toren.
DE3689595T2 (de) Datenverarbeitungssystem.
DE68927611T2 (de) Digitales neuronales Netwerk
DE3508640A1 (de) Computersystem zur implementierung eines ereignisgesteuerten simulationsalgorithmus
DE2714805A1 (de) Datenverarbeitungssystem
DE3587309T2 (de) Mehrfachvideospeichersystem mit Bildelementkartierung.
DE2524046A1 (de) Elektronische datenverarbeitungsanlage
DE69130513T2 (de) Verfahren zur Durchführung boolescher Operationen zwischen zwei beliebigen Bits von zwei beliebigen Registern
DE3854212T2 (de) Signalgenerator für die Umlaufadressierung.
DE69314732T2 (de) Programmierbare logische Vorrichtung
DE60129269T2 (de) Speicherschaltung für eine programmierbare logische integrierte Schaltungsanordnung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: VANTIS CORP.)N.D.GES.D.STAATES DELAWARE), SUNNYVAL

8339 Ceased/non-payment of the annual fee