DE69116024T2 - Hochgeschwindigkeitsprüfung für programmierbare logische Schaltungen - Google Patents

Hochgeschwindigkeitsprüfung für programmierbare logische Schaltungen

Info

Publication number
DE69116024T2
DE69116024T2 DE69116024T DE69116024T DE69116024T2 DE 69116024 T2 DE69116024 T2 DE 69116024T2 DE 69116024 T DE69116024 T DE 69116024T DE 69116024 T DE69116024 T DE 69116024T DE 69116024 T2 DE69116024 T2 DE 69116024T2
Authority
DE
Germany
Prior art keywords
test
register
data
memory
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69116024T
Other languages
English (en)
Other versions
DE69116024D1 (de
Inventor
Bruce Andrew Doyle
Randy Charles Steele
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics lnc USA
Original Assignee
SGS Thomson Microelectronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SGS Thomson Microelectronics Inc filed Critical SGS Thomson Microelectronics Inc
Publication of DE69116024D1 publication Critical patent/DE69116024D1/de
Application granted granted Critical
Publication of DE69116024T2 publication Critical patent/DE69116024T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Logic Circuits (AREA)

Description

  • Die vorliegende Erfindung bezieht sich allgemein auf integrierte Halbleiterschaltungen und insbesondere auf Testschaltungen zur Verwendung für programmierbare Logikeinrichtungen.
  • Programmierbare Logikeinrichtungen werden in zunehmendem Maße in der Elektronikindustrie verwendet. Diese Einrichtungen können leicht durch einen Käufer programmiert werden, um viele verschiedene einfache bis mäßig komplexe logische Funktionen zur Einbeziehung in elektronische Systeme durchzuführen. Programmierbare Logikeinrichtungen können einmal programmierbar sein oder können durch den Benutzer reprogrammierbar sein.
  • Eine Art von programmierbarer Logikeinrichtung verwendet eine programmierbare AND/OR-Anordnung, um logische Funktionen durchzuführen. Eingänge und deren Komplemente bzw. Ergänzungen sind als Reiheneingänge zu der Anordnung vorgesehen, und die Produktglieder bzw. -ausdrücke werden als deren Ausgänge erzeugt. Die Anordnung wird typischerweise als eine Matrix vorgesehen und Anschlüsse werden zwischen den verschiedenen Eingangsreihen und Produktglied- bzw. Ausdruckleitungen hergestellt, um die logischen Funktionen zu definieren. Daß Eingangssignale zu der Anordnung vorgesehen werden und die Handhabung der Produktglied- bzw. Ausdruckausgänge sind im Stand der Technik wohlbekannt.
  • Eine übliche programmierbare Logikeinrichtung der oben beschriebenen Art kann z.B. 22 Eingänge haben, die 44 Reihen ergeben, die für die Anordnung zur Verfügung gestellt werden. Eine solche typische Einrichtung kann z.B. auch 132 Produktglieder bzw. Produktausdrücke aufweisen. Wie im Stand der Technik bekannt, wird üblicherweise ein Bit-Verzeichnis erzeugt, das die Programmierung jedes Kreuzungspunkts bzw. Bündelknotens in der Anordnung beschreibt, auf das als JE- DEC-Bitverzeichnis Bezug genommen wird, um Daten für die Programmierung der Einrichtung zur Verfügung zu stellen. Die Daten von dem Bitverzeichnis werden in die programmierbare Logikeinrichtung geschoben, eine Reihe zu einer Zeit bzw. einem Zeitpunkt, um die Reihen zu programmieren. Ein serielles Schieberegister wird zu einem solchen Zweck an der Einrichtung vorgesehen.
  • Während des Testens bzw. Überprüfens einer wiederprogrammierbaren programmierbaren Logikeinrichtung ist es für den Hersteller wünschenswert, verschiedene Testmuster in die Einrichtung zu schreiben, um sicherzustellen, daß sämtliche der Speicherelemente in der Anordnung ordentlich funktionieren. Diese Muster enthalten üblicherweise sämtliche Einsen, sämtliche Nullen, alternierende Folgen von Einsen und Nullen und alternierend Einsen und Nullen in einem Prüftafelmuster. Zutreffende und invertierte Prüftafelmuster und gestreifte bzw. abwechselnde Muster werden üblicherweise erzeugt und ergeben sechs grundlegende Testmuster, die verwendet werden, um die Einrichtung zu prüfen. Um das Schreiben dieser regulären Testmuster zu beschleunigen, ist es im Stand der Technik bekannt, gleichzeitig alternierende Reihen innerhalb der Anordnung auszuwählen, auf die üblicherweise als ungerade oder gerade Reihen Bezug genommen wird, und die gleichen Daten zu der gleichen Zeit bzw. dem gleichen Zeitpunkt in diese ausgewählten Reihen zu schreiben.
  • Es wird Bezug genommen auf Proceedings of the COMPEURO 88, 11.-14. April 1988, Seiten 196-202, IEEE, New York, US, P. Baanen: "Testing word orientated embedded RSMs using built-in self-test", die eine Technik zum Testen von programmierbaren Logikeinrichtungen beschreibt, wobei während des Testens einer Einrichtung ein solches Testmuster in die Speicherelemente in der Anordnung unter Verwendung eines Schieberegisters geschrieben wird. Das Testmuster wird in dem Schieberegister gehalten. Nachfolgend werden die Reihen oder Spalten der Speicherelemente in der Anordnung, die beschrieben worden sind, ausgelesen und mit dem Testmuster in dem Schieberegister unter Verwendung der Testlogik verglichen. Wenn die aus den Speicherelementen in der Anordnung ausgelesenen Daten mit den in die Speicherelemente in der Anordnung geschriebenen Daten übereinstimmen, wie sie in dem Schieberegister gespeichert sind, wird von der Testlogik kein Fehlers ignal erzeugt.
  • Viele verschiedene Technologien für integrierte Schaltungen werden verwendet, um die Speicherelemente in der Anordnung für solche programmierbare Logikeinrichtungen zur Verfügung zu stellen. Verschiedene Arten von EPROM- und EEPROM-Zellen werden im allgemeinen verwendet. SRAM-Einrichtungen sind wegen ihrer Geschwindigkeit und der Leichtigkeit der Programmierung populär geworden. Mit der Ausnahme von auf SRAM basierenden Einrichtungen erfordert die Programmierung dieser Einrichtungen eine relativ lange Zeit, in der Größenordnung von Hunderten von Millisekunden. Die Verwendung anderer Technologien als SRAM erfordert die Zeit zum seriellen Schieben des Programmierungs-Bitverzeichnisses in oder aus der Einrichtung üblicherweise Hunderte von Millisekunden und ist ein unbeachtlicher Teil der Programmierzeit. Jedoch beträgt die Programmierzeit von auf SRAM basierenden Einrichtungen üblicherweise einige hundert Nanosekunden und die Hunderte von Mikrosekunden, die erforderlich sind, um die Daten auf oder aus der Einrichtung zu schieben, dominiert über die Programmierungszeit.
  • Es wäre wünschenswert, eine programmierbare Logikeinrichtung zur Verfügung zu stellen, wie etwa eine Einrichtung, die eine SRAM-Technologie zum Speichern der Programmdaten verwendet, die die Programmierungszeit, die für den chip erforderlich ist, minimiert. Es wäre für eine solche Technologie wünschenswert, eine Gesamtprogrammierungszeit zur Verfügung zu stellen, die näherungsweise die gleiche ist, wie die Zeit, die erforderlich ist, um die Testdaten in die Einrichtung zu programmieren, und die Zeit zu eliminieren, die erforderlich ist, um die Programmierungsdaten auf oder aus der Einrichtung zu verschieben.
  • Es ist deshalb eine Aufgabe der vorliegenden Erfindung, eine programmierbare Logikeinrichtung zur Verfügung zu stellen, die verbesserte Testmerkmale aufweist, die enthalten, daß eine verringerte Zeit zum Testen bzw. Prüfen der Anordnung vorhanden ist, wobei typische Grundtestmuster verwendet werden.
  • Es ist eine weitere Aufgabe, eine derartige Einrichtung zur Verfügung zu stellen, die auf dem Chip befindliche Schaltungen bzw. Schaltungsteile zur Verfügung stellt, um Testmuster zu erzeugen, die das Erfordernis zum Schieben von Testdaten auf die Einrichtung zur Prüfung bzw. zum Testen überflüssig macht.
  • Gemäß einem Aspekt der Erfindung wird Testschaltwerk bzw. eine Testschaltung für eine programmierbare Logikeinrichtung zur Verfügung gestellt, die eine Speicheranordnung aufweist, die mehrere programmierbare Elemente hat, die in Reihen und Spalten angeordnet sind, wobei die Testschaltung aufweist: ein Register, das an die Speicheranordnung angeschlossen ist, um Daten in bzw. auf die programmierbare Logikeinrichtung zur Programmierung der Speicheranordnung zum Definieren logischer Funktionen zu schreiben; Speichermittel zum Halten von Testdaten, die in die Speicheranordnung geschrieben worden sind; eine Testlogik, die an die Speicheranordnung und an die Speichermittel angeschlossen ist, um die Testdaten mit von der Anordnung gelesenen Werten zu vergleichen, wobei ein Ausgangssignal, das eine Übereinstimmung anzeigt, erzeugt wird, wenn die in der Speicheranordnung gespeicherten Daten exakt die gleichen sind, wie der Inhalt der Speichermittel, gekennzeichnet durch Mittel zur unmittelbaren Einstellung der Bits des Registers, um Werte ohne Verschieben von Daten in das Register auszuwählen, um Testmuster zum Schreiben in die Speicheranordnung zu erzeugen.
  • Gemäß einem anderen Aspekt der Erfindung wird ein Verfahren zum Testen bzw. Prüfen einer programmierbaren Logikeinrichtung zur Verfügung gestellt, das die folgenden Schritte aufweist: ein Testmuster wird in eine programmierbare Speichereinrichtung geschrieben; mit einer Testschaltung auf der Einrichtung wird überprüft, daß das Testmuster erfolgreich auf die Anordnung geschrieben wurde; und ein Signal wird erzeugt, das anzeigt, ob das Testmuster erfolgreich eingeschrieben wurde, dadurch gekennzeichnet, daß die Testmuster aus Bitmustern, die auf der Einrichtung erzeugt sind, ausgebildet werden, und daß die Bitmuster in einem Register erzeugt werden, das an die Anordnung angeschlossen ist und daß die Bits des Registers unmittelbar eingestellt werden, um Werte auszuwählen, ohne Daten in das Register zu schieben.
  • Gemäß einer bevorzugten Ausführungsform wird ein Schieberegisters, das zum Schieben von Programm- und Testdaten in einer programmierbaren Logikeinrichtung verwendet wird, so modifiziert, daß jedes Bit davon unmittelbar eingestellt oder rückgesetzt werden kann. Steuersignale können verwendet werden, um unmittelbar die erforderlichen Testmuster in das Schieberegister zu bringen. Ein Speicher, der parallel mit dem Schieberegister ist, und eine verbundene Logik können eine Einrichtung zum Testen, ob Daten korrekt in die Anordnung geschrieben worden sind, zur Verfügung stellen, ohne irgendwelche Daten aus der Einrichtung zu schieben.
  • Es ist deshalb eine Aufgabe der vorliegenden Erfindung, eine programmierbare Logikeinrichtung zur Verfügung zu stellen, die verbesserte Testeigenschaften aufweist, einschließlich, daß eine verringerte Zeit zum Testen der Anordnung vorhanden ist, wobei übliche Grundtestmuster verwendet werden.
  • Es ist eine weitere Aufgabe, eine derartige Einrichtung zur Verfügung zu stellen, die eine auf dem Chip befindliche Schaltung zur Verfügung stellt, um Testmuster zu erzeugen, wobei das Erfordernis zum Schieben von Testdaten auf die bzw. auf der Einrichtung zum Testen wegfällt.
  • Die als neue Merkmale angenommenen Charakteristiken der Erfindung sind in den anliegenden Ansprüchen herausgestellt. Die Erfindung selbst jedoch, wie auch eine bevorzugte Art der Verwendung und weitere Aufgaben und Vorteile davon, wird am besten unter Bezugnahme auf die folgende detaillierte Beschreibung einer illustrativen Ausführungsform verstanden werden, wenn diese in Verbindung mit den beigefügten Zeichnungen gelesen wird, in denen:
  • Fig. 1 ein Blockdiagramm eines Abschnitts einer programmierbaren Logikeinrichtung gemäß der Erfindung ist; und
  • Fig. 2 ein schematisches Diagramm eines Abschnitts eines Schieberegisters und der verbundenen Schaltung gemäß der Erfindung ist.
  • Bezugnehmend auf Fig. 1 wird eine UND/ODER-Anordnung 10 als ein Abschnitt einer im Stand der Technik bekannten programmierbaren Logikeinrichtung zur Verfügung gestellt. Die UND/ODER-Anordnung verwendet bevorzugt SRAM-Zellen zum Speichern von Programm- bzw. Programmierungsinformationen.
  • Reihentreiber 12 stellen Dateneingänge zu der UND/ODER- Anordnung zur Verfügung, und Ausgangssignale werden durch Ausgangstreiber 14 erzeugt. Ein Schieberegister 16 ist an die Anordnung 10 angeschlossen und wird zum Schieben von Programm- bzw. Programmierungsdaten auf die bzw. auf der Einrichtung verwendet, um in die Anordnung 10 zu schreiben, wenn sie programmiert wird. Das Schieberegister 16 hat die gleiche Anzahl von Bits, wie dort Produktglieder bzw. Produktausdrücke in der Anordnung 10 sind. Folglich hat beispielsweise das Schieberegister 16 132 Bits, wenn die Anordnung 10 132 Produktglieder bzw. Produktausdrücke hat. Ein einzelnes Schieberegister 16 wird zur Programmierung sämtlicher der Reihen der Anordnung 10 verwendet, ungeachtet der Anzahl der Reihen der Einrichtung. Die Bits des Schieberegisters 16 können unmittelbar durch vier Steuersignale 18 gesteuert werden, wie in Verbindung mit Fig. 2 ferner beschrieben wird.
  • Ein ein Bit breites RAM 20 ist parallel mit dem Schieberegister 16 angeschlossen. Auf das RAM 20 wird auch hierin als ein "Schatten-RAM" (shadow RAM) bzw. Mitschreib-RAM Bezug genommen. Das Schatten- bzw. Mitschreib-RAM 20 hat ein Bit, das jedem Bit des Schieberegisters 16 entspricht. Eine Testlogik 22 ist an das Schatten- bzw. Mitschreib-RAM 20 und an das Schieberegister 16 angeschlossen und wird verwendet, um ein MATCH-Signal (PAßT-Signal) zu erzeugen, wie unten beschrieben wird.
  • Das Schieberegister 16 wird verwendet, wenn die Einrichtung in der im Stand der Technik üblichen bekannten Weise programmiert wird. Das Schatten- bzw. Mitschreib-RAM 20 und die Testlogik 22 können verwendet werden, um Signale zu erzeugen, um automatisch die Eingabepuffer zu sperren. Das Schatten- bzw. Mitschreib-RAM 20 und die Testlogik 11 werden ferner nur beschrieben, wenn sie mit der hierin beschriebenen Testfunktion verwendet werden.
  • Um die Anordnung 10 zu testen bzw. zu prüfen, um sicherzustellen, daß sämtliche programmierbaren Elemente davon ordentlich funktionieren, werden Steuersignale 18 verwendet, um gewünschte Muster unmittelbar in das Schieberegister 16 zu schreiben. Diese Muster werden dann in die Anordnung 10 programmiert und werden in das RAM 20 unter der Steuerung eines SAVE-Signals 24 geschrieben. Die Testdaten werden dann in das Schieberegister 16, eine Reihe zur Zeit, zurückgelesen und mit den Daten verglichen, die in dem Schatten- bzw. Mitschreib-RAM 20 gespeichert wurden. Die Testlogik 22 erzeugt ein MATCH- bzw. PAßT-Signal, wenn die aus der Anordnung 10 gelesenen Daten identisch zu den in den RAM 20 gespeicherten Daten sind. Wenn ein Bit in der Anordnung 10 nicht arbeitet, wird die Reihe, die dieses Bit enthält, kein Signal MATCH bzw. PAßT erzeugen, und die Einrichtung wird als defekt angezeigt.
  • Fig. 2 zeigt Einzelheiten eines Abschnittes des Schieberegisters 16, des Schatten- bzw. Mitschreib-RAM's 20 und der Testlogik 22. Nur vier Schieberegisterzellen 26, 28, 30 und 32 sind gezeigt, jedoch erstreckt sich die in Fig. 2 gezeigte Schaltung über die gesamte in Fig. 1 gezeigte Einrichtung. Jede Schieberegisterzelle 26 bis 30 enthält einen Einstelleingang 34 und einen Rücksetzeingang 36. Jede Zelle in dem Schieberegister 16 enthält einen Ausgang 38, um Daten in die Anordnung zu schreiben, und einen Eingang 40, um Daten von der Anordnung zu lesen. Die Eingänge und Ausgänge 38, 40 arbeiten in der gleichen Weise wie die im Stand der Technik bekannten.
  • Jede Schieberegisterzelle 26 bis 32 hat auch einen Ausgang 42, um Daten in den Schatten- bzw. Mitschreib-RAM zu schreiben. Der Schatten- bzw. Mitschreib-RAM 20 weist eine Ein-Bit-Zelle 44, 46, 48 und 50 auf, die jeder der Schieberegisterzellen 26, 28, 30 und 32 entsprechen, Halteeingängen 52 zu jeder der Zellen 44 bis 50 des Schatten- bzw. Mitschreib-RAM's werden verwendet, um die Zellen anzusteuern bzw. freizugeben, um die Ausgänge von entsprechenden Schieberegisterzellen bzw. einer entsprechenden Schieberegisterzelle nur zu halten, wenn das Signal SAVE bzw. HALTEN angegeben wird.
  • Die Testlogik 22 enthält ein Exklusiv-NOR-Gate 54, 56, 58 und 60, die jeder Schatten- bzw. Mitschreib-RAM-Zelle 44, 46, 48 und 50 entsprechen. Die Ausgänge von sämtlichen der Exklusiv-NOR-Gates 54 bis 60 sind an ein AND-Gate 62 angeschlossen, das das Signal MATCH bzw. PAßT erzeugt. Jedes Exklusiv-NOR-Gate 54 bis 60 hat einen Eingang, der an den Ausgang der entsprechenden Schatten- bzw. Mitschreib-RAM- Zelle 44 bis 50 angeschlossen ist, und der andere Eingang ist an den Ausgang der entsprechenden Schieberegisterzelle 26 bis 32 angeschlossen. Wie im Stand der Technik bekannt, könnten die bestimmten logischen Gates, die in der Logiktestschaltung 22 verwendet werden, zu verschiedenen Gates gewechselt werden, die die gleiche Funktion erfüllen.
  • Auf abwechselnde bzw. alternierende Spalten oder Produktglieder bzw. -ausdrücke der Anordnung 10 wird als Gerad- bzw. Ungerad-Spalten Bezug genommen. In dem Abschnitt des Schieberegisters, der in Fig. 2 gezeigt ist, sind die Schieberegisterzellen 26 und 30 an gerade bezifferte Spalten angeschlossen, während die Zellen 28 und 32 an ungerade bezifferte bzw. numerierte Spalten angeschlossen sind. Die vier Steuersignale 18, die vorgesehen sind, sind: Einstellen gerade (SET EVEN), Einstellen ungerade (SET ODD), Rücksetzen gerade (RESET EVEN) und Rücksetzen ungerade (RESET ODD). Wie dargestellt, stellt das Signal Einstellen gerade (SET EVEN) sämtliche der gerade bezifferten Zellen 26, 30 auf eine logische Eins ein, wenn es angegeben wird. Einstellen ungerade (SET ODD) erfüllt das gleiche für die ungerade bezifferten Zellen 28, 32. Das Signal Rückstellen gerade (RESET EVEN) setzt die gerade bezifferten Zellen 26, 30, wenn es angegeben wird, auf eine logische Null, und Rücksetzen ungerade (RESET ODD) führt die gleiche Funktion für die ungerade bezifferten Zellen 28, 32 durch.
  • Um die Funktion der UND/ODER-Anordnung 10 zu testen, können die sechs Grundtestmuster, die in dem "Hintergrund" (BACKGROUND) beschrieben sind, unmittelbar in das Schieberegister 16 unter Verwendung der Steuersignale 18 geschrieben werden. Um sämtliche logischen Einsen in die Anordnung 10 zu schreiben, werden sowohl Einstellen gerade (SET EVEN) als auch Einstellen ungerade (SET ODD) angegeben, die sämtliche der Zellen in dem Schieberegister 16 auf Eins einstellen. Um sämtliche Nullen in die Anordnung 10 zu schreiben, werden Rückstellen gerade (RESET EVEN) und Rücksetzen ungerade (RESET ODD) angegeben, um logische Nullen in sämtliche der Zellen des Schieberegisters 16 zu schreiben. Die in das Schieberegister 16 geschriebenen Daten werden anschließend, wie im Stand der Technik bekannt, in die Anordnung 10 geschrieben.
  • Um Teststreifen bzw. Testmuster in die Anordnung 10 zu schreiben, werden sämtliche Einsen und sämtliche Nullen, wie gerade beschrieben, eingestellt und in jede andere Reihe der Anordnung 10 geschrieben. Der andere Wert wird dann in die verbleibenden Reihen geschrieben. Um ein Testtafelmuster bzw. Testtabellenmuster in die Anordnung 10 zu schreiben, werden Einstellen gerade (SET EVEN) und Rücksetzen ungerade (RESET ODD) angegeben, um alternierend bzw. abwechselnd Einsen und Nullen in das Schieberegister 16 für eine Hälfte der Reihen zu schreiben. Um die Daten für die verbleibenden Reihen zu erzeugen, werden Einstellen ungerade (SET ODD) und Rücksetzen gerade (RESET EVEN) Signale zu der gleichen Zeit angegeben.
  • Da die Reihen der Anordnung 10 üblicherweise während der Prüfung bzw. des Testens manipuliert werden, um sämtliche gerade und sämtliche ungerade numerierten Reihen gleichzeitig zu beschreiben, werden nur zwei Schreibzyklen benötigt, um die Anordnung 10 vollständig zu programmieren. Deshalb kann unter Verwendung der Steuersignale 18 ein Testmuster in die Anordnung 10 in der Zeit geschrieben werden, die für zwei Einstell-/Rückstell-Zyklen für das Schieberegister 16 und für zwei Schreibzyklen für die Anordnung 10 erforderlich ist. Dies wird in nur einigen hundert Nanosekunden in auf SRAM begründeten Einrichtungen durchgeführt.
  • Im Stand der Technik ist es erforderlich, nachdem ein Testmuster in die Anordnung geschrieben worden ist, jede programmierte Spalte in das Schieberegister zurückzulesen bzw. zurückzuübertragen und es aus der Einrichtung zu schieben, um zu bestimmen, ob jedes Bit erfolgreich programmiert worden ist. Um die gesamte Testzeit zu minimieren, ist es deshalb erforderlich, eine Schaltung aus dem Chip zur Verfügung zu stellen, um zu bestimmen, ob sämtliche Bits in jeder Reihe erfolgreich programmiert worden sind. Diese Funktion wird durch das Schatten- bzw. Mitschreib-RAM 20 und die Testlogik 22 durchgeführt.
  • Wenn der Ausgang jeder Schatten- bzw. Mitschreib-RAM- Zelle 44 bis 50 identisch mit dem Ausgang von seiner entsprechenden Schieberegisterzelle 26 bis 32 ist, ist am Ausgang von jedem entsprechenden Exklusiv-NOR-Gate 54 bis 60 eine logische Eins. Wenn der Ausgang von sämtlichen der Exklusiv-NOR-Gates 54 bis 60 eine logische Eins ist bzw. sind, ist am Ausgang des UND-Gates 62 ebenfalls eine logische Eins. Folglich ist, wenn das Bitmuster des Schatten- bzw. Mitschreib-RAM's 20 genau das gleiche ist wie das Bitmuster in dem Schieberegister 16, das Signal PAßT (MATCH) eine logische Eins. Wenn eines oder mehrere Bits anders sind, ist das Signal PAßT (MATCH) eine logische Null.
  • Um die Programmierung der Einrichtung zu überprüfen, nachdem die Anordnung programmiert worden ist, wird das Muster für entweder die ungeraden oder geraden Reihen der Anordnung in dem Schieberegister 16, wie oben beschrieben, abgelegt. Das Signal HALTEN (SAVE) wird angegeben, um dieses Bitmuster in das Schatten- bzw. Mitschreib-RAM 20 zu kopieren. Jede der Reihen der Anordnung, die als dieses Muster enthaltend angenommen werden, werden anschließend in das Schieberegister 16, eines zu einer Zeit, eingelesen. Wenn die Daten für diese Reihe zu der passen, die als dort befindlich angenommen wird, wobei eine erfolgreiche Programmierung der Reihe angezeigt wird, wird das Signal PAßT (MATCH) eine logische Eins sein. Dieses Verfahren wird für jede der Reihen der Anordnung wiederholt und wenn sämtliche Reihen ein ordentliches PAßT-Signal (MATCH) erzeugt, dann ist das Testmuster erfolgreich in die Anordnung programmiert worden.
  • Für alle Eins- und alle Null-Testmuster braucht nur ein einziges Muster in den Schatten- bzw. Mitschreib-RAM 20 geschrieben werden. Dann kann jede Reihe in der Anordnung mit dem Schatten- bzw. Mitschreib-RAM der Reihe nach verglichen werden. Wenn eines der alternierenden bzw. abwechselnden Testmuster, wie etwa Streifen oder Prüftafeln bzw. Prüftabellen, in die Anordnung geschrieben werden, muß das Schatten- bzw. Mitschreib-RAM 20 mit zwei verschiedenen Testwerten geladen werden, eines für die ungerade numerierten Reihen der Anordnung und eines für die gerade numerierten Reihen der Anordnung. Das Schatten- bzw. Mitschreib-RAM 20 kann einmal mit dem Muster für die gerade numerierten Reihen in der Anordnung beschrieben werden und anschließend der Reihe nach mit sämtlichen der gerade numerierten Reihen der Anordnung verglichen werden. Es kann dann mit dem Muster für die ungeraden Reihen beschrieben werden und mit jeder von diesen der Reihe nach verglichen werden.
  • Der Ausgang des UND-Gates 62 kann an einem Off- bzw. Aus-Chip-Kontakt angeschlossen werden, um durch eine Testeinrichtung gelesen zu werden, oder kann intern verwendet werden, um zu bestimmen, ob sämtliche der Bits der Anordnung durch alle Prüfungen bzw. Tests hindurchgekommen sind. Im letzteren Fall kann ein einziges Bit am Ende des Testzyklus oder an dem Ende des Testes von jedem Testmuster zur Bestätigung durch den Tester bzw. die Testperson ausgegeben werden. Falls gewünscht, kann das Schatten- bzw. Mitschreib-RAM 20 weggelassen werden und der Inhalt eines in dem Register gespeicherten Musters kann unmittelbar mit aus der Anordnung 10 gelesenen Werten verglichen werden und an die Testlogik 22 angeschlossen werden.
  • Da das Testen jeder Reihe der Anordnung 10, nachdem ein Testmuster in diese hineingeschrieben worden ist, nur ein paar Nanosekunden erfordert, kann die gesamte Einrichtung mit sämtlichen sechs Grundmustern in ein paar Mikrosekunden getestet werden. Dies ist eine gewaltige Zeiteinsparung gegenüber Einrichtungen nach dem Stand der Technik, die üblicherweise Hunderte von Mikrosekunden benötigen, einfach, um die Testdaten und Bestätigungsdaten in die und aus der Einrichtung zu schieben. Da SRAM-Zellen so schnell beschrieben werden können, wird die Gesamttestzeit für die programmierbare Logikeinrichtung verringert, der Testerdurchsatz erhöht und die Testkosten verringert.
  • Während die Erfindung im besonderen unter Bezugnahme auf eine bevorzugte Ausführungsform gezeigt und beschrieben worden ist, wird es für den Fachmann klar sein, daß verschiedene Änderungen in der Gestalt und in Einzelheiten vorgenommen werden können, ohne dabei den Bereich der Erfindung zu verlassen.

Claims (9)

1. Testschaltung für eine programmierbare Logikeinrichtung, welche eine Speicheranordnung (10) aufweist, die mehrere programmierbare Elemente hat, die in Reihen und Spalten angeordnet sind, wobei die Testschaltung aufweist:
ein Register (16), das an die Speicheranordnung (10) zum Schreiben von Daten auf die programmierbare Logikeinrichtung zur Programmierung der Speicheranordnung (10), um logische Funktionen zu definieren, angeschlossen ist;
Speichermittel zum Halten der Testdaten, welche in die Speicheranordnung geschrieben worden sind; und
eine Testlogik (22), die an die Speicheranordnung (10) und an die Speichermittel angeschlossen ist, um die Testdaten mit aus der Anordnung gelesenen Werten zu vergleichen, wobei ein Ausgangssignal, das eine Übereinstimmung (MATCH) bzw. Passung anzeigt, erzeugt wird, wenn die in der Speicheranordnung (10) gespeicherten Daten genau die gleichen sind, wie der Inhalt der Speichermittel;
gekennzeichnet durch Mittel (18), um die Bits des Registers (16) unmittelbar auf ausgewählte Werte einzustellen, ohne Daten in das Register (16) zu schieben, um Testmuster zum Einschreiben in die Speicheranordnung (10) zu erzeugen.
2. Testschaltung nach Anspruch 1, in der das Register (16) ein Schieberegister ist, das betrieben wird, um Daten in die programmierbare Logikeinrichtung zum Programmieren der Anordnung (10) zu schieben.
3. Testschaltung nach einem der Ansprüche 1 oder 2, in der die Speichermittel aufweisen: einen Speicher (20), der parallel zu dem Register (16) angeschlossen ist, wobei der Inhalt des Registers (16) in den Speicher (20) geschrieben werden kann und wobei das Register (16) angeordnet ist, um Daten zu halten, die von der Speicheranordnung (10) gelesen worden sind, wobei die Testlogik (22) an den Speicher (20) und an das Register (16) angeschlossen ist, um darin gespeicherte Daten zu vergleichen.
4. Testschaltung nach Anspruch 3, in der die Testlogik (22) mehrere von Exklusiv-NOR-Gates (54-60), die jeweils Eingänge haben, die an ein jeweiliges Bit (44-50) des Speichers (20) und an ein jeweiliges Bit (26-32) des Registers (16) angeschlossen sind, und Mittel (62) aufweist, um ein Ausgangssignal (Übereinstimmung bzw. PAßT (MATCH)) zu erzeugen, welches eine logische UND-Funktion von Ausgängen von sämtlichen der Exklusiv-NOR-Gates ist.
5. Testschaltung nach einem der Ansprüche 3 oder 4, in der der Speicher (20) die Testdaten von dem Register (16) während des Anlegens eines Haltesignals (24) zwischenspeichert.
6. Testschaltung nach irgendeinem der Ansprüche 1 bis 5, in der alternierende bzw. abwechselnde Bits des Registers (16) als ungerade und gerade Bits benannt werden und in der sämtliche ungeraden Bits gleichzeitig eingestellt und rückgesetzt werden, um die Testmuster zu erzeugen, und in der sämtliche geraden Bits gleichzeitig gesetzt und rückgesetzt werden, um die Testmuster zu erzeugen.
7. Testschaltung nach Anspruch 1, in der das Register (16) die Speichermittel zur Verfügung stellt und so angeschlossen ist, daß in dem Register (16) gespeicherte Testdaten unmittelbar mit aus der Speicheranordnung (10) gelesenen Werten verglichen werden können.
8. Verfahren zum Testen einer programmierbaren Logikeinrichtung, das die folgenden Schritte aufweist:
ein Testmuster wird in eine programmierbare Speicheranordnung (10) geschrieben;
mit einer Testschaltung auf der Einrichtung wird bestätigt bzw. überprüft, daß das Testmuster erfolgreich in die Anordnung (10) geschrieben worden ist; und
ein Signal (Übereinstimmung (MATCH)) wird erzeugt, das anzeigt, ob das Testmuster erfolgreich eingeschrieben wurde, dadurch gekennzeichnet, daß die Testmuster aus Bitmustern gebildet werden, die auf der Einrichtung erzeugt sind, und daß die Bitmuster in einem Register (16), das an die Anordnung (10) angeschlossen ist, erzeugt werden, und daß Bits von dem Register unmittelbar eingestellt werden, um Werte ohne Verschieben von Daten in das Register auszuwählen.
9. Verfahren nach Anspruch 8, in dem das Schieberegister (16), in dem die Bitmuster erzeugt werden, ebenfalls verwendet wird, um Programmierungsdaten in die Anordnung (10) zu laden.
DE69116024T 1990-07-31 1991-05-31 Hochgeschwindigkeitsprüfung für programmierbare logische Schaltungen Expired - Fee Related DE69116024T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/560,383 US5159599A (en) 1990-07-31 1990-07-31 High speed testing for programmable logic devices

Publications (2)

Publication Number Publication Date
DE69116024D1 DE69116024D1 (de) 1996-02-15
DE69116024T2 true DE69116024T2 (de) 1996-06-05

Family

ID=24237573

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69116024T Expired - Fee Related DE69116024T2 (de) 1990-07-31 1991-05-31 Hochgeschwindigkeitsprüfung für programmierbare logische Schaltungen

Country Status (5)

Country Link
US (1) US5159599A (de)
EP (1) EP0469705B1 (de)
JP (1) JPH04270979A (de)
KR (1) KR920003159A (de)
DE (1) DE69116024T2 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5422833A (en) * 1991-10-30 1995-06-06 Xilinx, Inc. Method and system for propagating data type for circuit design from a high level block diagram
JPH05274895A (ja) * 1992-03-26 1993-10-22 Nec Ic Microcomput Syst Ltd 半導体記憶装置
US5796750A (en) * 1994-04-22 1998-08-18 Lattice Semiconductor Corporation Method for programming a programmable logic device in an automatic tester
DE69634515T2 (de) * 1995-06-09 2005-09-29 Fujitsu Ltd., Kawasaki Verfahren, system und anordnung zur effizienten generierung binärer zahlen zum testen von spreichervorrichtungen
US6134703A (en) * 1997-12-23 2000-10-17 Lattice Semiconductor Corporation Process for programming PLDs and embedded non-volatile memories
US7007203B2 (en) * 2002-08-02 2006-02-28 Motorola, Inc. Error checking in a reconfigurable logic signal processor (RLSP)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4571724A (en) * 1983-03-23 1986-02-18 Data I/O Corporation System for testing digital logic devices
US4766569A (en) * 1985-03-04 1988-08-23 Lattice Semiconductor Corporation Programmable logic array
JPH0713879B2 (ja) * 1985-06-21 1995-02-15 三菱電機株式会社 半導体記憶装置
US4872168A (en) * 1986-10-02 1989-10-03 American Telephone And Telegraph Company, At&T Bell Laboratories Integrated circuit with memory self-test
DE3634352A1 (de) * 1986-10-08 1988-04-21 Siemens Ag Verfahren und anordnung zum testen von mega-bit-speicherbausteinen mit beliebigen testmustern im multi-bit-testmodus
JP2613411B2 (ja) * 1987-12-29 1997-05-28 株式会社アドバンテスト メモリ試験装置
GB2222461B (en) * 1988-08-30 1993-05-19 Mitsubishi Electric Corp On chip testing of semiconductor memory devices

Also Published As

Publication number Publication date
JPH04270979A (ja) 1992-09-28
DE69116024D1 (de) 1996-02-15
KR920003159A (ko) 1992-02-29
EP0469705A2 (de) 1992-02-05
EP0469705B1 (de) 1996-01-03
EP0469705A3 (en) 1993-01-20
US5159599A (en) 1992-10-27

Similar Documents

Publication Publication Date Title
DE2555435C2 (de) Monolithische hochintegrierte Halbleiterschaltung
DE2555439C2 (de) Monolithische hochintegrierte Halbleiterschaltung
DE3788487T2 (de) Integrierte Schaltung mit Speicherselbstprüfung.
DE69825234T2 (de) Verfahren und vorrichtung zur selbstprüfung von multi-port-rams
DE3886038T2 (de) Speichergerät, das einen zur Ausführung einer Selbstprüfung adaptierten statischen RAM-Speicher enthält und integrierte Schaltung, die als eingebauten statischen RAM-Speicher ein solches Gerät enthält.
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.
DE69914864T2 (de) Steuerung der konfiguration in einer programmierbaren logik-einheit mittels nichtflüchtiger bauelemente
DE69019555T2 (de) Technik für die serielle Prüfung eingebauter Speicher.
DE2311034C2 (de) Verfahren zum Prüfen eines integrierte logische Verknüpfungs- und Speicherglieder enthaltenden Halbleiterchips
DE60005156T2 (de) Verteilte schnittstelle zur parallelen prüfung von mehreren vorrichtungen, wobei nur ein einzelner testkanal benutzt wird
DE2556822C2 (de) Monolithische hochintegrierte Halbleiterschaltung
DE69127036T2 (de) Halbleiter mit verbessertem Prüfmodus
DE68918469T2 (de) Serieller Lesezugriff von seriellen Speichern mit einer durch den Benutzer definierten Startadresse.
DE4206286C2 (de) Speicherzugriffssystem und Verfahren zum Ausgeben eines digitalen Datenstromes
DE60316068T2 (de) Prüfverfahren und -gerät für Konfigurationsspeicherzellen in programmierbaren logischen Bauelementen (PLDS)
DE68923571T2 (de) Dynamischer RAM-Speicher mit Redundanz und verbesserter Prüfbarkeit.
DE3788586T2 (de) Schaltung zur Prüfung des Eingangsspannungssignals für eine halbleiterintegrierte Schaltung.
DE19530100A1 (de) Integrierte Dram-Schaltung mit Reihenkopierschaltung und Verfahren
DE69912545T2 (de) Schaltkreis mit einer einheit zum testen von verbindungen und ein verfahren zum testen von verbindungen zwischen einem ersten und zweiten elektronischen schaltkreis
DE19908157A1 (de) Speichertestschaltung
DE69116024T2 (de) Hochgeschwindigkeitsprüfung für programmierbare logische Schaltungen
DE19839089B4 (de) Datenpuffer für einen programmierbaren Speicher mit mehreren Zuständen
DE3850932T2 (de) Lese/Schreibespeicher mit fest eingebautem Leseprüfmuster und Verfahren zur Erzeugung desselben.
DE69500023T2 (de) Elektrisch veränderlicher Festspeicher mit Prüffunktionen
DE112019007386T5 (de) Verbesserte jtag-register mit gleichzeitigen eingängen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee