-
Die vorliegende Erfindung betrifft programmierbare
Logikanordnungen (PLAs), genauer gesagt eine programmierbare
Logikanordnung, bei der eine emittergekoppelte Logik
Verwendung findet, um eine noch nicht dagewesene Geschwindigkeit
zu erreichen, während die Anordnung gleichzeitig eine TTL-
kompatible Programmierschaltung aufweist, damit die
erfindungsgemäß ausgebildete programmierbare Logikanordnung unter
Verwendung von beliebigen Standardprogrammiereinrichtungen
des Standes der Technik für TTL-programmierbare
Logikanordnungen programmiert werden kann.
-
Programmierbare Logikanordnungen sind bekannt. Sie umfassen
typischerweise eine Anordnung von Zellen, von denen jede
Zelle eine Zugriffseinrichtung und ein programmierbares
Element, beispielsweise eine Sicherung, aufweist. Eine Vielzahl
von derartigen Zellen ist so geschaltet, daß ein Produktterm
zur Verfügung gestellt wird, der das mathematische Ergebnis
einer auf der Basis einer Vielzahl von Eingangssignalen
ausgeführten booleschen Gleichung ist. Die PLA-Anordnung umfaßt
eine Reihe von Zellen, die so ausgebildet sind, daß eine
Reihe von derartigen Produktterms zur Verfügung gestellt
wird, die auf der Basis dieser Eingangssignale arbeiten.
Solche PLA-Vorrichtungen des Standes der Technik umfassen
die von der Firma Monolithic Memories, Inc., dem Inhaber des
vorliegenden Patentes, hergestellte und verkaufte
PAL-Vorrichtungsfamilie. "PAL" ist ein registriertes Warenzeichen
der Firma Monolithic Memories, Inc.
-
Es gibt eine Vielzahl von PLA's, die sich in erster Linie
durch ihre Größe, Organisation und Technologie (d. h.
bipolar, MOS, CMOS) unterscheiden. Des weiteren ist in einem
Artikel "An ECL Field Programmable Logic Array" von Schmitz
und Hingarh, ISSCC, Ausgabe 1984, Seite 264 eine mit einer
emittergekoppelten Logik (ECL) arbeitende programmierbare
Logikanordnung beschrieben. Diese ECL PLA benötigt jedoch
eine extrem hohe Strommenge (typischerweise 4,75 Watt sowohl
während des Programmierens als auch während des
Normalbetriebes). Des weiteren ist in der vorstehend erwähnten
Veröffentlichung keine ECL PLA beschrieben, die mit Hilfe eines
standardmäßigen TTL-PLA-Programmiers programmiert werden
kann. Daher stellte hierbei der Stromverbrauch ein Problem
dar. Des weiteren wurde zum Programmieren der PLA eine sehr
spezialisierte und teure Ausrüstung benötigt. Schließlich
war aufgrund der mit der Programmierung dieser ECL PLA des
Standes der Technik verbundenen Probleme die Vorrichtung
sehr teuer. Mit zunehmender Komplexität und Fortentwicklung
des elektronischen Bereiches sind mit höherer
Geschwindigkeit arbeitende PLAs erforderlich geworden. Die typische
Zugriffszeit (d. h. die Zeit vom Anlegen von Eingangssignalen
an eine PLA-Vorrichtung bis zur Erstellung der Produktterms
auf den Ausgangsleitungen der Vorrichtung) beträgt etwa
15 Nanosekunden für TTL-PLAs des Standes der Technik, 30-
40 Nanosekunden für CMOS PLAs und etwa 4 Nanosekunden für
ECL PLAs. Es ist daher wünschenswert, eine ECL PLA für
höhere Geschwindigkeiten zu schaffen, die jedoch keine
spezialisierte und teure Ausrüstung zum Programmieren benötigt.
-
Erfindungsgemäß wird eine neuartige ECL PLA zur Verfügung
gestellt, die ala ECL PLA arbeitet, welche
ECL-Spannungspegel-kompatible Eingangs- und Ausgangsleitungen besitzt und
dadurch eine Hochgeschwindigkeits-PLA bildet.
-
Gemäß einer Ausführungsform der Erfindung sind Einrichtungen
zum direkten Verifizieren des Status einer jeden
programmierten Sicherung in der PLA-Anordnung vorgesehen, und zwar
derart, daß die Verifikation keinen Vergleich eines
tatsächlichen Ausgangssignales mit einem erwarteten Ausgangssignal
für eine bekannte Eingabe erforderlich macht.
-
Die vorstehend genannten Ziele werden mit einer
programmierbaren Logikanordnung zum Empfang einer Vielzahl von
Eingangssignalen und zur Erstellung von einem oder mehreren
Produktterms erreicht, wobei die Logikanordnung eine
ECL-Anordnungseinrichtung zum Kombinieren einer Vielzahl von
Eingangssignalen und zur Erstellung von mindestens einem
Produktterm besitzt und die ECL-Anordnungseinrichtung eine
Vielzahl von Programmiereinrichtungen aufweist, die in einer
Matrix von N Zeilen und M Spalten angeordnet sind, wobei N
und M positive ganze Zahlen sind, eine Vielzahl von
Zugriffseinrichtungen, von denen eine für jede
Programmiereinrichtung vorgesehen ist, wobei jede Zugriffseinrichtung mit
ihrer zugehörigen Programmiereinrichtung gekoppelt ist, ECL-
Eingangspuffereinrichtungen zum Empfang der
ECL-Eingabesignale und zur Erzeugung von Signalen für die Anordnung,
ECL-Ausgangspuffereinrichtungen zum Empfang des mindestens
einen Produktterms und zur Erzeugung eines
ECL-Ausgangssignales, das jedem mindestens einen Produktterm entspricht,
wobei die Logikanordnung dadurch gekennzeichnet ist, daß sie
des weiteren umfaßt:
-
Einrichtungen zum direkten Untersuchen des programmierten
Zustandes einer jeden Programmiereinrichtung in Abhängigkeit
von Testeingabesignalen; und
-
Einrichtungen zum Erzeugen eines
Verifizierungsausgangssignales in Abhängigkeit vom programmierten Zustand einer
untersuchten Programmiereinrichtung, wobei das
Verifizierungsausgangssignal nicht vom Zustand des einen oder der
mehreren Produktterms abhängt.
-
Des weiteren wird erfindungsgemäß eine
Programmiereinrichtung zur Verfügung gestellt, die es ermöglicht, daß die
ECL PLA unter Einsatz von TTL-kompatiblen
Programmierspannungspegeln, wie sie durch übliche und billige
TTL-PLA-Programmierer des Standes der Technik zur Verfügung gestellt
werden, programmiert werden kann.
-
Die Erfindung wird nachfolgend anhand eines
Ausführungsbeispiels in Verbindung mit der Zeichnung im einzelnen
erläutert. Es zeigen:
-
Fig. 1 ein Blockdiagramm einer TTL-PLA-Schaltung
des Standes der Technik;
-
Fig. 2 ein Blockdiagramm einer Ausführungsform
einer neuartigen PAL-Vorrichtung, die
erfindungsgemäß ausgebildet ist;
-
Fig. 3 die Beziehungen zwischen den Fig. 3a
bis 3d;
-
die Fig. 3a bis 3d eine schematische Darstellung von einer
Ausführungsform einer erfindungsgemäß
ausgebildeten PAL-Vorrichtung; und
-
Fig. 4 eine schematische Darstellung eines
Abschnittes einer anderen Ausführungsform
der Schaltung der Fig. 3.
-
Fig. 1 ist ein Blockdiagramm einer TTL-PAL-Schaltung des
Standes der Technik, die von der Firma Monolithic Memories,
Inc. hergestellt wird. Die PAL-Schaltung 10 besitzt eine
Anordnung 11, die, wie vorher erläutert, eine Vielzahl von
Zellen umfaßt, von denen jede Zelle Zugriffseinrichtungen
und ein programmierbares Element, beispielsweise eine
Sicherung, aufweist. Die PAL-Schaltung 10 besitzt ferner
TTL-Eingangspuffer 16, die Eingangssignale von Eingangsleitungen
16-2 und Eingangssignale, die durch
TTL-Ausgangspuffer/Register 15 über den Bus 15-2 zur Verfügung gestellt
werden, empfangen. Der Bus 16-1 umfaßt eine Reihe von
Eingangsdatenleitungen, die der doppelten Zahl der
Eingangsdatenleitungen im Bus 16-2 und der Zahl der Datenleitungen im
Bus 15-2 entsprechen, da von den TTL-Eingangspuffern 16
komplementäre Eingangssignale der Anordnung 11 zugeführt
werden. Diese Eingangssignale werden an die Anordnung 11
gelegt, die diese in einer NAND-Funktion kombiniert, um eine
Vielzahl von Produktterms zur Verfügung zu stellen. Diese
Produktterms werden über den Bus 11-1 TTL-Produktterm-Lese-
Verstärkern und Stromquellen 14 zugeführt, die ausgewählte
Produktterms in einer ODER-Funktion kombinieren, um
Ausgangssignale auf den Bus 14-1 zum TTL-Ausgangspuffer/
Register 15 zu legen. Die TTL-Ausgangspuffer/ Register 15
legen wiederum diese Signale über den Bus 15-2 an die
TTL-Eingangspuffer 16, wie vorher beschrieben, und über den
Ausgangsbus 15-1 an äußere Klemmen.
-
Die Anordnung 11 wird programmiert, indem ausgewählte
Sicherungen (fuses) innerhalb der Anordnung 11 durch Durchführung
eines Programmiervorganges geöffnet werden. Während dieses
Programmiervorganges wird die an die Vorrichtung gelegte
Stromversorgungsspannung Vcc typischerweise von ihrer
normalen Betriebsspannung von etwa 5 V auf ihre
Programmierbetriebsspannung von etwa 12 V angehoben, um die
Programmierfunktion freizugeben. Während des Programmierens wird die
OUTPUT-ENABLE-Klemme (nicht gezeigt) der TTL-Ausgangspuffer/
Register 15 auf hohem Pegel gehalten, um die
TTL-Ausgangspuffer/ Register 15 unwirksam zu machen. Die den Eingabebus
bildenden Eingangsleitungen 16-2 werden dann verwendet, um
eine geeignete Reihe innerhalb der Anordnung 11 zum
Programmieren auszuwählen. Während des Programmierens werden die
den Ausgabebus 15-1 bildenden Ausgangsleitungen als
Eingangsleitungen verwendet, um eine bestimmte Zelle
auszuwählen, die in der ausgewählten Reihe angeordnet ist, in der
die Sicherung geöffnet werden soll. Diese Eingangssignale
werden von den TTL-Ausgangspuffern/ Registern 15 über den
Bus 15-3 zu einer Programmierspaltenwählschaltung 12
geführt, die die ausgewählte Zelle mit einem hohen Strom
beaufschlagt, der ausreicht, um die Sicherung der ausgewählten
Zelle zu öffnen. Dieser Programmiervorgang wird fortgesetzt,
um jede gewünschte Sicherung innerhalb der Anordnung 11 zu
einem bestimmten Zeitpunkt zu öffnen.
-
Fig. 2 ist ein Blockdiagramm einer Ausführungsform einer
erfindungsgemäß ausgebildeten ECL-PAL-Vorrichtung, die eine
TTL-Programmiereinrichtung aufweist. Die PAL-Vorrichtung 20
besitzt eine Produkttermsicherungsanordnung 21, eine
Programmierschaltung 42 und eine normale Betriebsschaltung 41.
Wie bei der Schaltung des Standes der Technik gemäß Fig. 1,
besitzt die normale Betriebsschaltung 41 Eingangspuffer 32,
Produkttermanordnungsstromquellen 25,
Produkttermleseverstärker 26 und Ausgangspuffer/Register 27. Erfindungsgemäß
ist jedes dieser Elemente unter Einsatz der ECL-Technologie
hergestellt, um eine maximale Betriebsgeschwindigkeit zu
erreichen. Die Programmierschaltung 42 besitzt
Programmiereingangspuffer 24, eine Programmierspaltendekodierschaltung 23,
Programmierspaltentreiber 22, Programmiereingangspuffer 31,
Programmiersicherungszeilendekodierer 30,
Programmiersicherungszeilentreiber 29 und eine Sicherungsverifizierschaltung
28.
-
Fig. 3 zeigt die Beziehung zwischen den Fig. 3a bis 3d,
die eine schematische Darstellung einer erfindungsgemäß
ausgebildeten Ausführungsform einer ECL-PAL-Vorrichtung
enthalten. Teile der Schaltung der Fig. 3 sind in gestrichelt
dargestellten Kästen enthalten und so numeriert, daß sie
Teilen der ECL-PAL-Vorrichtung des Blockdiagramms der Fig.
2 entsprechen.
-
Wie in Fig. 3 gezeigt, umfaßt die Anordnung 21 eine
Vielzahl von Zellen, wobei jede Zelle einen Zugriffstransistor
und ein programmierbares Element, wie beispielsweise eine
Sicherung, enthält. Die üblicherweise in PAL-Vorrichtungen
verwendeten Sicherungen umfassen solche aus polykristallinem
Silicium, Nichrome, Titan-Wolfram und Platinsilicid, die zum
Stand der Technik gehören. Jeder der Zugriffstransistoren
weist einen Kollektor auf, der an eine positive
Spannungsquelle VCCP2 (typischerweise -0,5 V während des
Normalbetriebes der Vorrichtung und etwa 7,5 V während des
Programmierbetriebes) angeschlossen ist. Die Spannungspegel der
Quelle VCCP2 sowie andere Spannungspegel der
ECL-PLA-Vorrichtung dieser Ausführungsform der Erfindung sind genauer
in Tabelle 1 aufgeführt. Die in der Anordnung 21 enthaltenen
Zellen sind in eine Vielzahl von Zeilen und Spalten
aufgegliedert. Die Basen eines jeden Zugangstransistors, der in
einer einzigen Zeile enthalten ist, stehen miteinander in
Verbindung, wie beispielsweise durch die Leitungen 32-1-1
gemäß Fig. 3. Jede Zeile empfängt ein gepuffertes
Eingangssignal, entweder von einer äußeren Leitung der
ECL-PLA-Vorrichtung (als direkte Eingangsleitungen im Bus 33-1 der
Figur 2 gezeigt) oder von einer Rückkopplungseingangsleitung
im Bus 27-1 (in Fig. 2 gezeigt). Bei der in Fig. 2
gezeigten Ausführungsform dieser Erfindung sind 12 direkte
Eingangsleitungen und 8 Rückkopplungseingangsleitungen
vorgesehen. Somit sind insgesamt 40 Zeilen in einer Anordnung 21
vorgesehen (eine Zeile für jedes Eingangssignal und eine
Zeile für das Komplement eines jeden Eingangssignales).
Falls gewünscht, kann die Anordnung 21 auch eine oder
mehrere zusätzliche Testzeilen (nicht gezeigt) enthalten,
die für Testzwecke vom Hersteller verwendet werden, wie dies
dem Fachmann bekannt ist. Die Emitter eines jeden
Zugriffstransistors sind über ein zugehöriges Schmelzelement
(fusible element) an eine Vielzahl von Produkttermleitungen
21-1-1 bis 21-1-32 angeschlossen. Bei dieser Ausführungsform
der Erfindung umfaßt die Anordnung 21 eine Vielzahl von 32
Produkttermleitungen. Wie dem Fachmann bekannt ist, kann die
Anordnung 21 auch eine oder mehrere zusätzliche
Produkttermleitungen (nicht gezeigt) aufweisen, die vom
Hersteller nur zum Testen der Vorrichtung verwendet werden.
-
Während des Betriebes der PLA-Vorrichtung der Fig. 3 wird
eine Vielzahl von Eingangssignalen IN1 bis IN12 über den
direkten Eingabebus 33-1 angelegt und durch eine Vielzahl von
12 Eingangspuffern gepuffert, die mit ECL-Spannungspegeln
arbeiten (beispielsweise der Eingangspuffer 32-a der Fig.
3, der das Eingangssignal IN1 empfängt). Der Puffer 32-a
erzeugt eine gepufferte Version seines Eingangssignales (I1
entsprechend dem Eingangssignal IN1) und ein gepuffertes
Komplementsignal ( entsprechend dem Komplement des
Eingangssignales IN1). Somit erzeugt eine Vielzahl von 12
direkten Eingangspuffern, wie beispielsweise dem Puffer 32-a,
eine Vielzahl von 24 Ausgangssignalen, wobei jedes
Ausgangssignal an eine einzige Zeile, wie beispielsweise 32-1-1,
gelegt wird. Somit werden 24 der 40 Zeilen der Anordnung 21
durch direkte Eingangspuffer 32 betrieben. In Fig. 3 ist
eine Vielzahl von 8 zusätzlichen
Rückkopplungseingangspuffern, die die gleiche Schaltungsform wie die Puffer 32-a
besitzen, nicht gezeigt. Diese Rückkopplungseingangspuffer
empfangen Rückkopplungseingangssignale von den
ECL-Ausgangspuffer/ Registern 27 (Fig. 2 und Fig. 3) anstelle von
direkten, von außen angelegten Eingangssignalen, wie dies beim
Eingangspuffer 32-a der Fall ist, und erzeugen 16 gepufferte
komplementäre Rückkopplungsdatensignale zum Betreiben der
restlichen 16 Zeilen der Anordnung 21. Da jede Spalte
innerhalb der Anordnung 21 als verdrahtetes NAND-Glied wirkt,
erzeugt durch Anlegen dieser gepufferten Signale an die Zeilen
der Anordnung 21 jede Produkttermleitung 21-1-1 bis 21-1-32
eine logische 1, wenn die an ihre Zugriffstransistoren
angelegten Eingangssignale dem Muster der geöffneten Sicherungen
entlang dieser Produkttermleitung entsprechen. Wenn
beispielsweise sämtliche Sicherungen entlang einer
Produkttermspalte mit Ausnahme von einer geöffnet sind, bewirkt
eine an diese Zelle angelegte logische Null, daß der
Produktterm einer niedrigen Spannung entspricht, die einer
logischen 1 äquivalent ist. Wenn in umgekehrter Weise an
diese Zelle eine logische 1 (hohe Spannung) gelegt wird,
wird die Produkttermleitung auf einen hohen Spannungspegel
gebracht, der einer logischen 0 entspricht. Auf diese Weise
kann jede gewünschte Kombination von Eingangssignalen
programmiert werden, um eine logische 1 oder alternativ dazu
eine logische 0 als Produktterm zu erhalten, wie gewünscht.
-
Ein einmaliges Merkmal der Eingangspuffer, wie
beispielsweise des Eingangspuffers 32-a, gemäß der vorliegenden
Erfindung betrifft die Verwendung einer einzigen großen
Stromquelle, die wahlweise zwischen den komplementären
Ausgangsleitungen hin und hergeschaltet wird. Bei den
Schaltungen des Standes der Technik besitzt jede Ausgangsleitung
eines komplementären Puffers eine zugehörige Stromquelle zum
Herunterführen einer jeden Ausgangsleitung während des
Überganges von der logischen 1 auf die logische 0, wozu entweder
eine große Strommenge benötigt wird oder der durch jede
dieser Stromquellen zur Verfügung gestellte Strom reduziert
werden muß, wodurch die Geschwindigkeit der Überführungen
von der logischen 1 auf die logische 0 verringert wird. Im
Gegensatz dazu ist erfindungsgemäß eine einzige Stromquelle
beiden Ausgangsleitungen I1 und zugeordnet. Der
Transistor Q19 stellt eine große Strommenge, üblicherweise
2,5 Milliampere, zur Verfügung, die über
Stromsteuertransistoren Q20 und Q21 derart umgeschaltet wird, daß der vom
Transistor Q19 gelieferte Strom nur der einzigen
Ausgangsleitung I1 oder zur Verfügung gestellt wird, die eine
Überführung von einer logischen 1 zu einer logischen 0
erfährt.
-
Wie in Fig. 3 gezeigt, besitzt jede Produkttermleitung 21-
1-1 bis 21-1-32 einen Spannungsklemmentransistor (21-8-1 bis
28-8-32), dessen Basis an eine Klemmenspannung Vclamp
(typischerweise -2,1 V), dessen Kollektor an VCCP2 und
dessen Emitter an die zugehörige Produkttermleitung
angeschlossen ist. Die Klemmentransistoren 21-8-1 bis 21-8-32 dienen
dazu, die niedrigere Spannungsauswanderung ihrer zugehörigen
Produkttermleitungen 21-1-1 bis 21-1-32 zu begrenzen und
dadurch sicherzustellen, daß jede Produktterm-Spannungsquelle
25 in einem linearen aktiven Bereich bleibt und keine
Sättigung erfährt. Sollte eine Sättigung der
Produkttermstromquelle 25 auftreten, würde eine ungeregelte Basisstrommenge
von der Spannungsquelle Vref, abgezogen und dadurch der
genaue Spannungspegel der Spannungsreferenz Vref, gestört, was
eine nachteilige Beeinflussung der Funktionsweise der
gesamten ECL-PLA zur Folge hätte.
-
Erfindungsgemäß werden die auf den Produkttermleitungen 21-
1-1 bis 21-1-32 erzeugten Produkttermsignale vor dem Anlegen
an das ECL-Ausgangspuffer / Register 27 zur Erzeugung von
Ausgangssignalen in einer verdrahteten logischen
NOR-Funktion kombiniert. Bei einer Ausführungsform dieser Erfindung
sind 8 Ausgangsklemmen vorgesehen (und somit
acht Ausgangspuffer 27a bis 27h der Ausgangspuffer/ Register
27), die in vier Paare von Ausgangsklemmen unterteilt sind.
Jedes Paar Ausgangsleitungen kann auf einer gegenseitigen
exklusiven Basis zwischen den Leitungen insgesamt
acht Produktterms aufnehmen. Dies wird erreicht, indem
zusätzliche Sicherungen vorgesehen werden, wie in Fig. 3
gezeigt. Dioden 126-1 bis 126-8 besitzen miteinander in
Verbindung stehende Anoden, während ihre Kathoden über ihre
entsprechenden Sicherungen an einen der acht Produktterms
angeschlossen sind. Durch Programmieren dieser Sicherungen wird
die Verbindung von diesen acht Produktterms mit dem durch
die Dioden 126-1 bis 126-8 gebildeten verdrahteten NOR-Glied
erreicht. In entsprechender Weise legen die Dioden 127-1 bis
127-8 mit Hilfe der Programmierung der Sicherungen fest,
welcher der acht Produktterms mit einem zusätzlichen
Ausgangspuffer (nicht gezeigt) in Verbindung gebracht werden
soll. Die Programmierregeln für diese Ausführungsform der
Vorrichtung machen es erforderlich, daß ein einzelner
Produktterm nicht über eine verdrahtete ODER-Funktion mit mehr
als einem Ausgangspuffer in Verbindung gebracht wird.
Natürlich sind für den Fachmann geringere Modifikationen der
Schaltung im Hinblick auf die Lehren der vorliegenden
Erfindung, die es ermöglichen, einen einzigen Produktterm in
Verbindung mit mehr als einem Ausgangspuffer zu verwenden, ohne
weiteres ersichtlich.
-
Das Signal, das aus dem Betrieb der Dioden 126-1 bis 126-8
der verdrahteten NOR-Funktion resultiert, wird an die
Kathode der Diode D61 gelegt, deren Anode an die Basis eines
NPN-Transistors Q51 gelegt ist. Der NPN-Transistor Q69 dient
als Stromquelle und versorgt den Emitter des Transistors Q51
mit Strom. Wenn das an die Kathode der Diode D61 gelegte
Signal einen niedrigen Spannungspegel besitzt, sind die
Dioden D61 und D62 leitend und bewirken dadurch, daß die an
die Basis des Transistors Q51 gelegte Spannung eine
Diodenstufe unter dem Spannungspegel von VCC3 liegt, wodurch eine
niedrige Spannung (logische 0) an die Eingangsleitung 26-1
des Ausgangspuffers 27 gelegt wird. Umgekehrt dazu sind bei
einer an die Kathode der Diode D61 gelegten hohen Spannung
die Dioden D61 und D62 nicht leitend, so daß die an die
Basis des Transistors Q51 gelegte Spannung auf einem Wert
gehalten wird, der geringfügig kleiner ist als VCC3, wodurch
die Spannung an der Eingangsleitung 26-1 des Ausgangspuffers
27 hoch ist (logische 1). Der Ausgangspuffer 27 puffert das
Eingangssignal auf der Leitung 26-1 und stellt ein
gepuffertes Ausgangssignal auf der Ausgangsleitung 27-1 zur
Verfügung.
-
Das Geschwindigkeits-Leistungs-Verhalten der Vorrichtung
wird verbessert, indem man die Diode D61 in den
ECL-Produktterm-Lese-Verstärkern 26, beispielsweise dem
Lese-Verstärker 26a der Fig. 3, durch einen NPN-Transistor ersetzt,
wie in Fig. 4 gezeigt. Die Basis des NPN-Transistors Q40
ist an eine Vorspannungsquelle VBB, sein Kollektor an die
Basis des Transistors Q51 (Fig. 3) und sein Emitter an eine
Leitung 126-10 angeschlossen. In optimaler Weise befindet
sich ein Widerstand R41 zwischen dem Emitter des Transistors
Q40 und der Versorgungsspannung VEE, wobei dieser Widerstand
R41 einen relativ hohen Widerstandswert (typischerweise 30-
50 k) besitzt, der sicherstellt, daß der Transistor Q40
immer eingeschaltet ist, und zwar zumindest geringfügig,
selbst dann, wenn keine Produktterms ausgewählt werden,
wodurch die Spannungsausschläge an der Leitung 126-10
minimiert werden. Ein solches Minimieren der Spannungsausschläge
an der Leitung 126-10 ist wichtig, da die Leitung 126-10
aufgrund der damit in Verbindung stehenden Dioden
(beispielsweise den Dioden 126-1 bis 126-8) dazu neigt,
stark kapazitiv zu sein. Um die Diode D61 durch den
Transistor Q40 zu ersetzen, wie in Fig. 4 gezeigt, ist
ferner eine geringere Modifikation des Eingangspuffers 32
erforderlich. Im Eingangspuffer 32 müssen die Spannungspegel
der Signale I1 und um eine Diodenstufe nach unten
verschoben werden. Eine einfache Methode, um dies zu erreichen,
besteht darin, eine Diode (nicht gezeigt) einzusetzen, deren
Anode an den Emitter des Transistors Q17 und deren Kathode
an die Anode der Diode D117 geschaltet ist, während die -
Signalleitung zwischen der Kathode der eingesetzten Diode
und der Anode der Diode D117 geschaltet ist. In
entsprechender Weise wird eine zusätzliche Diode (nicht gezeigt)
eingesetzt, deren Anode an den Emitter des Transistors Q118 und
deren Kathode an die Anode der Diode D118 geschaltet ist,
während die I1-Signalleitung zwischen der Kathode der
eingesetzten Diode und der Anode der Diode D118 geschaltet ist.
-
Des weiteren besitzt der Ausgangspuffer 27 Einrichtungen zur
Erzeugung einer programmierbaren Ausgangspolarität. Mit
anderen Worten, das Ausgangssignal an der Ausgangsleitung
27-1 kann entweder die gepufferte Version des an die
Eingangsleitung 26-1 des Ausgangspuffers 27 gelegten
Eingangssignales oder eine gepufferte Version des an die
Eingangsleitung 26-1 des Puffers 27 gelegten inversen Signales sein.
Diese programmierbare Ausgangspolaritätsfunktion wird wie
folgt erreicht: Eine Polaritätssicherung 27-10 dient zur
Definition, ob der Ausgangspuffer 27 invertierte
Ausgangssignale erzeugen soll. Wenn die Polaritätssicherung 27-10
intakt ist, fließt Strom von VCC3 durch die Dioden D69, D610
und D612, wodurch ein NPN-Transistor Q611 eingeschaltet und
somit die Basis des NPN-Transistors Q67 heruntergezogen
wird. Der somit vom Stromquellentransistor Q68 zur Verfügung
gestellte Strom wird über den NPN-Transistor Q66 gesteuert,
und das Differentialtransistorpaar Q62, Q65 wird ausgewählt,
um das invertierte Ausgangssignal auf dei Ausgangsleitung
27-1 des Ausgangspuffers 27 zu schalten. Wenn umgekehrt dazu
die Sicherung 27-10 geöffnet ist, fließt kein Strom durch
die Dioden D69, D610 und D612, so daß der Transistor Q611
abgeschaltet bleibt, wodurch die Basis des Transistors Q67
vom Widerstand R64 hochgezogen werden kann. Hierdurch wird
der vom Stromquellentransistor Q68 gelieferte Strom durch
den Transistor Q67 gesteuert, und das Differentialpaar Q63,
Q64 wird ausgewählt, um auf diese Weise ein nicht
invertiertes Ausgangssignal an der Ausgangsleitung 27-1 zur Verfügung
zu stellen.
-
Die diversen, im Baustein der Fig. 3 enthaltenen
Sicherungen werden wie folgt programmiert. Die Sicherungen innerhalb
der Anordnung 21 werden durch die folgende Technik
programmiert. Zuerst werden die
Programmierstrom-Versorgungsspannungen an die Vorrichtung gelegt, wie dies genauer in
Tabelle 1 beschrieben ist. Als nächstes werden 12
TTL-kompatible Eingangssignale an die 12 externen
Direkteingangsleitungen 33-1-1 bis 33-1-12, die im Bus 33-1 enthalten sind,
gelegt, die eine einzige der zu programmierenden Sicherungen
in der Anordnung 22 bilden. Jedes dieser TTL-kompatiblen
Eingangssignale wird an einen TTL-Eingangspuffer 24-a bis
24-f und 31-a bis 31-f gelegt (die die
Programmier-Eingangspuffer 24 und 31 der Fig. 2 bilden), der gepufferte und
komplementäre Ausgangssignale erzeugt. Wie in Fig. 3
gezeigt, puffert ein solcher TTL-programmierbarer Puffer 24-a
das Eingangssignal IN1, um ein gepuffertes Signal IP1 und
ein komplementäres gepuffertes Signal vorzusehen. Von
Bedeutung ist, daß jeder TTL-programmierbare Puffer, wie
beispielsweise der Puffer 24-a, durch Anlegen eines VCC1-
Signales von etwa 12 V, das ausreicht, um einen
Zener-Durchschlag der Zener-Diode 24-10 zu bewirken, freigegeben wird,
wodurch dem Puffer 24a richtige Betriebsspannungen zugeführt
werden. Wie in Tabelle 1 gezeigt, werden gleichzeitig
während des Programmierens die Werte VCC3 und VEE auf 0 V
gehalten, wodurch jeglicher Strom zu den Eingangspuffern 32,
wie beispielsweise dem Eingangspuffer 32a, entfernt wird.
Des weiteren werden die an die Eingangspuffer 32 gelegten
Bezugsspannungen von VCC3 und VEE erzeugt, so daß die an die
ECL-Eingangspuffer 32 gelegten Bezugsspannungen während des
Programmierens ebenfalls 0 V betragen. Somit werden die
Eingangspuffer 32 während des Programmierens vollständig
unwirksam gemacht.
-
Sechs Paare der komplementären gepufferten Eingangssignale
werden an einen Programmiersicherungszeilendekodierer 30
(Fig. 2) gelegt, während die verbleibenden sechs Paare der
gepufferten Programmiereingangssignale an den
Programmierspaltendekodierer 23 (Fig. 2) gelegt werden. Jeder
Zeilendekodierer 30 und Spaltendekodierer 23, wie beispielsweise
der Dekodierer 30a der Fig. 3, umfaßt sechs Schottky-Dioden
30a-1 bis 30a-6, wobei jede Schottky-Diode ein
komplementäres gepuffertes Eingangssignal von jedem Paar empfängt. Auf
diese Weise besitzen sechs Programmiereingangssignale
Zugriff auf jede der 40 Zeilen innerhalb der Anordnung 21. Die
Auswahl darüber, ob die Kathode einer jeden Schottky-Diode
im Zeilendekoder 30a an das gepufferte Eingangssignal oder
das invertierte gepufferte Eingangssignal gelegt wird, wird
vorzugsweise unter Verwendung der zur Herstellung der
integrierten Schaltung benutzten Metallmaske durchgeführt, wie
dies dem Fachmann bekannt ist. Die Schottky-Dioden 30a-1 bis
30a-6 des Zeilendekodierers 30 funktionieren als
verdrahtetes UND-Glied, wodurch der Leitung 30-1 eine logische 1 als
Signal zugeführt wird, wenn jedes an die Schottky-Dioden
30a-1 bis 30a-6 gelegte Eingangssignal eine logische 1
bildet. Eine der Leitung 30-1 zugeführte logische 1 schaltet
das im Zeilentreiber 29 enthaltene Darlington-Paar der NPN-
Transistoren 29a-1, 29b-1 ein, wodurch der ausgewählten
Zeilenleitung 32-1-1 Strom zugeführt wird.
-
In entsprechender Weise werden die verbleibenden sechs Paar
der gepufferten Eingangssignale an den
Programmierspaltendekodierer 23 (Fig. 2) gelegt, der den Dekodierer 23a (Fig.
3) enthält, der wiederum sechs Schottky-Dioden 23a-1 bis
23a-6 besitzt, die als verdrahtete UND-Schaltung geschaltet
sind. Wenn jedes der an die verdrahtete UND-Schaltung des
Programmierspaltendekodierers 23-a gelegten Signale eine
logische 1 ist, ist das Signal an der Leitung 23-a-1 eine
logische 1, wodurch das innerhalb des
Programmierspaltentreibers 22-a enthaltene Darlington-Paar von Transistoren
eingeschaltet wird und der Strom von der Produkttermleitung
21-1-1 absinkt. Wenn der Basis des ausgewählten Transistors
Strom zugeführt und der Strom von dem dem ausgewählten
Transistor zugeordneten Produktterm absinkt, fließt ein
großer Strom (typischerweise 50 Milliampere) durch die zu
programmierende Sicherung, wodurch die Sicherung geöffnet
wird. Jede Sicherung innerhalb der Anordnung 21, die
programmiert werden soll, wird auf diese Weise nacheinander
programmiert.
-
Nach dem Programmieren einer jeden Sicherung innerhalb der
Anordnung 21 werden gemäß einer Ausführungsform der
Erfindung
Einrichtungen vorgesehen, um den Status einer jeden in
der Anordnung 21 enthaltenen Sicherung zu verifizieren. Im
Gegensatz zu den Vorrichtungen des Standes der Technik, bei
denen Sicherungen verifiziert werden, indem in Abhängigkeit
von bekannten Eingangssignalen erzeugte Ausgangssignale
verglichen werden (siehe "A 3,6 ns ECL Programmable Array
Logic IC" von Millhollan, IEEE INT'l Solid-State Circuits
Conference, Ausgabe 28, 32. Konferenz, Seiten 202-203),
werden gemäß dieser Ausführungsform der Erfindung Sicherungen
direkt verifiziert. Um das zu erreichen, wird VCCP2 in einem
Zustand hoher Impedanz belassen, und VCCP1 wird auf etwa 4,5
V gehalten. Die 12 Eingangsleitungen vom Bus 33-1 (Fig. 2)
werden dann dazu verwendet, um wiederum nacheinander einen
Zugriff auf jede Sicherung innerhalb der Anordnung 21
durchzuführen. Wenn ein Zugriff auf jede Sicherung besteht, wird
durch VCCP1 über das Darlington-Paar des Zeilentreibers 29a,
dessen Kollektoren offen sind, da VCCP2 in einem Zustand
hoher Impedanz belassen wird, eine kleine Strommenge zur
Verfügung gestellt, wodurch der ausgewählten Zeile eine
relativ kleine Strommenge zugeführt wird (typischerweise 150
Mikroampere). Wenn die ausgewählte Sicherung offen ist,
fließt kein Strom über den Basis-Emitter-Weg des
ausgewählten Transistors zur Produkttermleitung, wodurch die
ausgewählte Zeile einen hohen Spannungspegel erhält
(typischerweise 1,5 V). Dieser hohe Spannungspegel wird an
die Basis des dieser Zeile zugeordneten
Verifiziertransistors 28-1-1 bis 28-1-40, der in der
Sicherungsverifizierschaltung 28 enthalten ist, gelegt, wodurch dieser
Transistor eingeschaltet und auf diese Weise der Basis des
Sicherungsverifizierschaltungsausgangstransistors 28-10
Strom zugeführt wird. Hierdurch wird der Transistor 28-10
eingeschaltet und ein Ausgangssignal einer logischen 0 an
der Verifizierausgangsklemme 27-2h erzeugt, das anzeigt, daß
die ausgewählte Sicherung offen ist. Bei dieser
Ausführungsform
der Erfindung ist von Bedeutung, daß der Transistor 28-
10 als Transistor mit offenem Kollektor arbeitet, so daß ein
äußerer Reihenwiderstand (nicht gezeigt) verwendet werden
muß, um zu verhindern, daß die zur Sicherung vorgesehene
Sicherung 28-11 unbeabsichtigt während des
Verifiziervorganges geöffnet wird. Der Widerstandswert dieses
Reihenwiderstandes liegt typischerweise im Bereich von 5000 Ohm.
-
Wenn umgekehrt dazu eine ausgewählte Sicherung nicht
durchgebrannt ist und intakt bleibt, fließt Strom von der
ausgewählten Zeile zur Produkttermleitung und wird durch den
freigegebenen Spaltentreiber 22 abgesenkt. Hierdurch wird
die ausgewählte Zeile heruntergezogen (auf etwa 1,0 V),
wodurch verhindert wird, daß der
Zeilensicherungsverifiziertransistor eingeschaltet wird. Auf diese Weise wird der
Sicherungsverifizierschaltungsausgangstransistor 28-10 im
ausgeschalteten Zustand gehalten und dadurch eine logische 1
als Ausgangssignal an der Ausgangsleitung 27-2h erzeugt. Auf
diese Weise kann die Programmierung der Anordnung 21 auf
Genauigkeit verifiziert werden.
-
Nach der Verifizierung der Anordnung 21 und sämtlicher
anderer in der Schaltung der Fig. 3 enthaltenen Sicherungen
kann die Verifiziersicherung 28-11 selbst geöffnet werden,
indem ein hoher Strom (typischerweise 40 Milliampere)
durchgeleitet wird, um zu verhindern, daß unauthorisierte
Personen eine Verifizierung durchführen und somit in der Lage
sind, den Inhalt der Anordnung 21 und den programmierten
Zustand sämtlicher anderer Sicherungen, die in der
PLA-Vorrichtung der Fig. 3 enthalten sind, zu kopieren. Um die
Sicherung 28-11 zu öffnen, wird im Verifizierbetrieb auf
eine zu öffnende bekannte Sicherung zugegriffen, und der an
die Leitung 27-2h angeschlossene Reihenwiderstand wird
weggelassen, wodurch ein ausreichender Strom zum Öffnen der
Verifiziersicherung 28-11 zur Verfügung gestellt wird.
Alternativ dazu wird irgendeine Zeile der Anordnung 21
ausgewählt, und es wird kein Produktterm gewählt, wodurch
verhindert wird, daß die ausgewählte Zeile durch eine intakte
Sicherung heruntergeklemmt wird. Ferner wird der
Serienwiderstand weggelassen.
-
Um die Produkttermteilsicherungen, wie beispielsweise die
den Dioden 126-1 bis 126-8 und 127-1 bis 127-8 zugeordneten
Sicherungen, zu programmieren, sind die Leitungen 126-20 und
127-20 mit Adressiereinrichtungen versehen, um eine einzige
Sicherung aus den Programmiersicherungen 126-1 bis 126-8 und
127-1 bis 127-8 auszuwählen. Die Dekodierer 126-12, 127-12
und Treiber 126-11, 127-11, die an die Klemmen 127-20 und
127-20 angeschlossen sind, sind bei einer Ausführungsform
dieser Erfindung dem Dekodierer 30a und dem Treiber 29a, die
der Zeile 32-1-1 der Anordnung 21 zugeordnet sind, identisch
und somit im Detail in Fig. 3 nicht gezeigt. Durch
Auswählen der gewünschten Bank an zu programmierenden
Sicherungen und des gewünschten Produktterms, der der Sicherung
zugeordnet ist, die unter Verwendung des
Produkttermdekodierers 23 und des Produkttermtreibers 22 geöffnet werden
sollen, wird ein ausreichender Strom (wieder typischerweise 50
Milliampere) durch die zu öffnende Sicherung geführt. Um den
programmierten Zustand dieser Produkttermteilhabesicherungen
zu verifizieren, besitzen jeder Satz Sicherungen und ihre
Zugriffsdioden, wie beispielsweise die Dioden 126-1 bis 126-
8, einen Verifiziertransistor 126-11, der parallel zu den
der Anordnung 21 zugeordneten Verifiziertransistoren
geschaltet ist. Dadurch, daß man die VCCP2 fließen läßt, kann
somit jede Produkttermteilhabesicherung in der gleichen
Weise wie vorstehend für die Anordnung 21 beschrieben, zur
Verifizierung ausgewählt werden.
-
Um die Ausgangspolaritätssicherungen, die jedem
Ausgangspuffer zugeordnet sind, wie beispielsweise die dem
Ausgangspuffer 27a zugeordnete Sicherung 27-10, zu programmieren, ist
eine Vielzahl von Schottky-Dioden 24-1 als verdrahtetes UND-
Glied geschaltet, damit sämtliche Eingangssignale an den
direkten Eingangsbus 33-1 gelegt und durch
Programmierspaltendekodierer 23 geführt werden können, um einen gewünschten
Ausgangspuffer auszuwählen. Die VCCP2 wird dann hochgepulst,
wodurch der Transistor Q612 eine große Strommenge durch die
Sicherung 27-10 zur VCC3 erzeugt, und dadurch bewirkt, daß
die Sicherung 27-10 durchbrennt. Die Sicherung 27-10 kann
verifiziert werden, indem sie zuerst unter Verwendung der
verdrahteten UND-Schottky-Dioden 24-1 ausgewählt wird und
man die VCCP2 fließen läßt. Der Kollektor und Emitter des
Polaritätssicherungsverifiziertransistors 27-11 sind zu den
Kollektoren und Emittern der der Anordnung 21 zugeordneten
Transistoren parallelgeschaltet, so daß auf diese Weise die
Ausgangspolaritätsprogrammiersicherung 27-10 verifiziert
werden kann.
-
Eine Reihe von Testmerkmalen kann Verwendung finden, damit
der Hersteller in angemessener Weise sein Produkt vor dem
Transport zu einem Kunden testen kann. Ein solches
Testmerkmal ist in den ECL-Eingangspuffern 32 angeordnet. Eine
Testeingangsleitung 32-15 ist über Dioden an irgendeine
zweckmäßige Quelle eines Testeingangssignales geschaltet,
bei einer Ausführungsform an eine andere Eingangsklemme als
die Daten den Eingangspuffern 32 zuführende Eingangsklemme.
Durch Anlegen eines Spannungspegels, der beträchtlich unter
einem logischen Null-Pegel liegt, um die Eingangsleitung 32-
15 zu testen, werden die Dioden D11, D12 und D13
eingeschaltet. Hierdurch können niedrige Spannungen an die Kollektoren
der Transistoren Q12 und Q13 gelegt werden, die wiederum
bewirken, daß beide Ausgangssignale I1 und einen niedrigen
Pegel erhalten. Hierdurch können einzelne Zeilen in der
Anordnung 21 im Gegensatz zum Normalzustand, bei dem die
Hälfte der Zeilen innerhalb 21 ausgewählt und die Hälfte
nicht ausgewählt ist, einen hohen Pegel erhalten. Dadurch
kann der Hersteller die einzelnen Zeilen in der Anordnung 21
auf spezielle Weise testen. Die Transistoren Q111 und Q112
verhindern, daß die Transistoren Q12 und Q13 gesättigt
werden, wenn dieses Testmerkmal aktiviert wird. Natürlich
können die Transistoren Q111, Q112 und die Dioden D11, D12, D13
sowie der Widerstand R12 entfallen, wenn dieses Testmerkmal
nicht gewünscht wird.
-
Ein weiteres in Fig. 3 gezeigtes Testmerkmal besteht in der
Fähigkeit, die Ausgangspuffer, wie beispielsweise den
Ausgangspuffer 27a, sowohl im invertierenden als auch im nicht
invertierenden Zustand zu testen, ohne daß die
Polaritätssicherung 27-10 geöffnet werden muß. Somit kann der
Hersteller sicherstellen, daß der Ausgangspuffer 27 unabhängig
davon arbeitet, ob der Kunde einen Betrieb als invertierender
oder nicht invertierender Puffer wünscht, während die
Sicherung 27-10 intakt bleibt, wodurch der Kunde seine Wahl
treffen kann. Durch Anlegen eines niedrigen Spannungspegels, um
die Eingangsklemme 27-15 zu testen, wird die Diode D614
leitend, wodurch die Anode der Diode D69 heruntergezogen und
verhindert wird, daß Strom durch die Dioden D69, D610 und
D612 fließt. Auf diese Weise wird der Transistor Q611 gerade
dann abgeschaltet, wenn der Transistor Q611 abgeschaltet
würde, wenn die Sicherung 27-10 offen wäre. Das an die
Klemme 27-10 gelegte Testsignal mit niedrigem Pegel kann von
irgendeiner zweckmäßigen Quelle stammen, beispielsweise
einem als Wafer erhältlichen Teststück, oder es kann ein
verlängertes Eingangssignal mit niedrigem Pegel an eine
ausgewählte Eingangsklemme gelegt werden.
Tabelle I Äußere Vorrichtungspins
Programmierbetrieb Name Funktion Operationsbetrieb TTL-kompatible Eingangspegel zum Auswählen der Sicherungsadresse ECL-kompatible Eingangspegel für PLA Keine Funktion (offen) Ausgangspegel Verifizierausgangspegel (TTL-offen-Kollektor) Gleichstromvorspannung
zur Schaltungsprogrammierung Kollektorspannung für Ausgangspins Puls zum Öffnen der ausgewählten Sicherung
desaktiviert ECL-Schaltung, wenn im TTL-Betrieb geerdet gibt ECL-Schaltung mit Vee = -5,2 frei Erdungspin für alle ECL und TTL-Schaltungen spannt ECL-Schaltung vor NUR INNEN Gleichstrom Vorspannung zum Schaltungsprogrammieren zum Desaktivieren der Programmierschaltung Puls Öffnen der ausgewählten Sicherung Stromversorgung der Anordnung Puls, angelegt an den Zeilen- und Spalten-Treiber während des Öffnens
der gewählten Sicherung desaktiviert Programmierschaltung INTER PINS