DE69120765T2 - Verfahren zum Datentransfer zu oder von Vorrichtungen über eine Boundary-Scan-Test-Schnittstelle - Google Patents

Verfahren zum Datentransfer zu oder von Vorrichtungen über eine Boundary-Scan-Test-Schnittstelle

Info

Publication number
DE69120765T2
DE69120765T2 DE69120765T DE69120765T DE69120765T2 DE 69120765 T2 DE69120765 T2 DE 69120765T2 DE 69120765 T DE69120765 T DE 69120765T DE 69120765 T DE69120765 T DE 69120765T DE 69120765 T2 DE69120765 T2 DE 69120765T2
Authority
DE
Germany
Prior art keywords
bits
register
data
under test
bit
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
DE69120765T
Other languages
English (en)
Other versions
DE69120765D1 (de
Inventor
Najimi T Jarwala
Chi W Yau
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.)
AT&T Corp
Original Assignee
AT&T Corp
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 AT&T Corp filed Critical AT&T Corp
Application granted granted Critical
Publication of DE69120765D1 publication Critical patent/DE69120765D1/de
Publication of DE69120765T2 publication Critical patent/DE69120765T2/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/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318555Control logic
    • 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/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors
    • 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/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318572Input/Output interfaces

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)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Description

  • Die vorliegende Erfindung betrifft Verfahren zur wirksamen Übertragung von Daten zu und von einem Datenregister.
  • Um einige der Nachteile zu überwinden, unter denen das Prüfen von Leiterplatten unter Verwendung herkömmlicher Prüfverfahren leidet, wurde ein Prüfverfahren entwickelt, das als Grenzabfrage bekannt ist. Beim Prüfen einer Leiterplatte unter Verwendung des Verfahrens der Grenzabfrage muß jedes einzelne aktive Bauelement (d.h. eine integrierte Schaltung) auf einer Leiterplatte mit mehreren Grenzabfragezellen (Einzelbit-Schieberegistern) versehen sein, die jeweils mit einem getrennten Eingangs-/Ausgangsstift des Bauelements verbunden sind. Die Grenzabfragezellen in jedem Bauelement sind in einer seriellen Kette verkoppelt, um ein Grenzdatenregister zu bilden, das an das Grenzabfrageregister der anderen Bauelemente seriell angekoppelt ist, um eine serielle Grenzabfragekette auf Plattenebene zu bilden.
  • Die in einer derartigen seriellen Grenzabfragekette eingekoppelten Bauelemente werden geprüft, indem ein Strom von Testbit durch einen Prüfungsanschluß (TAP- Test Access Port) an jedem Bauelement in die Kette von Bauelementen hineingeschoben wird, so daß zur Verbindungsprüfung jedes Bit in dem Strom in eine entsprechende der Grenzabfragezellen eingegeben wird. Das in jede Zelle eingegebene Prüfbit wird dann an die Zelle angelegt, um sie zu aktualisieren, d.h. den gegenwärtigen Wert des darin gespeicherten Bit gegen den Wert des Prüfbits auszutauschen. Während das Bit innerhalb jeder einem Bauelement-Ausgangsstift zugeordneten Grenzabfragezelle aktualisiert wird, werden die jedem mit diesem Ausgangsstift verbundenen Bauelement-Eingangsstift zugeordneten Grenzabfragezellen weiter aktualisiert. Durch Hinausschieben der Bit aus der Grenzabfragekette nach der Aktualisierung der Grenzabfrageregister und durch Vergleichen des Stroms der hinausgeschobenen Bit mit demjenigen, der für eine störungsfreie Kette von Bauelementen erwartet wird, kann in jedem beliebigen der Bauelemente ein Fehler entdeckt werden.
  • Im Verlauf der Durchführung einer Grenzabfrageprüfung treten Umstände auf, wo es nützlich ist, ein Prüfdatenregister in einen bestimmten Bauelement in der Kette über den Grenzabfrage-Prüfungsanschluß (TAP) mit Daten zu laden. Beispielsweise könnte der Steuerspeicher eines Bauelements, wie zum Beispiel eines Mikroprozessors, mit neuen Mikrobefehlen beladen werden, die bei Ausführung das Bauelement zur Selbstprüfung veranlassen würden. Gegenwärtig müssen, wenn mehrere L-Bit-Segmente in ein Prüfdatenregister geladen werden sollen, aufeinanderfolgende Blöcke von Daten der Form (L&sub1; + L + L&sub2;) Bit durch die Abfragekette hindurchgeschoben werden, wobei L&sub1; und L&sub2; die Gesamtzahlen von Abfragezellen in der Kette sind, die dem mit den Daten zu ladenden Prüfdatenregister in dem Bauelement vorgeschaltet bzw. nachgeschaltet ist. Die jedem betrachteten L-Bit-Segment vorausgehenden bzw. nachfolgenden L&sub1;- und L&sub2;-Bit-Folgen werden als beliebige Werte ausgewählt. Um das Prüfdatenregister mit N getrennten L-Bit-Segmenten zu beladen, müssen N Datenblöcke oder-pakete, die jeweils die Form (L&sub1; + L + L&sub2;) Bit aufweisen, durch die Grenzabfragekette durchgeschoben werden.
  • Das oben beschriebene Datenübertragungsschema ist sehr unwirksam, da jedesmal, wenn ein neues L-Bit-Segment in das Prüfdatenregister eines bestimmten Bauelements geladen werden soll, ein Strom von (L&sub1; + L + L&sub2;) Bit durch die ganze Kette geschoben werden muß, was mindestens (L&sub1; + L + L&sub2;) Taktzyklen erfordert. Außerdem würde zum Laden eines großen Stroms von L-Bit-Segmenten mit der Arbeits geschwindigkeit des Bauteils eine sehr hohe Übertragungsrate benötigt, die möglicherweise nicht erreicht werden kann.
  • Somit besteht ein Bedarf an einem wirksamen Verfahren zum Übertragen von Daten zu und von einem Bauelement in einer Abfragekette.
  • Entsprechend einem Aspekt der vorliegenden Erfindung wird ein Verfahren nach Anspruch 1 bereitgestellt.
  • Entsprechend einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren nach Anspruch 4 bereitgestellt.
  • Kurz gesagt wird eine Technik zur wirksamen übertragung von Daten zu bzw. von einem L-Bit-Prüfdatenregister (wobei L eine ganze Zahl ist) in einem zu prüfenden Bauelement, das mit dem Datenregister in mindestens einem weiteren Bauelement in einer Grenzabfragekette seriell gekoppelt ist, offenbart. Die Technik wird durchgeführt, indem zuerst die aufeinanderfolgend in das L-Bit-Prüfdatenregister zu übertragenden L-Bit- Datensegmente vor einem Strom von L&sub1;-Bit beliebiger Werte verkettet werden, wobei L&sub1; die Zahl der seriell verbundenen Abfragezellen des Registers darstellt, das dem mit den Daten zu beladenden Prüfdatenregister in dem Bauelement vorgeschaltet ist. Unter der Annahme, daß N aufeinanderfolgende L-Bit-Segmente Übertragen werden sollen (wobei N eine ganze Zahl ist), hat der resultierende Datenblock bzw. das Datenpaket die Form eines Stroms von (L&sub1; + NL) Bit. Nach dem Verkettungsschritt werden die ersten L&sub1; Bit des (L&sub1; + NL) Bitblocks durch die Abfragekette der Bauelemente durchgeschoben, um alle möglicherweise verbliebenen, in den ersten L&sub1; Grenzabfragezellen gespeicherten Bit auszuräumen. Um zu bestimmen, wann die ersten L&sub1; Bit verschoben worden sind, ist das zu prüfende Bauelement mit einem Rückwärtszähler versehen, der mit dem Wert von L&sub1; beladen ist. Jedesmal, wenn ein aufeinanderfolgendes der ersten L&sub1; Bit des Blocks von (L&sub1; + NL) Bit in eine getrennte der ersten L&sub1; Abfragezellen in der Kette verschoben wird, wird der Zähler erniedrigt. Sobald die ersten L&sub1; Bit des Stroms von (L&sub1; + NL) Bit in die L&sub1; Abfragezellen, die dem zu beladenden Prüfdatenregister im Bauelement vorgeschaltet sind, verschoben worden sind, wird ein aufeinanderfolgendes der NL-Bit-Segmente in das Prüfregister verschoben, so daß Daten zu dem Bauelement Übertragen werden können. Daten können aber auch von dem Bauelement Übertragen werden, indem das Bauelernent veranlaßt wird, das in das Abfragedatenregister geladene L-Bit-Segment mit Daten von dem Bauelement selbst zu aktualisieren bzw. zu überschreiben. Wenn das letzte der N L-Bit-Segmente in das Prüfdatenregister in dem Bauelement geladen worden ist, sind die übrigen L&sub1; Bit in dem Block aus L&sub1; + NL Bit in eine getrennte der L&sub1; Abfragezellen in der dem Prüfdatenregister in dem Bauelernent vorgeschalteten Abfragekette verschoben worden. Auf diese Weise werden die letzten L&sub1; Bit des letzten L-Bit-Datensegments aus den dem Prüfdatenregister in dem Bauelement vorgeschalteten L&sub1; Abfragezellen "ausgeräumt".
  • Datenübertragung kann bewerkstelligt werden, ohne daß es notwendig wäre, das zu prüfende Bauelernent mit einem L&sub1;-Bit-Rückwärtszähler zu versehen. Stattdessen wird die Adressierung des Bauelements, zu dem die N L- Bit-Segmente Übertragen werden sollen, zum "Umlaufen" veranlaßt, so daß bei Erreichen eines vorbestimmten oberen Adreßwertes die Adressierung bei Null beginnt, anstatt auf dem höchsten Wert stehenzubleiben. Wird dieser Ansatz verwendet, so erhält man den in die Grenzabfragekette einzulesenden Datenblock durch Verketten einer Menge von L [L&sub1;/L] - L&sub1; Füllbit (mit beliebigen Werten) zu und vor einem Datenstrom von (L&sub1; + NL) interessierenden Bit, deren letzte L&sub1; Bit beliebige Werte aufweisen. Innerhalb der Gruppe von N L-Bit werden die zuerst einzulesenden [L&sub1;/L] Segmente an das Ende des Blocks gelegt. Um das zu prüfende Bauelement zu laden, wird das erste Paket von [L&sub1;/L] Segmenten, bei denen es sich um beliebige Werte handelt, in die Kette hineingeschoben. Danach werden die Bit von jedem aufeinanderfolgenden der nöchsten Gruppe von N - [L&sub1;/L] Segmenten jedesmal, wenn das Abfragedatenregister im Bauelement aufeinanderfolgend adressiert wird, in das zu prüfende Bauelernent hineingeschoben. Wenn die letzten der Segmente in dem Block von N - [L&sub1;/L] Bit in das zu prüfende Bauelement hineingeschoben worden sind, läuft der dem L-Bit- Register in dem Bauelement zugeordnete Adreßpunkt um, so daß die Anfangsgruppe der [L&sub1;/L] Segmente mit den eigentlichen Daten überschrieben wird.
  • Kurze Beschreibung der Zeichnung
  • Figur 1 ist ein Blockschaltbild eines zu prüfenden Bauelements, das gemäß dem Stand der Technik in eine Abfragekette eingekoppelt ist;
  • Figur 2 ist ein Flußdiagramm, das ein Verfahren nach dem Stand der Technik zum Schieben von Daten in das Bauelement von Figur 1 hinein und aus ihm heraus zeigt;
  • Figur 3 ist ein Blockschaltbild der Abfragekette von Figur 1 und zeigt, wie das zu prüfende Bauelement abgewandelt ist, um eine wirksamere Datenübertragung zu ihm hin und von ihm weg zu erreichen;
  • Figur 4 ist ein Blockschaltbild eines für die übertragung zu dem zu prüfenden Bauelement von Figur 4 erzeugten Datenstrorns; und
  • Figur 5 ist ein Blockschaltbild eines alternativen, für die Übertragung durch das zu prüfende Bauelement von Figur 1 erzeugten Datenstroms.
  • Ausführliche Beschreibung
  • Die vorliegende Erfindung betrifft ein Schema zum Erzielen einer wirksamen Datenübertragung zu einem Prüfdatenregister in einem zu prüfenden Bauelernent, wobei das Register an ein Prüfdatenregister in mindestens einem weiteren Bauelement in einer Abfragekette seriell angekoppelt ist. Unter Bezugnahme auf Figur 1 wird ein Blockschaltbild eines Bauelements 10 nach dem Stand der Technik gezeigt, das unter Verwendung von Grenzabfragetechniken geprüft werden soll. Bei dem Bauelement 10 (auf das hiernach als das zu prüfende Bauelement Bezug genommen wird) handelt es sich typischerweise um ein aktives Bauelement, wie zum Beispiel ein Speicher oder ein Mikroprozessor oder dergleichen, in dem sich mindestens ein Schaltkreis 12 befindet, zu dem über eine Menge von (nicht gezeigten) Eingangs-/Ausgangsstiften Eingangs- und Ausgangsverbindungen hergestellt werden. Dem Schaltkreis 12 in dem Bauelement 10 ist ein Register 14 zugeordnet, das als das Prüfdatenregister bezeichnet wird und das innerhalb des Schaltkreises vorgesehen ist, um dessen Grenzabfrageprüfung gemäß der in IEEE STD P1149.1 umrissenen und in dem von dem Test Technology Committee der IEEE Computer Society geförderten Dokument Standard Test Access Port and Boundary-Scan Architecture (Standard-Prüfungsanschluß-und Grenzabfrage-Architektur) beschriebenen Vorgehensweise zu erleichtern. Das Prüfdatenregister 14, das L Bit lang sein soll (d.h. das Register weist L (nicht gezeigte) Einzelzellen auf) ist mit dem Prüfdatenregister mit mindestens einem und typischerweise mehreren weiteren Bauelementen 10' in Reihe gekoppelt, die einen ähnlichen Aufbau wie das zu prüfende Bauelernent 10 oder einen davon abweichenden Aufbau aufweisen können. Aus Darstellungsgründen sollen den dem zu prüfenden Bauelement 10 vorgeschalteten Bauelementen 10' L&sub1; Gesamtabfrage-(Register-) Zellen zugeordnet sein, und den dem zu prüfenden Bauelement nachgeschalteten Bauelementen sollen L&sub2; Gesamtabfragezellen zugeordnet sein.
  • Der Schaltkreis 12 in dem Bauelement 10, wie auch der Schaltkreis in jedem der anderen Bauelemente 10', kann unterschiedliche Formen aufweisen. Zu Erörterungszwecken soll es sich bei dem Schaltkreis 12 um einen Speicher (z.B. einen RAM) handeln. Dem Speicher 12 ist ein Adreßzähler 16 zugeordnet, der dazu dient, einen Wert zu halten, der den Speicherplatz innerhalb des Speichers anzeigt, in dem Daten gespeichert oder aus dem Daten ausgelesen werden sollen.
  • Das Prüfdatenregister 14 in dem Bauelement 10 wird durch eine Prüfungsanschluß-(TAP)Steuerung 18 gesteuert, die in dem oben erwähnten Dokument Standard Test Access Port and Boundary-Scan Architecture näher erläutert wird.
  • Eine der von der TAP-Steuerung 18 gesteuerten Operationen ist die Verschiebeoperation, während der Bit in einem Datenstrom durch das Bauelernent 10 und die Bauelemente 10' in der gleichen seriellen Kette durchgeschoben werden. Zu Erörterungszwecken wird die Operation der TAP-Steuerung 18 unter der Annahme beschrieben, daß (L&sub1; + L + L&sub2;) Bit durch das Bauelernent 10 und die diesem vorgeschalteten und nachgeschalteten Bauelemente 10' durchgeschoben werden sollen. Unter Bezugnahme auf Figur 2 wird in Form eines Flußdiagramms eine summarische oder begriffliche Darstellung der Schritte gezeigt, die die TAP-Steuerung 18 von Figur 1 ausführt, um die Datenbit durch die Kette von Bauelementen 10 durchzuschieben.
  • Der erste Schritt (Schritt 20), den die TAP- Steuerung 18 von Figur 1 unternimmt, ist das Auswählen der Datenregisterabfrage- (Verschiebe-) Operation. Schritt wird eingeleitet, wenn der TAP-Steuerung 18 von Figur 1 ein Prüfbetriebsartauswahl-(TMS = Test Mode Select) Signal einer bestimmten Folge zugeführt wird. Nach Auswahl des Verschiebezustands veranlaßt die TAP- Steuerung 18 die eigentliche Verschiebung der Daten (Schritt 24). Ein aufeinanderfolgendes der Bit in dem Strom von Prüfbit wird als Reaktion auf ein aufeinanderfolgendes "Ticken" (d.h. Wechseln eines in die TAP- Steuerung 18 eingegebenen periodischen Taktsignals TCK) in eine aufeinanderfolgende der Zellen im Register 14 in der Grenzabfragekette hineingeschoben. Wie in Figur 2 angedeutet, wird der Verschiebeschritt 22 wiederholt ausgeführt, um jedes der Bit in dem Strom von Prüfbit (L&sub1; + L + L&sub2;) in eine getrennte der (L&sub1; + L + L&sub2;) Zellen in der Kette von Bauelementen 10 und 10' hineinzuschieben. Nach dem Verschiebeschritt 22 wird die Verschiebeoperation verlassen (Schritt 24), worauf eine Aktualisierungsoperation (Schritt 26) ausgeführt wird, während der das Bit in jeder Zelle jedes Prüfdatenregisters 14 dem entsprechenden Eingangs-/Ausgangsstift des Schaltkreises 12 von Figur 1 zugeführt wird.
  • In solchen Fällen, wenn keine Grenzabfrageprüfung wie beschrieben durchgeführt wird, ist es nützlich, das Prüfdatenregister 14 in dem zu prüfenden Bauelement 10 mit Daten zu laden. Unter Verwendung des oben beschriebenen Schemas zum Ausführen einer Datenübertragung würde das Laden eines aufeinanderfolgenden einer beliebig großen Anzahl (N) von L-Bit-Datenblöcken LA, LB, LC.....LN wie folgt ausgeführt werden. Zuerst würde ein Block von Bit (L&sub1; + LA + L&sub2;) durch die Kette von Bauelementen 10 und 10' durchgeschoben werden, wobei es sich bei der ersten und letzten Gruppe von L&sub1; bzw. L&sub2; Bit im Block um beliebige Werte handelt. Aufeinanderfolgende Blöcke von Bit (L&sub1; + LB + L&sub2;), (L&sub1; + LC + L&sub2;)... (L&sub1; + LN + L&sub2;) würden dann durch die Kette von Bauelementen 10 und 10' durchgeschoben werden. Die Folgen von L&sub1; und L&sub2; Bit beliebiger Werte sind erforderlich, um sicherzustellen, daß jedes der L-Bit-Segmente LA, LB, LC...LN für das Einladen in das Prüfdatenregister 14 richtig positioniert ist.
  • Das oben beschriebene Verfahren, Daten in das Prüfdatenregister 14 des zu prüfenden Bauelements 10 zu laden, ist sehr mühselig. Da es notwendig ist, jedes der N Segmente LA, LB, LC..... LN (wobei eine beliebig große Anzahl von Segmenten vorliegen kann) mit einer vorgeschalteten und nachgeschalteten Folge von L&sub1; bzw. L&sub2; beliebiger Werte zu verketten, werden jedesmal, wenn ein aufeinanderfolgender der Datenblöcke LA, LB, LC...LN geladen wird, mindestens L&sub1; + L + L&sub2; Taktzyklen in Anspruch genommen. Je nach der Größe der L&sub1; und L&sub2; Bitfolgen kann die Anzahl derartiger Zyklen groß sein und so zu einem beträchtlichen Maß an Unwirtschaftlichkeit führen.
  • Eine wirksame Übertragung von Daten zu und von dem zu prüfenden Bauelement 10 kann durch Abändern des Bauelements, wie in Figur 3 gezeigt, erreicht werden, so daß es einen Rückwärtszähler 28 enthält, der von der TAP- Steuerung 18 gesteuert wird. Wenn der TAP 18 in den Verschiebezustand eintritt (Schritt 24 von Figur 2), wird der anfangs mit dem Wert L&sub1; beladene Zähler 28 jedesmal, wenn ein aufeinanderfolgendes Bit des Datenstroms in eine aufeinanderfolgende der Grenzabfragezellen 16 in der Grenzabfragekette von Bauelementen 10 hineingeschoben wird, erniedrigt.
  • Um das Prüfdatenregister 14 in dem zu prüfenden Bauelernent 10 von Figur 3 mit einem aufeinanderfolgenden der Datensegmente LA, LB, LC...LN zu beladen, ist es erforderlich, zunächst diese L-Bit-Segmente vor einem nachfolgenden Block von L&sub1; Füllbit beliebiger Werte zu verketten, um einen in Figur 4 gezeigten Datenblock der Form (L&sub1; + NL) Bit aufzubauen. Die TAP-Steuerung 18 von Figur 1 führt nach der Verkettungsoperation die der Datenverschiebung zugeordneten, in Figur 2 gezeigten, Operationen aus, um L&sub1; Verschiebeoperationen auszuführen, wobei der Zähler 28 jedesmal erniedrigt wird, wenn der Verschiebeschritt 22 ausgeführt wird. Die erste L&sub1;-Menge von Verschiebeoperationen wird zu dem Zweck gezählt, um festzustellen, wann die ersten L&sub1; Bit im Datenblock (L&sub1; + NL) in die L&sub1; Grenzabfragezellen des Prüfdatenregisters 14 in den Bauelementen 10', die den Prüfdaten in dem zu prüfenden Bauelement 10 vorgeschaltet sind, hineingeschoben worden sind, um die zuvor in diesen vorgeschalteten Zellen enthaltenen Daten auszuräumen. Anderenfalls könnten die Prüfdaten in dem zu prüfenden Bauelernent 10 mit "alten" (d.h. bedeutungslosen) Daten beladen werden.
  • Nachdem der Rückwärtszähler 28 bis Null gezählt hat, werden zusätzlich NL aufeinanderfolgende Verschiebe- Operationen (die NL Taktzyklen in Anspruch nehmen) ausgeführt, so daß ein getrenntes der betrachteten N L- Bit Segmente LA, LB, LC...LN aufeinanderfolgend in das Grenzabfragedatenregister 14 geladen wird. Alle L Taktzyklen wird ein dann in das Prüfdatenregister 14 geladenes, aufeinanderfolgendes der L-Bit-Segmente dem Schaltkreis 12 zugeführt, bzw. der Schaltkreis führt ein neues L-Bit-Segment dem Register zu. Auf diese Weise werden die ersten N L-Bit-Segmente des Datenblocks (L&sub1; + NL) somit aufeinanderfolgend entpackt und in das Prüfdatenregister 14 geladen, so daß Daten dorthin oder von dort Übertragen werden können. Die letzten L&sub1; Bit des Datenblocks (L&sub1; + NL) werden bereitgestellt, um sicherzustellen, daß der Block eine ausreichende Länge aufweist, so daß die letzten betrachteten Segmente bis 'N' erfolgreich geladen werden können, wenn die letzte der L&sub1; + NL Verschiebeope rationen beendet ist.
  • Im Vergleich zu der Datenübertragungstechnik nach dem Stand der Technik ist das Sofortdatenübertragungsschema weitaus wirksamer. Um N getrennte L-Bit-Datensegmente zu übertragen, würde die Gesamtzahl erforderlicher Taktzyklen in der Größenordnung von L&sub1; + NL liegen. Im Vergleich dazu würde das Schema nach dem Stand der Technik N (L&sub1; + L + L&sub2;) Operationen erfordern. Mit dem Sofortschema kann die Datenübertragung somit schneller bewerkstelligt werden.
  • Obwohl die Sofortdatenübertragungstechnik für die Übertragung von Daten zu einem einzelnen Prüfdatenregister 14 beschrieben ist, kann sie doch leicht für die übertragung von Daten zu mehreren Prüfdatenregistern innerhalb der Abfragekette, die das zu prüfende Bauelement 10 und die diesem vorgeschalteten und nachgeschalteten Bauelemente 10' umfaßt, eingesetzt werden. Um Daten wirksam zu mehreren Prüfdatenregistern 14 in einer Abfragekette zu übertragen, wäre es erforderlich, die zu jedem Register zu übertragenden NL-Bit-Segmente hinter dem zu dem diesem nachgeschalteten Register zu übertragenden Datenblock zu verketten. Außerdem müßte der jedem Prüfdatenregister 14 zugeordnete Zähler 28 mit dem entsprechenden Wert auf der Grundlage der Anzahl von Abfragezellen in den diesem vorgeschalteten Prüfdatenregistern beladen werden.
  • Eine wirksame Übertragung von Daten zu und von dem zu prüfenden Bauelernent 10 von Figur 1 kann erzielt werden, ohne daß das Bauelement abgeändert werden muß, damit es den Rückwärtszähler 28 von Figur 3 enthält. Das Entpacken eines Bitstrorns in der Form (L&sub1; + NL) kann vielmehr dadurch erzielt werden, daß die Art und Weise gesteuert wird, wie die Information von dem Prüfdatenregister 14 in den Schaltkreis 12 eingegeben wird, bei dem es sich, wie oben angedeutet, um einen Speicher handeln soll. Wenn es sich bei dem Schaltkreis 12 um einen Speicher handelt, dann ist diesem, wie schon oben erörtert, der Adreßzähler 16 zum Speichern der Adresse des Speicherplatzes im Speicher, in den die Daten eingeschrieben werden sollen oder aus dem die Daten ausgelesen werden sollen, zugeordnet.
  • Der dem Speicherschaltkreis 12 zugeordnete Adreßzähler 16 wirkt in der Regel dahingehend, daß er von der niedrigsten Speicheradresse zur höchsten hochzählt und dann beim höchsten Wert einfriert. Unter der Annahme, daß der Speicher 12 256 Wörter (d.h. Speicherplätze) umfaßt, würde das Adreßregister 16 nach der Adressierung des 256sten Wortes die Adresse dieses Wortes festhalten. Um den Schaltkreis 12 wirksam mit Daten von dem Prüfdatenregister 14 zu beladen, wird die Steuerung des Adreßzählers 16 durch einen Programmbefehl geändert, so daß das Adreßregister "umläuft", d.h., es kehrt nach der Adressierung des 256sten Wortes automatisch zu Null zurück.
  • Wie oben beschrieben, wurde der in die Grenzabfragekette eingegebene Datenstrom erhalten, indem N getrennte L-Bit-Segmente zu und vor einem Strom von L&sub1; Füllbit verkettet wurden. Bei Abwesenheit des Zählers 28 von Figur 3 ist allerdings, um eine wirksame Datenübertragung zu erhalten, ein geringfügig unterschiedliches Datenstromformat erforderlich. Bezugnehmend auf Figur 5 enthält der für wirksame Datenübertragung erforderliche Datenstrom eine Anfangsgruppe von L[L&sub1;/L] - L&sub1; Füllbit mit beliebigem Wert. Eine derartige Gruppe von Bit wird deshalb am Kopf des betrachteten Datenstroms bereitgestellt, um sicherzustellen, daß die bisher in den L&sub1; vorgeschalteten Grenzabfragezellen in der Grenzabfragekette der Bauelemente 10' bestehenden Bit zusammen mit der Gruppe der L[L&sub1;/L] - L&sub1; Füllbit eine ganze Zahl an L-Bit-Segmenten umfaßt. An die Gruppe von L[L&sub1;/L] - L&sub1; Füllbit wird ein die betrachteten Daten enthaltender Block von N aufeinanderfolgenden L-Bit- Segmenten angekettet, so daß die ersten LEL&sub1;/L] Bit im Block von NL Bit am Blockende liegt. Der Grund für das Plazieren des ersten Pakets von L[L&sub1;/L] Bit am Ende des Blocks von NL Bit wird weiter unten verständlicher werden. An das Ende dieses Blocks von (NL + L[L&sub1;/L] - L&sub1;) Bit wird, wie zuvor, ein Paket von L&sub1; Füllbit angehängt, was einen Block von (L&sub1; + NL + L [L&sub1;/L] - L&sub1;) Bit ergibt.
  • Um den Bitstrom von (L&sub1; + NL + L [L&sub1;/L] - L&sub1;) zu laden, tritt die TAP-Steuerung 18 von Figur 1 in den VERSCHIEBE-Zustand ein und beginnt die in Figur 3 beschriebenen Operationen. Bei der aufeinanderfolgenden Ausführung der Verschiebeoperation 22 von Figur 3 werden die Bit im Block (L&sub1; + NL + L [L&sub1;/L] - L&sub1;) von dem zu prüfenden Bauelernent 10 entpackt. Da es sich bei dem ersten Paket von L[L&sub1;/L] Bit in dem Block um beliebige Werte handelt, werden die ersten [L&sub1;/L] Speicherplätze im Speicherschaltkreis 12 mit Füllbit gefüllt. Die nächsten N - [L&sub1;/L] Segmente, die gültige Daten enthalten, werden gemäß der Adreßinformation im Adreßregister 15 von Figur 1 richtig in den entsprechenden Speicherplätzen im Speicherschaltkreis 12 gespeichert. Nach der Speicherung der letzten der N - [L&sub1;/L] Segmente läuft der Wert im Adreßregister 15 zu seinem niedrigsten Adreßwert (Null) um, so daß die anfänglichen [L&sub1;/L] Segmente im Speicherschaltkreis 12 mit gültigen Daten überschrieben werden. Das anfängliche Paket von [L&sub1;/L] Segmenten wird deshalb in den Datenblock von N L-Bit-Segmenten plaziert, um die Anwesenheit von L&sub1; Abfragezellen von Figur 1 in den dem zu prüfenden Bauelement 10 vorgeschalteten Bauelementen 10' zu kompensieren.
  • Die Gesamtzahl der Taktzyklen, die erforderlich sind, um N getrennte L-Bit-Datensegmente unter Verwendung des oben beschriebenen Schemas zu übertragen, liegt in der Größenordnung (L[L&sub1;/L] + NL). Im Vergleich zu dem Übertragungsschema nach dem Stand der Technik, das N(L&sub1; + L + L&sub2;) erfordern würde, ist die Soforttechnik somit weitaus wirksamer.
  • Obiger Text beschreibt eine Technik zum wirksamen übertragen von Daten zu (und von) einem zu prüfenden Bauelement 10, das mit anderen Bauelementen in einer Grenzabfragekette seriell gekoppelt ist.
  • Es versteht sich, daß die obige Beschreibung für die Erfindung lediglich beispielhaft ist. Der Fachmann könnte daran verschiedene Modifikationen und Veränderungen vornehmen.

