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-SchnittstelleInfo
- 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
Links
- 238000012360 testing method Methods 0.000 title claims description 99
- 238000000034 method Methods 0.000 title claims description 21
- 238000012546 transfer Methods 0.000 title description 17
- 238000011144 upstream manufacturing Methods 0.000 claims description 9
- 238000011010 flushing procedure Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318555—Control logic
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318544—Scanning methods, algorithms and patterns
- G01R31/318547—Data generators or compressors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318572—Input/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.
- 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.
- 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.
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)
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)
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 |
-
1990
- 1990-10-09 US US07/594,516 patent/US5155732A/en not_active Expired - Lifetime
-
1991
- 1991-10-02 EP EP91309018A patent/EP0480619B1/de not_active Expired - Lifetime
- 1991-10-02 DE DE69120765T patent/DE69120765T2/de not_active Expired - Fee Related
- 1991-10-07 JP JP3285417A patent/JPH0731614B2/ja not_active Expired - Fee Related
- 1991-10-08 KR KR1019910017570A patent/KR920009113A/ko not_active Application Discontinuation
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 |