DE3342354A1 - Weich programmierbare logikanordnung - Google Patents
Weich programmierbare logikanordnungInfo
- Publication number
- DE3342354A1 DE3342354A1 DE19833342354 DE3342354A DE3342354A1 DE 3342354 A1 DE3342354 A1 DE 3342354A1 DE 19833342354 DE19833342354 DE 19833342354 DE 3342354 A DE3342354 A DE 3342354A DE 3342354 A1 DE3342354 A1 DE 3342354A1
- Authority
- DE
- Germany
- Prior art keywords
- inputs
- stage
- logic
- logical
- elements
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
- H03K19/1737—Controllable logic circuits using multiplexers
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Logic Circuits (AREA)
Description
Henkel, Pfenning, Feiler, Hänzel & Meinig
Control Data Corporation Minneapolis, Minn., V.St.A.
Patentanwälte
European Patent Attorneys
Zugelassene Vertrete' vor der
E Patentamt
D' phii G Henke!
D:pi-!ng J pfenning Be''1" D' rer. nat. L- Fei-.er Mjic'-e' Dip,-Ing W Hanzei M-uici".=' Dip^ -Phys K H. M&nig. Be"" Dr Ing A Butenscnon. Ben.n
D:pi-!ng J pfenning Be''1" D' rer. nat. L- Fei-.er Mjic'-e' Dip,-Ing W Hanzei M-uici".=' Dip^ -Phys K H. M&nig. Be"" Dr Ing A Butenscnon. Ben.n
Möhlstraße 37
D-8000 München 30
D-8000 München 30
Tel. 069/982085-87 Telex 0529802 hnkid
Teiegramme eilipsoic
CDC 758-WG
23. November .1983/wa
Weich programmierbare Logikanordnung
BAD ORIGINAL
-X-
Die Erfindung betrifft eine als (weich)programmierbare
Logikanordnung oder -feld (logic array) bekannte Schaltungsart.
Programmierbare Logikanordnungen werden typischerweise in die Chips von großintegrierten Schaltkreisen (LSI) oder
sehr großintegrierten Schaltkreisen (VLSI) eingearbeitet. Derartige Chips sind dabei von einer Art, bei der nach
der Fertigung die spezielle logische Funktion der Schaltung nicht bestimmt ist. Ein programmierbarer Logikanordnungs-Chips
wird so ausgelegt, daß seine logische Funktion später bestimmt werden kann. Die meisten solchen,
bisherigen Chips sind insofern fest programmierbar, als sie Schmelzelemente oder andere Elemente enthalten,
die zur Bestimmung der logischen Funktion der Vorrichtung dauerhaft durchgebrannt oder -geschmolzen werden.
Die Erfindung betrifft nun "weich" (soft) programmierbare Vorrichtungen, die jeweils wiederholt mit denselben
oder unterschiedlichen logischen Funktionen mittels eines Prozesses der Eingabe von logischen Funktionsdaten,
auch als Kennzeichnungsdaten bezeichnet, programmiert werden können. Obgleich eine weich programmierbare Logikanordnung
das Laden von Kennzeichnungsdaten benötigt, um arbeiten zu können, stellt die erfindungsgemäße Logikanordnung
nicht einfach eine Speichervorrichtung dar. Die Kennzeichnungsdaten werden benutzt, um die speziellen
logischen Funktionen zu steuern, die auf bestimmten logischen Ebenen oder Stufen in der Anordnung ausgeführt werden
sollen. Zudem sind erfindungsgemäße Chips in vier Quadranten oder Sektoren angeordnet und mit Steuerschaltungen
auf jedem Chip versehen, so daß sich auf einem
-
Chip mehrere, unabhängige Anordnungen mit gemeinsamer Funktionssteuerung befinden.
Bekannt ist eine Anordnung nach der US-PS 3 818 252 mit einer Anzahl von Wort- und Ziffernleitungen als Eingänge
zu einer Anordnung, die Schmelzelemente für die programmierbaren Elemente aufweist. Diese US-PS zeigt effektiv
eine Variation einer programmierbaren Standard-Logikan-Ordnung mit zwei Ebenen für die Erzeugung einer produktsummenartigen
Funktion, doch nimmt sie die erfindungsgemäße weich programmierbare Mehrebenen-Logikanordnung in
keiner Weise vorweg. Die US-PS 4 233 667 beschreibt ebenfalls eine programmierbare Logikanordnung, die jedoch bezüglich
Aufbau und Leistungsfähigkeit von derjenigen nach der Erfindung verschieden ist.
Die US-PS 3 912 914 beschreibt ein programmierbares Schaltmodul, das für jede anzuwendende spezielle große Schaltfunktion
äußerst komplex ausgelegt werden kann, weil die Programmierungssteuerung für jede Schaltfunktion zu deren
Steuerung durch einzelne Drähte vom betreffenden Chip weggeführt werden muß. Die erfindungsgemäße Logikanordnung
wird dagegen durch Einführen eines Stroms von Kennzeichnungsdaten programmiert, welche die verschiedenen logischen
Elemente als Ergebnis eines Kennzeichnungsprozesses steuern. Andere Veröffentlichungen, z.B. die US-PSen
3 855 536, 3 976 983 und 4 293 783, beschreiben sämtlich
Logikanordnungen, die jedoch entweder eine Programmiersteuerung über externe logische Stifte erfordern oder
die Einschränkungen bezüglich der speziellen, durchführbaren logischen Funktionen unterworfen sind.
Die Erfindung betrifft somit eine weich programmierbare Logikanordnung, die zur Ausführung spezieller logischer
BAD ORIGINAL
Funktionen steuerbar ist, indem ein Strom von Kennzeichnungsdaten
geliefert wird, der in der Logikanordnung verriegelt (latched) wird, um die Ausführung der programmierten
Logikfunktion zu veranlassen. Logikanordnungen gemäß der Erfindung können auf einem Chip in Sektoren mit
gemeinsamer Programmierlogik für verschiedene Sektoren zu Gruppen zusammengefaßt werden. Bei der beschriebenen
Ausführungsform sind vier Quadranten oder Sektoren dargestellt.
Die erfindungsgemäße Logikanordnung ist aus einer Anzahl von Logik-Ebenen oder -Stufen aufgebaut, wobei jede Logik-Ebene
eine Anzahl bestimmter Logikelemente enthält. Bei der beschriebenen Ausführungsform sind zwei primäre Arten
von Logikelementen vorgesehen. Die erste Art besteht aus einem logischen Funktionselement oder einfach einem
Funktionselement. Ein solches weist eine Anzahl von Eingängen auf und vermag an diesen Eingängen alle möglichen
logischen Operationen auszuführen. Eine spezielle Ausführungsform der Erfindung verwendet Funktionselemente
mit drei Eingängen und einem Ausgang als Baublock. Dieses Funktionselement enthält Dateneingänge, die als
Steuerbits für einen 8:1-Multiplexer benutzt werden, dessen acht Eingänge verriegelt (latched) sind und die
programmierbaren logischen Eingänge zur Steuerung der Ausgangsfunktionen am Datenausgang des Multiplexers darstellen.
Die zweite Art eines erfindungsgemäß verwendeten Logikelementes
ist eine Durchlaß/Haltevorrichtung, die gesetzt werden kann, um entweder ein bestimmtes Eingangssignal
zu verriegeln, bis sie getaktet wird, oder um unabhängig vom Dateneingang dieses als Ausgang(ssignal) durchzulassen.
Bei der dargestellten Ausführungsform bewirkt die
Durchlaßfunktion auch eine Invertierung.
Durch Verwendung von vier Ebenen von Funktionselementen,
kombiniert mit vier Ebenen von Durchlaß/Halte-Funktionselementen
mit verschiedenen Logik-Verbindungen zwischen den Pegeln, kann im wesentlichen für eine Anzahl von
Eingängen jeder funktionelle logische Ausgang erreicht werden. Eine neunte logische Ebene für Ausgangsfreigabe
sowie Dreizustands-Pufferelemente gewährleisten eine volle Steuerung aller logischen Ausgangspegel. Die Verbindüngen
oder Verknüpfungen der logischen Elemente an den verschiedenen Ebenen bei der erfindungsgemäßen Logikanordnung
ermöglichen das Auftreten einer logischen Funktion an allen acht Ebenen der Logik oder ihr Durchschalten
als Ausgangssignale an früheren (vorgeschalteten) Logikebenen. Die Ausgänge (Signale) der zweiten,
dritten und vierten Ebene der funktioneilen Ausgänge können somit unmittelbar als Ausgänge oder Ausgangssignale
der Logikanordnung durchgetastet (gated) werden.
Im folgenden ist eine bevorzugte Ausführungsform der Erfindung anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1A bis 1C von links nach rechts nebeneinander
liegend gesehen, ein detailliertes Logikschaltbild einer Anordnung gemäß der Erfindung,
Fig. 2 ein detailliertes logisches Schaltbild eines
der erfindungsgemäßen Funktionselemente bei der Anordnung nach Fig. 1A bis 1C,
30
Fig. 3 ein detailliertes logisches Schaltbild einer bei der Anordnung nach Fig. 1A bis 1C verwendeten
Durchlaß/Haltevorrichtung,
Fig. 4 ein detailliertes logisches Schaltbild eines
in Fig. 1C dargestellten Ausgangsfreigabe-Logikelements
,
BAD
Fig. 5 ein logisches Schaltbild für eine Steuerschaltung bei der Anordnung nach Fig. 1A bis 1C,
Fig. 6 ein logisches Schaltbild der Steuerschaltung
für die zur Ansteuerung der Anordnung nach Fig. 1 verwendete Kennzeichnungslogik und
Fig. 7 ein vereinfachtes logisches Schaltbild der An-Ordnung nach Fig. 1A bis 1C, in welchem nur
die wesentlichen logischen Verbindungen oder Verknüpfungen dargestellt sind.
Die Fig. 1A bis 1C zeigen in der angegebenen Zusammenstellung
eine "weich" programmierbare Logikanordnung 10 gemäß der Erfindung. Die logischen Daten werden an der
linken Seite der Darstellung eingegeben und durchlaufen die verschiedenen logischen Ebenen, so daß Ausgangssignale
entsprechend den vorbestimmten programmierten logischen Funktionen an der rechten Seite der Darstellung
auftreten.
Mehrere Funktionselemente 12, 14, 16, 18, 20, 22, 24 und 26 bilden die erste logische Ebene der Logikanordnung
10 gemäß der Erfindung. Die Funktionselemente 12-26 sind jeweils identisch aufgebaut; der Aufbau des Funktionselements
12 ist in Fig. 2 im einzelnen veranschaulicht. Jedes Funktionselement weist drei Dateneingänge auf,
wobei die Dateneingänge des Funktionselements 12 mit A, B und C mit für das betreffende Funktionselement stehenden
Zusatzziffern bezeichnet sind. Eine ähnliche Bezeichnungsweise wird für die Dateneingänge aller acht Funktionselemente
der ersten logischen Ebene benutzt. Jedes der Funktionselemente 12-26 weist einen einzigen Ausgang
auf, der mit dem Rest der Logikanordnung 10 ver-
bunden ist. Eine zweite Ebene der Logik besteht aus sechs
Funktionselementen 28 - 38, die an sechs Durchlaß/Haltevorrichtungen 40 - 50 angeschlossen sind, die ihrerseits jeweils
gleich aufgebaut sind; die Vorrichtung 40 ist in Fig. 3 im einzelnen dargestellt. Diese sechs Durchlaß/-Haltevorrichtungen
40 - 50 bilden die dritte Ebene der dargestellten Ausführungsform, und die Ausgänge dieser
Vorrichtungen sind auf die dargestellte Weise geschaltet.
Die vierte Ebene der Logik bei dieser Ausführungsform besteht aus vier Funktionselementen 52 - 58, die auf dargestellte
Weise ihre Eingangssignale abnehmen und deren Ausgänge als Eingänge zu vier Durchlaß/Haltevorrichtungen
60-66 geschaltet sind, welche die fünfte logische Ebene bilden. Die sechste logische Ebene besteht aus zwei
Funktionselementen 68 und 70f deren Ausgänge Eingangssignale zu Funktions/Durchlaßelementen 72 und 74 liefern,
welche eine achte logische Ebene darstellen. In Fig. 1A
bis 1C ist jedes Funktionselement mit einer Ziffer mit vorangestellten Buchstaben FE vor einer speziellen
Elementziffer bezeichnet. Auf ähnliche Weise sind alle Durchlaß/Haltevorrichtungen mit einer speziellen Ziffer
mit vorangestellten Buchstaben FP bezeichnet.
Die erfindungsgemäße Ausgangslogik besteht aus einem
zweistufigen Element, das als eine einzige Funktion besitzend angesehen werden kann. Die erste Stufe jedes
dieser Elemente ist ein Ausgangfreigabe-Tor (gate) 80, das in Fig. 4 im einzelnen gezeigt ist. Jedes dieser
Tore 80 ist mit einem Dreizustand-Puffer 82 verbunden,
der mögliche Ausgänge "Hoch", "Niedrig" und "Gleitend" besitzt. Der Floating-Ausgang gleitet mit dem Signalpegel
auf der Ausgangsleitung, wenn vorausgesetzt wird, daß an dieselbe logische Leitung auch andere aktive Logik-
BAD ORiGINAL
vorrichtungen angeschlossen sind. Die Ausgangsfunktion der dargestellten Ausfuhrungsform wird somit durch 12
Paare von Ausgangsvorrichtungen mit zwölf Ausgangsfreigabe-Toren 80, 84, 88, 92, 96, 100, 104, 108, 112, 116,
12C und 124 bestimmt. Jedes dieser Tore ist einem Dreizustand-Puffer
82, 86, 90, 94, 98, 102, 106, 110, 114, 118, 122 bzw. 126 zugeordnet.
Die Logikanordnung gemäß Fig„ 1A bis 1C kann vorzugsweise
als ein Quadrant oder Sektor von vier identischen Quadranten oder Sektoren ausgelegt werden, die auf einem
einzigen VLSI-Chip angeordnet werden sollen. In anderer Ausführungsform kann eine andere Zahl von Sektoren mit
einem gemeinsamen Steuersystem angewandt werden. Ein einziger VLSI-Chip enthält somit vier in Quadranten angeordnete
Schaltungen nach Fig. 1A bis 1C zusammen mit
einer einzigen Steuerschaltung der Art nach Fig. 5 und 6. Die Schaltung nach Fig. 6 ist so ausgelegt, daß sie
vier getrennte Schaltungen der Art gemäß Fig. 1A bis 1C
zu steuern vermag. Die verschiedenen Eingangs-Steuerleitungen gemäß Fig. 1A stammen von der Steuerschaltung
nach Fig. 6, die später noch näher erläutert werden wird.
Die Ausgänge der Steuerschaltung zu den einzelnen Quadranten der Anordnung sind jeweils mit einem 3 Eingänge auf
Ausgänge umsetzenden Dekodierer 140 (Fig. 1A) verbunden.
Die Eingangsleitungen C5, C4 und C3 kommen von der Steuerschaltung
nach Fig. 6, während die Steuerleitung C9 zum Ein- oder Ausschalten des Dekodierers in Abhängigkeit
davon, welcher der vier Quadranten adressiert ist, dient. Auf ähnliche Weise erhält ein 2 Eingang/4 Ausgang-Dekodierer
142 die Eingangssignale von der Schaltung nach Fig. 6, wobei die Leitung C8 zum Ein- und Ausschalten des De-
kodierers nach Maßgabe der Eingangssignale gemäß Fig. 6 dient. UND-Glieder 144, 146 und 148 steuern den Ausgang
bzw. die Ausgabe (fanout) der erforderlichen Steuersignale, um das Laden des Programms für die programmierbare
Logikfunktion durchzuführen.
Fig. 2 veranschaulicht ein bei der dargestellten Ausführungsform verwendetes logisches Funktionselement. Jedes
FunktionseTament weist einen 8:1-Bit-Multiplexer 200 auf,
wobei der Ausgang FD den Datenausgang darstellt. Der Dateneingang ist durch Eingangssignalleitungen A, B und
C dargestellt, welche die Wählsteuerleitungen des Multiplexers sind, aber Dateneingänge zum Funktionselement bilden.
Für jede der acht Eingangsleitungen des Multiplexers ist eine UND-Glied/Setz-Verriegelungsschaltung 202 - 216
vorgesehen. Die funktionellen oder kennzeichnenden Dateneingaben zur Steuerung des funktionellen Ausgangs des
Multiplexers 200 erfolgen auf Programmeingängen SO - S7.
Die Freisignal- und die Einschreibfreigabesignalfunktionen werden in Verbindung mit der Steuerlogik gemäß Fig. 6
noch näher erläutert werden. Wenn sie mit einer funktionellen Eingabe programmiert wird, hält jede der Setz-Verriegelungsschaltungen
202 - 216 diese funktionelle Eingabe für alle Operationen der Schaltung. Das Freisignal
setzt als Teil des Initialisierungsprozesses alle Tore auf Null. Das Einschreibfreigabesignal muß zum
Einschreiben oder Programmieren etwaiger Funktionen freigegeben werden.
Es ist bekannt, daß ein 8:1-Bit-Multiplexer mit drei
Steuereingängen mittels eines 3-Bit-Steuersignals jeden einzelnen der möglichen Eingänge als Ausgang wählen kann.
Andererseits ist bekannt, daß eine beliebige logische Funktion von drei Datenbits entweder ein hohes oder ein
BAD ORIGiMAL
niedriges Datenbit sein muß. Durch entsprechende Programmierung
der acht Eingangsbits zum Multiplexer 200 mit hohen und niedrigen Bits kann dafür gesorgt werden,
daß der Ausgang des Multiplexers 200 eine beliebige logische Funktion der drei Datenbiteingänge auf den
Steuerleitungen A-C sein kann. Dies stellt die logische Struktur des Funktionselements 12 dar, das als Baublock
der vorliegenden Anordnung gemäß der Erfindung operiert.
In Fig. 3 ist die Durchlaß/Haltevorrichtung 40, die den anderen derartigen Vorrichtungen bei der dargestellten
Ausführungsform entspricht, mit ihrem detaillierten logischen Schema veranschaulicht. Die Vorrichtung 40
besteht aus einem Setz/Rücksetz-UND-Glied-Verriegelungselement
220, einem Flipflop 222 und einem Tor(element) 224, die auf die dargestellte Weise geschaltet sind.
Wenn das Element 220 als Teil der Kennzeichnungsfunktion gesetzt wird, bewirkt der Dateneingang vom vorherigen
Abschnitt, daß das UND-Glied 224 und das Element als Datendurchlaßschaltung arbeiten und die Daten beim
Durchgang ohne wesentliche Zeitverzögerung invertieren. Wenn das Element 220 nicht gesetzt ist, muß für das
Durchlassen der Daten durch die Einheit neben dem Dateneingang ein Taktsignal das Flipflop 222 initiieren, damit
das Tor 224 die Daten durchläßt.
Gemäß Fig. 4 besteht die Ausgangfreigabeschaltung 80 aus einer Setz/Rücksetz-Verriegelungsschaltung 230 in Verbindung
mit einem Tor(element) 232. Wenn letzteres durchgeschaltet (on) ist, ist der Puffer in Abhängigkeit vom
Dateneingang zum Puffer entsprechend hoch oder niedrig. Wenn die Ausgangfreigabeleitung des Tors 232 nicht freigegeben
ist, befindet sich der zugeordnete Puffer unabhängig vom Dateneingang im Aus- oder Gleit-Zustand. Die
Eingangssteuerleitungen zum Ausgangfreigabe-Tor 232 funktionieren wie folgt: H hält das Tor im Sperrzustand
oder zwingt es in diesen Zustand; F ist ein Prüfeingang und bewirkt die zwangsweise Freigabe des Ausgangs; und E
ist der normale Freigabefunktionseingang.
Fig. 5 zeigt das Steuersystemregister 281, welches den
FORCE-Steuerfunktioneneingang für das Tor 283 gemäß Fig. 1C sowie für die jeweiligen anderen, ähnlichen Quadranten
liefert.
Fig. 6 zeigt eine Steuerschaltung gemäß der Erfindung zur Steuerung der Schaltung nach Fig. 1 als eine von
vier identischen Schaltungen. Die Schaltung 300 weist einen Steuertakt(geber) 302 auf. Der Eingangs-Kennzeichnungsdatenfluß
wird am Eingang 304 geliefert. Der Eingangs-Prüfdatenfluß muß in einem Standard-Rechnerbereich
als eine Funktion des Prüfwartungslogiksystems außerhalb der normalen Datenpfade als Teil der Initialisierungsfunktion
vorgesehen sein. Der Taktgeber 302 führt eine Setz-, Lösch- und Vergiß-Funktion aus. Dies bedeutet,
er bereitet ein monostabiles Signal zur Steuerung der verschiedenen Lösch-Bits am Lösch-Ausgang 306 vor,
so daß alle Schaltungen anfänglich gelöscht werden, doch da ein monostabiles Signal geformt wird, braucht das
Löschsignal nicht abgeworfen zu werden, es fällt automatisch ab.
Der Dekodierer 308 arbeitet in Verbindung mit dem Zähler 310 zur Bildung eines 8 Bit-Ausgangskanals für das gemeinsame
Durchtasten (gating) zu den verschiedenen Funktionselementeinheiten 12. Der Eingangsreihenfluß von Daten auf
einem 1 Bit-Kanal wird dabei durch den Zähler 310 mit dem Dekodierer 308 so gesteuert, daß bei jedem Funktionsele-
-,JJ--
ment, wie dem Funktionselement 12, das durch den 8 Bit-Ausgangswählkanal 310 adressiert wird, die Programmeingänge
sequentiell getriggert werden. Der Zähler 312 liefert Ausgangssteuersignale auf Leitungen C (Fig. 1)
zur Steuerung, welche Wähllogik an welchem Funktionselement 12 oder welche Durchlaß-Haltevorrichtung 40 für
die Adressierung der Programmierfunktion getriggert wird. Der Zähler steuert auch die Adressierung des betreffenden
Ausgangfreigabeelements.
Fig. 7 zeigt in vereinfachter schematischer Darstellung die erfindungsgemäße Anordnung nach Fig. 1A bis 1C. Die
Logikvorrichtungen sind nur symbolisch dargestellt, und die verschiedenen Programmier- und Steuerfunktionsleitungen
sind nicht eingezeichnet. Die Bezugsziffern 12, 16, 18, 20, 22, 24 und 26 dienen somit in Fig. 7, ebenso wie
in Fig. 1A, zur Bezeichnung von Funktionselementen, weil
die Vorrichtung und die Funktion als dieselben angesehen werden können. Fig. 7 zeigt somit dasselbe Logiksystem
wie in Fig. 1A bis 1C mit acht Ebenen der Logik und einer
Ausgangs-Ebene, welche die weich (soft) programmierbare Logikanordnung 10 bilden. Der einzige wesentliche Unterschied
in Fig. 7 besteht darin, daß die zweistufigen Paare von Ausgangselementen, wie in Fig. 1C gezeigt, in
Fig. 7 vereinfachend zu einem einzigen Ausgangselement zusammengefaßt sind. Die kombinierten Ausgangfreigabe-Tor-
und Dreizustand-Puffervorrichtungen sind mithin in Fig. 7 mit den Ziffern 82A, 86A, ..., 126A bezeichnet, um
die Entsprechung zu den Dreizustand-Puffern 82, 86, 90, ..., 126 gemäß Fig. 1C aufzuzeigen.
Die weich programmierbare Logikanordnung gemäß der Erfindung ist zur Lösung eines der bei Logikkonstruktionen
immer wieder auftretenden Probleme ausgelegt, nämlich des "Verklebens" von Teilen eines Systems in oder bei einfa-
-ΛΤ-
chen Steuerfunktionen. Dies ist zu unterscheiden von signifikanten arithmetischen Funktionen, wie bei Addier-
und Multiplizierstufen, die üblicherweise speziell ausgelegt sind. Obgleich die erfindungsgemäße Logikanordnung
zur Bildung einer Additions- oder Mulitplizierfunktion ausgelegt werden könnte, wäre sie (dabei) nicht besonders
wirksam. Die erfindungsgemäße Logikanordnung kann als besonders wirksam angesehen werden für die Durchführung
von Streu-, Rest- oder "Verklebe"-Funktionen der Art, wie sie für die Vervollständigung der Logik eines arithmetischen
oder Boole'sehen Operationssystems bei einem Rechner erforderlich sind. Wenn ein Rechnersystem z.B.
vier getrennte 16-Bit-Addierer oder auch -Multiplizierstufen
aufweist, die getrennt in einer 16-Bit-Betriebsart (-Modus) arbeiten, dann wäre es zweckmäßig, eine
weich programmierbare Logikanordnung zur Gewährleistung der Steuer- und Logikfunktionen zu verwenden, um die
vier getrennten Systeme parallel in einer 64-Bit-Betriebsart arbeiten zu lassen. Es ist nicht beabsichtigt, daß die
weich programmierbare Logikanordnung zur Ergänzung oder Ausführung des gesamten Steuerteils eines Rechner-Grundgeräts
benutzt wird. Zu_jgewiesener Mikrocode und zugewiesene
arithmetische oder Boole'sehe Funktionen wären
für derart große Konstruktionen wirtschaftlicher. Ande rerseits arbeitet die weich programmierbare Logikanordnung
vorteilhaft für Funktionen, wie überlauffeststellung in
einer arithmetischen Logikeinheit oder Steuerverteilung für Dreizustand-Sammelschienenzwecke.
Für die Herstellung programmierbarer Logikanordnungen werden bisher üblicherweise Schmelzelement- bzw. Durchschmelztechniken
angewandt. Es besteht jedoch keine brauchbare oder wirtschaftliche Möglichkeit für die Einführung
einer schmelzbaren programmierbaren Logik in sehr groß-
BAD ORIGINAL,
integrierte Schaltkreise. Die Erfindung entspricht diesem Bedarf durch Bereitstellung von entweder kombinierten
oder sequentiellen Logikfunktionen, die durch den Anwender gewählt und gemischt werden können als Ergebnis
von Kennzeichnungsdaten.
Das Grund-Funktionselement der Logikanordnung gemäß der
Erfindung ist eine Logikeinheit oder ein Funktionselement 12, das konfiguriert werden kann, um jede logische
Funktion von drei Eingängen zu realisieren. Eine Anzahl logischer Ebenen oder Stufendieser Elemente wird zusammengeschaltet,
um die Logikanordnung insgesamt zu bilden. Eine erste Stufe dieser Elemente wird mit den Eingangsstifen
verknüpft, und die Ausgänge dieser ersten Stufe von Funktionselementen steuern die nachgeschaltete
Stufe von Funktionselementen an.
Bei der dargestellten Ausführungsform sind vier getrennte
Gruppen von Funktionselementen vorgesehen. Dabei sind auf einem einzigen VLSI-Chip vier getrennte Gruppen von
Logikanordnungen angeordnet; jede dieser Anordnungen wird als Sektor oder Quadrant bezeichnet, weil sie eine
von vier identischen Ausführungen ist. In jedem Quadranten oder Sektor der Logikanordnung befinden sich acht
Funktionselemente in einer ersten, mit 24 Eingangsstiften verbundenen Stufe. Sechs Funktionselemente sind in
einer zweiten logischen Ebene oder Stufe, vier Funktionselemente in einer dritten logischen Ebene und schließlich
zwei Funktionselemente in einer letzten oder vierten logischen Ebene bzw. Stufe angeordnet. Alle Funktionsebenen-Ausgänge
der zweiten Stufe und der folgenden Stufen sind mit Chip-Ausgangsstifen verbunden, zusätzlich zur
Lieferung des Ausgangs zu nachgeschalteten Ausgangsebe nenstufen. Dies bedeutet, daß der Anwender bis zu sechs
vergleichseise einfache logische Gleichungen oder bis zu
12 logische Mischausdruck-Gleichungen oder aber nur zwei komplexe logische Gleichungen unter Verwendung der
verschiedenen Kombinationen von Funktionselementen in logischen Ebenenanordnungen realisieren kann. Die komplexeste
Gleichung, die bei einer gegebenen Logikanordnung der Art gemäß Fig. 1A bis 1C programmiert werden
kann, kann sieben Funktionselemente mit 21 Eingangsstiften umfassen.
Am Ausgang jedes Funktionselements in jeder Stufe, mit Ausnahme derjenigen der ersten Stufe, befindet sich ein
wählbares Flipflop oder eine Durchlaß/Halteeinheit. Jedes Flipflop ist so wählbar, daß es als Einzyklus-Halteregister
wirkt oder die Daten unmittelbar, ohne Datenverriegelung und mit minimaler Verzögerung, durchläßt. Jedes
Flipflop weist einen Eingang auf, der zu Prüfzwecken das
zwangsweise Löschen aller Flipflops unter Systemsteuerung erlaubt.
Jedem Chip-Ausgangsstift ist ein Ausgangselement zugeordnet, welches die Dreizustand-Steuerleitung jedes Ausgangsstiftpuffers
steuert. Ein Anwender kann den Ausgangsstift zwangsweise auf ständige Freigabe schalten,
d.h. daß der Datenausgang niemals abgeschaltet ist, und einen jedem der vier Quadranten zugeordneten Eingangsstift freigeben, um die Dreizustand-Leitung jedes Ausgangsstifts
eines Quadranten anzusteuern.
Jedes Funktionselement (z.B. 12) enthält einen 8:1-Multiplexer,
angesteuert durch acht Speicherverriegelungsschaltungen, und drei Wähleingänge A-C, die zum Wählen
des Zustande der einen Verriegelungsschaltung zum Multiplex(er)ausgang
dekodiert werden. Die acht Datenverriegelungsschaltungen werden gesetzt und gelöscht, um die ge-
SAD ORlQINAL
wünschte logische Funktion der Eingänge A - C zu realisieren. Die acht Datenverriegelungsschaltungen bilden
eine volle Wahrheitstabelle für drei Eingänge, welche die Ausführung jeder logischen Funktion von drei Bits erlaubt,
indem die erforderlichen Datenverriegelungsschaltungen gesetzt und gelöscht werden. Als einfaches Beispiel
wird FD = A B C ausgeführt, indem alle Datenverriegelungsschaltungen (data latches) gelöscht werden,
mit Ausnahme der S7 zugeordneten Verriegelungsschaltung, die gesetzt wird. Die Wahrheitstabelle für jede erforderliche
logische Funktion läßt sich einfach nach verschiedenen, an sich bekannten logischen Verfahren ermitteln.
Alle Verriegelungsschaltungen werden durch eine Schaltung initialisiert, die durch die Steuereinheit gemäß Fig. 6
gesteuert wird. Alle Verriegelungsschaltungen werden gleichzeitig gelöscht und dann sequentiell durch über
den Prüf-Datenausgangsstift 304 eingehende Daten bedingt gesetzt. In jedem Funktionselement wird das Verriegelungs-Bit
Null (latch bit zero) zuerst durchgetastet, worauf die (anderen) Bits der Reihe nach bis zum letzten Bit 7
durchgetastet werden.
Das Durchlaß/Halte-Flipflop 40 gemäß Fig. 3 ist ein 2:1-Multiplexer,
der durch ein Verriegelungsbit gesteuert wird, das den Verriegelungsbits 202 beim Funktionselement
12 entspricht. Diese Verriegelungsbits werden ebenfalls auf dieselbe Weise unter denselben Steuerfunktionen, die
von der Einheit gemäß Fig. 6 geliefert werden, gesteuert. Wenn das Verriegelungsbit gelöscht ist, werden die Eingangsdaten
vom ansteuernden Funktionselement unmittelbar zum Ausgang des Multiplexers und von dort zum Ausgangsstift
und zu den nachfolgenden Funktionselementen, sofern vorhanden, durchgelassen. Dabei werden die Daten inver-
- >6—
tiert. Dies muß beim Einschreiben der logischen Gleichungen von nachgeschalteten Ebenen der Funktionselemente berücksichtigt
werden. Wenn das Verriegelungsbit gesetzt wird oder ist, ist der Ausgang des Flipflops mit dem
Multiplexerausgang verbunden. Es ist zu beachten, daß in diesem Fall die Daten vom Eingang zum Ausgang nicht
invertiert werden, wie dies beim direkten Durchlassen (pass-through) der Fall ist. Diese Inversionsänderung
zwischen Flipflop- und Durchlaßbetriebsart wirft keine Probleme auf, weil die Datenverriegelungsschaltung nur
einmal beim Stromeinschalten einschreibt. Sie ist somit im Betrieb nicht änderbar. Die Tatsache, daß die
Daten invertiert werden, kann berücksichtigt werden durch Erzeugung des logischen Komplements der erforderlichen
logischen Funktion in dem den betreffenden Eingang ansteuernden Funktionselement.
Das Flipflop 222 wird kontinuierlich, ohne jede Torsteue
Hing, getaktet. Dies bedeutet, daß zur Bildung einer zustandssequentiellen
Schaltung das Ausgangssignal der Funktion zu einem Chip-Eingang als ein Eingangssignal zu
den definierenden logischen Gleichungen zurückgeschaltet sein muß. Es ist ein Rücksetzeingang zum Daten-Flipflop
vorhanden, der von der Betriebs-Steuereinheit nach Fig. 6 kommt und der zum Initialisieren der Flipflops für
Betrieb oder Prüfung benutzt werden kann. Die Ausgangfreigabevorrichtung 80 nach Fig. 4 ist mit der Dreizustandsteuerleitung
jedes funktionellen Ausgangsstifts verbunden. Die Ausgangsfreigabe besitzt drei verschiedene
Betriebsarten.
Die erste Betriebsart der Ausgangfreigabe ist ein Speicherungs-Datenbit,
das - wenn es gesetzt ist —die betreffende Dreizustand-Steuerleitung bei freigegebenem Ausgang
BAD ORIGINAL
auf hohem Pegel hält, außer daß der Ausgangsstift durch die Ausgangsabschalt-Absperr-Sammelschiene zwangsweise
abgeschaltet oder stromlos gemacht werden kann. 5
Die zweite Betriebsart oder Betriebsbedingung besteht darin, daß dann, wenn das Datenbit gelöscht ist, der
für jede Ausgangfreigabevorrichtung in einem Quadranten gemeinsam vorgesehene Eingang/Ausgangsstift die Dreizustand-Steuerleitung
steuern kann. Ein hoher Pegel an diesem Stift gibt alle Ausgangspuffer und den entsprechen
den Logikanordnungquad ranten frei, außer daß die Halteausschalt-Sammelschiene
wiederum die Freigabeleitung übersteuern kann.
In der dritten Betriebsart kann jeder Ausgang in einem Quadranten zwangsweise eingeschaltet werden (Ausgang
freigegeben), und zwar durch ein Funktionsbit im Steuersystemregister
281 gemäß Fig. 5. Es sind daher vier einzelne Steuerbits vorgesehen. Während zu erwarten ist, daß
diese Möglichkeit normalerweise für Wartungszwecke benutzt
(werden) wird, steht ihrer Anwendung im Systembetrieb nichts im Wecje. Die Steuersystem-Schnittstellenfunktion
nach Fig. 6 stellt einen integralen Teil der weich programmierbaren Logikanordnung dar und ermöglicht
eine Initialisierung mit Kennzeichnungsdaten. Dies beruht darauf, daß die Logikanordnung keine Funktion hat,
bis das Wartungssystem die Datenverriegelungsschaltungen lädt, welche die gewählte logische Funktion bestimmen.
Die Datenverriegelungsschaltungen , welche die erforderlichen
logischen Funktionen realisieren, werden geladen, indem zunächst alle Datenverriegelungsschaltungen in
allen Quadranten gelösdtfiand dann jeweils einzeln erforderlichenfalls
mit den vom Prüfdateneingang kommenden Daten gesetzt werden. Auf dem Chip ist ein Bitzähler vor-
BAD ORIGINAL
-as-
gesehen, der von O - 767 zählt. Von den 768 Zählschritten
sind 736 Zählschritte Bitverriegelungseinheiten für 184 Verriegelungseinheiten in jedem Quadranten, plus 8 zusätzliche
Zählschritte. Jede Funktionsverriegelungseinheit wird gesetzt, wenn das Prüfdateneingangsbit eine
"1" ist, worauf der Zähler inkrementiert wird bzw. hochzählt. Dieser Zähler wird einfach durch "1" angestoßen
(bumped), wenn das Eingangsbit eine "0" ist. Die Funktionsbitbeschreibungan
für die Steuerfunktionen sind wie folgt: Die WRITEF-Funktion ist aktiv, sofern Bit "1" des
Steuerregisters gesetzt wird oder ist, wenn ein Prüfdurchtast-Eingangsstift
aktiv ist. Die WRITEF-Funktion muß aktiv sein, um das Einschreiben der Funktionsbeschreibungs-Verriegelungseinheiten
zu ermöglichen. Die WRITEF-Funktion kann im selben Steuerwort wie die Funktionen
INITF und CLEARF enthalten sein. Wenn die WRITEF-Funktion aktiv ist und der Prüftaktfreigabe-Eingangsstift den
hohen Pegel besitzt, wird der Zustand des Prüfdaten-Eingabestifts
in die augenblicklich adressierte Verriegelungseinheit eingeschrieben.
Die Funktion INITF ist oder wird aktiviert, sofern Bit 2 des Steuerregisters gesetzt wird oder ist, wenn der Prüfdurchtast-Eingangsstift
aktiv ist. INITF führt zwei Funktionen aus: 1) Sie löscht die Adressenzähler, welche
die einzelnen Funktionsverriegelungsbits wählen, bis auf Null; und 2) sie löscht auch alle Zwischenstufen-Flipflops
in allen vier logischen Quadrant anordnungen.
INITF ist eine monostabile Funktion insofern, als sie nur für einen Takt an der Vorderflanke bei aktiv werdender
Prüfdurchschaltung aktiv ist. Dies bedeutet, daß diese Funktion im selben Funktionssteuerwort wie (die
Funktion) WRITEF vorhanden sein kann, um die für das Einschreiben der Funktionsbeschreibungsverriegelungsein-
BAD ORIGINAL
heiten benötigten Steuersequenzen zu vereinfachen. Dies
geschieht, indem die Prüftaktfreigabe-Steuerleitung auf dem niedrigen Pegel oder inaktiv gehalten wird, wenn das
Prüfdurchschaltsignal auf den hohen Pegel geführt wird.
Nach einer Verzögerung von mindestens zwei Taktzyklen kann das Prüftaktfreigabesignal auf den hohen Pegel geführt
werden, und die Beschreibungs-Verriegelungseinheiten werden eingeschrieben.
Die Funktion CLEARF wird oder ist aktiviert, sofern Bit 3 des Steuerregisters gesetzt ist, wenn der Prüfdurchtast-Eingangsstift
aktiv ist. Diese Funktion löscht alle Funktionsbeschreibungsverriegelungseinheiten in allen
Quadranten auf Null. Dies muß bei Stromeinschaltung, wenn erstmals ein Einschreiben in die Logikanordnung erfolgt,
durchgeführt werden und kann zu anderen Zeitpunkten zur Änderung der Chip-Funktion vorgenommen werden.
Die Funktion CLEARF ist nicht nötig, wenn die eine Null haltende Beschreibungsverriegelungseinheit auf "1" geändert
werden soll. Eine Funktion WRITEF/INITF wird bei
einem Datenfluß benutzt, der vollständig aus Nullen, mit Ausnahme von Einsen an den erforderlichen Änderungsstellen,
besteht. CLEARF ist insofern eine monostabile Funktion, als sie nur für einen Taktzyklus an der Vorderflanke
eines wirksam werdenden Prüfdurchschaltsignals aktiv ist. Dies bedeutet, daß diese Funktion im selben
Funktionssteuerwort wie WRITEF zur Lieferung der Steuersequenzen enthalten sein kann, um (in) die Funktionsbeschreibungsverriegelungseinheiten
einzuschreiben. Dies geschieht, indem die Prüftaktfreigabe(leitung) auf dem
niedrigen Pegel gehalten wird, während das Prüfdurchschaltsignal
auf den hohen Pegel geführt wird. Nach einer Verzögerung von mindestens zwei Taktzyklen können die
Prüftaktfreigabe(leitung) auf den hohen Pegel gebracht
und die Beschreibungsverriegelungseinheiten beschrieben werden.
Die vier Funktionen FORCEFO bis F0RCEF3, die Bits 4, 5,
6 bzw. 7 des Steuerregisters 281 darstellen, bringen alle Ausgangsstifte in den betreffenden Quadranten zwangsweise
in den aktiven Zustand. Die Funktion übersteuert den Zustand des Ausgangfreigabestifts, der Sperr-Sammelschiene
sowie den Zustand einer etwaigen Funktionsbeschreibungsverriegelungseinheit in den Ausgangfreigabe-Toren.
Während anzunehmen ist, daß diese Funktionsbits hauptsächlich von Diagnosegeräten benutzt werden, können
sie auch im normalen Systembetrieb benutzt werden. Die vier Bits werden an der Vorderflanke eines Prüftakt-Freigabesignals
in ein statisches Halteregister geladen.
Die Funktion BLOCKF ist aktiv oder wirksam, sofern Bit
des Steuerregisters aktiv ist, wenn der Prüfdurchtasteingang
aktiv ist. Diese Funktion deaktiviert alle Ausgangsstifte in allen Quadranten, und sie übersteuert die Ausgangfreigabestifte
und den Zustand einer etwaigen Funktionsbeschreibungsverriegelungseinheit in einer der Ausgangfreigabevorrichtungen.
Die Funktion BLOCKF zwingt die Sperr-Sammelschiene in die Abschaltbetriebsart, während
sie eine etwaige aktive Funktion FORCEF nicht übersteuert.
Die erfindungsgemäße Logikanordnung bietet verschiedene Vorteile. Zum einen ist sie für die jeweils auszuführende
Funktion ausgelegt. Wenn der Teil oder die Anordnung im System von einer Stelle zu einer anderen verschoben wird,
führt sie die logischen Gleichungen für die neue Stelle ohne physikalische Änderung des Teils aus. Die Verzögerung
eines logischen Signals durch den Teil ist der Komplexität der zu realisierenden logischen Gleichung
proportional. Mehrere einfache Gleichungen oder weniger, komplexere Gleichungen können verarbeitet werden, wodurch
BAD ORIGINAL
der Konstrukteur logischer Schaltungen einen größeren EntwurfsSpielraum erhält. Die Logikanordnung realisiert
variable Funktionen an einem festen Satz von Eingängen im Gegensatz zu den vorher festgelegten festen Gleichungen
an variablen Eingängen beim Stand der Technik. Die einen Teil der Logikstrecke bildenden Flipflops können
zur Realsisierung von Zustandsgieichungen benutzt oder zur Ausführung kombinierter Logik deaktiviert werden.
Die Funktionselemente der ersten Ebene speisen diejenigen der zweiten Ebene. Die einzelnen Funktionselemente der
zweiten Ebene können dann ihren eigenen Ausgangsstift ansteuern oder Ausgangsstifte ansteuernde Funktionselemente
einer dritten Ebene speisen. Letztere können ihrerseits Ausgänge einer vierten Ebene ansteuern. Aufgrund dieser
Verbindung oder Verknüpfung können alle Ausgänge der zweiten Ebene der Anordnung aktiv sein, so daß bis zu
sechs vergleichsweise einfache Gleichungen in der Anordnung aufgelöst werden können. Mit zunehmender Komplexität
größerer Gleichungen können die Elemente der dritten und der vierten Ebene benutzt werden, um immer weitere
Elemente der ersten und zweiten Ebene Teil der logischen Gleichung werden zu lassen und damit zunehmend komplexere
logische Gleichungen aufzulösen.
Die beiden logischen Lösungsarten können gleichzeitig genutzt werden. Mit anderen Worten: einige einfache logische
Gleichungen sollten Signale liefern, die auch in komplexere logische Gleichungen eingehen können. Die Ausgänge
der zweiten und dritten Ebene können gleichzeitig mit denen der dritten und der vierten Ebene aktiv sein, so
daß einfache und komplizierte logische Funktionen gleichzeitig erzeugt oder ausgeführt werden. Durch Wahl des
Zustands der Durchlaß/Haltevorrichtungen, nämlich ob sie
Daten halten oder durchlassen, können einige der logischen Gleichungen Zustandsgieichungen und andere reine
kombinierte Verknüpfungs-Gleichungen sein.
BAD ORIGINAL
_ 3 V
- Leerseite -
Claims (15)
1. Weich programmierbare Logikanordnung, gekennzeichnet durch mehrere
aus Funktionselementen gebildete logische Stufen mit jeweils logischen Eingängen und Ausgängen, die eine vorbestimmte
Funktion des Eingangs sind, wobei jedes Funktionselement mit (seinen) Eingängen zur Abnahme von Dateneingängen
und Datenausgängen, die logische Gleichungen der Dateneingänge darstellen, angeschlossen ist und
jedes Funktionselement mehrere mit mindestens einem Ausgang verbundene Eingänge aufweist, so daß der Ausgang
eine beliebige logische Funktion der Eingänge sein kann, und jedes Funktionselement eine der Zahl der möglichen
Ausgangszustände äquivalente Zahl von Verriegelungseinheiten zum Halten einer vorbestimmten logischen Anzeige
des zugeordneten Ausgangszustands entsprechend der ausgeführten logischen Funktion aufweist,
durch eine Anzahl von Stufen von Flipflop-Durchlaßeinheiten mit zur Abnahme der Ausgänge von einer der logischen
Stufen angeschlossenen Eingängen sowie an die Eingänge einer anderen der logischen Stufen und an den Ausgang
der Logikanordnung angeschlossenen Ausgängen, wobei diese Einheiten jeweils einen logischen Zustand zu
invertieren und diesen ohne Verzögerung durchzulassen oder eine logische Funktion bis zur Freigabe
zu verriegeln vermögen, abhängig von einer vorbestimmten, auszuführenden logischen Funktion, und
durch eine Steuereinheit, um alle Funktionselemente und Flipflop-Durchlaßeinheiten für die Ausführung einer vorbestimmten
logischen Funktion zu setzen.
2. Anordnung nach Anspruch 1, gekennzeichnet durch eine erste logische Stufe aus acht zur Abnahme von Systemdateneingängen
geschalteten Funktionselementen, eine zweite logische Stufe aus sechs mit den Ausgängen
der ersten logischen Stufe verbundenen Funktionselementen,
eine dritte Stufe aus sechs mit den Ausgängen der zweiten logischen Stufe verbundenen Flipflop-Durchlaßeinheiten,
eine vierte logische Stufe aus vier mit den Ausgängen der dritten Stufe verbundenen Funktionselementen,
eine fünfte Stufe aus vier an die Ausgänge der vierten Stufe angeschlossenen Flipflop-Durchlaßeinheiten,
eine sechste logische Stufe aus zwei mit den Ausgängen der fünften Stufe verbundenen Funktionselementen,
eine siebte Stufe aus zwei an die Ausgänge der sechsten logischen Stufe angeschlossenen Flipflop-Durchlaßeinheiten
und
eine achte Stufe aus zwölf mit den Ausgängen von dritter, fünfter und siebter Stufe verbundenen Ausgangfreigabe-Toren.
eine achte Stufe aus zwölf mit den Ausgängen von dritter, fünfter und siebter Stufe verbundenen Ausgangfreigabe-Toren.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß der Ausgang jedes Ausgangfreigabe-Tors in der einen
Betriebsart zwangsweise auf einen hohen, niedrigen oder gleitenden Pegel bringbar ist oder in einer anderen Betriebsart
die Eingangsfunktion als Ausgang verbinden kann.
4. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß jedes Funktionselement drei Dateneingänge, acht
logische Steuereingänge und einen Ausgang aufweist.
BAD ORIGINAL
5. Anordnung nach Anspruch 4, dadurch gekennzeichnet,
daß jedes Funktionselement aus einem 8:1-Multiplexer und
acht UND-Glied/Setz-Verriegelungsschaltungen, die als
Eingänge zum Multiplexer geschaltet sind, besteht.
6. Weich programmierbare Logikanordnung, gekennzeichnet durch
eine erste logische Stufe (Ebene) aus Funktionselementen, die jeweils logischeFunktionsausgänge als vorbestimmte
logische Funktionen der Eingänge liefern, eine zweite Stufe aus mit der ersten Stufe verbundenen
Funktionselementen zur Lieferung von jeweils logischen Funktionsausgängen, die vorbestimmte logische Funktionen
der Eingänge sind,
eine dritte Stufe aus mit der zweiten Stufe verbundenen Flipflop-Durchlaßeinheiten zurDurchführung einer invertierenden,
unverzögerten Durchlaß- oder einer Verriegelungsfunktion entsprechend einer vorbestimmten Funktion,
eine vierte Stufe aus Funktionselementen, die zur Abnahme von Eingängen von der dritten Stufe der Flipflop-Durchlaßeinheiten
geschaltet sind und jeweils logische Funktionsausgänge erzeugen, die vorbestimmte logische
Funktionen der Eingänge sind,
eine fünfte Stufe aus mit der vierten Stufe verbundenen Flipflop-Durchlaßeinheiten zur Durchführung einer invertierenden,
unverzögerten Durchlaß- oder einer Verriegelungsfunktion entsprechend einer vorbestimmten Funktion,
eine sechste Stufe aus zur Abnahme von Eingängen von der vierten Stufe der Flipflop-Durchlaßeinheiten geschalteten
Funktionselementen, die jeweils logische Funktionsausgänge als vorbestimmte logische Funktionen der Eingänge
erzeugen,
eine siebte Stufe aus zur Abnahme von Dateneingängen von den sechsten Stufe geschalteten Flipflop-Durchlaßeinheiten
eine siebte Stufe aus zur Abnahme von Dateneingängen von den sechsten Stufe geschalteten Flipflop-Durchlaßeinheiten
zur Durchführung einer invertierenden, unverzögerten Durchlaß- oder einer Verriegelungsfunktion entsprechend
einer vorbestimmten Funktion,
eine zur Abnahme von Eingängen von dritter, fünfter und siebter Stufe der Flipflop-Durchlaßelemente geschaltete
Ausgangfreigabestufe zur Lieferung eines Datenausgangs für die Logikanordnung und
eine mit allen Funktionselementen und Flipflop-Durchlaßeinheiten verbundene Steuereinheit zur Steuerung und Prüfung der Logikanordnung und zur Lieferung von Verriegelungseingängen zum Setzen aller Funktionselemente und Flipflop-Durchlaßeinheiten zwecks Durch- oder Ausführung einer vorbestimmten logischen Funktion.
eine mit allen Funktionselementen und Flipflop-Durchlaßeinheiten verbundene Steuereinheit zur Steuerung und Prüfung der Logikanordnung und zur Lieferung von Verriegelungseingängen zum Setzen aller Funktionselemente und Flipflop-Durchlaßeinheiten zwecks Durch- oder Ausführung einer vorbestimmten logischen Funktion.
7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß jedes Funktionselement drei Dateneingänge, acht
logische Steuereingänge und einen Datenausgang aufweist und aus einem 8:1-Multiplexer sowie acht UND-Glied/-Setz-Verriegelungsschaltungen
als Eingängen zum Multiplexer besteht.
8. Weich programmierbare Logikanordnung, gekennzeichnet durch mehrere Logiksektoren, die jeweils unabhängige
logische Eingänge und Ausgänge aufweisen, durch mehrere, jeweils einen Sektor bildende logische
Stufen (Ebenen) aus Funktionselementen, wobei jede logische Stufe mit ihren Eingängen zur Abnahme von Dateneingangssignalen
geschaltet ist und Datenausgangssignale liefert,
die logische Gleichungen der Dateneingangssignale darstellen, wobei jedes Funktionselement mehrere Eingänge
aufweist, die mit mindestens einem Ausgang verknüpft sind, so daß der Ausgang eine logische Funktion
der Eingänge sein kann, und wobei die Funktionselemente eine der Zahl der möglichen Ausgangszustände äquivalente
Zahl von Verriegelungseinheiten zum Halten einer logischen
BAD ORIGINAL
-δ-1
Anzeige des zugeordneten Ausgangszustands entsprechend der ausgeführten logischen Funktion aufweisen,
durch eine Anzahl von Stufen von Flipflop-Durchlaßeinheiten
mit zur Abnahme der Ausgänge von einer der logischen Stufen angeschlossenen Eingängen sowie an die
Eingänge einer anderen der logischen Stufen und an den Ausgang des Sektors angeschlossenen Ausgängen, wobei diese
Einheiten jeweils einen logischen Zustand zu invertieren
IQ und diesen ohne Verzögerung durchzulassen oder
eine logische Funktion bis zur Freigabe zu verriegeln vermögen, abhängig von einer vorbestimmten, auszuführenden
logischen Funktion, und
durch eine Steuereinheit für alle Sektoren, um alle Funktionselemente und Flipflop-Durchlaßeinheiten zur Ausführung vorbestimmter logischer Funktionen in jedem Sektor zu setzen.
durch eine Steuereinheit für alle Sektoren, um alle Funktionselemente und Flipflop-Durchlaßeinheiten zur Ausführung vorbestimmter logischer Funktionen in jedem Sektor zu setzen.
9. Anordnung nach Anspruch 8, dadurch gekennzeichnet, daß jeder Sektor
eine erste Stufe (Ebene) von zur Abnahme von Dateneingangssignalen
geschalteten logischen Elementen mit Eingängen zur Abnahme eines ersten Satzes logischer Signale
zum Setzen der Verriegelungseinheiten der ersten Stufe logischer Elemente,
eine zweite Stufe von mit der ersten Stufe von logischen Elementen verbundenen logischen Elementen in Form
von Funktionselementen mit Eingängen zur Abnahme eines zweiten Satzes logischer Signale zum Setzen der Verriegelungseinheiten
der zweiten Stufe logischer Elemente, eine dritte Stufe aus Flipflop-Durchlaßeinheiten mit Eingängen
zum Abnehmen eines dritten Satzes logischer Signale zum Setzen der Verriegelungseinheiten der Flipflop-Durchlaßeinheiten
der dritten Stufe, eine vierte Stufe aus zur Abnahme von Eingängen von den Flipflop-Durchlaßeinheiten der dritten Stufe geschalteten
logischen Elementen mit Eingängen zur Abnahme eines vierten
Satzes logischer Signale zum Setzen ihrer Verriegelungseinheiten,
eine fünfte Stufe von zur Abnahme von Eingängen von der vierten Stufe der logischen Elemente geschalteten Flipflop-Durchlaßeinheiten mit Eingängen zur Abnahme eines fünften Satzes logischer Signale zum Setzen ihrer Verriegelungseinheiten,
eine fünfte Stufe von zur Abnahme von Eingängen von der vierten Stufe der logischen Elemente geschalteten Flipflop-Durchlaßeinheiten mit Eingängen zur Abnahme eines fünften Satzes logischer Signale zum Setzen ihrer Verriegelungseinheiten,
eine sechste Stufe aus zur Abnahme von Dateneingängen von den Flipflop-Durchlaßeinheiten der fünften Stufe geschalteten
logischen Elementen mit Eingängen zur Abnahme eines sechsten Satzes logischer Signale zum Setzen ihrer Verriegelungseinheiten,
eine siebte Stufe von zur Abnahme von Dateneingängen von den logischen Elementen der sechsten Stufe geschalteten
Flipflop-Durchlaßeinheiten mit Eingängen zur Abnahme eines siebten Satzes logischer Signale zum Setzen ihrer Verriegelungseinheiten
und eine achte Stufe von zur Abnahme von Eingängen von
dritter, fünfter und siebter Stufe von Flipflop-Durchlaßelementen
geschalteten Toren zur Lieferung von Datenausgangssignalen für die Logikanordnung und mit Eingängen zur
Abnahme eines achten Satzes logischer Signale zum Setzen der Verriegelungseinheiten der Ausgangfreigabe-Tore umfaßt.
10. Anordnung nach Anspruch 9, dadurch gekennzeichnet, daß jedes Funktionselement drei Dateneingänge, acht
logische Steuereingänge und einen Datenausgang aufweist und aus einem 8:1-Multiplexer sowie acht UND-Glied/Setz-Verriegelungsschaltungen
als Eingängen zum Multiplexer besteht.
BAD ORIGINAL
11. Weich programmierbare Logikanordnung zur Durchführung
einer vorbestimmten logischen Funktion an einer Dateneingangsfunktion, gekennzeichnet durch
eine erste Stufe (Ebene) aus logischen Elementen jeweils in Form eines Funktionselements mit mehreren Dateneingang-Empfangsleitungen,
mindestens einer Datenausgangsleitung und Mitteln zum Abnehmen und Verriegeln von für
die auszuführende Funktion repräsentativen Steuersignalen und jeweils geschaltet zur Abnahme von Dateneingängen
zum System und eines ersten Satzes logischer Signale zum Setzen der Verriegelungseinheiten (latches) dieser logischen
Elemente,
durch eine zweite Stufe von mit den logischen Elementen der ersten Stufe verbundenen logischen Elementen in Form von Funktionselementen mit jeweils mehreren mit der ersten Stufe verbundenen Dateneingang-Empfangsleitungen, mindestens einer Datenausgangsleitung und Mitteln zum Abnehmen und Verriegeln von für die auszuführende Funktion repräsentativen Steuersignalen und jeweils geschaltet zur Abnahme von Dateneingängen zur zweiten Stufe und eines zweiten Satzes logischer Signale zum Setzen der Verriegelungselemente dieser logischen Elemente,
durch eine zweite Stufe von mit den logischen Elementen der ersten Stufe verbundenen logischen Elementen in Form von Funktionselementen mit jeweils mehreren mit der ersten Stufe verbundenen Dateneingang-Empfangsleitungen, mindestens einer Datenausgangsleitung und Mitteln zum Abnehmen und Verriegeln von für die auszuführende Funktion repräsentativen Steuersignalen und jeweils geschaltet zur Abnahme von Dateneingängen zur zweiten Stufe und eines zweiten Satzes logischer Signale zum Setzen der Verriegelungselemente dieser logischen Elemente,
durch eine dritte Stufe von mit der zweiten Stufe verbundenen logischen Elementen aus Flipflop-Durchlaßeinheiten
mit Mitteln zum Abnehmen und Verriegeln eines dritten Satzes logischer Signale zur Steuerung der von
den Flipflop-Durchlaßeinheiten ausgeführten Funktion, durch eine vierte Stufe logischer Elemente jeweils in
Form von Funktionselementen mit jeweils mehreren Dateneingang-Empfangsleitungen,
mindestens einer Datenausgangsleitung und Mitteln zum Abnehmen und Verriegeln von
für die auszuführende Funktion repräsentativen Steuer-Signalen und jeweils geschaltet zur Abnahme von Eingängen
von den Flipflop-Durchlaßeinheiten der dritten Stufe,
sowie mit Mitteln zum Abnehmen und Verriegeln eines vierten Satzes logischer Signale zum Setzen der Verriegelungselemente
dieser Funktionselemente zwecks Ausführung der vorbestimmten logischen Funktion,
durch eine fünfte Stufe von mit der vierten Stufe verbundenen logischen Elementen aus Flipflop-Durchlaßeinheiten
mit Mitteln zum Abnehmen und Verriegeln eines fünften Satzes logischer Signale zur Steuerung der von
diesen Einheiten ausgeführten Funktion, durch eine sechste Stufe logischer Elemente aus mit der
fünften Stufe verbundenen Funktionselementen mit jeweils
mehreren Dateneingangs-Empfangsleitungen, mindestens einer Datenausgangsleitung und Mitteln zum Abnehmen und
Verriegeln von für die auszuführende Funktion repräsentativen Steuersignalen-, zur Abnahme von Dateneingängen
von den Flipflop-Durchlaßeinheiten der fünften Stufe, und mit Mitteln zum Abnehmen eines sechsten Satzes von logisehen
Signalen zum Setzen der Verriegelungselemente dieser Funktionselemente für die Ausführung der vorbestimmten
logischen Funktionen,
durchweine siebte Stufe von mit der sechsten Stufe verbundenen
logischen Elementen aus Flipflop-Durchlaßeinheiten mit jeweils einer Anzahl von Dateneingang-Empfangsleitungen,
mindestens einer Datenausgangsleitung und Mitteln zum Abnehmen und Verriegeln von für die auszuführende
vorbestimmte Funktion repräsentativen Steuersignalen und
durch eine Ausgangfreigab^tufe die zur Abnahme von
Eingängen von dritter, fünfter und siebter Stufe der Flipflop-Durchlaßeinheiten geschaltet ist, um einen
Datenausgang für die Logikanordnung zu liefern.
BAD ORIGINAL
12. Anordnung nach Anspruch 11, dadurch gekennzeichnet, daß jedes Funktionselement drei Dateneingänge, acht logische
Steuereingänge und einen Datenausgang aufweist und aus einem 8:1-Multiplexer sowie acht UND-Glied/Setz-Verriegelungsschaltungen
als Eingängen zum Multiplexer besteht.
13. Anordnung nach Anspruch 11, dadurch gekennzeichnet, daß eine Steuereinheit zur Lieferung eines Reihenflusses
von Steuersignalen zur Eingabe in alle Verriegelungselemente der Funktionselemente sowie eines Flusses von Verriegelungs-Setzsteuersignalen,
um das Setzen des betreffenden Verriegelung-Steuersignals im entsprechenden Verriegelungselement zu bewirken, vorgesehen ist.
14. Anordnung nach Anspruch 11, dadurch gekennzeichnet, daß eine Taktsteuereinheit zur Steuerung des Durchtastens
der betreffenden Steuersignale zu den entsprechenden Funktionselementen in der Reihenfolge der logischen
Stufen im Betrieb der Logikanordnung vorgesehen ist.
15. Anordnung nach Anspruch 11, dadurch gekennzeichnet,
daß ein Zähler bei Eingang der einzelnen Steuersignale im Eingangs-Reihendatenfluß inkrementierbar ist und der
Ausgangszählstand des Zählers die Adressierung der Funktionselemente steuert.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US48508083A | 1983-04-14 | 1983-04-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3342354A1 true DE3342354A1 (de) | 1984-10-18 |
Family
ID=23926845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19833342354 Withdrawn DE3342354A1 (de) | 1983-04-14 | 1983-11-23 | Weich programmierbare logikanordnung |
Country Status (6)
Country | Link |
---|---|
JP (1) | JPS59200526A (de) |
AU (1) | AU567538B2 (de) |
CA (1) | CA1206534A (de) |
DE (1) | DE3342354A1 (de) |
FR (1) | FR2544523B1 (de) |
GB (2) | GB2138188B (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4551814A (en) * | 1983-12-12 | 1985-11-05 | Aerojet-General Corporation | Functionally redundant logic network architectures |
US4551815A (en) * | 1983-12-12 | 1985-11-05 | Aerojet-General Corporation | Functionally redundant logic network architectures with logic selection means |
US4870302A (en) * | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US5023775A (en) * | 1985-02-14 | 1991-06-11 | Intel Corporation | Software programmable logic array utilizing "and" and "or" gates |
GB2171231B (en) * | 1985-02-14 | 1989-11-01 | Intel Corp | Software programmable logic array |
US4706216A (en) | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
GB2202355B (en) * | 1985-02-27 | 1989-10-11 | Xilinx Inc | Configurable storage circuit |
CA1326303C (en) * | 1988-08-31 | 1994-01-18 | Hideki Shutou | Extended logical scale structure of a programmable logic array |
GB8828828D0 (en) * | 1988-12-09 | 1989-01-18 | Pilkington Micro Electronics | Semiconductor integrated circuit |
IT1225638B (it) * | 1988-12-28 | 1990-11-22 | Sgs Thomson Microelectronics | Dispositivo logico integrato come una rete di maglie di memorie distribuite |
US5198705A (en) | 1990-05-11 | 1993-03-30 | Actel Corporation | Logic module with configurable combinational and sequential blocks |
US5936426A (en) | 1997-02-03 | 1999-08-10 | Actel Corporation | Logic function module for field programmable array |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3912914A (en) * | 1972-12-26 | 1975-10-14 | Bell Telephone Labor Inc | Programmable switching array |
US4157589A (en) * | 1977-09-09 | 1979-06-05 | Gte Laboratories Incorporated | Arithmetic logic apparatus |
US4357678A (en) * | 1979-12-26 | 1982-11-02 | International Business Machines Corporation | Programmable sequential logic array mechanism |
-
1983
- 1983-11-23 DE DE19833342354 patent/DE3342354A1/de not_active Withdrawn
- 1983-12-26 JP JP58244361A patent/JPS59200526A/ja active Pending
-
1984
- 1984-01-19 CA CA000445598A patent/CA1206534A/en not_active Expired
- 1984-01-25 GB GB08401927A patent/GB2138188B/en not_active Expired
- 1984-01-25 GB GB08605831A patent/GB2171826B/en not_active Expired
- 1984-02-06 AU AU24203/84A patent/AU567538B2/en not_active Ceased
- 1984-03-13 FR FR8403857A patent/FR2544523B1/fr not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB8605831D0 (en) | 1986-04-16 |
GB2138188A (en) | 1984-10-17 |
AU567538B2 (en) | 1987-11-26 |
CA1206534A (en) | 1986-06-24 |
GB8401927D0 (en) | 1984-02-29 |
JPS59200526A (ja) | 1984-11-13 |
GB2171826A (en) | 1986-09-03 |
AU2420384A (en) | 1984-10-18 |
FR2544523A1 (fr) | 1984-10-19 |
GB2138188B (en) | 1987-07-22 |
GB2171826B (en) | 1987-07-22 |
FR2544523B1 (fr) | 1990-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68923541T2 (de) | Programmierbare Logikeinrichtung mit einer Vielzahl von programmierbaren Logikarrays, die sich in mosaikförmiger Anordnung zusammen mit einer Vielzahl von vermischt angeordneten Interface-Blöcken befinden. | |
DE4417575C2 (de) | Verbesserte Array-Architektur für programmierbare logische Zellen | |
EP0046499B1 (de) | Schieberegister für Prüf- und Test-Zwecke | |
DE3787946T2 (de) | Schaltung zum Kombinieren von Funktionen der Generatoren eines zyklischen redundanten Prüfungskodes und von Pseudo-Zufallszahlengeneratoren. | |
DE3854474T2 (de) | Vorrichtung und verfahren zur übertragung von nachrichtenpaketen. | |
DE68914172T2 (de) | Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem. | |
DE2755273C2 (de) | ||
DE2019444A1 (de) | Datenverarbeitungsanlage | |
DE69432200T2 (de) | Als Zellenmatrix-Netzwerk organisiertes elektronisches System | |
DE3508640A1 (de) | Computersystem zur implementierung eines ereignisgesteuerten simulationsalgorithmus | |
DE3342354A1 (de) | Weich programmierbare logikanordnung | |
DE2825190C3 (de) | Programmierbare logische Anordnung | |
EP0046500B1 (de) | Schieberegister für Prüf- und Test-Zwecke | |
DE4010311C2 (de) | Datenprozessor | |
DE1549478B1 (de) | Gleitkomma-Rechenwerk zur schnellen Addition oder Subtraktion binaerer Operanden | |
DE3587446T2 (de) | Signalverarbeitungsprozessor und hierarchische Multiverarbeitungstruktur mit mindestens einem solchen Prozessor. | |
DE3739993A1 (de) | Peripherieschaltung fuer mikroprozessor | |
DE69026899T2 (de) | Integriertes Halbleiterschaltungsgerät mit Prüfschaltung | |
DE3743586C2 (de) | ||
DE3722907A1 (de) | Maximallaengen-schieberegister-folgegenerator | |
DE3543471C1 (de) | In integrierter Technik hergestellter Baustein zur Erstellung integrierter Schaltungen | |
DE60221515T2 (de) | Speichersystem für schleifenbeschleunigung nach wunsch | |
DE2412634A1 (de) | Kleinstrechenanlage | |
DE69513278T2 (de) | Kombinierte pla- und pal-schaltung | |
DE2747304A1 (de) | Einrichtung zur mikrobefehlssteuerung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8128 | New person/name/address of the agent |
Representative=s name: HENKEL, G., DR.PHIL. FEILER, L., DR.RER.NAT. HAENZ |
|
8141 | Disposal/no request for examination |