Claims (4)

1. Verfahren zur wirksamen Übertragung von Daten zu und von einem L-Bit-Datenregister (14), wobei L eine Ganzzahl ist, innerhalb eines zu prüfenden Bauelements (10), das seriell mit einem Register mindestens eines weiteren Bauelements (10') in einer Abfragekette verbunden ist, mit folgenden Schritten:
Verketten von N, wobei N eine Ganzzahl ist, getrennten L-Bit-Datensegmenten, die jeweils nacheinander zu dem L-Bit-Register in dem zu prüfenden Bauelement zu übertragen sind, vor einem Paket von L&sub1; Füllbit mit beliebigen Werten, wobei L&sub1; die Gesamtzahl der seriell verbundenen Abfragezellen der Register in den Bauelementen in der dem L-Bit-Register in dem zu prüfenden Bauelement vorgeschalteten Kette ist, um einen Datenstrorn von NL + L&sub1; Bit zu ergeben;
aufeinanderfolgendes Durchschieben der ersten L&sub1; Bit in dem Strom von NL + L&sub1; Bit durch die Register in den Bauelementen in diesem Teil der dem L-Bit-Register vorgeschalteten Kette innerhalb des zu prüfenden Bauelements zum Ausräumen jeglicher in den vorgeschalteten Registern gespeicherten Daten; und
Durchschieben der übrigen Bit in dem Bitstrom NL + L&sub1; durch die Kette von Bauelementen, bis ein getrenntes der L&sub1; Füllbit im Strom in einer getrennten der L&sub1; Abfragezellen in den Bauelementen in der dem Register in dem zu prüfenden Bauelement vorgeschalteten Kette, um das Register innerhalb des zu prüfenden Bauelements mit einem aufeinanderfolgenden der N L-Bit-Segmente gültiger Daten zu beladen.
2. Verfahren nach Anspruch 1, wobei der erste Schiebeschritt folgende Schritte enthält:
Beladen eines Rückw-rtszhlers (28) mit dem Wert L&sub1; vor Einschieben irgendeines der Bit in dem Strom von (NL + L&sub1;) Bit in die Kette von Bauelementen; und
Erniedrigen des Zählers jedesmal, wenn eine aufeinanderfolgende der ersten Schiebeoperationen eintritt.
3. Verfahren nach Anspruch 1, wobei Daten in ein L-Bit-Datenregister innerhalb jedes einer Mehrzahl von zu prüfenden Bauelementen, das seriell in eine Abfragekette eingekoppelt ist, eingeladen werden.
4. Verfahren zur wirksamen Übertragung von Daten zu und von einem L-Bit-Datenregister (14), wobei L eine Ganzzahl ist, in einem zu prüfenden Bauelement (10), das seriell mit einem Register von mindestens einem weiteren Bauelement (10') in einer Kette verbunden ist, mit folgenden Schritten:
Verketten eines Stromes von L[L&sub1;/L] - L&sub1; Füllbit, wobei L&sub1; die Gesamtzahl der seriell verbundenen Abfragezellen der Register in den Bauelementen in der dem L-Bit- Register innerhalb des zu prüfenden Bauelements vorgeschalteten Kette ist, vor einem Paket von N (wobei N eine Ganzzahl ist) getrennten L-Bit-Datensegmenten, die jeweils aufeinanderfolgend zu dem L-Bit-Datenregister in dem zu prüfenden Bauelement zu übertragen sind, so daß das erste Paket von [L&sub1;/L] Bit in dem zuerst zu dem L-Bit-Grenzabfrage-Datenregister in dem zu prüfenden Bauelement zu übertragenden Paket von NL Bit am Ende des Pakets von NL Bit liegt;
Verketten eines Pakets von L&sub1; Füllbit mit beliebigen Werten mit dem Strom von (L [L&sub1;/L] - L&sub1; + NL) Bit, um einen Datenstrom von (L [L&sub1;/L] - L&sub1; + NL + L&sub1;) Bit zu ergeben;
auf einanderfolgendes Durchschieben der (L [L&sub1;/L] - L&sub1;) Bit in dem Strom von (L [L&sub1;/L] - L&sub1; + NL + L&sub1;) Bit durch die Register in den Bauelementen, die in diesem Teil der dem L-Bit-Register innerhalb des zu prüfenden Bauelements vorgeschalteten Kette liegen, durch Veranlassen, daß das zu prüfende Bauelernent aufeinanderfolgend die Adresse des Registers erhöht, und dadurch Ausräumen der jeweiligen in den vorgeschalteten Registern gespeicherten Daten und Anfüllen der ersten L[L&sub1;/L] Zellen in dem Register in dem zu prüfenden Bauelement mit ungültigen Daten; und
Durchschieben der übrigen Bit in dem Strom von L&sub1; + NL Bit durch die Kette von Bauelementen durch Veranlassen, daß das zu prüfende Bauelement aufeinanderfolgend das Register so adressiert, daß veranlaßt wird, daß die Adressierung des Registers zu einem Adreßwert Null zurückkehrt, sobald die höchste Adresse erreicht ist, wobei dieses Verschieben solange ausgeführt wird, bis ein getrenntes der L&sub1; Füllbit im Strom in einer getrennten der L&sub1; Abfragezellen in den Bauelementen in der dem Register in dem zu prüfenden Bauelement vorgeschalteten Kette gespeiechert ist, um das Register mit diesem Bauelernent mit einem aufeinanderfolgenden der N L-Bit-Segmente gültiger Daten zu beladen.
DE69120765T 1990-10-09 1991-10-02 Verfahren zum Datentransfer zu oder von Vorrichtungen über eine Boundary-Scan-Test-Schnittstelle Expired - Fee Related DE69120765T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/594,516 US5155732A (en) 1990-10-09 1990-10-09 Method and apparatus for data transfer to and from devices through a boundary-scan test access port

Publications (2)

Publication Number Publication Date
DE69120765D1 DE69120765D1 (de) 1996-08-14
DE69120765T2 true DE69120765T2 (de) 1996-11-28

Family

ID=24379213

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69120765T Expired - Fee Related DE69120765T2 (de) 1990-10-09 1991-10-02 Verfahren zum Datentransfer zu oder von Vorrichtungen über eine Boundary-Scan-Test-Schnittstelle

Country Status (5)

Country Link
US (1) US5155732A (de)
EP (1) EP0480619B1 (de)
JP (1) JPH0731614B2 (de)
KR (1) KR920009113A (de)
DE (1) DE69120765T2 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5254942A (en) * 1991-04-25 1993-10-19 Daniel D'Souza Single chip IC tester architecture
JP2973641B2 (ja) * 1991-10-02 1999-11-08 日本電気株式会社 Tapコントローラ
US5377198A (en) * 1991-11-27 1994-12-27 Ncr Corporation (Nka At&T Global Information Solutions Company JTAG instruction error detection
US5231314A (en) * 1992-03-02 1993-07-27 National Semiconductor Corporation Programmable timing circuit for integrated circuit device with test access port
TW253097B (de) * 1992-03-02 1995-08-01 At & T Corp
DE4232271C1 (de) * 1992-09-25 1994-02-17 Siemens Ag Elektronischer Baustein mit einer Schieberegisterprüfarchitektur (Boundary-Scan)
US5404526A (en) * 1992-10-20 1995-04-04 Dosch; Daniel G. Improved method for accessing machine state information
US5448576A (en) * 1992-10-29 1995-09-05 Bull Hn Information Systems Inc. Boundary scan architecture extension
US5333139A (en) * 1992-12-30 1994-07-26 Intel Corporation Method of determining the number of individual integrated circuit computer chips or the like in a boundary scan test chain and the length of the chain
US5379302A (en) * 1993-04-02 1995-01-03 National Semiconductor Corporation ECL test access port with low power control
US5490151A (en) * 1993-07-26 1996-02-06 At&T Corp. Boundary scan cell
US6006343A (en) * 1993-07-30 1999-12-21 Texas Instruments Incorporated Method and apparatus for streamlined testing of electrical circuits
US5544174A (en) * 1994-03-17 1996-08-06 The United States Of America As Represented By The Secretary Of The Air Force Programmable boundary scan and input output parameter device for testing integrated circuits
US5513189A (en) * 1994-05-25 1996-04-30 Tandem Computers, Incorporated Boundary scan system with improved error reporting using sentinel bit patterns
JP3849884B2 (ja) * 1995-06-09 2006-11-22 富士通株式会社 2進数の1つのシーケンスを生成する装置、記憶モジュール内の障害に対するテストを行う方法、および記憶モジュールに対するテストを行うシステム
KR100240662B1 (ko) * 1997-09-25 2000-01-15 윤종용 제이태그에 의한 다이나믹램 테스트장치
US6032279A (en) * 1997-11-07 2000-02-29 Atmel Corporation Boundary scan system with address dependent instructions
US6308290B1 (en) 1999-05-20 2001-10-23 International Business Machines Corporation Look ahead scan chain diagnostic method
DE10032256C2 (de) * 2000-07-03 2003-06-05 Infineon Technologies Ag Chip-ID-Register-Anordnung
US7188277B2 (en) * 2003-03-28 2007-03-06 Hewlett-Packard Development Company, L.P. Integrated circuit
US7206983B2 (en) * 2005-03-31 2007-04-17 Lsi Logic Corporation Segmented addressable scan architecture and method for implementing scan-based testing of integrated circuits
EP2331979B1 (de) * 2008-09-26 2012-07-04 Nxp B.V. Verfahren zur prüfung einer teilweise zusammengebauten mehrchipanordnung, integrierter schaltungschip und mehrchipanordnung
TWI640996B (zh) * 2017-12-21 2018-11-11 新唐科技股份有限公司 記憶體電路及其測試方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5864844A (ja) * 1981-10-15 1983-04-18 Victor Co Of Japan Ltd 同期検出方式
US4534028A (en) * 1983-12-01 1985-08-06 Siemens Corporate Research & Support, Inc. Random testing using scan path technique
US4872169A (en) * 1987-03-06 1989-10-03 Texas Instruments Incorporated Hierarchical scan selection
US4827476A (en) * 1987-04-16 1989-05-02 Tandem Computers Incorporated Scan test apparatus for digital systems having dynamic random access memory
US4947357A (en) * 1988-02-24 1990-08-07 Stellar Computer, Inc. Scan testing a digital system using scan chains in integrated circuits
US5079725A (en) * 1989-11-17 1992-01-07 Ibm Corporation Chip identification method for use with scan design systems and scan testing techniques

Also Published As

Publication number Publication date
JPH04263335A (ja) 1992-09-18
KR920009113A (ko) 1992-05-28
DE69120765D1 (de) 1996-08-14
JPH0731614B2 (ja) 1995-04-10
EP0480619A2 (de) 1992-04-15
EP0480619B1 (de) 1996-07-10
US5155732A (en) 1992-10-13
EP0480619A3 (de) 1994-02-23

Similar Documents

Publication Publication Date Title
DE69120765T2 (de) Verfahren zum Datentransfer zu oder von Vorrichtungen über eine Boundary-Scan-Test-Schnittstelle
DE2555439C2 (de) Monolithische hochintegrierte Halbleiterschaltung
DE3237224C2 (de)
DE3882266T2 (de) Abfrageprüfgerät für digitale Systeme mit dynamischem Direktzugriffspeicher.
DE10150321A1 (de) Verfahren und Vorrichtung zum Testen von integrierten Schaltungen
DE3586421T2 (de) Anzeigegeraet.
DE4206286C2 (de) Speicherzugriffssystem und Verfahren zum Ausgeben eines digitalen Datenstromes
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE68922975T2 (de) Speichereinheit mit zwei Toren.
DE3685711T2 (de) Anordnung zur simulation von rechnerfunktionen von grossrechenanlagen.
CH627580A5 (de) Austauschanordnung zur bereitstellung von austauschadressen fuer den betrieb eines pufferspeichers in einer speicherhierarchie.
DE3490015T1 (de) Abfragbarer CMOS Schalter
DE2619159A1 (de) Fehlererkennungs- und korrektureinrichtung
DE2517356A1 (de) In datenverarbeitungsanlagen universell einsetzbarer logischer modul- baustein
DE69613560T2 (de) Ein Prüfgerät für elektronische Schaltkreise oder Platinen mit komprimierten Datenfolgen
DE3900248C2 (de) Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens
DE1474347A1 (de) Einrichtung zum Betrieb von Digitalspeichern mit defekten Speicherelementen
DE2912073C2 (de)
DE2952631C2 (de) Schaltungsanordnung zur Diagnose einer Datenverarbeitungsanlage
DE3434436A1 (de) Befehls-subsitutionssystem fuer eine pruefeinrichtung fuer ein datenverarbeitungssystem
DE69109703T2 (de) Sequentielle Endlichautomatenschaltung sowie integrierte Schaltung mit einer derartigen Schaltung.
DE3317593C2 (de) Prüfsystem-Speicherarchitektur
DE10226585C1 (de) RAM-Speicherschaltung
EP0347970B1 (de) Verfahren zum Prüfen eines Festwertspeichers und Anordnung zur Durchführung des Verfahrens
DE69032490T2 (de) Datenspeichersystem und dessen Betriebsverfahren

Legal Events

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