DE3788974T2 - Programmierbare Array-Logik-Zelle. - Google Patents
Programmierbare Array-Logik-Zelle.Info
- Publication number
- DE3788974T2 DE3788974T2 DE3788974T DE3788974T DE3788974T2 DE 3788974 T2 DE3788974 T2 DE 3788974T2 DE 3788974 T DE3788974 T DE 3788974T DE 3788974 T DE3788974 T DE 3788974T DE 3788974 T2 DE3788974 T2 DE 3788974T2
- Authority
- DE
- Germany
- Prior art keywords
- gate
- cell
- signal
- input
- output
- 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
Links
- 230000006870 function Effects 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 229920000747 poly(lactic acid) Polymers 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- MAKDTFFYCIMFQP-UHFFFAOYSA-N titanium tungsten Chemical compound [Ti].[W] MAKDTFFYCIMFQP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
- H03K3/037—Bistable circuits
Landscapes
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
- Diese Erfindung bezieht sich auf elektronische Schaltungen und insbesondere auf eine programmierbare Logikarray-Makrozelle, die auf bestimmte Klassen von Funktionen spezialisiert ist.
- Ein programmierbares Logikarray (PLA) ist eine universelle integrierte Schaltungsanordnung (IC), die auf irgendeiner Fertigungsstufe den Kundenwünschen angepaßt oder gemäß diesen programmiert wird, um eine benutzerdefinierte logische Funktion auszuführen. Wie in Fig. 1 veranschaulicht, besitzt eine herkömmliche PLA- Zelle Eingangsleitungen I1 bis IM, die auf programmierbare Weise mit den Eingangsleitungen von UND-Gattern AG1 bis AGR verbindbar sind, welche in einer Reihe oder einem ersten Logik-"Niveau", das UND-Ebene genannt wird, angeordnet sind und Terme des logischen Produkts P1 bis PR bilden. Die UND-Ebene- Produktterm-Ausgangsleitungen sind auf programmierbare Weise mit ODER-Gattern OG1 bis OGN verbindbar, die in einer Spalte oder einem zweiten Niveau, das ODER- Ebene genannt wird, angeordnet sind und auf ODER-Ebene-Ausgangsleitungen S1 bis SN logische Summen von Produktsignalen bereitstellen. Einige der ODER-Ebene- Ausgangsleitungen S1-SN können über getaktete Register 25, 26 gekoppelt sein, um Signale auf Rückkopplungsleitungen 27, 28 in UND-Ebene-Eingangsleitungen für die Array-Zelle 10 zurückzuführen, um sequentielle Logikoperationen auszuführen.
- Zur Programmierung der Array-Zelle 10 definiert der Benutzer Gattereingangsleitung- Verbindungen mittels eines Musters für eine Maske, die in einem Fertigungsschritt für ein maskenprogrammiertes PLA verwendet wird, oder mittels eines "Sicherungsplanes", der von einer Programmiermaschine verwendet wird, um Sicherungen in einem feldprogrammierbaren Logikarray (MPLA) nach der Fertigung durchzuschmelzen.
- PLAs sind mit verschiedenen Verhältnissen der jeweiligen Anzahl von UND-Gattern, ODER-Gattern und programmierbaren Verbindungen in den Eingangsleitungen der Logikebenen entworfen. Ein Typ eines PLA, eine programmierbare Array- Logikeinrichtung, beispielsweise eine "PAL"-Einrichtung (eingetragenes Warenzeichen von Monolithic Memories, Inc.) besitzt Array-Eingangsleitungen, die auf programmierbare Weise mit UND-Ebene-Eingangsleitungen verbunden werden können, sowie UND-Ebene-Produkt-Ausgangsleitungen, die mit ODER-Ebene- Eingangsleitungen über D-Flipflop-Ausgangsregister fest verbunden sind. Obwohl D- Flipflops leistungsstark sind, erfordern Anwendungen in Großzustand-Maschinen oftmals die vielseitigere JK-Flipflop-Funktion, die mit einem momentanen Zustandswert Qo beginnt, woraufhin zwei Eingangssignalwerte J und K wirken, um gemäß der folgenden Tabelle 1 einen nächsten Zustandswert Qo zu erzeugen: TABELLE 1
- Die J-K-Funktion wird üblicherweise in einer ersten Form durch Qo' =J + Qo ausgedrückt. Sie kann mit einer Schaltung 30, Fig. 2, implementiert werden, in der das Eingangssignal K durch einen Inverter 34 in ein Signal invertiert wird und mit dem vorhergehenden Zustands-Rückkopplungssignal Qo in ein UND-Gatter 36 eingegeben wird, während das Signal Qo durch einen Inverter 33 invertiert und mit einem Eingangssignal J in ein UND-Gatter 35 eingegeben wird. Die UND-Gatter 35 und 36 geben Produktsignale J bzw. Qo in die Eingangsleitungen eines ODER-Gatters 37 ein, welches das nächste Zustandssignal Qo =J + Qo bildet.
- Die J- und/oder K-Signale, die von den Eingangsleitungen 31 und 32 der Schaltung 30 empfangen werden, können ihrerseits Produkte J1 und K1 von Gruppen von Eingangssignalen J1a bis J1z bzw. K1a bis K1z sein, die von UND-Gattern 11 und 14, Fig. 2, bereitgestellt werden. Ferner können die Signale J und K logische Summen von Produktsignalen J1 bis Jj und K1 bis Kk sein, die von jeweiligen Untergruppen von Eingangssignalen (a, b, . . . ,z) durch UND-Gatter 11 bis 16 und ODER-Gatter 17 und 18 in einer PLA-Einrichtung 10, Fig. 2, ohne Ausgangsregister 25 und 26 von Fig. 1 gebildet werden.
- Ein IC 20, Fig. 2, der so beschaffen ist, daß er die JK-Flipflop-Funktion unter Verwendung eines Logik-Arrays 10 mit mit einer zugewiesenen JK-Flipflop-Schaltung 30 verbundenen ODER-Ebene-Ausgangsleitungen ausführt, kann jedoch keine Ausgangssignale für Funktionen bereitstellen, die von der JK-Flipflop-Funktion verschieden sind, was mit dem IC-Designziel des maximalen Gebrauchs von minimalen Schaltungselementen in Konflikt steht.
- Die Kapazität, die zu Beginn zu programmieren ist, um andere Funktionen auszuführen, wird durch eine PLA-Einrichtung erhalten, in der ein Array für Summen von Produkten, die JK-Funktionen ausführt und das nächste Zustandssignal Qo' in einem D-Flipflop für die Ausgabe und/oder die Rückkopplung speichert. Eine UND- ODER-INVERTER-Array-Implementierung der JK-Funktion Qo' =J + Qo erfordert jedoch den Durchgang des Signals K (oder seiner Faktoren Ka . . . Kz) durch das Array in einem ersten Zyklus, um K zu erhalten, die Invertierung des Signals K und dann den erneuten Durchgang des invertierten Signals durch das Array in einem zweiten Zyklus oder durch ein zweites äquivalentes Array mit Signalen J (oder dessen Faktoren Ja . . Jz), Qo und , um das nächste Zustandssignal Qo' zu erhalten. Ein derartiger Gebrauch von mehreren Zyklen durch ein Array oder von Mehrfacharrays ist ineffizient.
- Wenn K ein Produkt von z Faktoren Ka bis Kz ist, K=(Ka*Kb* . . . *Kz, dann folgt aus den DeMorgan-Gesetzen =( + + . . . + ) und Qo=( *Qo+ *Qo+ . . . + *Qo). Auf der Grundlage dieser Identitäten kann die JK-Flipflop-Gleichung durch eine äquivalente zweite Form Qo' = (J + Qo + + Qo* . . . Kz Qo) ausgedrückt werden. Eine Schaltung mit weniger als z Produkttermen kann jedoch diese zweite Form der JK-Funktion nicht implementieren.
- Die JK-Flipflop-Funktion kann auch in einer äquivalenten dritten Form ausgedrückt werden: Qo' = Qo ( + KQo). Diese Form vermeidet die Schwierigkeit der Gewinnung von , indem ein Ekklusiv-ODER-Gatter (Exklusiv-ODER-Gatter) verwendet wird.
- Programmierbare Array-Logikschaltungen, wie sie in dem US-Patent 4,124,899 beschrieben sind, werden in Zellen unterteilt, die ein UND-ODER-Array mit einem D-Flipflop-Ausgangsregister enthalten. In einigen Ausführungsformen dieses Patents enthalten die Zellen zwischen ODER-Gatter-Ausgangsanschlüssen und dem D- Flipflop-Eingangsanschluß ein Exklusiv-ODER-Gatter. Diese Ekklusiv-ODER-Zellen des Standes der Technik sind in Verbindung mit mehrfachen UND-Gattern, die jedes von zwei ODER-Gattern versorgen, dazu geeignet, Übertragsbits für Arithmetikoperationen zu implementieren. Die dritte äquivalente Form der JK- Funktion kann dadurch implementiert werden, daß das Ekklusiv-ODER-Gatter mit dem vorher eingegebenen Zustandausgangssignal Qo ohne jegliche logische Operation mittels eines der ODER-Gatter oder eines zugehörigen UND-Gatters getrieben wird, die Nutzung der halben Exklusiv-ODER-Zelle ist jedoch ineffizient.
- Es bleibt daher ein Bedarf an einem Design einer programmierbaren Array-Logikzelle, das für Anwendungen wie etwa ein Flipflop, einen Zähler, eine Zustandsmaschine oder einen Paritätsdetektor optimiert ist.
- Die Erfindung, wie sie durch den Anspruch 1 definiert ist, schafft eine programmierbare Array-Logikmakrozelle, die für die Implementierung der JK- Flipflop-Funktion in der Form Qo'=Qo ( +KQo) optimiert ist. Vorzugsweise kann die Zelle so programmiert sein, daß j+k= zwei bis acht Untergruppen von Zelleneingangs- und/oder Rückkopplungssignalen I1 bis I22 oder deren Komplemente verwendet werden, die einer UND-Verknüpfung unterworfen werden, um Produktsignale zu bilden, die ihrerseits einer ODER-Verknüpfung unterworfen werden, um ein Summensignal zu bilden. Für die JK-Funktion werden das Summensignal und das vorhergehende Zustandsausgangssignal Qo in zwei Eingangsanschlüsse eines Exklusiv-ODER-Gatters eingegeben, welches das momentane Zustandssignal Qo' erzeugt.
- Alternativ kann die Zelle so programmiert sein, daß ein Einbit-Zähler, eine Mealy- oder Moore-Zustandsmaschine oder ein Paritätsdetektor implementiert werden, oder sie kann so programmiert sein, daß andere Funktionen implementiert werden, die kombinatorische oder D-Register-Ausgangssignale erzeugen.
- Fig. 1 ist ein Diagramm einer verallgemeinerten programmierbaren Logikarray- Schaltung des Standes der Technik.
- Fig. 2 ist ein Diagramm einer JK-Flipflop-Schaltung des Standes der Technik, die durch J- und K-Signale getrieben wird, welche Summen von Produkten sind, die von einer PLA-Schaltung des Standes der Technik bereitgestellt werden, welche ein D- Flipflop-Ausgangsregister enthält;
- Fig. 3 ist ein Logikbaustein-Diagramm einer Ausführungsform einer programmierbaren Array-Logikzelle gemäß dieser Erfindung;
- Fig. 4 ist ein Schema, das die Zelle von Fig. 3 zeigt, die als programmierbare Array- Logikeinrichtung mit insgesamt acht Zellen ausgeführt ist.
- Die programmierbare Array-Logikschaltung dieser Erfindung ist in Fig. 3 in einer bevorzugten Ausführungsform einer integrierten Schaltung als Zelle 60 gezeigt. Einzelheiten der Herstellung und des Aufbaus herkömmlicher Aspekte von programmierbaren Array-Logikschaltungen sind im Stand der Technik bekannt. In einer Ausführungsform wird die Zelle 60 während der Fertigung maskenprogrammiert. In einer weiteren Ausführungsform wird die Zelle 60 nach der Fertigung dadurch programmiert, daß Sicherungsverbindungen durchgeschmolzen werden, welche vorzugsweise Titan-Wolfram-Glieder sind, obwohl andere zufriedenstellende Sicherungen bekannt sind.
- Die Zelle 60 ist vorzugsweise als IC-Array-Einrichtung 110, Fig. 4, ausgeführt, welche insgesamt acht identische Zellen 60 enthält. Das Array 110 besitzt 14 Array- Eingangsleitungen I1 bis I14 oder 61, die über Phasenteiler 62 verbunden sind, um für jede Zelle 60 28 Zelleneingangsleitungen 63 zu schaffen. In einem Array 110 ist für jede der acht Zellen 60 deren Ausgangssignal über eine Rückkopplungsleitung und einen Phasenteiler angeschlossen, um weitere 16 Zelleneingangsleitungen 63 und somit insgesamt 44 Zelleneingangsleitungen 63 für jede Zelle zu schaffen. Um der Deutlichkeit willen zeigt Fig. 3 nur Zellenrückkopplungs-Eingangsleitungen 76 und 77 von der Rückkopplungsleitung 74 der dargestellten Zelle 60. UND-Ebene- Eingangsleitungen 63 sind auf programmierbare Weise über Sicherungen 64 mit den Eingangsleitungen 65 der UND-Gatter 66, 78 und 97 verbunden. Die Gruppen von 44 Eingangsleitungen an jedes UND-Gatter sind um der Deutlichkeit willen in Fig. 3 als Einzelleitungen 65 gezeigt.
- UND-Gatter 66 erzeugen auf den jeweiligen Produktleitungen 68 an die Eingangsanschlüsse des ODER-Gatters 70 Logikprodukt-Terme P1 bis P8, wobei ein Summensignal vom ODER-Gatter 70 eine an ein Exklusiv-ODER-Gatter 80 führende Eingangsleitung 71 treibt. Der zweite Eingang des Exklusiv-ODER-Gatters 80 ist mit der Ausgangsleitung 79 vom UND-Gatter 78 verbunden, dessen Eingangsleitungen 65 auf programmierbare Weise verbindbar sind, um ein Signal von jeder beliebigen Kombination von Zelleneingangsleitungen 63 zu empfangen, welche beispielsweise das Ausgangssignal Qo oder des vorhergehenden Zustandes enthält, wie weiter unten erläutert wird.
- Das Ausgangssignal Qo' des Exklusiv-ODER-Gatters 80 auf der Leitung 81 wird in den Dateneingangsanschluß D des D-Flipflops 82 eingegeben. Die Zelleneingangsleitung 83 erzeugt ein Taktsignal für den Freigabeanschluß des Flipflops 82. Bei der Anstiegsflanke des Freigabesignals tastet das Flipflop 82 das Datensignal Qo' an seinem D-Eingangsanschluß ab und überträgt den Datensignalwert an die Flipflop-Ausgangsleitung 84 als Signal Qo. Der optionale Multiplexierer (MUX) 90, der durch die Spannung auf der Leitung 92 von der programmierbaren Sicherung 93 gesteuert wird, wählt entweder, wenn die Sicherung 93 durchgeschmolzen ist, die Leitung 81 für das Qo'-Signal, das momentan von dem Exklusiv-ODER-Gatter 80 für die Ausgabeoperation ohne Eintragung der Zelle 60 (als Zustandsmaschine vom Mealy-Typ) bereitgestellt wird, oder wählt, wenn die Sicherung 93 intakt ist, die Flipflop-Ausgangsleitung 84 für das Qo-Signal, das von dem Exklusiv-ODER-Gatter 80 während der vorhergehenden Periode des Taktsignals (für die Operation als Zustandsmaschine vom Moore-Typ) bereitgestellt wird. Das Signal (Q = Qo' oder Qo), das vom MUX 90 gewählt ist, wird über die Leitung 91 in den Ausgangspuffer 99 eingegeben. Ein UND-Gatter 97 stellt auf der Leitung 98 ein Steuersignal bereit, das den Ausgangspuffer 99 in die Lage versetzt, das Signal von der Leitung 91 an die Zellenausgangsleitung 100 zu übertragen. Wenn das Signal auf der Leitung 98 den Puffer 99 sperrt, schwebt die Ausgangsleitung 100 auf hoher Impedanz, während die Leitung 100 dann, wenn sie mit der Rückkopplungsleitung 74 verbunden ist, als Eingangsleitung 61 an die Zelle 60 verwendet werden kann.
- Für Funktionen, die kein Rückkopplungssignal des vorhergehenden Zustands auf der Leitung 79 erfordern, kann das UND-Gatter 78 dazu verwendet werden, die Leitung 79 auf hohen oder niedrigen Pegel zu zwingen und damit die Signalpolarität der Leitung 81 zu steuern. Ein hohes Ausgangssignal kann vom UND-Gatter 78 erzwungen werden, indem sämtliche Eingangsleitungen 65 des Gatters 78 die Verbindungen 64 schmelzen, wodurch den abgekoppelten Leitungen 65 ein Schweben auf der hohen Versorgungsspannung der Zelle 60 ermöglicht wird, welche mit einem logisch "wahren" Eingangssignal äquivalent ist. Ein niedriges Ausgangssignal kann vom UND-Gatter 78 dadurch erzwungen werden, daß die Sicherungen 64 zwischen der Leitung 78 und jeder der komplementären Leitungen 63 von einem beliebigen Phasenteiler 62 des Paars von komplentären Leitungen 63 intakt gelassen werden. Ein erzwungenes Null-Signal auf der Leitung 79 deaktiviert das Exklusiv-ODER-Gatter 80, so daß das Exklusiv-ODER- Gatter 80 anders als eine Eins-Logikpegel-Verzögerung auf das Vermögen der Schaltung 60 zur Ausführung von ein Exklusiv-ODER-Gatter nicht erfordernden Funktionen keinen Einfluß hat. Für die JK-Funktion können die J- und K- Eingangssignale für die Signalpolarität der Steuerleitung 81 vertauscht werden.
- Der optionale MUX 73, der von der Spannung auf der Leitung 92 von der programmierbaren Sicherung 93 gesteuert wird, wählt entweder, wenn die Sicherung 93 intakt ist, die invertierende Ausgangsleitung 85 vom Flipflop 82, die das inverse Ausgangssigual von der vorhergehenden Taktperiode wählt, oder wählt die Zellenausgangsleitung 100, wenn die Sicherung 93 durchgeschmolzen ist. Wenn der Inverter 99 vom MUX 90 mit dem Signal Qo von der Ausgangsleitung 84 vom Flipflop 82 versorgt wird, liefert der MUX 73 das Signal der vorhergehenden Taktperiode. Wenn statt dessen der MUX 90 die Exklusiv-ODER-Ausgangsleitung 81 wählt, liefert der MUX 73 das momentane Signal .
- Von der Rückkopplungsleitung 74 des Ausgangs des MUX 73 wird das gewählte Signal Q = Qo oder Qo' in einen Phasenteiler 75 eingegeben, der auf den Zelleneingangsleitungen 76 und 77 das Signal der Leitung 74 bzw. das invertierte Signal hiervon bereitstellt.
- N beliebige Leitungen der Array-Eingangsleitungen 61 können als N-Bit- Betriebsartsignale verwendet werden, um geeignete UND-Gatter (66, 78, 97) zu aktivieren. Es werden Verbindungen 64 von Zelleneingangsleitungen 63 an UND- Gatter-Eingangsleitungen 65 programmiert, um jede Kombination von Betriebsartsignalen M und deren Komplemente zu decodieren, um überall Einsen einzugeben, damit geeignete UND-Gatter aktiviert werden, um auf anderen Zelleneingangsleitungen 63 Produkte P von Signalen zu bilden. Irgendwelche Zelleneingangsleitungen 63, die nicht in irgendeiner Betriebsart verwendet werden, um an einem gegebenen UND-Gatter ein Signal bereitzustellen, werden von jenem UND- Gatter abgekoppelt.
- Die Zelle 60 kann als ein JK-Flipflop programmiert oder konfiguriert sein, indem bis zu N = acht UND-Gatter 66 verwendet werden, um Produkte P1, . . . ,PN von Untergruppen von bis zu 22 gewählten UND-Ebene-Eingangssignale und deren Komplemente für Signale J1 bis Jj und K1 bis Kk zu bilden. Für ein JK-Flipflop ist die Rückkopplungsleitung 76' die das Signal Qo bereitstellt, auf programmierbare Weise mit einer Eingangsleitung 65 des Rückkopplungsgatters 78 sowie eines jeden UND- Gatters 66 verbunden, welches für die Bildung eines der Produkte K1 bis Kk verwendet wird. Die Rückkopplungsleitung 77, die das Signal Qo bereitstellt, ist auf programmierbare Weise mit einer Eingangsleitung 65 eines jeden der UND-Gatter 66 verbunden, welche dazu verwendet werden, eines der Produkte J1 bis Jj zu finden. Die Produktterme und KQo werden durch das ODER-Gatter 70 gemeinsam einer ODER-Verknüpfung unterworfen, um die Summe +KQo zu bilden, welche in die zum ersten Eingangsanschluß des Exklusiv-ODER-Gatters führende Leitung 71 eingegeben wird. Das vorhergehende Ausgangssignal Qo wird über das UND-Gatter 78 rückgekoppelt und in die zweite Eingangsleitung 79 an das Exklusiv-ODER-Gatter 80 eingegeben, welches das Signal Qo' des nächsten Zustandes bildet:
- Qo' = Qo [(P&sub1;+P&sub2;+ . . . +Pj) + (P&sub1;&sbplus;&sub1;+ . . . +P&sub8;)Qo].
- Die Zelle 60, die als JK-Flipflop konfiguriert ist, wird mit einem Datenwert D konfiguriert, indem Betriebsartsignale M verwendet werden, die beispielsweise in einem der Abschnitte von Tabelle 3 gezeigt und dazu geeignet sind, sämtliche UND- Gatter 66 mit Ausnahme eines J-Produkt-Gatters 66 sowie eines K-Produkt-Gatters 66, in die D bzw. eingegeben werden, zu deaktivieren. Dadurch wird die Flipflop- Funktion auf Qo'=Qo ( *D + *D) = D reduziert.
- Von der Zelle 60 werden weitere JK-Operationen unter Verwendung anderer Betriebsartsignale M und anderer Datensignale D, die in Tabelle 3 aufgelistet sind, ausgeführt. Eine logische 1, die in die Eingangsleitung(en) eines aktivierten J-Gatters eingegeben wird, setzt die Zelle 60 so, daß sie das Signal Qo' = 1 ausgibt, während eine logische 1, die in eine oder mehrere Eingangsleitungen eines aktivierten K-Gatters eingegeben werden, die Zelle 60 zurücksetzt, um das Signal Qo' = 0 auszugeben. Alternativ setzen Signale mit logischer 1, die in die optionalen Steuerleitungen 86 oder 87 eingegeben werden, das Flipflop 82 bzw. setzen es zurück.
- Ein Produktterm mit logischer 1, der in die Eingangsleitung 71 des Exklusiv-ODER- Gatters 80 eingegeben wird, hält das Signal Qo' der Ausgangsleitung 81 fest. Ein Produkt mit logischer 1 auf der Leitung 71 kann dadurch gewährleistet werden, daß in samtliche Eingangsleitungen wenigstens eines J-Produkt-Gatters 66 und wenigstens eines K-Produkt-Gatters 66 oder in ein zugewiesenes UND-Gatter 67, das durch ein Festhaltebetriebsartsignal gewählt ist, logische Einsen eingegeben werden.
- Wenn in wenigstens einen Eingang 65 eines jeden der UND-Gatter 66 ein Deaktivierungssignal mit logischer 0 eingegeben wird, besitzen sämtliche Produktterme der Leitungen 68 den logischen Wert 0, stellt das ODER-Gatter 70 auf der Leitung 71 ein Summensignal mit logischer 0 bereit und wird der Qo'-Signalwert auf der Leitung 81 konstant gehalten.
- Als alternatives Beispiel kann die Zelle 60 für den Gebrauch als Zähler in einer Bank von ähnlichen Zählerzellen 60 (nicht gezeigt) verwendet werden, die so verbunden sind, daß sie jedes Ausgangssignal Qo' einer niederwertigeren Zelle 60 an eine Eingangsleitung 61 der nächsten, höherwertigeren Bitzählerzelle 60 tragen. Die Eingangsleitungen M1, M2 und M3 werden als Dreibit-Betriebsartsignale verwendete die beliebig zugeordnet sind, um acht Operation zu bezeichnen, die an anderen Eingangssignalen Q, D und an deren inversen Signalen ausgeführt werden sollen, wie in Tabelle 2 gezeigt ist. Tabelle 2
- Operation
- Daten D3-D1 laden
- Inkrementieren
- Dekrementieren
- Löschen auf Null
- Setzen auf Eins
- Springen auf 101
- Springen auf 010
- Halten
- Die Betriebsartsignale M1, M2, M3 werden, wie in der folgenden Tabelle 3 aufgelistet, von drei Zellen 60 decodiert. Tabelle 3
- D1 laden
- Inkrementieren
- Dekrementieren
- Löschen
- Setzen
- Springen zu 1
- Springen zu 0
- D2 laden
- Inkrementieren
- Dekrementieren
- Löschen
- Setzen
- Springen zu 0
- Springen zu 1
- D3 laden
- Inkrementieren
- Dekrementieren
- Löschen
- Setzen
- Springen zu 1
- Springen zu 0
- Ein solcher Mehrzellenzähler kann beispielsweise einen Wert von Q laden, inkrementieren, dekrementieren, löschen, setzen, halten oder zu ihm springen. Damit der Dreibit-Zähler zu dem im voraus gewählten Wert 101 springt, springt der Zähler 60 für das niederwertigste Bit zu 1, der Zähler 60 für das Bit mit mittlerer Wertigkeit zu 0 und der Zähler 60 für das höchstwertige Bit zu 1. Für den Ladebetriebsart-Code 000 werden zwei Produktterme verwendet. Der achte Code 111 für "Halten" kann nicht decodiert werden. Wenn jedoch ein Betriebsartsignal, das gleich 111 ist, in die Betriebsarteingangsleitung 61 an jede Zelle 60 eingegeben wird, wird keine weitere Operation decodiert, wobei der Wert des Signals Qo von jeder Zelle gehalten wird.
Claims (5)
1. Programmierbare Logikzelle, mit:
mehreren logischen UND-Gattern (66, 67, 78), wobei jedes Gatter mehrere
Eingangsanschlüsse und eine Ausgangsleitung (68, 79) besitzt;
mehreren Zelleneingangsleitungen (63), die auf programmierbare Weise mit
den Eingangsanschlüssen von ausgewählten UND-Gattern (66, 67, 78) verbunden werden
können;
einer Speichereinrichtung (82) zum Speichern eines Zellenzustandssignals;
einer Zellenzustandssignal-Ausgangsleitung (100) zur Bereitstellung eines
Zellenzustands-Ausgangssignals;
einer Rückkopplungseinrichtung (73, 74, 75), die auf programmierbare
Weise verbunden werden kann, um in ausgewählte UND-Gatter-Eingangsleitungen ein
Zellenzustandssignal einzugeben;
einem logischen ODER-Gatter (70), das Eingangsanschlüsse, die mit
ausgewählten UND-Gatter-Ausgangsleitungen verbunden sind, sowie eine
ODER-Gatter-Ausgangsleitung (71) aufweist; und
einem logischen Exklusiv-ODER-Gatter (80), das versehen ist mit einem
ersten Eingangsanschluß, der mit der ODER-Gatter-Ausgangsleitung (71) verbunden ist,
einem zweiten Eingangsanschluß und einer Exklusiv-ODER-Ausgangsleitung (81), auf der
das Exklusiv-ODER-Gatter (80) ein Zellenzustandssignal bereitstellt,
dadurch gekennzeichnet, daß
die programmierbare Logikzelle nur ein einziges logisches ODER-Gatter
(70) enthält und
der zweite Eingangsanschluß des logischen Exklusiv-ODER-Gatters (80)
direkt mit einer UND-Gatter-Ausgangsleitung (79) verbunden ist,
wodurch die programmierbare Logikzelle optimiert ist, um die JK-Flipflop-
Funktion zu implementieren.
2. Zelle gemäß Anspruch 1, ferner dadurch gekennzeichnet, daß:
die Speichereinrichtung (82) eine D-Flipflop-Schaltung ist, die versehen ist
mit einem Datensignal-Eingangsanschluß (D), der mit der
Exklusiv-ODER-Gatter-Ausgangsleitung (81) verbunden ist, und einem Freigabesignal-Eingangsanschluß (83) und die
auf ein Freigabesignal anspricht, um einen Qo'-Zustandssignalwert von ihrem
Dateneingangsanschluß abzutasten und um den abgetasteten Signalwert als Signal Qo an einem
Speicherausgangsanschluß bereitzustellen.
3. Zeile gemäß Anspruch 2, ferner dadurch gekennzeichnet, daß:
die Rückkopplungseinrichtung einen inversen Ausgangsanschluß im
Flipflop, der das inverse Zustandssignal bereitstellt, sowie Phasenteilereinrichtungen
(75) enthält, die an entsprechenden Eingangsleitungen (63) der Zelle die Signale Qo und
bereitstellen.
4. Zelle gemäß Anspruch 3, ferner dadurch gekennzeichnet, daß:
die Rückkopplungseinrichtung weiterhin einen Multiplexierer (73) enthält,
der versehen ist mit einem ersten wählbaren Eingangsanschluß, der mit dem
-Ausgangsschluß des Flipflops (82) verbunden ist, einem zweiten wählbaren Eingangsanschluß,
der mit der Zellenausgangsleitung (100) verbunden ist, einem Steueranschluß, der über
eine programmierbare Sicherung (93) mit einem Referenzpotential verbunden ist, und einem
Ausgangsanschluß, der so verbunden ist, daß er das unter dem Schutz der Sicherung
gewählte Signal für die Phasenteilereinrichtung (75) bereitstellt.
5. Zelle gemäß Anspruch 3, ferner gekennzeichnet durch einen Multiplexierer
(90) mit einem ersten wählbaren Eingangsanschluß, der mit dem Qo-Ausgangsanschluß
des Flipflops verbunden ist, einem zweiten wählbaren Eingangsanschluß, der mit der
Exklusiv-ODER-Gatter-Ausgangsleitung (81) verbunden ist, einem Steueranschluß, der über
eine programmierbare Sicherung (93) mit einem Referenzpotential verbunden ist, und
einem Ausgangsanschluß, der mit der Zellenausgangsleitung (100) gekoppelt ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/864,185 US4789951A (en) | 1986-05-16 | 1986-05-16 | Programmable array logic cell |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3788974D1 DE3788974D1 (de) | 1994-03-17 |
DE3788974T2 true DE3788974T2 (de) | 1994-05-19 |
Family
ID=25342707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3788974T Expired - Fee Related DE3788974T2 (de) | 1986-05-16 | 1987-03-06 | Programmierbare Array-Logik-Zelle. |
Country Status (4)
Country | Link |
---|---|
US (1) | US4789951A (de) |
EP (1) | EP0245884B1 (de) |
JP (1) | JP2628996B2 (de) |
DE (1) | DE3788974T2 (de) |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4896296A (en) * | 1985-03-04 | 1990-01-23 | Lattice Semiconductor Corporation | Programmable logic device configurable input/output cell |
US4963768A (en) * | 1985-03-29 | 1990-10-16 | Advanced Micro Devices, Inc. | Flexible, programmable cell array interconnected by a programmable switch matrix |
US5225719A (en) * | 1985-03-29 | 1993-07-06 | Advanced Micro Devices, Inc. | Family of multiple segmented programmable logic blocks interconnected by a high speed centralized switch matrix |
US5168177A (en) * | 1985-12-06 | 1992-12-01 | Advanced Micro Devices, Inc. | Programmable logic device with observability and preloadability for buried state registers |
US5477165A (en) * | 1986-09-19 | 1995-12-19 | Actel Corporation | Programmable logic module and architecture for field programmable gate array device |
US5451887A (en) * | 1986-09-19 | 1995-09-19 | Actel Corporation | Programmable logic module and architecture for field programmable gate array device |
US5367208A (en) | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
JPH01259274A (ja) * | 1988-04-08 | 1989-10-16 | Fujitsu Ltd | 集積回路の試験方式 |
US4903223A (en) * | 1988-05-05 | 1990-02-20 | Altera Corporation | Programmable logic device with programmable word line connections |
US5023484A (en) * | 1988-09-02 | 1991-06-11 | Cypress Semiconductor Corporation | Architecture of high speed synchronous state machine |
US4879481A (en) * | 1988-09-02 | 1989-11-07 | Cypress Semiconductor Corporation | Dual I/O macrocell for high speed synchronous state machine |
US4987319A (en) * | 1988-09-08 | 1991-01-22 | Kawasaki Steel Corporation | Programmable input/output circuit and programmable logic device |
US4914322A (en) * | 1988-12-16 | 1990-04-03 | Advanced Micro Devices, Inc. | Polarity option control logic for use with a register of a programmable logic array macrocell |
JP2566005B2 (ja) * | 1989-03-03 | 1996-12-25 | 株式会社東芝 | 入力切換装置 |
US5489857A (en) * | 1992-08-03 | 1996-02-06 | Advanced Micro Devices, Inc. | Flexible synchronous/asynchronous cell structure for a high density programmable logic device |
US5457409A (en) * | 1992-08-03 | 1995-10-10 | Advanced Micro Devices, Inc. | Architecture of a multiple array high density programmable logic device with a plurality of programmable switch matrices |
US5027011A (en) * | 1989-10-31 | 1991-06-25 | Sgs-Thomson Microelectronics, Inc. | Input row drivers for programmable logic devices |
US5144582A (en) * | 1990-03-30 | 1992-09-01 | Sgs-Thomson Microelectronics, Inc. | Sram based cell for programmable logic devices |
US5055718A (en) * | 1990-05-11 | 1991-10-08 | Actel Corporation | Logic module with configurable combinational and sequential blocks |
US5198705A (en) * | 1990-05-11 | 1993-03-30 | Actel Corporation | Logic module with configurable combinational and sequential blocks |
WO1994029784A1 (en) * | 1990-11-15 | 1994-12-22 | Edward Hyman | Method and apparatus for compiling and implementing state-machine states and outputs for a cellular array |
JP2563679B2 (ja) * | 1991-01-24 | 1996-12-11 | シャープ株式会社 | 双方向入出力信号分離回路 |
US5117132A (en) * | 1991-02-08 | 1992-05-26 | Unisys Corporation | Flexible utilization of general flip-flops in programmable array logic |
US5122685A (en) * | 1991-03-06 | 1992-06-16 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
US5416367A (en) * | 1991-03-06 | 1995-05-16 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
US5861760A (en) | 1991-04-25 | 1999-01-19 | Altera Corporation | Programmable logic device macrocell with improved capability |
US5191243A (en) * | 1991-05-06 | 1993-03-02 | Lattice Semiconductor Corporation | Output logic macrocell with enhanced functional capabilities |
EP0512536B1 (de) * | 1991-05-10 | 1998-09-30 | Kabushiki Kaisha Toshiba | Programmierbare logische Einheit |
US5231312A (en) * | 1992-03-12 | 1993-07-27 | Atmel Corporation | Integrated logic circuit with functionally flexible input/output macrocells |
US5384500A (en) * | 1992-05-15 | 1995-01-24 | Micron Semiconductor, Inc. | Programmable logic device macrocell with an exclusive feedback and an exclusive external input line for a combinatorial mode and accommodating two separate programmable or planes |
US5300830A (en) * | 1992-05-15 | 1994-04-05 | Micron Semiconductor, Inc. | Programmable logic device macrocell with an exclusive feedback and exclusive external input lines for registered and combinatorial modes using a dedicated product term for control |
US5331227A (en) * | 1992-05-15 | 1994-07-19 | Micron Semiconductor, Inc. | Programmable logic device macrocell with an exclusive feedback line and an exclusive external input line |
US5287017A (en) * | 1992-05-15 | 1994-02-15 | Micron Technology, Inc. | Programmable logic device macrocell with two OR array inputs |
US5298803A (en) * | 1992-07-15 | 1994-03-29 | Micron Semiconductor, Inc. | Programmable logic device having low power microcells with selectable registered and combinatorial output signals |
EP0584910B1 (de) * | 1992-08-03 | 1996-09-04 | Advanced Micro Devices, Inc. | Programmierbare logische Vorrichtung |
US5386155A (en) * | 1993-03-30 | 1995-01-31 | Intel Corporation | Apparatus and method for selecting polarity and output type in a programmable logic device |
US5440247A (en) * | 1993-05-26 | 1995-08-08 | Kaplinsky; Cecil H. | Fast CMOS logic with programmable logic control |
US5742179A (en) * | 1994-01-27 | 1998-04-21 | Dyna Logic Corporation | High speed programmable logic architecture |
US5646546A (en) * | 1995-06-02 | 1997-07-08 | International Business Machines Corporation | Programmable logic cell having configurable gates and multiplexers |
US5521529A (en) * | 1995-06-02 | 1996-05-28 | Advanced Micro Devices, Inc. | Very high-density complex programmable logic devices with a multi-tiered hierarchical switch matrix and optimized flexible logic allocation |
US5617041A (en) * | 1995-06-02 | 1997-04-01 | Xilinx, Inc. | Method and apparatus for reducing coupling switching noise in interconnect array matrix |
US5818254A (en) * | 1995-06-02 | 1998-10-06 | Advanced Micro Devices, Inc. | Multi-tiered hierarchical high speed switch matrix structure for very high-density complex programmable logic devices |
US6028446A (en) * | 1995-06-06 | 2000-02-22 | Advanced Micro Devices, Inc. | Flexible synchronous and asynchronous circuits for a very high density programmable logic device |
US5773994A (en) * | 1995-12-15 | 1998-06-30 | Cypress Semiconductor Corp. | Method and apparatus for implementing an internal tri-state bus within a programmable logic circuit |
JPH09232946A (ja) * | 1996-02-26 | 1997-09-05 | Mitsubishi Electric Corp | カウンタ |
US5744980A (en) * | 1996-02-16 | 1998-04-28 | Actel Corporation | Flexible, high-performance static RAM architecture for field-programmable gate arrays |
US5986465A (en) | 1996-04-09 | 1999-11-16 | Altera Corporation | Programmable logic integrated circuit architecture incorporating a global shareable expander |
US5781032A (en) * | 1996-09-09 | 1998-07-14 | International Business Machines Corporation | Programmable inverter circuit used in a programmable logic cell |
US5936426A (en) * | 1997-02-03 | 1999-08-10 | Actel Corporation | Logic function module for field programmable array |
US6467009B1 (en) | 1998-10-14 | 2002-10-15 | Triscend Corporation | Configurable processor system unit |
US6259273B1 (en) | 1999-06-15 | 2001-07-10 | Ict Acquisition Corp. | Programmable logic device with mixed mode programmable logic array |
US6721840B1 (en) | 2000-08-18 | 2004-04-13 | Triscend Corporation | Method and system for interfacing an integrated circuit to synchronous dynamic memory and static memory |
US6725364B1 (en) | 2001-03-08 | 2004-04-20 | Xilinx, Inc. | Configurable processor system |
CN100401086C (zh) * | 2002-07-08 | 2008-07-09 | Nxp股份有限公司 | 具有测试单元的电子电路 |
US6747480B1 (en) | 2002-07-12 | 2004-06-08 | Altera Corporation | Programmable logic devices with bidirect ional cascades |
US6809550B2 (en) * | 2002-09-20 | 2004-10-26 | Atmel Corporation | High speed zero DC power programmable logic device (PLD) architecture |
US20100106959A1 (en) * | 2005-12-16 | 2010-04-29 | Pmc Sierra Ltd. | Triple and quadruple churning security for 1G and 10G PON |
US7893772B1 (en) | 2007-12-03 | 2011-02-22 | Cypress Semiconductor Corporation | System and method of loading a programmable counter |
US9231594B2 (en) | 2011-12-21 | 2016-01-05 | Ecole Polytechnique Federale De Lausanne (Epfl) | Non-LUT field-programmable gate arrays |
FR3022410B1 (fr) * | 2014-06-12 | 2016-05-27 | Delphi Int Operations Luxembourg Sarl | Connecteur electrique blinde et son procede de fabrication |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1545493A (en) | 1975-06-04 | 1979-05-10 | Redpath Dorman Long Ltd | Supports for maritime structures |
US4124489A (en) * | 1977-02-16 | 1978-11-07 | Exxon Research & Engineering Co. | Production of transformer oil feed stocks from waxy crudes |
US4124899A (en) * | 1977-05-23 | 1978-11-07 | Monolithic Memories, Inc. | Programmable array logic circuit |
JPS6186855A (ja) * | 1984-09-28 | 1986-05-02 | アドバンスト・マイクロ・デイバイシズ・インコーポレーテツド | 出力ロジツク回路 |
US4684830A (en) * | 1985-03-22 | 1987-08-04 | Monolithic Memories, Inc. | Output circuit for a programmable logic array |
US4677318A (en) * | 1985-04-12 | 1987-06-30 | Altera Corporation | Programmable logic storage element for programmable logic devices |
US4644192A (en) * | 1985-09-19 | 1987-02-17 | Harris Corporation | Programmable array logic with shared product terms and J-K registered outputs |
-
1986
- 1986-05-16 US US06/864,185 patent/US4789951A/en not_active Expired - Lifetime
-
1987
- 1987-03-06 EP EP87200415A patent/EP0245884B1/de not_active Expired - Lifetime
- 1987-03-06 DE DE3788974T patent/DE3788974T2/de not_active Expired - Fee Related
- 1987-05-15 JP JP62117193A patent/JP2628996B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US4789951A (en) | 1988-12-06 |
JPS62281517A (ja) | 1987-12-07 |
EP0245884A3 (en) | 1987-12-23 |
DE3788974D1 (de) | 1994-03-17 |
JP2628996B2 (ja) | 1997-07-09 |
EP0245884B1 (de) | 1994-02-02 |
EP0245884A2 (de) | 1987-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3788974T2 (de) | Programmierbare Array-Logik-Zelle. | |
DE3689834T2 (de) | Feldprogrammierbare logische Vorrichtung mit programmierbarer Rückführung zur Bestimmung der Anzahl logischer Pegel. | |
DE3645221C2 (de) | ||
DE69028395T2 (de) | Konfigurierbare zellenanordnung | |
DE3884037T2 (de) | Programmierungsschaltung für Eingabe-/Ausgabezelle eines programmierbaren Logikarrays. | |
DE3687383T2 (de) | Programmierbare logische anordnung mit zusaetzlicher gatteranordnung und zusaetzlicher flexibilitaet der ausgangsumsteuerung. | |
DE69031525T2 (de) | Konfigurierbare Logikanordnung und zugehöriges Verfahren | |
DE69025633T2 (de) | Zufallszahlengenerator | |
DE69326467T2 (de) | Unterbrechungsfreies, wahlfreies zugriffspeichersystem. | |
DE69329909T2 (de) | Programmierbare logische netzwerke | |
DE69031861T2 (de) | Programmierbare logische Schaltung mit Multifunktionseingangspin | |
DE69221611T2 (de) | Vorrichtung und verfahren zum multiplexen von pins zur in-system programmierung | |
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. | |
EP0093947B1 (de) | Programmierbare Logikanordnung | |
DE69031832T2 (de) | Programmierbare logische gatter | |
DE69314732T2 (de) | Programmierbare logische Vorrichtung | |
DE68920908T2 (de) | Programmierbare Logik-Vorrichtung. | |
DE3871889T2 (de) | Programmierbare eingangs-/ausgangsschaltung. | |
DE3719181A1 (de) | Finite zustandsmaschine | |
DE1275315B (de) | Anpassungsfaehige elektrische Schaltung | |
DE68919447T2 (de) | Bei schwacher Betriebsspannung betreibbare logische Schaltung. | |
DE3784838T2 (de) | Vorwaerts-/rueckwaerts-n-bit-zaehlregister. | |
DE2038123B2 (de) | Schaltungsanordnung zur logischen verknuepfung | |
DE102004006769B3 (de) | Auslesevorrichtung | |
DE69307398T2 (de) | Programmierbare logische Zelle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |