[go: up one dir, main page]

DE60314525T2 - TAP Zeitmultiplexen mit Abtasttest - Google Patents

TAP Zeitmultiplexen mit Abtasttest Download PDF

Info

Publication number
DE60314525T2
DE60314525T2 DE60314525T DE60314525T DE60314525T2 DE 60314525 T2 DE60314525 T2 DE 60314525T2 DE 60314525 T DE60314525 T DE 60314525T DE 60314525 T DE60314525 T DE 60314525T DE 60314525 T2 DE60314525 T2 DE 60314525T2
Authority
DE
Germany
Prior art keywords
test
mode
circuit
multiplexer
data
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 - Lifetime
Application number
DE60314525T
Other languages
English (en)
Other versions
DE60314525D1 (de
Inventor
Bob Thornbury Warren
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 Ltd Great Britain
STMicroelectronics lnc USA
Original Assignee
STMicroelectronics Ltd Great Britain
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 STMicroelectronics Ltd Great Britain, SGS Thomson Microelectronics Inc filed Critical STMicroelectronics Ltd Great Britain
Application granted granted Critical
Publication of DE60314525D1 publication Critical patent/DE60314525D1/de
Publication of DE60314525T2 publication Critical patent/DE60314525T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/318558Addressing or selecting of subparts of the device under test
    • G01R31/318563Multiple simultaneous testing of subparts
    • 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/318536Scan chain arrangements, e.g. connections, test bus, analog signals

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

  • Diese Erfindung bezieht sich auf eine integrierte Schaltung.
  • In diesem Dokument bezieht sich der Ausdruck "Hardwaretesten" auf einen strukturellen oder Herstellungstest, d.h. der Vorgang, bei welchem die korrekte Herstellung des Siliciums oder der Hardware festgestellt wird. "Softwaretesten" bezieht sich auf das Überwachen oder Debuggen, d.h. den Vorgang, bei welchem bei Korrektheit der Software oder der Interaktion zwischen Software und Hardware festgestellt wird. Der Ausdruck "testen" kann sich entweder auf jeweils einen oder beide dieser Tests beziehen.
  • Testanschluss (TAP, engl.: Test Access Port)-Steuerungen sind im Stand der Technik wohlbekannt. Die Buchstaben TAP-Steuerungen werden dafür verwendet, eine Kommunikation von Testdaten auf (bzw. on-Chip) und entfernt (bzw. off-Chip) von einem Chip über einen als JTAG (Joint Test Action Group)-Anschluss (engl.: Port) zu bewirken. Die Funktionen bekannter TAP-Steuerungen werden durch den IEEE-Standard 1149.1-1990 definiert. Dieser Standard definiert eine Testlogik, die in einem integrierten Schaltkreis eingeschlossen werden kann, um einen standardisierten Ansatz zum Testen der Verbindungen zwischen integrierten Schaltungen, Testen der integrierten Schaltung selbst und Beobachten und Verändern von Schaltkreisaktivitäten während des "normalen" oder "Benutzermodus"-Betriebs der integrierten Schaltungen bereitzustellen.
  • Gemäß dem IEEE-Standard ist die TAP-Steuerung in der Lage, eine Reihe von verschiedenen Testmoden auszuführen. Bei jedem dieser Testmoden werden Testdaten der integrierten Schaltung über einen Eingangs-PIN der TAP-Steuerung zugeführt und resultierende Daten, die dem Test folgen, werden von dem Chip über einen Ausgangs-PIN der TAP-Steuerung geführt. Testdaten können auch über mehrere PINs des Chips eingegeben und ausgegeben werden, wobei diese nicht durch die TAP-Steuerung laufen, entsprechend dem gewählten Testmodus. Die resultierenden Daten hängen von den Testdaten ab und werden mit erwarteten Daten verglichen, um die Gültigkeit des Tests zu überprüfen. Die Eingangs- und Ausgangs-PINs werden entsprechend als TDI (Testdateneingang, engl.: Test Data Input) und TDO (Testdatenausgang, engl.: Test Data Output) bezeichnet. Viele existierende integrierte Schaltungen enthalten bereits eine TAP-Steuerung dieser Art mit den Eingangs- und Ausgangs-PINs (TDI und TDO).
  • Der IEEE-Standard definiert auch ein Testtaktsignal (TCK) und ein Testmodusauswahlsignal TMS, die Eingaben an die TAP-Steuerung sind. Optional kann auch zur Verwendung zum Neustarten der Vorrichtung ein Test-Neustarteingangssignal notTRST (in manchen Schriften auch als TRST* bezeichnet) definiert werden.
  • Unsere frühere Patentanmeldung EP-A-0 840 217 beschreibt ein System, das diese PINs und die TAP-Steuerung verwendet, um die Kommunikationsfähigkeiten der integrierten Schaltung ohne Multiplexen der PINs zu vergrößern und dadurch den Standard zu verletzen.
  • In der Vergangenheit wurden Prozessoren (CPU) so hergestellt, dass ein einzelner Prozessor in einer integrierten Schaltung aufgenommen wird, wodurch ein von dem Chip entfernter Zugriff auf alle seine Hilfsschaltkreise, wie beispielsweise Speicher, notwendig wird. Als Ergebnis hat die integrierte Schaltung mehrere Eingangs-PINs, so dass Information über die CPU, insbesondere Speicheradressinformation, von außen über diese Zugangs-PINs extern verfügbar war.
  • Zusätzlich zur Speicheradressinformation ist es nützlich, in der Lage zu sein, Statusinformation über den internen Zustand des Prozessors zu erhalten, zum Beispiel solche Ereignisse wie Interrupts, Veränderungen in Befehlsströmen, Setzen von Flags in verschiedenen Statusregistern der CPU, usw.
  • Heutzutage sind Chips komplexer und enthalten nicht nur einen Prozessor auf dem Chip, sondern auch seinen zugehörigen Speicher und andere Hilfsschaltkreise. Oftmals ist mehr als ein Prozessor auf einem Chip und diese Prozessoren können interagieren. Daher ist es nicht mehr eine einfache Aufgabe, den Betrieb des Prozessors zu überwachen, da die Signale, die normalerweise entfernt vom Chip verfügbar sind, nicht mehr einen direkten Hinweis auf den internen Betrieb der CPU bereitstellen.
  • Mit der vergrößerten Komplexität von Software, die konstruiert ist, auf CPUs von integrierten Schaltungen zu laufen, wird es immer wichtiger, die Software entsprechend zu testen. Dies benötigt Techniken zur Überwachung des Betriebes der CPU, während sie die Software ausführt. Es ist eine besonders lästige Anforderung, die Software ohne einzugreifen zu überwachen, während sie in Echtzeit läuft. Es gibt eine Anforderung für ein System dieses zu erreichen, wenn viele CPUs auf dem Chip vorhanden sind, die getestet werden sollen. Selbst dort, wo es nicht praktisch oder nicht möglich ist, ein nicht-eingreifendes Überwachen zu erreichen, besteht dennoch ein Bedarf, einen Zugriff auf den Betrieb der Software, die auf mehreren CPUs auf dem Chip ausgeführt wird, mit einem Minimum an Eingriff zu erhalten.
  • Eine Möglichkeit des Testens von mehreren CPUs auf dem Chip wäre es, einzelne TAP-Steuerungen für jede CPU zu haben, und einen Satz externer PINs zur Kommunikation entfernt vom Chip für jede der TAP-Steuerungen. Allerdings ist dies nicht wünschenswert, wegen der vergrößerten Anzahl von benötigen PINs, was dann nicht praktisch ist, wenn die Grenze von verfügbaren PINs bereits erreicht wurde.
  • Unsere vorige Patentanmeldung EP-0-982 595 beschreibt ein alternatives Verfahren zum Testen mehrerer CPUs auf einem Chip. Eine TAP-Steuerung auf dem Chip vermittelt zwischen den externen PINs und einer Datenanpassungsvorrichtung. Die Datenanpassungsvorrichtung steuert Kommunikationen zu zwei CPUs zum Testen. Während dieses System nützlich beim Testen von mehreren CPUS unabhängig voneinander ist, ist dieses System nicht besonders flexibel.
  • Der Erfinder hat erkannt, dass ein Problem bei dem bekannten Vorschlag zum Testen einer integrierten Schaltung, die mehr als einen Prozessor hat, die Anforderung ist, für jeden Prozessor eine geeignete Schnittstelle zu der Datenanpassungsvorrichtung zu haben. Eine derartige Lösung ist nicht verfügbar, wo die mehreren CPUs auf dem Chip nicht von derselben Familie oder demselben Unternehmen sind. Typischerweise weist eine CPU für eingebettete Anwendungen eine JTAG-Schnittstelle auf, aber sie wird keine Einrichtung für eine alternative Schnittstelle haben.
  • US 5,627,842 beschreibt eine Vorrichtung und ein Verfahren für hierarchisches, zentralisiertes, grenzenabtastendes Fehlertesten von erweiterten elektronischen Schaltungen, einschließlich Zwischen-Bauteiltesten innerhalb eines vereinheitlichten Standardprotokolls. Es existiert ein System mit einem Bus-Leiterplatten-Testbus und Platinen. Jede der Platinen weist eine Slotverbindungs-TAP-Steuerung und eine Anzahl von Chips auf, jeweils mit einer TAP-Steuerung. Wenn das System eingeschaltet wird, werden alle TAP-Steuerungen einschließlich der Acht-Slotverbindungs-TAP-Steuerung und der Chip-TAP-Steuerung, die zu den einzelnen Chips auf der Platine verknüpft sind, in einen logischen Test-Neustartzustand gesetzt.
  • US 5,640,521 offenbart ein System, bei welchem eine integrierte Schaltung auf einer Platine zum Testen in Reihe geschaltet ist, wobei jede Schaltung eine TAP-Steuerung umfasst.
  • US 2003/009715 offenbart eine parallele Testarchitektur, bei der ein gleichzeitiger Zugriff auf verschiedene elektronische Schaltungen zum Testen, Debuggen oder Einrichtung der Schaltung offenbart ist.
  • US 6,064,743 offenbart einen Neustart-PIN, der eine Priorität über mehrere von Testmoden hat.
  • In Übereinstimmung mit einem Aspekt der Erfindung wird eine integrierte Schaltung (10) bereitgestellt, die umfasst: mehrere Bereiche, wobei jeder Bereich einen Teststeuerschaltkreis aufweist, wenigstens einen Testeingang, der eingerichtet ist, Testsignale zu empfangen, wobei eine oder mehrere der Teststeuerschaltkreise mehrere Testmodi aufweisen, bei welcher in wenigstens einer der Testmodi ein oder mehrere der mehreren Bereiche getestet werden können, bei welcher die Schaltung einen Neustartmodus aufweist, der eine Priorität hat, die über der des Testmodus liegt.
  • Vorzugsweise umfasst der Neustartmodus einen Umgehungsmodus.
  • Vorzugsweise hat der Neustartmodus die höchste Priorität eines jeden Modus der integrierten Schaltung.
  • Vorzugsweise ist der Testmodus ein Strukturtestmodus.
  • Vorzugsweise ist der Testmodus ein Abtasttestmodus.
  • Vorzugsweise weist einer der Teststeuerschaltkreise einen Haupttestschaltkreis auf.
  • Vorzugsweise ist der Haupttestschaltkreis eingerichtet, wenigstens einen anderen der mehreren Bereiche der Schaltung zu testen.
  • Vorzugsweise ist der Haupttestschaltkreis eingerichtet, alle anderen Bereiche der Schaltung zu testen.
  • Vorzugsweise weist der Haupttestschaltkreis eine TAP-Steuerung auf.
  • Vorzugsweise weist der Teststeuerschaltkreis einen TAP-Multiplexer auf, um Eingabe- und/oder Ausgabetestdaten zu/von mehreren Testschaltkreisen zu multiplexen.
  • Vorzugsweise umfasst der TAP-Multiplexer ein Umgehungsschaltnetz und ein Schaltwerk.
  • Vorzugsweise wird das Schaltwerk in einem Umgehungsmodus umgangen.
  • Vorzugsweise wird das Schaltwerk über den Haupttestschaltkreis getestet.
  • Vorzugsweise hat der Testmodus Vorrang vor einem Multiplexermodus.
  • Für ein besseres Verständnis der vorliegenden Erfindung und um zu zeigen, wie selbige verwirklicht werden kann, wird nun auf die beigefügten Zeichnungen Bezug genommen, in welchen:
  • 1 schematisch eine Testumgebung zum Testen von Vorrichtungen auf einer integrierten Schaltungsplatine in Übereinstimmung mit einem ersten Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht;
  • 2 schematisch den Schaltkreis veranschaulicht, der den Multiplexerblock von 1 umfasst;
  • 3 die Zustände und die möglichen Zustandsübergänge für ein Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht;
  • 4 eine Tabelle mit TAP-Signalen und deren Signifikanz für die Zustände und Zustandsübergänge, wie in 3 gezeigt, zeigt;
  • 5 schematisch einen Überabtastschaltkreis veranschaulicht, der in einem Ausführungsbeispiel der vorliegenden Erfindung aufgenommen ist.
  • In Übereinstimmung mit einem anderen Aspekt der Erfindung, wird eine integrierte Schaltung bereitgestellt, die umfasst: mehrere Bereiche, wobei jeder Bereich einen Teststeuerschaltkreis aufweist; wenigstens einen Ausgang, der eingerichtet ist, Testsignale von einem der mehreren Bereiche auszugeben; und einen Multiplexer zwischen dem wenigstens einen Testausgang und dem Teststeuerschaltkreis, wobei der Multiplexer wenigstens einen Steuereingang hat, wodurch der Multiplexer steuerbar ist, um Testsignale von einem der mehreren Bereiche zu dem wenigstens einen Testausgang zu leiten.
  • Vorzugsweise wird ein Überabtastmittel bereitgestellt, um Testdaten überabzutasten, die über den einen Testausgang empfangen wurden, und zur Steuerung des Eingangstaktens der empfangenen Daten in Abhängigkeit der Überabtastung.
  • In Übereinstimmung mit einem anderen Aspekt der Erfindung wird eine integrierte Schaltung bereitgestellt, die umfasst: wenigstens einen Testeingang zum Empfangen von Testdaten; einen Teststeuerschaltkreis zwischen dem wenigstens einen Testeingang und dem zu testenden Schaltkreis; wobei die Testdaten eingangsgetaktet werden auf einer steigenden Taktflanke und einer fallenden Taktflanke.
  • In Übereinstimmung mit einem weiteren Aspekt der vorliegenden Erfindung wird eine integrierte Schaltung bereitgestellt, die umfasst: wenigstens einen Testausgang zum Ausgeben von Testdaten; einen Teststeuerschaltkreis zwischen dem wenigstens einen Testausgang und dem zu testenden Schaltkreis; wobei die Testdaten ausgetaktet werden auf einer steigenden Taktflanke und einer fallenden Taktflanke.
  • Vorzugsweise werden mehrere Teststeuerschaltkreise und mehrere zu testende Schaltkreise bereitgestellt, wobei die Testdaten die auf der steigenden Taktflanke ein- bzw. ausgetaktet werden zu bzw. von einem ersten der Teststeuerschaltkreise geleitet werden und Testdaten, die an dem fallenden Taktflankenschaltkreis ein- bzw. ausgetaktet werden, werden zu bzw. von einem zweiten Teststeuerschaltkreis geleitet.
  • Vorzugsweise umfasst die integrierte Schaltung einen Schaltkreis zum Trennen von Testdaten, die auf der steigenden Flanke des Taktsignals eingetaktet wurden und Testdaten, die auf der fallenden Flanke des Taktsignals eingetaktet wurden.
  • Vorzugsweise weist der Trennungsschaltkreis mehrere Flip-Flops auf, wobei einer von diesen durch ein Taktsignal getaktet wird und der andere von diesen durch ein Inverses des Taktsignals gesteuert wird.
  • Vorzugsweise werden die Daten durch Überabtastung genommen.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung, wird eine integrierte Schaltung bereitgestellt, die umfasst: mehrere Bereiche, wobei jeder Bereich einen Teststeuerschaltkreis aufweist; wenigstens einen Testeingang, der eingerichtet ist, Testdaten zu empfangen; wobei die Testdaten in mehreren Zeitschlitzen eingetaktet werden, wobei die Testdaten für verschiedene der mehreren Bereiche verschiedenen Zeitschlitzen zugewiesen sind.
  • Vorzugsweise entspricht jeder Zeitschlitz einem Taktzyklus.
  • Vorzugsweise ist jeder Zeitschlitz in zwei Halbschlitze geteilt.
  • Vorzugsweise ist jeder Halbschlitz eines Zeitschlitzes einem unterschiedlichen der mehreren Bereiche zugeordnet.
  • Vorzugsweise werden Frames bereitgestellt, wobei jeder n Zeitschlitze enthält.
  • Vorzugsweise ist n gleich 8.
  • Vorzugsweise werden die Schlitze in einem Frame vorgegebenen der mehreren Bereiche des Schaltkreises zugewiesen und diese Zuweisung wird für mehrere der Frames verwendet.
  • Vorzugsweise werden die Slots dynamisch zugewiesen.
  • Vorzugsweise ist ein Bereich des Schaltkreises einer Hälfte der verfügbaren Slots zugewiesen.
  • Vorzugsweise ist einer der Bereiche des Schaltkreises einem Viertel der verfügbaren Schlitze zugewiesen.
  • Vorzugsweise ist ein gegebener Zeitschlitz einem gegebenen Zeitkanal zugewiesen, bis die Information Token empfangen wird, um den Zeitschlitz einem anderen Kanal zuzuweisen.
  • Vorzugsweise ist die Datenmenge pro Kanal gleich wenigstens einem Schlitz.
  • In Übereinstimmung mit einem anderen Aspekt der Erfindung wird eine integrierte Schaltung bereitgestellt, die umfasst: mehrere Bereiche, wobei jeder Bereich einen Teststeuerschaltkreis aufweist; und mehrere Testeingänge, die eingerichtet sind, Testdaten zu empfangen, wobei in einem Testmodus Daten unter Verwendung von Token übertragen werden, wobei jeder Token m Bits aufweist, m/2 Bits werden über eine steigende Flanke eines Taktsignals übertragen und m/2 Bits werden über eine fallende Flanke eines Taktsignals übertragen, so dass ein Token in einem Taktzyklus übertragen wird.
  • Vorzugsweise ist die Tokeneingabe kodiert.
  • Vorzugsweise ist die Dekodierung der Eingabe davon abhängig, ob ein Schlitz einem Kanal zugewiesen wurde oder nicht.
  • Vorzugsweise wird, wenn der Kanal nicht einem gegebenen Schlitz zugewiesen ist, eine vorgegebene Kombination von Eingaben den gegebenen Schlitz einem Kanal mit dem Token zuweisen.
  • Vorzugsweise wird, wenn der Kanal zugewiesen ist, der Token eines der folgenden bereitstellen: Daten für den zugewiesenen Kanal; Freigeben des Schlitzes; Bereitstellen eines ungenutzten Schlitzes; Bereitstellen eines Neustarts.
  • Vorzugsweise wird ein Neustartmodus ausgelöst, wenn ein Token eine vorgegebene Eingabe bereitstellt.
  • Vorzugsweise kann die Information, die von dem Token bereitgestellt wird, durch eine Hälfte des Tokens bereitgestellt werden.
  • Vorzugsweise sind die beiden Hälften des Tokens dieselben bei wenigstens manchen Betriebsmoden des Schaltkreises.
  • Vorzugsweise wird der Neustartmodus bereitgestellt, wenn eine Hälfte des Tokens vollständig niedrige Werte hat.
  • Vorzugsweise ist die Kodierung, die verwendet wird, wenn ein Schlitz freigegeben wird oder zugewiesen wird, dieselbe, aber die Information, die bereitgestellt wird, wird dadurch festgelegt, ob der Schlitz zugewiesen wurde oder nicht.
  • In Übereinstimmung mit einem anderen Aspekt, wird ein integrierte Schaltung bereitgestellt, die einen ersten Modus und einen zweiten Modus für die Datenübertragung aufweist, wobei in dem ersten Modus für die Datenübertragung die Zeit, die für eine Testdateneingabe, die von einem externen Testschaltkreis empfangen werden soll, und für entsprechende Testdaten, die an den externen Testschaltkreis ausgegeben werden sollen, benötigt wird weniger ist, als eine Taktperiode des externen Testschaltkreises und bei einem zweiten Modus der Datenübertragung die Zeit, die für eine Testdateneingabe, die von einem externen Testschaltkreis empfangen werden soll, und entsprechende Testdaten, die an den externen Testschaltkreis ausgegeben werden sollen, benötigt wird, größer ist, als eine Taktperiode des externen Testschaltkreises, wobei die integrierte Schaltung umfasst: einen Zielschaltkreis zum Interagieren mit der dekodierten Testdateneingabe; und ein Kodiermittel zum Kodieren eines Signals von dem Testschaltkreis für den externen Testschaltkreis, wobei der Schaltkreis eingerichtet ist, sowohl im ersten als auch im zweiten Datenübertragungsmodus einen n-Zyklusbetrieb zu haben, in dem das Dekodiermittel das Signal dekodiert, wobei der Zielschaltkreis mit dem Signal interagiert und das Kodiermittel das Signal kodiert.
  • Vorzugsweise ist n gleich 3.
  • In Übereinstimmung mit einem anderen Aspekt der Erfindung, wird ein Testschaltkreis zum Testen einer integrierten Schaltung bereitgestellt, wobei der Testschaltkreis bezüglich der integrierten Schaltung extern ist, wobei die integrierte Schaltung einen ersten Modus und einen zweiten Modus für die Datenübertragung aufweist, wobei bei dem ersten Übertragungsmodus die Zeit, die für die Testdateneingabe von dem externen Testschaltkreis für den Empfang und die entsprechende Testdatenausgabe an den externen Testschaltkreis benötigt wird, kleiner ist als eine Taktperiode des externen Testschaltkreises und bei einem zweiten Datenübertragungsmodus die Zeit, die für den Empfang einer Testdateneingabe von einem externen Testschaltkreis und für eine entsprechende Testdatenausgabe an den externen Testschaltkreis benötigt wird, größer ist als eine Taktperiode des externen Testschaltkreises, wobei der Testschaltkreis mehrere Pufferbereiche aufweist zum Puffern von Signalen, die von dem Testschaltkreis empfangen wurden und/oder zu dem Testschaltkreis gesendet wurden, wobei bei dem ersten Datenübertragungsmodus die Signale, die von dem Testschaltkreis empfangen wurden und/oder zu dem Testschaltkreis gesendet wurden, eine kleinere Verzögerung aufweisen, die von den Pufferbereichen bereitgestellt wird, als bei dem zweiten Datenübertragungsmodus.
  • Vorzugsweise wird bei dem ersten Datenübertragungsmodus wenigstens einer der Pufferbereiche umgangen.
  • Es sollte begrüßt werden, dass jeder beliebige Aspekt in Verbindung mit jedem beliebigen anderen oder mehreren der anderen Aspekte verwendet werden kann.
  • Für ein besseres Verständnis der vorliegenden Erfindung und um zu zeigen, wie selbige verwirklicht werden kann, wird nun auf die beigefügten Zeichnungen Bezug genommen, in welchen:
  • 1 schematisch eine Testumgebung zum Testen von Vorrichtungen auf einer integrierten Schaltungsplatine in Übereinstimmung mit einem ersten Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht;
  • 2 schematisch den Schaltkreis veranschaulicht, der den Multiplexerblock von 1 umfasst;
  • 3 die Zustände und möglichen Zustandsübergänge eines Ausführungsbeispieles der vorliegenden Erfindung veranschaulicht;
  • 4 eine Tabelle mit TAP-Signalen und deren Signifikanz für die Zustände und Zustandsübergänge, die in 3 gezeigt sind, zeigt;
  • 5 schematisch einen Überabtastschaltkreis veranschaulicht, der in einem Ausführungsbeispiel der vorliegenden Erfindung aufgenommen ist;
  • 6 ein Taktdiagramm für zwei Ausgaben der Anordnung von 5 zeigt;
  • 7 ein Taktdiagramm zeigt, das eine Doppeldatenratenübertragung veranschaulicht, die in Ausführungsbeispielen der vorliegenden Erfindung verwendet wird;
  • 8 schematisch eine Testumgebung zum Testen von Vorrichtungen auf einer integrierten Schaltungsplatine in Übereinstimmung mit einem weiteren Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht;
  • 9 den Schaltkreis des Multiplexer-Treibers von 8 zeigt;
  • 10 den Multiplexerblock von 9 zeigt;
  • 11 eine Tabelle zeigt, die ein Kodierschema genau zeigt, das in Ausführungsbeispielen der vorliegenden Erfindung verwendet wird;
  • 12a einen Schaltkreis zur Ausführung der Doppeldatenratenübertragung in Ausführungsbeispielen der vorliegenden Erfindung zeigt;
  • 12b eine Abänderung eines Teils des Schaltkreises von 12a zeigt, um die Überabtastung aufzunehmen;
  • 13 ein Zeitdiagramm zeigt, mit zwei möglichen Formaten für Datensignale;
  • 14 ein Zeitdiagramm für die Anordnung von 12a zeigt;
  • 15 einen Frame von 16 Halbschlitzen zeigt;
  • 16 eine Tabelle zeigt, die Verbindungen während eines Abtasttests des Multiplexerblocks auflistet;
  • 17a das transparente Testen veranschaulicht; und
  • 17b Pipelinetesten zeigt.
  • 1 veranschaulicht schematisch ein Ausführungsbeispiel der vorliegenden Erfindung. Ein Hostcomputer 1 ist mit einer Testeinrichtung 2 verbunden, die wiederum mit externen PINs 3 bis 9 auf einer integrierten Schaltung oder einem Chip 10 verbunden ist. Die integrierte Schaltung 10 empfängt von der Testeinrichtung 2 eine Testtakteingabe TCK am PIN 3, eine Testneustarteingabe notTRST am PIN 4, eine Testmodusauswahleingabe TMS an PIN 5, eine Testdateneingabe TDI am PIN 6, eine erste Kanalauswahleingabe BYPASS_SELECT0 an PIN 8 und eine zweite Kanalauswahleingabe BYPASS_SELECT1 an PIN 9. Die Umgehungsauswahl-PINs können in einigen Ausführungsbeispielen der Erfindung weggelassen werden. Die integrierte Schaltung 10 gibt Testdaten TDO an PIN 7 an die Testeinrichtung aus. Diese Eingaben und Ausgaben sind, so, ausgenommen wie weiter unten diskutiert, wie durch den JTAG-Standard festgelegt.
  • Die Testeinrichtung 2 kann die Testeinrichtung von einem Dritten umfassen oder eine DEBUGG-Einrichtung oder ein TAP-Multiplexer (TAPMux)-Treiber, der detaillierter weiter unten beschrieben werden wird.
  • Auf dem Chip sind die externen PINs 3 bis 9 mit einem Multiplexerblock 11 (TAPMux) verbunden, der die Eingaben von der Testeinrichtung 2, wie oben beschrieben wurde, empfängt und auch die Testausgabe an die Testeinrichtung ausgibt. Der Multiplexerblock 11 ist mit vier entsprechenden Eingangskanälen und vier entsprechenden Ausgangskanälen mit jeweils einer von drei TAP-Steuerungen 12, 13 und 14 und einer Vorrichtung 15 verbunden. Jeder der Ausgangskanäle 0 bis 3 des Multiplexerblocks 11 zu den TAP-Steuerungen und der Vorrichtung umfasst die Signale: ein Testtaktsignal tmx_TCK(n), ein Testmodusauswahlsignal tmx_TMS(n), ein Testdateneingabesignal tmx_TDI(n); und ein Testneustartsignal tmx_notTRST(n) zeigt den Kanal an. Jeder der Eingangskanäle 0 bis 3 zu dem Multiplexerblock 11 von den TAP-Steuerung und der Vorrichtung 15 umfasst ein Testdatenausgabesignal tmx_TDO(n).
  • Die erste TAP-Steuerung 12 kommuniziert über eine erste Schnittstelle, das ist ein erster Datenadapter 16a (ein derartiges Beispiel einer Schnittstelle ist in dem Europäischen Patent Nr. 840 217 beschrieben) mit einer ersten Vorrichtung, die eine erste Diagnosesteuereinheit DCU1 18 und eine erste CPU 150 umfasst. In diesem beispielhaften Ausführungsbeispiel ist die erste CPU 150 von einer ersten Art von einer Familie von CPUs. Die zweite TAP-Steuerung 13 kommuniziert über eine zweite Schnittstelle 16b oder Datenadapter mit einer zweiten Diagnosesteuereinheit DCU2 152 und einer zweiten CPU 154, die zu einer zweiten Art von Familien von CPUs gehört. Die dritte TAP-Steuerung 14 ist integriert in einer Einheit 17 aufgenommen, die auch eine dritte Diagnosesteuereinheit DCU3 156 und eine dritte CPU 158 aufweist. Der dritte Datenadapter 16c ist zwischen der TAP-Steuerung 14 und der dritten DCU 156 bereitgestellt. Die dritte CPU 158 ist von einer dritten Art oder Familie von CPUs. Die letzte Vorrichtung 15, die mit dem Multiplexerblock 11 verbunden ist, umfasst eine Logik, die die Funktion einer TAP-Steuerung aufnimmt, wie durch den IEEE-Standard oder andere proprietäre Logik mit einer ähnlichen Schnittstelle festgelegt wird.
  • Jede der TAP-Steuerungen 12, 13, 14 soll als optional betrachtet werden.
  • Es sollte begrüßt werden, dass die Datenadapter 16a bis c dieselben oder unterschiedlich sein können. Auf ähnliche Art und Weise können die DCU 18, 152, 156 dieselben sein oder unterschiedlich sein.
  • In manchen Ausführungsbeispielen der Erfindung können der Datenadapter und die DCU-Struktur unbekannt sein für den Hersteller des Chips. Dies kann beispielsweise dann auftauchen, wenn ein proprietärer Schaltkreis eines Dritten in der integrierten Schaltung enthalten ist.
  • Unterschiedliche CPU-Familien können von unterschiedlichen Herstellern oder Lieferanten bereitgestellt werden, d.h. von Dritten.
  • Es sollte begrüßt werden, dass Ausführungsbeispiele der Erfindung mit vier Kanälen beschrieben wurden. Es sollte begrüßt werden, dass in anderen Ausführungsbeispielen mehr oder weniger Kanäle bereitgestellt sein können. In der gezeigten Anordnung ist jeder Kanal als durch leicht unterschiedliche Elemente verbunden gezeigt. In anderen Ausführungsbeispielen der Erfindung können zwei oder mehr Kanäle mit derselben Art von Anordnung verbunden sein, so dass dort weniger als vier unterschiedliche Arten von Anordnungen sein können. In anderen Ausführungsbeispielen der Erfindung können die Kanäle alle mit derselben Art von Anordnung verbunden sein.
  • Es sollte begrüßt werden, dass die vier Arten von Anordnungen, die mit den vier Kanälen verbunden sind, nur beispielhaft sind und jede andere geeignete Anordnung stattdessen verwendet werden kann. Die Anordnungen können einen Prozessor aufweisen, aber in anderen Ausführungsbeispielen der Anordnungen, können andere Einheiten, wie beispielsweise Einheiten zur Überwachung oder zum Zugreifen auf einen internen Bus aufweisen, Arbiter- oder andere algorithmische Maschinen. Die unterschiedlichen Anordnungen können ziemlich unterschiedliche Funktionen bereitstellen und aus unterschiedlichen Einheiten hergestellt sein.
  • Eine TAP-Steuerung kann durch von einem Benutzer festgelegte Befehle erweitert werden oder andererseits in Übereinstimmung mit den Regelungen des JTAG-Standards. Die TAP-Steuerung 12 kann ein derartiges Beispiel sein. Die anderen TAP-Steuerungen 13 und 14 können dieselben oder unterschiedlich sein. Die Vorrichtung 15 wird eine TAP-Steuerungsfunktion aufweisen, wie sie beispielsweise durch die TAP-Steuerung bereitgestellt wird, aber sie kann einen integrierten Teil der Anordnung der Vorrichtungen 15 bilden.
  • Der Betrieb der TAP-Steuerung bei der Ausführung von Tests einer integrierten Schaltung ist vollständig in IEEE 1149.1-1990 erklärt. Zusammengefasst, werden endliche Abtastketten auf der integrierten Schaltung gebildet, wie beispielsweise die, die durch eine Chip-Randabtastkette gebildet wird.
  • Die TAP-Steuerung ist eine synchrone finite Zustandsmaschine, wie sie durch den IEEE-Standard 1149.1-1990 festgelegt ist. Der IEEE-Standard 1149.1-1990 definiert eine Testlogik, die in einer integrierten Schaltung enthalten sein kann, um standardisierte Ansätze zum Testen der Verbindungen zwischen integrierten Schaltungen bereitzustellen, Testen der integrierten Schaltung selbst und Beobachten oder Verändern der Schaltungsaktivität während des normalen Betriebs der integrierten Schaltung.
  • In Übereinstimmung mit dem Standard ist, während eines normalen Betriebs der integrierten Schaltung, die TAP-Steuerung in einem Neustartzustand und alle ihre Eingänge und Ausgänge sind inaktiv. Wenn ein Test, der den Testzugangsport in Übereinstimmung mit dem IEEE-Standard 1149.1-1990 verwendet, ausgeführt werden soll, funktioniert die Testzugangsportsteuerung in Übereinstimmung mit den Definitionen von diesem Standard. In einem derartigen Testmodus muss die Testzugangsportsteuerung in der Lage sein, wenigstens einen Testmodus des Betriebes auszuwählen. Ein möglicher Testmodus ist ein Abtasttestmodus.
  • Alternativ oder zusätzlich können komplexere Abtastvorgänge ausgeführt werden, wie beispielsweise das Abtasten von Daten, die in einer funktionalen Logik auf dem Chip eingegeben werden, funktionales Takten des Chips für einen oder mehrere Tastzyklen und dann Abtasten der Ausgaben der funktionalen Logik. Jede beliebigen Verbindungspunkte oder Schaltkreise auf dem Chip können für solche Zwecke verbunden werden, um eine Abtastkette zu bilden. Die TAP-Steuerung kann zusätzlich zu ihrer Verwendung als eine Teststeuerung für einen Strukturtest für eine Logik auf dem Chip über Abtastketten verwendet werden und kann auch für den Zugriff auf interne Zustände verwendet werden, zum Zwecke der Überwachung, Steuerung oder Diagnose der Funktionalität oder Software, während der Chip funktional getaktet wird und normal betrieben wird. Es wird angenommen, dass alle TAP-Steuerungen 12, 13, 14, 15 eine zusätzliche Funktionalität für Diagnosezwecke haben und, dass nur eine TAP-Steuerung 12 für eine Strukturabtasttestung des Chips verwendet wird. Dies kann in verschiedenen Ausführungsbeispielen der Erfindung unterschiedlich sein, wo mehr als eine TAP-Steuerung für den Strukturabtasttest der integrierten Schaltung verwendet wird oder eine unterschiedliche TAP-Steuerung verwendet werden kann.
  • Ein vollständiges Verständnis eines solchen strukturellen Abtasttestens kann man aus der Referenz IEEE-Standard 1149.1-1990 erhalten. Für bestimmte Beispiele dafür, wie Abtasttesten ausgeführt werden kann, soll auf die Europäischen Patentanmeldungsveröffentlichungen Nr. 0698890 , 0702239 , 0702240 , 0702241 , 0702242 , 0702243 , 0709688 im Namen dieses Anmelder genommen werden, Bezug genommen werden.
  • Ein wichtiger Aspekt des Ausführungsbeispieles der vorliegenden Erfindung ist der, dass der Multiplexerblock 11 in 1 nicht nur die Multiplexfunktion bereitstellt, die für die Diagnose der mehreren CPUs benötigt wird, sondern auch, über Verbindung zu der TAP-Steuerung 12, es ermöglicht, die sequentielle Logik (Multiplexer 41 – im Zusammenhang mit 2 erörtert) sich selbst einem strukturellen Abtasttest zu unterziehen. Eine Eigenschaft bekannter Testmoden, die den Testzugangsport von IEEE-Standard 1149.1-1990 verwenden, ist der, dass die Abtastkette von endlicher Länge oder eine geschlossene Schleife darstellt, und, dass das Testdatenausgabesignal TDO von dem Testdateneingabesignal TDI abhängig ist und eine Zeitbeziehung zwischen diesen besteht.
  • In dem beschriebenen Ausführungsbeispiel wird der Diagnose-(Softwaretesten)Betriebsmodus für jede beliebige der TAP-Steuerung 12, 13, 14, 15 für das Ausführen von Diagnoseprozeduren von Quell-/Ziellogik auf dem Chip bereitgestellt, die mit dem IEEE-Standard 1149.1-1990 kompatibel ist. In einem derartigen Diagnosetestmodus ist das Testdatenausgabesignal TDO nicht von dem Testdateneingabesignal abhängig und weist keine dazwischenliegende Zeitbeziehung auf. Die Kette zwischen dem Testdateneingabesignal TDI und dem Testdatenausgabesignal TDO wird als mit unendlicher Länge angesehen, oder als offene Schleife. In dem Diagnosemodus der TAP-Steuerung, während diese damit fortfährt, die normalen Funktionalitäten bereitzustellen, agiert sie zusätzlich als ein Transportagent der Vollduplex, flussgesteuert, unbegrenzt, serielle Daten trägt, obwohl die TAP-Steuerung 12 nicht weiß, dass dies die Form der Daten ist. Umgekehrt handhabt die TAP-Steuerung normalerweise einen einzelnen Datenstrom ohne irgendeine Flusssteuerung, der durch eine ausgewählte Abtastkette verläuft.
  • Einen Überblick über den Betrieb der TAP-Steuerung und ein Testmodus wird nun gegeben. In einem Betriebstestmodus werden das Testdateneingabesignal TDI und das Testmodusauswahlsignal TMS an die TAP-Steuerung unter Steuerung des Testtaktsignal TCK geliefert. Eine Statusmaschine innerhalb der TAP-Steuerung spricht auf den Wert des Testmodusauswahlsignals TMS bei jeder aktiven Flanke des Testtaktsignals TCK an, um entsprechend, wie durch die IEEE-Standard 1149.1-1990 festgelegt, durch seine Zustände durchzulaufen. Das Testneustartsignal notTRST stellt eine asynchrone Initialisierung der TAP-Steuerung bereit, wenn diese in einem niedrigen logischen Zustand in Übereinstimmung mit dem IEEE-Standard 1149.1-1990 ist.
  • Befehle werden in einer seriellen Art und Weise aus dem Testdateneingabesignal TDI geladen, das durch den Testtakt TCK getaktet ist. In Übereinstimmung mit dem gespeicherten Befehl wird entweder das Abtasttestmodus SCANMODE-Signal oder das Diagnosemodussignal DIAGMODE in Abhängigkeit davon gesetzt, ob es ein Abtasttest oder ein Diagnosetest ist, der ausgeführt werden soll.
  • In einem anderen Modus des Testbetriebs kann es nötig sein, dass die TAP-Steuerung einer bestimmten Zielvorrichtung lediglich das Testdateneingabesignal TDI mit dem Testdatenausgabesignal TDO verbindet.
  • Wenn der Testmodus, der ausgeführt werden soll, ein Abtasttestmodus ist, setzt die TAP-Steuerung das Testsignal SCANMODE 59 (2). In diesem Fall werden die Abtastausgabedaten SCANOUT als das Testdatenausgabesignal TDO ausgegeben. Während eines solchen Abtastmodus werden Tastdaten in die ausgewählte Abtastkette abgetastet auf dem Abtasteingangssignal SCANIN 53 (2), das direkt mit dem Testdateneingabesignal TDI verbunden ist. Das Abtasttesten, insbesondere das Grenzabtasttesten, ist vollständig in dem IEEE-Standard 1149.1-1990 beschrieben. Es wird begrüßt werden, dass zusätzliche Steuersignale in Übereinstimmung mit dem auszuführenden Test an die Abtastkette geliefert werden müssen, um den benötigten Testbetrieb zu erreichen.
  • Es kann auch in einen Diagnosemodus eingetreten werden, wobei in diesem Fall die TAP-Steuerung das Diagnosesignal DIAGMODE setzt. Weiterhin wird die TAP-Steuerung das Diagnose- oder Abtastmodusausgabesignal DIAGSCANOUT mit dem TDO-Ausgang verbinden, der durch die negative Taktflanke des TCK getaktet wird.
  • Im Diagnosemodus kann der serielle Datenfluss zwischen dem Testdateneingabesignal TDI und dem Testdatenausgabesignal TDO so betrachtet werden, dass er durch ein Schieberegister von unendlicher Länge im Gegensatz zu dem Abtasttestmodus durchläuft, bei welchem der serielle Datenfluss durch ein Schieberegister (Schieberegisterkette) von endlicher Länge läuft. In dem Diagnosemodus wird eine Abfolge von Bitmustern, die in den Testzugangsport als das Testdateneingabesignal TDI geschoben werden, nicht in der Abfolge von Bitmustern wiedergegeben werden, die aus dem Testzugangsport als das Testdatenausgabesignal geschoben werden. Die Kommunikation von Diagnosedaten kann Speicherzugriffsanfragen von dem Host zu dem Ziel und dem Ziel zu dem Host (Lesen und Schreiben) enthalten; Statusinformation von CPU-Registern; Daten, die aus dem Hostspeicher oder Zielspeicher in Reaktion auf eine Speicherzugriffsanfrage gelesen werden; Statusdaten zum Laden in die CPU-Register; und Information über Speicheradressen, die durch die Ziel-CPU adressiert sind. Folglich wird der Diagnosemodus das nicht-eingreifende Überwachen von Daten einschließen oder das nicht-eingreifende Laden von Daten.
  • In dem Diagnosemodus sind die seriellen Daten, die in den Testzugangsport geschoben wurden, ein unidirektionaler serieller Datenstrom, die von einem entsprechenden Mittel kodiert werden können, zum Beispiel mit Start- und Stoppbits, um Dateneinheiten zu beschreiben. Auf ähnliche Art und Weise sind Daten, die über den Testzugangsport herausgeschoben werden, ein unidirektionaler serieller Datenstrom, der von jedem beliebigen gewünschten Mittel kodiert werden kann, zum Beispiel mit Start- und Stoppbits, um Dateneinheiten zu beschreiben. Normalerweise werden die eingeschobenen und ausgeschobenen Daten auf dieselbe Art und Weise kodiert werden. Die unidirektionalen Eingangs- und Ausgangs-Datenströme können gleichzeitig verwendet werden, um Vollduplex, bidirektionale, serielle Kommunikation zu ermöglichen. Die Abfolge von seriellen Datenbits kann ein Byte an Informationen bilden.
  • Es sollte begrüßt werden, dass in dem Ausführungsbeispiel der vorliegenden Erfindung der Mechanismus unabhängig von dem Mechanismus in irgendeiner der TAP-Steuerungen 12, 13, 14, 15 zum Zugreifen auf eine funktionale Logik ist, wie beispielsweise einer CPU, für Diagnose oder ähnliche Zwecke. Der Mechanismus kann über einen Diagnosemodus, wie oben beschrieben, oder über eine oder mehrere Abtastketten auf eine andere Art gebildet werden, um Diagnoseinformation auszuführen. Die einzige Bedingung ist, dass jede der TAP-Steuerungen 12, 13, 14, 15 eine JTAG-Schnittstelle hat, die mit dem Standard konform ist, ausgenommen dem, was weiter unten beschrieben ist.
  • Der Multiplexerblock 11 in 1 ist konstruiert, um Kommunikationen zwischen den externen PINs 3 bis 7 der integrierten Schaltung 10 und den vier Kanälen, wie unter Bezugnahme auf 2 beschrieben wird, zu multiplexen. 2 zeigt den Multiplexerblock 11 in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung. Die vier Eingangs-PINs TCK, notTRST, TMS und TDI 3 bis 6, die bereits beschrieben wurden, sind mit einem Bus 40 verbunden. Der Bus 40 ist mit einem "multiplexed in"-Eingang 160 eines ersten Multiplexers 41 verbunden und mit einem von zwei Dateneingängen von einem zweiten Multiplexer 42. Der Block, der mit 41 bezeichnet ist, ist in bevorzugten Ausführungsbeispielen der Erfindung mehr als ein einfacher Multiplexer und enthält a synchrone (getaktete) Logik. Die anderen Teile des Multiplexerblocks 11 sind eine reine Kombinationslogik. Der Multiplexer 41 hat einen Zustand und einen Speicher und ist das einzige Teil des Multiplexerblocks 11, der derart ausführen kann.
  • Der andere Dateneingang des zweiten Multiplexers 42 ist mit dem Kanal-0-Ausgang des ersten Multiplexers 41 verbunden. Die Ausgabe des zweiten Multiplexers 42 bildet die Kanal-0-Ausgabe für den Multiplexerblock 11, der in 1 gezeigt ist. Die externen PINs 8 und 9 stellen eine optionale zusätzliche Steuerinformation an dem Multiplexer in bestimmten Modi bereit, d.h. die Umgehungsauswahlsignale 0 bzw. 1.
  • Das Kanal-0-Eingabesignal wird sowohl an den Kanal-0-Eingang an dem ersten Multiplexer 41 und an einem der zwei Dateneingänge eines dritten Multiplexers 43 geliefert. Die andere Dateneingabe an dem dritten Multiplexer 43 kommt von einem "multiplexed aus" Ausgang 162 des ersten Multiplexers 41.
  • Der erste Multiplexer 41 hat weitere drei Kanalausgaben, Kanal 1, 2 und 3, die den Ausgabekanälen 1, 2 und 3, wie in 1 gezeigt ist, entsprechen. Die drei Kanaleingänge, Kanäle 1, 2 und 3 entsprechen auch den Multiplexerblockeingangskanälen 1, 2 und 3, wie in 1 gezeigt ist. Zusammengefasst, weist der erste Multiplexer 41 Eingänge von jedem der vier Kanäle und Ausgänge von jedem der vier Kanäle auf. Der erste Multiplexer stellt eine Multiplex- und eine Demultiplexfunktion bereit. Die Kanalausgänge 1 bis 3, obwohl sie nicht gezeigt sind, sind für dieselben Kanäle wie für Kanal 0 hergestellt, d.h. tmx_TCK(n), tmx_notTRST(n), tmx_TD(n). Die Kanal n Eingaben an den Multiplexer umfassen alle tmx_TDO(n).
  • Es sollte begrüßt werden, dass in der Praxis die Kanäle 1, 2 und 3 Eingänge auch mit dem Eingang des dritten Multiplexers 43 verbunden sind.
  • Der Multiplexer 41 enthält eine sequentielle Logik und führt das Multiplexen in Übereinstimmung mit seinem internen Zustand aus und wird durch TCK getaktet. Vier zusätzliche Multiplexer 42, 49, 50 und 51 ermöglichen dem Multiplexer 41, umgangen zu werden und mit einer rein kombinatorischen Logik betrieben zu werden. Die Multiplexer 44, 50 und 51 gehören zu den Kanälen 1, 2 bzw. 3 und funktionieren auf eine ähnliche Art und Weise wie der Multiplexer 42, wie vorher beschrieben wurde. Wenn der Multiplexer 41 umgangen wird, kann nur einer der Multiplexer 42, 49, 50 oder 51 so gesetzt werden, dass ein einzelner Kanal mit den externen PINs 3 bis 7 verbunden wird.
  • In der Praxis kann die Umgehung, die für Kanal 0 beschrieben wurde, für jeden der anderen Kanäle ausgeführt werden. In manchen Ausführungsbeispielen kann es von diesem eine Ausnahme geben. Wie hierin nachfolgend detaillierter beschrieben werden wird, kann einer der Kanäle, Kanal 0, der voreingestellte Hauptkanal sein. Der voreingestellte Hauptkanal ist der Kanal, der nach dem Neustart ausgewählt wird. Dies ist so, da dieser Kanal die Haupt-TAP-Steuerung 12 für das Hardwaretesten enthält. In unterschiedlichen Ausführungsbeispielen können verschiedene TAP-Steuerungen als die Haupt-TAP-Steuerung fungieren.
  • Der Bus 40 stellt weiter die Eingaben für ein Vier-Eingangs-OR-Gate 44 bereit. Insbesondere sind die Eingaben an dem OR-Gate 44 die TCK, notTRST, TMS und TDI Signale. Die Ausgabe des OR-Gates 44 ist ein Neustartsignal und wird über einen Entstörblock 45 mit einem der Eingänge des ersten Multiplexers 41 für Neustartzwecke verbunden. Es sollte begrüßt werden, dass, während die Neustartbedingung auf mehreren Signalen kodiert ist, die durch das OR-Gate 44 dekodiert werden, es möglich ist, dass diese Neustartbedingung versehentlich durch andere legale Übergänge zwischen Signalisierungszuständen an den Signalen, die an PINs 3 bis 6 empfangen werden, dekodiert wird und dies als eine Störung gesehen wird, d.h. ein sehr kurz dauernder Puls, auf einem andersartigen stabilen Dekodieren des normalen Betriebs, wobei dies irgendetwas anderes als die Neustartbedingung ist. Der Entstörblock 45 verhindert solche falschen Störungen, die aus einem versehentlichen Veranlassen eines Neustarts des Multiplexers 41 während normalen Betriebs entstehen, durch Herausfiltern von Pulsen, die kürzer als eine bestimmte Dauer sind.
  • Die Eingaben an dem logischen Block 46 sind ein Umgehungssignal bypass_mode 47 von dem ersten Multiplexer 41, Umgehungsauswahlsignale 59 ebenfalls von dem ersten Multiplexer 41 und ein Testabtastmodussignal tst_SCANMODE 48, das verwendet wird, wenn der Multiplexerblock 11 abtastgetestet werden soll. Umgehungsauswahlsignale werden an drei Leitungen bereitgestellt – eines, um anzuzeigen "Auswahl durch Reihenfolge" und zwei weitere, um anzuzeigen, welcher Kanal. Dies wird nachfolgend detaillierter erörtert.
  • Die Ausgabe des logischen Blocks 46 steuert die Multiplexer 42, 49, 50 und 51, die verwendet werden, um zu bestimmen, welcher, wenn überhaupt einer, der Kanäle 0 bis 3 durch den Umgehungsmultiplexer 140 ausgewählt wurden.
  • Drei weitere Verbindungen zu dem ersten Multiplexer 41 sind ein Abtasttestfreigabesignal tst_scanenable 52, das eine Ausgabe von der Haupt-TAP-Steuerung 12 ist, ein Testabtasteingabesignal tst_scanin 53 und ein Testabtastausgabesignal tst_scanout 54, die verwendet werden, wenn und falls der Multiplexerblock 11 abtastgetestet werden soll. Ein Teststeuersignal tst_rst_n auf Leitung 55 wird mit den Multiplexern 42, 49 bis 51 auch für die Verwendung während eines Abtasttests verbunden. Es sollte begrüßt werden, dass in manchen Ausführungsbeispielen der Erfindung diese Abtasttestsignale von der Haupt-TAP-Steuerung kommen können.
  • In einem Betriebsmodus, dem Umgehungsmodus, kann ein Kanal von den Kanalauswahleingabesignalen BYPASS_SELECT0 und BYPASS_SELECT1 ausgewählt werden, die ihren Ursprung entfernt vom Chip bei der Testeinrichtung 2 haben. Um einen der vier Kanäle auszuwählen, wird ein Zweibitsignal bereitgestellt, das vier verschiedene binäre Signalkombinationen 00, 01, 10 und 11 bereitstellt. Bei Verwendung einer dieser vier Kombinationen wird einer der vier Kanäle ausgewählt. Diese Steuerung wird verwendet, um auszuwählen, zu welchem Kanal der Multiplexerblock eine Verbindung herstellt für Signale, die zu und/oder von der entsprechenden TAP-Steuerung oder -vorrichtung gehen. Die zwei Bits, die das Auswahlsignal BYPASS_SELECT0 und BYPASS_SELECT1 bereitstellen, werden durch entsprechende Eingabe-PINs der integrierten Schaltung bereitgestellt. In diesem Modus, dem Umgehungsmodus, kann die Auswahl des einen Kanals durch diese Eingabeauswahlsignale, auch als "Auswahl durch PINs", durch "Auswahl durch Reihenfolge", das als nächstes beschrieben wird, aufgehoben werden.
  • Ebenfalls kann in demselben Betriebsmodus, dem Umgehungsmodus, ein Kanal durch die Ausgabe einer endlichen Zustandsmaschine (FSM, eng.: Finite State Machine) ausgewählt werden, die schematisch als Umgehungsauswähler 56 intern im Multiplexer 41 angezeigt ist, wobei die Ausgabe derselbigen von einer nachfolgenden Signalisierung der vier Eingabesignale TCK, notTRST, TMS und TDI abhängt. Insbesondere ist die FSM eingerichtet, eine "illegale" Reihenfolge der vier Eingabesignale zu empfangen. Mit "illegal" ist gemeint, dass die Kombination der vier Eingabesignal nicht in dem JTAG-Standard definiert ist und keine Bedeutung im Zusammenhang mit dem JTAG-Standard hat. Diese illegale Kombination von Signalen wird von der FSM 56 verwendet, um in einen solchen Modus gesetzt zu werden, dass die nächste Kombination von Eingabesignalen festlegen wird, welcher der Kanäle ausgewählt werden soll. In manchen Ausführungsbeispielen der vorliegenden Erfindung werden eine oder mehrere zusätzliche Signalkombinationen benötigt, zwischen der ersten illegalen Kombination und der Signalkombination, die den Kanal festlegt, der ausgewählt werden soll. Die Kombination, die den benötigten Kanal auswählt, kann auch eine illegale Kombination von Signalen sein, genauso wie auch jede beliebige zwischenliegende Signalkombination. Dies wird nachfolgend detaillierter beschrieben werden. Die FSM 56 stellt ein Zweibitsignal "Auswahl durch Reihenfolge" bereit, das die "Auswahl durch PINs", die vorher beschrieben wurde, aufhebt.
  • Mit anderen Worten, werden manche Ausführungsbeispiele der vorliegenden Erfindung nur eine Auswahl durch Reihenfolge haben, manche Ausführungsbeispiele der Erfindung werden eine Auswahl durch PINs haben und manche Ausführungsbeispiele werden sowohl die Auswahl durch PINs als auch die Auswahl durch Reihenfolge haben. Dort, wo sowohl die Auswahl durch PINs als auch die Auswahl durch Reihenfolge bereitgestellt sind, wird durch die Logik 46 eine Arbitrierung bereitgestellt, die die Umgehungsauswahlsignale 0 und 1 empfängt, und die Umgehungsauswahl durch Reihenfolgesignale. Abhängig von der Ausführung wird einem oder anderen der Signale Priorität gegeben. Bevorzugte Ausführungsbeispiele geben eine Priorität der Auswahl durch Reihenfolge über der Auswahl durch PINs.
  • Es sollte ebenfalls begrüßt werden, dass die Anzahl von Bits, die für das Steuersignal zur Steuerung des Umgehungsmodus benötigt werden, von der Anzahl der Kanäle abhängt. Weiter kann in Fällen, wo externe Chip-PINs wertvoll sind, die Umgehungsauswahl-PINs 8, 9 vollständig weggelassen werden können, unter vollständigem Verlass auf "Umgehung durch Reihenfolge" zur Auswahl des einen Kanals in dem Umgehungsmodus.
  • In Ausführungsbeispielen der vorliegenden Erfindung kann der Hostcomputer 1 auf, nahezu gleichzeitig, jede der Vorrichtungen zugreifen, wie beispielsweise CPUs 150, 154 und 158, zum Beispiel, auf dem Chip. Dies wird durch die Schaltung von 2 erreicht, wobei der Betrieb derselbigen nun detaillierter unter Bezugnahme auch auf die 3 und 4 erklärt wird.
  • Eine Anforderung von einem Ausführungsbeispiel ist, dass der Zielchip in Übereinstimmung mit dem IEEE-Standard getestet wird. In Übereinstimmung mit dem IEEE JTAG-Standard muss der Signalneustart notTSRT hoch sein, damit irgendein Betrieb stattfindet. 3 zeigt ein Zustandsübergangsdiagramm in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung, und 4 zeigt die entsprechenden Signale in einer Tabelle. Es gibt drei Zustände oder Betriebsmodi, Umgehungsmodus, Warnmodus und Multiplexmodus. Es soll begrüßt werden, dass zusätzliche zu diesen drei Betriebsmoden ein Strukturtest auch unterstützt wird. Nachfolgend eines erfolgreichen Dekodierens der "TAPMux Neustartbedingung", unabhängig von irgendeinem vorherigen Zustand, wird in den Umgehungsmodus eingetreten. Das Umgehungssignal 47 (2 – Signal 47 ist zwischen dem Multiplexer 41 und Logik 46) wird auf Hoch gehen und das Umgehungsauswahlsignal 59 für "Auswahl durch Reihenfolge", wird inaktiv sein.
  • Bezugnehmend auf 2 wird, wenn das Umgehungssignal 47 hochgeht, was anzeigt, dass in den Umgehungsmodus gegangen werden soll, der logische Block 46 die Multiplexer 42, 43, 49, 50, 51 veranlassen, den ersten Multiplexer 41 zu umgehen. Die Haupt-TAP-Steuerung 12 auf Kanal 0 wird folglich für jegliche Kommunikation ausgewählt, während des Umgehungsmodus, bis ein anderer Kanal durch das Mittel der Umgehungsauswahl-PINs 8 und 9 ausgewählt wird. Der Multiplexerblock 11 wird als transparent erscheinen und wird keine Takttotzeit hinzufügen, um entweder Daten zu übertragen oder Daten zu empfangen.
  • Für andere Betriebsmoden verwendet das System illegale Signalkombinationen in dem IEEE-Standard. Eine Standard-TAP- Steuerung ohne die Merkmale des Ausführungsbeispieles der vorliegenden Erfindung wird immer dann in einem Neustartmodus sein, wann immer das Neustartsignal nTRST niedrig ist. In Ausführungsbeispielen der vorliegenden Erfindung können, während das Neustartsignal nTRST niedrig ist, andere Betriebsmoden betreten werden. In dem in 3 gezeigten bevorzugten Ausführungsbeispiel erscheint der Neustart des Multiplexerblocks 11, wenn alle vier Eingänge TCK, notTRST, TMS und TDI niedrig sind. Dies ermöglicht dem Neustart notTRST Eingabe-PIN, für Daten verwendet zu werden, wenn das System nicht in dem Multiplexerblock-Neustart ist, vorausgesetzt, dass alle anderen drei Eingabe-PINs zusammen nicht niedrig. Der Neustart des Multiplexerblocks 41 ist durch das Vier-Eingangs-OR-Gate 44 und den Entstörblock 45 verwirklicht. Wenn der Multiplexerblock 11 Neustart auftaucht, d.h. alle vier Eingaben TCK, notTRST, TMS und TDI niedrig sind, veranlasst das OR-Gate 44 das Neustartsignal niedrig zu werden und das System kehrt in den Umgehungsmodus zurück.
  • Bezugnehmend auf 3 und 4 verbleibt der Multiplexer 41 im Umgehungsmodus, wenn der ausgewählte Kanal neu gestartet wird durch Setzen von notTRST auf niedrig, für normalen TAP-Betrieb des ausgewählten Kanals, wenn nTSRT hoch ist oder, wenn Kalibrierung ausgewählt ist, durch Setzen von notTRST auf niedrig, TMS hoch und TDI hoch. Wenn notTRST niedrig ist, ist TMS niedrig und TDI ist hoch auf der steigenden Flanke des Takts TCK und dann wird in den Warnmodus eingetreten. Im Warnmodus wird in den Multiplexmodus eingetreten, wenn notTRST niedrig ist, TMS hoch ist und TDI niedrig ist auf der steigenden Flanke des Taktes, ansonsten, wenn notTRST hoch ist, wird der "Auswahl durch Reihenfolge" Kanal in Übereinstimmung mit dem Zustand von TMS und TDI ausgewählt und der Multiplexer 41 kehrt in den Umgehungsmodus zurück. Wenn der Multiplexmodus betreten ist, verbleibt er in ihm bis ein gültiger Neustart erkannt wird, wobei in diesem Fall der Umgehungsmodus betreten wird.
  • Im Umgehungsmodus wird, wenn man zuerst annimmt, dass es keine von dem FSM innerhalb des Multiplexers 41 vorgenommene "Auswahl durch Reihenfolge" gibt, der Logikblock 46 den Eingangspins 8 und 9 erlauben, den Kanal zu wählen. Wenn keine Signale an den Eingabepins BYPASS_SELECT0 und BYPASS_SELECT1 bereitgestellt sind, wird, vielleicht, weil die Testeinrichtung 2 nicht diese Signale liefern kann, eine Hauptsteuerung (Master) als die voreingestellte Vorrichtung für den Test ausgewählt werden, welche in diesem Fall die erste Vorrichtung 18 auf Kanal 0 ist. Andererseits wird, wenn Signale an den zwei Eingangspins BYPASS_SELECT0 und BYPASS_SELECT1 bereitgestellt werden, ein Kanal ausgewählt werden, der die Hauptsteuerung übergeht. Abhängig von den Multiplexereinstellungen kann jede Kombination von Signalen an den Pins BYPASS_SELECT0 und BYPASS_SELECT1 jeden der Kanäle auswählen, aber in einem bevorzugten Ausführungsbeispiel werden die Kanäle ausgewählt, wie in der folgenden Tabelle gezeigt ist:
    BYPASS_SELECT1 BYPASS_SELECT0 Eingabe-/Ausgabekanal
    0 0 0
    0 1 1
    1 0 2
    1 1 3
    Tabelle 1
  • Im Umgehungsmodus, mit gewählten Kanal 0, kann der Chip strukturgetestet werden, wie durch den IEEE JTAG-Standard festgelegt ist. Die Testeinrichtung 2 wird das Taktsignal TCK das Neustartsignal notTRST, TMS und Testdaten im Signal TDI in Übereinstimmung mit dem IEEE JTAG-Standard an den entsprechenden Eingabepins des integrierten Schaltungs-Chips 10 bereitstellen. Diese Signale werden an den Multiplexerblock 11 geleitet, von wo aus sie an den "multiplexed in" Eingang des ersten Multiplexers über Bus 40 geleitet werden. Der zweite Multiplexer 42 empfängt ein niedriges Signal an seinem Steueranschluss von dem Logikblock 46, was folglich zur Auswahl des Kanal 0 Pfads von dem ersten Multiplexer 41 führt.
  • Ferner wird in dem Umgehungsmodus die Testeinrichtung 2 Eingabesignale BYPASS_SELECT0 und BYPASS_SELECT1 an den entsprechenden Pins des integrierten Schaltungs-Chips bereitstellen, um irgendeine der Zielvorrichtungen auf dem Chip zur Überwachung, Einrichtung oder Diagnose auszuwählen. Ansonsten wird die Voreinstellung so sein, dass der Master gewählt wird, in diesem Fall auf Kanal 0.
  • Im Umgehungsmodus wird, wenn die Diagnose eine Vorrichtung auf einem Kanal vollendet ist, ein Multiplexerblock-Neustart angewendet und dann ein verschiedener Kanal für die Diagnose unter Verwendung der Pins 8 und 9, dem "Auswahl durch Pins" Mechanismus, oder durch Verwenden des "Auswahl durch Reihenfolge" Mechanismus ausgewählt. Alternativ kann dieselbe Zielvorrichtung Gegenstand weiterer Diagnose sein.
  • Das Diagramm von 3 und die Tabelle von 4 können wie folgt zusammengefasst werden:
    Unabhängig des aktuellen Modus' wird der Umgehungsmodus betreten, wenn alle Signale niedrig sind.
  • Im Umgehungsmodus kann es einen TAP-Neustart für einen gewählten Kanal, Kalibrierung oder normalen TAP Betrieb für den gewählten Umgehungskanal geben. Dies wird von den Werten von nTRST, TMS und TDI auf einem steigenden TCK abhängen. Die zugehörigen Werte sind in 4 gezeigt.
  • Der Warnmodus wird von dem Umgehungsmodus betreten, wenn nTRST und TMS 0 sind und TDI 1 auf dem steigenden TCK ist. Der Umgehungsmodus kann auch von dem Warnmodus betreten werden. Auf einem steigenden TCK, wird nTRST hoch sein und die Werte von TMS und TDI werden den Kanal festlegen.
  • Im Multiplexmodus wird Multiplexmodussignalisierung stattfinden. Es ist nur dann möglich den Multiplexmodus zu verlassen, wenn alle Signale 0 sind und das bedeutet, dass der nächste Modus der Umgehungsmodus ist.
  • Es sollte offensichtlich sein, dass die Diagnose jeder Vorrichtung auf einem der Kanäle, auf einer einer pro Zeit Basis, keine Diagnose von Interaktionen zwischen den Vorrichtungen auf den getrennten Kanälen ermöglicht. Der Multiplexmodus ermöglicht nahezu gleichzeitige Interaktion zwischen der externen Einrichtung und allen verfügbaren Kanälen.
  • Im Multiplexmodus können bis zu vier Host 113, 114, 115, 166 über einen externen Treiber 112 verbunden werden, wobei jeder Host dazu verwendet wird, unabhängig aber nahezu gleichzeitig Kanäle 0, 1, 2 bzw. 3 zu diagnostizieren. Dies wird nachfolgend unter Bezugnahme auf 9 detaillierte beschrieben.
  • Alternativ kann in dem bevorzugten Ausführungsbeispiel im Multiplexmodus ein einzelner Hostcomputer 1 gleichzeitig alle Vorrichtungen auf dem Chip diagnostizieren. Dies ist insbesondere dort wichtig, wo die Interaktionen zwischen den verschiedenen Vorrichtungen auf dem Chip verstanden werden müssen und koordiniert werden müssen und dies am Besten erreicht wird, indem ein einzelner Host alle Vorrichtungen gemeinsam verwaltet. Es sollte allerdings begrüßt werden, dass die Entwicklung der Steuersoftware auf dem einzelnen Hostcomputer als komplexer erachtet wird, als für getrennte Hosts. Aus diesem Grund wird als erstes ein weiteres Ausführungsbeispiel der vorliegenden Erfindung beschrieben, das getrennte Hosts und einen externen Treiber 112 verwendet.
  • In diesem weiteren Ausführungsbeispiel der vorliegenden Erfindung kann mehr als ein Host auf die integrierte Schaltung 10 zugreifen, um eine Vorrichtung zu testen, wie in 8 gezeigt ist. 8 zeigt eine integrierte Schaltung 10, die dieselbe ist, wie die in 1,11 gezeigte integrierte Schaltung 10 und wird nicht nochmals beschrieben. Von dem Chip entfernt wurde die Testeinrichtung durch einen Multiplexerblocktreiber 112 ersetzt, der konstruiert ist, mehreren Host-Computern 113 bis 116 Zugriff auf die Verbindungs-PINs TCK, nTRST, TMS, TDI und TDO zu ermöglichen. Eine Testeinrichtung von Dritten ist auch mit der integrierten Schaltung kompatibel.
  • Bisher wurden Schaltkreise beschrieben zum Diagnostizieren von Ziel-CPU's oder Ziellogik einzeln auf dem integrierten Schaltungschip. Allerdings gibt es einen Aufruf für ein Verfahren und einen Schaltkreis, der es einer Vielzahl von Zielen ermöglicht, gemeinsam und insbesondere deren Interaktion diagnostiziert zu werden. In Übereinstimmung mit dem Ausführungsbeispiel der Erfindung, das in 8 gezeigt ist, können eins, zwei, drei oder vier der Ziele 150, 154, 158, 15 zur selben Zeit durch eine, zwei, drei bzw. vier der Hosts 113 bis 116 diagnostiziert werden.
  • 9 zeigt den Multiplexerblocktreiber 112 in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung. Vier „zuerst herein/zuerst heraus" (FIFO)-Puffer und Synchronisierblocks 61 bis 64 empfangen jeweils Signale TCK, notTRST, TMS und TDI von ihrem entsprechenden Host 113, 114, 115 oder 116 (in 8 gezeigt). Jeder weist auch einen TDO-Ausgang zu deren entsprechenden Hosts auf. Die FIFO-Synchronisierblocks 61 bis 64 werden durch einen getrennten Takt clk 65 getaktet und stellen eine Pufferung einer Synchronisation an den Signalen bereit, die von den Hostcomputern empfangen wurden. Ein Zeitmultiplex-Demultiplex-Block 66 (time division multiplex demultiplex block 66) empfängt Signale von den FIFO-Synchronisierblocks 61 bis 64 über entsprechende Kodierblocks 67 bis 70 und Rücksignale zu jedem der FIFO-Synchronisierblocks über entsprechende Dekodierblocks 71 bis 74. Die Kodier- und Dekodierblocks erlauben die Verwendung eines Kodierschemas zur Kommunikation zwischen dem Multiplexerblocktreiber 112 und dem Multiplexerblock 11 auf dem Chip, wie später detaillierter beschrieben werden wird. Der Multiplexer-Demultiplexerblock 66 gibt die Signale notTRST, TMS und TDI an die integrierte Schaltung 10 aus und empfängt Signale TDO von der integrierten Schaltung 10. Er empfängt auch als Steuerungen ein Signal auf Leitung 75 von einem Block Init Seq 164, der sicherstellt, dass der Multiplexerblock 11 in den dem Multiplexermodus folgenden Neustart, einem Neustartsignal rst_n auf Leitung 76 und das Taktsignal clk 65 betritt. Das Taktsignal clk 65 wird auch als ein viertes Eingabesignal TCK an die integrierte Schaltung 10 geliefert.
  • Das Neustartsignal rst_n und das Taktsignal clk werden jeweils den FIFO-Synchronisierblöcken eingegeben und zu jedem der Kodier- und Dekodierblocks.
  • Der Multiplexerblocktreiber 112 führt eine Anzahl von Funktionen aus. Als Erstes führt er Zeitmultiplexen der Eingabesignale von den Hosts 113 bis 116 auf den Ausgabeleitungen notTRST, TMS und TDI aus. Zum Beispiel werden, wenn Host 113, Host 114, Host 115 und Host 116 einen Zugriff auf Kanäle 0, 1, 2 bzw. 3 wünschen, die vier TDI-Signale von den vier Hosts als zeitgemultiplext auf dem einzelnen Ausgang TDI benötigt. Die verfügbare Bandbreite auf der Ausgabeleitung TDI könnte so geteilt werden, dass einem Host ein größerer Teil der Bandbreite gegeben wird als anderen Hosts. Zum Beispiel kann der Host 113 Zugriff auf die Hälfte der verfügbaren Bandbreite auf der TDI-Verbindung haben. Die Hosts 114, 115 und 116 können jeweils 1/6 der Bandbreite auf Leitung TDI für Signale haben, die auf den Kanälen 1, 2 und 3 auf der integrierten Schaltung 10 entsprechend gemultiplext werden. Dasselbe Zeitmultiplexen wird auf die Ausgabesignale nTST und TMS von dem Multiplexerblocktreiber 112 angewendet.
  • Das Zeitmultiplexen ist vorteilhaft dahingehend, dass es Flexibilität bereitstellt und die Synchronisierung der Kanäle ermöglicht. Bei der Verwendung von Schlitzen, ist es möglich in manchen Ausführungsbeispielen der vorliegenden Erfindung den Bedarf an Kanalmarken zu vermeiden, die den Kanal anzeigen würden, für den die Daten gedacht sind. Dies ist deshalb so, da bestimmt werden kann, dass, wenn die Daten im Schlitz n sind, die Daten auf dem Kanal x usw. sein müssen. Dies bedeutet, dass die Bandbreite nicht mit Kanalinformationsmarken oder dergleichen überlastet wird.
  • Es sollte begrüßt werden, dass der Teil, der jedem Kanal zugewiesen ist, verändert werden kann, in Abhängigkeit davon, wieviel der Bandbreite von den aktuellen Diagnosekonditionen benötigt wird. Der Multiplexerblocktreiber 112 führt auch ein Zeitdemultiplexen des Eingabesignals TDO von der integrierten Schaltung 10 aus. TDO wird an den benötigten Host gesendet, das durch einen der Dekodierblocks 71 bis 74 dekodiert wurde und es wird weiter durch eine der FIFO-Synchronisierblocks 61 bis 64 geleitet.
  • 10 zeigt den Multiplexerblock 41 detaillierter. Dieser Block empfängt die Signale TCK, notTRST, TMS und TDI von dem Multiplexerblocktreiber 112 in dem in 9 gezeigten Ausführungsbeispiel. Es sollte begrüßt werden, dass der Multiplexerblock 41 von 10 in dem Ausführungsbeispiel von 1 verwendet werden kann. Die Signale TCK, notTRST, TMS und TDI werden über einen Bus 140 mit einem Multiplexermoduserkennungsblock 80 verbunden, einen Token-Dekodierblock 81 und mit einem Zeitmultiplex/Demultiplexblock 82. Eine Ausgabe TDO von dem Multiplexer-/Demultiplexerblock 82 wird an die Ausgabeleitung 83 geliefert. Der Multiplexer-/Demultiplexerblock 82 führt Zeitmultiplexen der Signale von den Eingangs-PINs notTRST, TMS und TDI bei der Ausgabe entsprechender Ausgabe Leitungen auf Kanäle 0, 1, 2 und 3 aus. Die Ausgabe zu jedem der vier Kanäle wird durch einen der vier Dekodierblocks 84 bis 87 dekodiert und die Eingaben an den Multiplexerblock von jeweils den vier Kanälen wird durch einen der vier Kodierblocks 88 bis 91 kodiert. Der Multiplexerblock 82 führt auch das Multiplexen der Signale aus, die von den Kanälen 0, 1, 2 und 3 empfangen werden, wobei diese Ausgabe extern von dem Chip an den Multiplexerblocktreiber über den Ausgabe-PIN TDO geleitet wird. Der Kanal 0 ist mit getrennten Signalen gezeigt. Die Kanäle 1 bis 3 haben dieselbe Struktur, aber diese ist nicht gezeigt.
  • Während des Multiplexermodus, können Daten zwischen dem Multiplexerblocktreiber und dem Multiplexerblock 11 bei doppelter Datenrate gesendet werden als die Rate, die durch den IEEE-Standard 1149.1 1990 festgelegt ist. Es wird nun auf die 7 Bezug genommen, die ein Zeitdiagramm für Signale in einem normalen TAP-Modus und in einem Multiplexermodus zeigt. In Übereinstimmung mit dem IEEE 1149.1 JTAG-Standard ist nur eine Halbperiode für den Rücklauf der TDO-Daten zu dem Host erlaubt, bevor sie durch den Testtakt TCK, wie durch Pfeil 90 gezeigt ist, getaktet werden. Daher können ohne Anwendung jeglicher strengerer Beschränkungen auf die Verbindung zwischen der Testeinrichtung und dem Ziel, die Daten (TDI oder TDO) sowohl bei der steigenden als auch der fallenden Flanke von TCK getaktet werden. Der Schaltkreis zum Ausführen dieses Merkmals ist in 12a gezeigt.
  • 12a zeigt den Schaltkreis, der in dem Multiplexerblocktreiber bzw. dem Multiplexerblock aufgenommen sein kann, um die Daten bei doppelter bezüglich der normalen Rate zu takten. Block 200 ist ein Schaltkreis, der zwei Datenleitungen A1 und B1 zu einer einzelnen Leitung AB kombiniert. Das Signal AB stellt ein Signal dar, bei welchem für die Hälfte eines Taktzyklusses das Signal durch die Daten auf der Datenleitung A1 definiert ist und der folgende halbe Taktzyklus, wobei das Signal durch die Daten auf der Datenleitung B1 festgelegt ist. Die Daten auf Leitung A1 und B1 stellen eines der Signale TDI, TMS oder notTRST von zwei der Hostcomputer dar, die das Ziel für zwei der Zielvorrichtungen auf dem Chip sind. Die Leitung A1 ist mit dem Datenausgang eines ersten D-Typs Flip-Flops 201 verbunden und Leitung B1 ist mit dem Dateneingang eines zweiten D-Typ Flip-Flops 202 verbunden. Jeder der Flip-Flops 201, 202 hat einen Takteingang, der mit einem gemeinsamen Taktsignal clk-Signal verbunden ist. Die Ausgabe des ersten Flip-Flops 201 wird mit der Dateneingabe eines dritten Flip-Flops 203 verbunden, der durch die fallende Flanke desselben Taktsignals clk getaktet wird. Die Ausgaben des zweiten und dritten Flip-Flops 202, 203 sind mit den zwei Eingaben eines Multiplexers 204 verbunden, wobei die Ausgabe des Multiplexers 204 das Signal AB bildet, das auf einer der Leitungen der integrierten Schaltungsplatine gesendet werden soll. In diesem Ausführungsbeispiel wird der Multiplexer 204 durch das Taktsignal clk gesteuert.
  • Der Block 205 teilt das Signal auf Leitung AB zurück in zwei separate Signale A2 und B2 auf, um diese an ausgewählte Zielvorrichtungen zu senden. Die Leitung AB ist mit den Dateneingängen eines ersten und zweiten D-Typ Flip-Flops 206 und 207 verbunden. Sowohl der erste als auch der zweite Flip-Flop 206, 207 weisen Takteingänge auf, die mit einem gemeinsamen Taktsignal clk verbunden sind, aber der erste Flip-Flop 206 wird durch die fallende Taktflanke getaktet und der zweite Flip-Flop 207 durch die steigende Flanke. Dies wird dadurch erreicht, dass der erste Flip-Flop 206 das inverse Taktsignal empfängt, während der zweite Flip-Flop 207 das Taktsignal empfängt, das nicht invertiert ist. Die Ausgabe des ersten Flip-Flops 206 ist mit dem Dateneingang eines dritten D-Typ Flip-Flops 208 verbunden, der durch die positive Flanke des Taktsignals clk getaktet wird. Die Ausgänge A2 und B2 von dem ersten und dritten Flip-Flop sind verzögerte Versionen der Eingaben auf Leitungen A1 und B1.
  • Daten auf Leitungen C1 und D1 stellen das Rücksignal TDO von zwei der Zielvorrichtungen auf dem Chip dar, die für zwei der Hostcomputer bestimmt sind. Der Block 209 arbeitet auf dieselbe Art und Weise wie der oben beschriebene Block 200, wobei er dieselbe Struktur und Funktion aufweist. Block 210 arbeitet auf dieselbe Art und Weise wie der oben beschriebene Block 205, wobei er dieselbe Struktur und Funktion aufweist. Die Ausgaben C2 und D2 sind verzögerte Versionen der Signale C1 und D1.
  • Der Betrieb des Schaltkreises in 12a wird nun unter Bezugnahme auf das Zeitdiagramm, das in 14 gezeigt ist, beschrieben. Das Zeitdiagramm zeigt das Taktsignal und die Signale auf Leitungen A1, B1, AB, A2 bzw. B2. Laufzeitverzögerungen zwischen dem Multiplexerblocktreiber und dem Multiplexerblock wurden zum Zwecke der Klarheit weggelassen. Die Signale auf Leitungen A1 und B1 weisen Daten a0, a1, ... und b0, b1, ... auf, wie entsprechend gezeigt. Die Leitung B1 wird durch Flip-Flop 202 auf der steigenden Taktflanke 220 des Taktsignals CLK getaktet und während das Taktsignal CLK hoch ist, werden Daten b0 von dem Multiplexer 204 auf der Ausgabeleitung AB ausgegeben. Die Leitung A1 wird durch den Flip-Flop 201 auf der steigenden Flanke 220 des Taktsignals CLK getaktet und diese Ausgabe wird dann nochmals durch Flip-Flop 203 auf der fallenden Flanke 221 des Taktsignals CLK getaktet. Wenn das Taktsignal CLK niedrig ist, gibt der Multiplexer 204 Daten a0 auf der Leitung AB aus und wenn es hoch ist, werden Daten b0 ausgegeben.
  • Der empfangende Block 205 funktioniert dann wie folgt. Die Leitung AB wird durch Flip-Flop 207 getaktet auf der steigenden Flanke 222 des Taktsignals CLK. Daher werden die Daten a0 kurz nach der steigenden Taktflanke 222 auf Leitung a2 ausgegeben. Das Signal auf Leitung AB wird ebenfalls durch den Flip-Flop 206 auf der fallenden Flanke 221 des CLK-Signals getaktet und diese Ausgabe wird wiederum durch den Flip-Flop 208 auf der steigenden Flanke 222 des Taktsignals CLK getaktet. Daher werden die Daten b0 auf Leitung b2 kurz nach dieser Taktflanke ausgegeben.
  • 13 zeigt zwei mögliche Formate der Taktsignale 230 und 231 zwischen dem Multiplexerblocktreiber 112 und dem Multiplexerblock 11, die in verschiedenen Ausführungsbeispielen verwendet werden können. TCK ist das Testtaktsignal, das verwendet wird, um die Daten bei dem Multiplexerblock zu takten. Das Signal 230 zeigt, dass in Übereinstimmung mit einem Ausführungsbeispiel, ein Datenelement für einen bestimmten Kanal zu dem Multiplexerblock 11 während jeder Taktperiode gesendet werden kann. Jedes Datenelement ist einer Schlitzzahl zugeordnet, wobei acht Schlitze einen Rahmen (Frame) bilden. Auf diese Art und Weise wird, ohne den Bedarf für extra Steuersignale, die Ziele für jeden der Schlitze in einem Rahmen auf einmal zugewiesen werden und können dann erinnert werden für nachfolgende Rahmen. Es sollte begrüßt werden, dass in alternativen Ausführungsbeispielen der vorliegenden Erfindung die Schlitze auf einer Rahmen-nach-Rahmen Basis für alle n Rahmen zugewiesen werden können oder durch jede Kombination dieser beschriebenen Optionen.
  • Vorzugsweise werden Daten bei doppelter Datenrate, wie oben beschrieben wurde, gesendet, was durch Signal 231 gezeigt ist. In diesem Falle weist ein Rahmen 16 Halbschlitze auf, wobei jeder einem bestimmten Kanal zugewiesen ist. Die Ausführungsbeispiele der vorliegenden Erfindung sind so eingerichtet, dass sie eine Signalisierung bei doppelter Datenrate bereitstellen, aber ohne Vergrößerung der Bandbreite oder der kritischen Zeitpfade.
  • Nun wird der Betrieb im Multiplexmodus beschrieben. Der Multiplexmoduserkennungsblock 80, der in 10 gezeigt ist, erkennt die Kombination von Signalen, die für den Eintritt in den Multiplexmodus über einen Warnmodus, wie in 3 und 4 gezeigt ist, benötigt wird. Das Signal „Multiplex_mode" wird verwendet, um die gesamte Kommunikation auf Bus 140 über einen Multiplexblock 82 zu leiten und ebenfalls die gesamte Kommunikationen von den Kanälen 0, 1, 2 und 3 über den Multiplexblock 82. Der Token-Dekodierblock 81 dekodiert Tokens, die von dem Multiplexertreiberblock 112 empfangen wurden.
  • Ein Tokenkodierschema wird in einem bevorzugten Ausführungsbeispiel der Erfindung ausgeführt, damit Steuersignale zur Steuerung des Multiplexerblocks 82 von dem Multiplexerblocktreiberblock 112 gesendet werden können und ebenfalls die normalen Testsignale, ohne, dass zusätzliche PINs benötigt werden.
  • 15 zeigt ein bevorzugtes Schema, bei welchem ein Rahmen 8 Tokens enthält, die in Reihe empfangen wurden. Jeder Token ist in zwei Halbtoken unterteilt. Jeder Halbtoken kann einem bestimmten Kanal 0 bis 3 zugeordnet sein. In dem gezeigten Beispiel ist der Kanal 0 der Hälfte der verfügbaren Halbtoken zugeordnet, was der Hälfte der verfügbaren Bandbreite entspricht. Der Kanal 1 ist einem Viertel der verfügbaren Halbtokens zugewiesen, was einem Viertel der verfügbaren Bandbreite entspricht. Kanäle 2 und 3 sind jeweils einem Achtel der verfügbaren Halbtokens zugewiesen, was einem Achtel der verfügbaren Bandbreite pro Kanal entspricht. Es sollte begrüßt werden, dass in bevorzugten Ausführungsbeispielen der vorliegenden Erfindung die zwei Halbtoken, die jeweils einen Token herstellen, verschiedenen Kanälen zugewiesen sind. Es sollte ebenfalls begrüßt werden, dass die Teilung der Kanäle zwischen den Tokens nur beispielhaft ist und verschiedene Aufteilungen der Kanäle zwischen den Tokens verwendet werden können, in Abhängigkeit der relativen Bandbreiten, die von den verschiedenen Kanälen benötigt werden. Es sollte begrüßt werden, dass die Zuweisung von Tokens zu den entsprechenden Kanälen in den Rahmen von Rahmen zu Rahmen dieselbe sein kann, wie oben erwähnt wurde, oder dynamisch geändert werden kann. Es sollte ebenfalls begrüßt werden, dass keine Daten für einen besonderen Schlitz übertragen werden können, während seine Zuweisung geändert wird, wobei beachtet wird, dass in einem Ausführungsbeispiel der Schlitz in einem Rahmen benötigt wird, um den Schlitz freizugeben und ein Schlitz in einem weiteren Rahmen benötigt wird, um den Schlitz einem anderen Kanal zuzuweisen.
  • 11 zeigt ein Kodierschema, das durch ein Ausführungsbeispiel der vorliegenden Erfindung ausgeführt wird, während es im Multiplexermodus ist. Die linke Hälfte der Tabelle 240 zeigt kodierte 6 Bits eines Tokens. Die rechte Hälfte der Tabelle 241 zeigt die dekodierte Ausgabe, die an einen oder mehrere der Kanäle 0 bis 3 gesendet werden soll und die Signifikanz dieser Ausgabe. Ein Token weist 6 Bits auf, die auf Leitungen notTRST, TMS und TDI empfangen werden. Die ersten 3 Bits eines Tokens werden an der fallenden Flanke des TCK empfangen und die zweiten 3 Bits werden auf der steigenden Flanke von TCK empfangen. Die erste Leitung 242 in der Tabelle zeigt, dass, wann immer Nullen auf der steigenden Flanke von TCK für alle drei Eingaben empfangen werden, der Multiplexerblockneustart ausgeführt wird. Dies setzt voraus, dass alle Ausgabesignale an die vier Kanäle niedrig sind.
  • Die fünf Leitungen 243 der Tabellen zeigen Kombinationen, die in diesem Ausführungsbeispiel nicht verwendet werden, aber die verschiedenen Funktionen zugewiesen werden können.
  • Die Leitungen 244, 245 sind dann relevant, wenn ein bestimmter Halbschlitz nicht bereits einem Kanal zugewiesen wurde. Vorzugsweise speichert ein Kanalzuweisungsregister die zugewiesenen Kanäle für jeden der 16 Halbschlitze in einem 8 Tokenrahmen. Bei Verwendung des Rahmensystems wissen sowohl der Multiplexer auf dem Chip als auch der Multiplexerblocktreiber, der extern vom Chip ist, an welcher Stelle innerhalb eines bestimmten Rahmens sie zu jedem Zeitpunkt während der Kommunikation sind. Daher ist der Multiplexerblock, sobald er jeden Halbtoken in einem Rahmen empfängt, in der Lage, zu verifizieren, ob oder ob nicht dieser bestimmte Halbschlitz einem Kanal zugewiesen wurde, indem er sich auf den Bereich innerhalb des Kanalzuweisungsregisters bezieht, der dem Schlitz zugewiesen ist. Wenn ein Kanal nicht zugewiesen wurde und wenn notTRST hoch ist, zeigen die Werte, die auf Leitungen TMS und TDI gesendet wurden, den gewünschten Kanal für den bestimmten Halbschlitz an. Die zwei Bits C1 auf Leitung TMS und C2 auf Leitung TDI zeigen einen Kanal an, wie in der folgenden Tabelle gezeigt ist:
    C2 C1 Eingabe-/Ausgabekanal
    0 0 0
    0 1 1
    1 0 2
    1 1 3
    Tabelle 2
  • Dasselbe Schema wird für die erste Hälfte und die zweite Hälfte für jeden Schlitz verwendet. Die Leitungen 244 und 245 werden dann nicht verwendet, wenn ein Schlitz zugewiesen wurde.
  • Die Leitungen 246 bis 249 in der Tabelle zeigen die Signifikanz der empfangenen Signale, wenn ein Halbschlitz einem Kanal zugewiesen wurde. Während notTRST niedrig ist, können die Zielvorrichtungen neu gestartet werden (notTRST oder für jeden Kanal niedrig) durch Setzen von TMS hoch und TDI niedrig.
  • Während notTRST niedrig ist, können die Halbschlitze freigegebene Kanäle sein. Der Kanal für einen aktuellen Schlitz kann durch Setzen von TMS und TDI auf hoch freigegeben werden, wie auf Leitung 248 der Tabelle gezeigt ist. Wenn dies ausgeführt wird, wird das Kanalzuweisungsregister aktualisiert und die Daten, die als nächstes in der Zeit anliegen, werden für diesen Schlitz empfangen (mit notTRST hoch), wobei die Werte von TMS und TDI einen neuen Kanal zuweisen.
  • Wenn ein Halbschlitz zugewiesen wurde und notTRST hoch ist, werden die Signale TMS und TDI, die als M und D auf Leitung 249 der Tabelle gekennzeichnet sind, für die Daten verwendet, die zu dem Test gehören. Die Daten werden sowohl auf der fallenden als auch auf der steigenden Taktflanke des Taktsignals TCK empfangen. Diese Daten werden auf den Kanälen auf der steigenden Taktflanke des Taktsignals TCK ausgegeben. Wie oben erwähnt wurde, können in Ausführungsbeispielen der Erfindung die zwei Halbschlitze eines Tokens nicht demselben Kanal zugewiesen werden, da die ausgegebenen Daten auf einem Kanal nur durch die steigenden Flanke des Taktsignals TCK getaktet werden und deshalb bei doppelter Datenrate bei der sie empfangen wurden.
  • Eine Anforderung des Systems ist, dass jede Zielvorrichtung auf dem Chip zur selben Zeit diagnostiziert wird. Allerdings, wenn das Taktsignal TCK auf jeden der Kanäle übertragen wird, wenn ein bestimmter Kanal einem Schlitz nicht zugewiesen ist, werden fehlerhaften Nullen durch die Zielvorrichtung getaktet werden. Um dies zu vermeiden, wird das Taktsignal TCK zwischen den Kanälen aufgeteilt, so dass nur, wenn Daten verfügbar sind, die Zielvorrichtung die Daten takten wird. Während für einen bestimmten Kanal keine Daten verfügbar sind, wird das Taktsignal TCK nicht gesetzt und deshalb wird die Vorrichtung in einem Ruhezustand verbleiben, während sie auf das nächste Taktsignal wartet.
  • Zurückkommend auf 9 und 10 führen die Kodier- und Dekodierblöcke 67 bis 74 in 9 und die Kodier- und Dekodierblöcke 84 bis 91 in 10 das Kodieren und Dekodieren der Signale wie oben beschrieben aus.
  • In einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird eine Überabtasttechnik verwendet, während der gesamten Kommunikation zwischen der Testeinrichtung oder dem Multiplexerblocktreiber und dem Multiplexerblock oder Multiplexerblock 2 Block auf dem Chip, wie er nun beschrieben werden wird.
  • Eine Lösung, die Überabtasten verwendet, wird detaillierter in einer begleitenden europäischen Patentanmeldung EP 01307926.6 beschrieben.
  • Die Verwendung von Überabtasten in der vorliegenden Erfindung wird nun unter Bezugnahme auf die 5 und 6 beschrieben. Es wird eine Überabtastlogik verwendet, um den Effekt einer Verzögerungsschleife zwischen der Testeinrichtung und dem TAPMux herzustellen, ohne, dass eine Verringerung der Taktfrequenz benötigt wird. Überabtasten ist dort, wo für jede gegebene Zeitperiode mehr Samples gewünschter Daten aufgenommen werden, als benötigt werden, und nur das Datensample oder die Samples, die als gültig erkannt wurden, an die nachfolgende Logik weitergeleitet werden.
  • Es wird nun auf 5 Bezug genommen, die einen Schaltkreis zum Überabtasten in Übereinstimmung mit einem möglichen Ausführungsbeispiel zeigt. Der in 5 gezeigte Schaltkreis ist in der Testeinrichtung aufgenommen. Das TDO-Signal, das bei der Testeinrichtung empfangen wird, wird in einer Kette von Verzögerungselementen 400 bis 408 weitergeleitet. Jedes Verzögerungselement hat eine Ausgabe, die mit einem entsprechenden Flip-Flop 416 bis 418 verbunden ist. Zusätzlich existiert ein zusätzlicher Flip-Flop, der eine Eingabe von einer unverzögerten Version des TDO-Signals hat. Folglich empfängt jeder Flip-Flop das TDO-Signal, mit unterschiedlichen Verzögerungsgrößen. Jeder Flip-Flop 410 bis 418 hat seinen entsprechenden Ausgang mit einem Multiplexer 420 verbunden. Der Multiplexer 420 wird durch eine Steuerung 422 gesteuert, die eine der Versionen des TDO, die ausgegeben werden soll, auswählt. Der Steuerschaltkreis kann einen Flankenerkennungsschaltkreis zum Bestimmen der Version des TDO-Signals, das ausgegeben werden soll, umfassen, das durch eine Software bereitgestellt sein kann oder durch eine manuelle Kalibrierung. In einem Kalibrierungsmodus wird eine bekannte Abfolge von Daten angewendet und die Ausgabe wird betrachtet. Tatsächlich wird ein Versuchs- und Irrtumsverfahren ausgeführt, um festzustellen, welche die geeignete Version des TDO ist.
  • Die Verzögerungselemente können jede beliebige Form einnehmen und beispielsweise zwei Inverter, die in Reihe geschaltet sind, oder irgendeinen anderen geeigneten Schaltkreis umfassen.
  • In einem alternativen Ausführungsbeispiel können die TDO-Signale in eine Reihe von Flip-Flops eingegeben werden, wobei keines der TDO-Signale verzögert ist. Stattdessen wird jedes Taktsignal, welches an die Flip-Flops eingegeben wird, eine unterschiedliche Verzögerung aufweisen. Die Ausgaben der Flip-Flops würden an einen Multiplexer ausgegeben werden, der einen ähnlichen Steuerschaltkreis aufweist, wie bereits beschrieben wurde.
  • Das Prinzip hinter dem Ausführungsbeispiel der Erfindung und die beschriebene Abänderung werden nun unter Bezugnahme auf die 6 erörtert.
  • Die Funktion des Flankendetektors 440 wird nun unter Bezugnahme auf 6 erklärt. 6 zeigt ein Testtaktsignal TCK.
  • Die Testdaten TDO, die bei der Testeinrichtung empfangen werden, können einen Übergang aufweisen, der manchmal innerhalb eines Taktzyklusses des Testtaktsignals liegt. Fall 1 stellt Testdaten dar, die einen Übergang während eines Teils eines Taktzyklusses haben und Fall 2 stellt Testdaten dar, die einen Übergang während eines anderen Teils des Taktzyklusses haben. Fall 1 stellt eine Version einer TDO-Eingabe an einen Flip-Flop in 5 dar und Fall 2 stellt eine andere Version der TDO-Eingabe an einen Flip-Flop in 5 dar, wobei er eine unterschiedliche Verzögerung aufweist. Der Teil der Signale TDO, die mit einer Markierung (engl.: hedging) markiert sind, stellt den Teil des Signals dar, bei welchem eine Unsicherheit darüber besteht, ob der Wert verändert wurde. In Ausführungsbeispielen der Erfindung können nur zwei Fälle auftreten, oder wie in 5 veranschaulicht ist, können mehr als zwei Fälle auftreten. Die Anzahl der Fälle ist eine Sache der Konstruktionsauswahl und kann jede geeignete Anzahl gleich oder zwei oder mehr sein.
  • Das Überabtasten für jeden dieser zwei Fälle wird veranschaulicht. In diesem Beispiel wird vorausgesetzt, dass die Daten auf der steigenden Taktflanke gelesen werden. In alternativen Ausführungsbeispielen der Erfindung können die Daten an der fallenden Taktflanke oder sowohl bei der steigenden als auch bei der fallenden Taktflanke gelesen werden. In dem Fall des Falles 1 wird ein erstes Sample S1 bei der steigenden Flanke des TCK-Signals genommen. An dieser Stelle kann es einen Übergang geben und deshalb können die Daten nicht mit Sicherheit gelesen werden. Dies ist auch wahr für das zweite Sample, das bei der nächsten Taktflanke gelesen wird. Es sollte begrüßt werden, dass die Anzahl von Samplen, die genommen werden, eine Sache der Konstruktionswahl ist.
  • Das Abtasten für den zweiten Fall und Samples, die zur selben Zeit wie für das erste Sample genommen wurden, werden veranschaulicht. Für das erste und zweite Sample t1 und t2 können die Ergebnisse gültig gelesen werden.
  • Folglich wird die Ausgabe des Multiplexers als Fall 2 Daten ausgewählt werden. Die Steuereinheit 422 wird die Fall 2 Version von TDO, die ausgegeben werden soll, auswählen. Es sollte begrüßt werden, dass alternative Ausführungsbeispiele der vorliegenden Erfindung ein anderes geeignetes Verfahren zur Bestimmung verwenden können, welche Version der TDU ausgegeben werden sollen. Zum Beispiel kann ein Doppelratentakt bei Doppeldatenratenfällen verwendet werden. In diesem Fall werden die Samples bei jeder steigenden und fallenden Flanke genommen. Dies ermöglicht, dass der geeignete Fall der TDO ausgegeben wird. Es sollte begrüßt werden, dass dies in jedem analogen Weg zu der Version dieses Ausführungsbeispiels angewendet werden kann, die verzögerte Versionen des Taktsignals verwenden.
  • Das Verfahren, das durch den Flankendetektor ausgeführt wird, Kalibration oder dergleichen, die durch die Steuereinheit 422 verwendet wird, bestimmt, ob die empfangenen Daten TDO in die Kategorie fällt, die durch den ersten Fall festgelegt wurde oder in die Kategorie, die durch den zweiten Fall festgelegt wurde. In manchen Ausführungsbeispielen kann das Taktsignal bestimmt werden, welches verwendet werden soll. Zum Beispiel können manche Systeme das Taktsignal TCK und sein Inverses verwenden. Es kann bestimmt werden, welches dieser Taktsignale verwendet werden soll. Bei dieser letzteren Abänderung wäre es notwendig, Samples bei der fallenden Flanke des Taktsignals zu verwenden, sowie die steigende Taktflanke zu verwenden, um die geeignete Datenversion zu identifizieren und die geeignete Taktflanke des Taktsignals.
  • Es wird auf 12b Bezug genommen, die das Ausführungsbeispiel der 12a zeigt, wobei dies verändert ist, um das Überabtasten aufzunehmen. Insbesondere wurde Block 210 verändert und dies ist in 12b gezeigt. In dieser Anordnung wird TDO in einer unverzögerten Form an den ersten Flip-Flop 424 ausgegeben. Dann wird TDO in eine Kette von Verzögerungselementen eingegeben, die ein erstes Verzögerungselement 424 und 426 umfassen. Eine Ausgabe von jedem dieser Verzögerungselemente wird einem ersten bzw. dritten Flip-Flop eingegeben. Mit anderen Worten empfängt jeder dieser drei Flip-Flops eine Version der TDO mit einem unterschiedlichen Verzögerungsbetrag. Jeder der Flip-Flops empfängt auch dieselben Taktsignale. Jeder der Flip-Flops stellt eine Ausgabe an einen ersten Multiplexer 434 bereit und an einen zweiten Multiplexer 436. Der erste Multiplexer stellt eine Ausgabe C2 bereit und der zweite Multiplexer stellt eine Ausgabe D2 bereit. Es sollte begrüßt werden, dass ein geeigneter Steuerschaltkreis (nicht gezeigt) bereitgestellt wird, um zu steuern, welche Flip-Flop-Ausgabe als eine Ausgabe des Multiplexerschaltkreises bereitgestellt wird. Es sollte begrüßt werden, dass in manchen Ausführungsbeispielen mehr als zwei Verzögerungselemente und drei Flip-Flops bereitgestellt werden können. Die Alternativen, die in Bezug auf 5 beschrieben wurden, können auch hier angewendet werden.
  • In den bevorzugten Ausführungsbeispielen der vorliegenden Erfindung, die in 1 und 8 gezeigt sind, sind die TAP-Steuerungen und Multiplexerblock 11 vollständig abtasttestbar. In bestimmten Ausführungsbeispielen der Erfindung unterstützt der Multiplexerblock 11 das Abtasttesten. Für das Abtasttesten müssen die Signale für das Abtasttesten durch den zu testenden Block durchgehen. Die Logik in dem TAP-Multiplexer 11 kann als eine Umgehungskombinationslogik und sequentielle Logik betrachtet werden. Die Umgehungskombinationslogik wird in 2 als 157 gekennzeichnet und umfasst einen Entstörblock 45, eine Logik 46, Multiplexer 42 und 42 und OR-Gate 44. Die sequentielle Logik wird durch den Multiplexer 41 bereitgestellt.
  • In dem Testabtastmodus werden Signale, die über PINs 3 bis 7 eingegeben werden, mit der Haupt-TAP-Steuerung über die Umgehungskombinationslogik verbunden. Die Haupt-TAP-Steuerung wird verwendet, um die Logik 154, 158 usw. Hardware zu testen. Mit anderen Worten werden die TAP-Steuerungen 13 bis 14 nicht verwendet, sondern nur die Haupt-TAP-Steuerung.
  • Insbesondere ist eine der TAP-Steuerungen als die Haupt-TAP-Steuerung festgelegt. Vorzugsweise führt die Haupt-TAP-Steuerung den Strukturtest aus (zusätzlich zu dem Debuggen einer bestimmten TPU) und ist mit dem Kanal 0 verbunden. Bezugnehmend auf 2, werden die Signale tst_scanmode, tst_scanenable, tst_scanin und tst_rst_n an den TAPMux-Block 11 von der Haupt-TAP-Steuerung 12 gesendet. Wenn das Signal scan_mode als hoch gesetzt wird, wird der Abtastmodus betreten.
  • Wenn scan_mode gesetzt wird, veranlasst die Umgehungslogik den zweiten und dritten Multiplexer 42, 43, die Eingabesignale von den Eingabe-PINs direkt zu Kanal 0 zu leiten und dann die Signale von dem Kanal 0 zu dem Ausgabe-Pin TDO zurückzuleiten.
  • Während des Abtastmodus' agieren die anderen TAP-Steuerungen als zweitrangige TAP-Steuerungen, die auch durch die Haupt-TAP-Steuerung strukturgetestet werden und diese sind entsprechend der in 16 gezeigten Tabelle verbunden. Der erste Abschnitt 250 der Tabelle zeigt, dass die PINs TCK, notTRST, TMS, TDI und TDO mit dem Kanal 0 verbunden sind, wie oben beschrieben wurde. Die anderen Abschnitte 251 bis 253 zeigen die Verbindungen zu den Kanälen 1, 2 bzw. 3. Jeder Kanal empfängt weiter den Takt TCK. Bei jedem Kanal 1, 2 und 3 wird notTRST mit dem Eingabesignal tst_rst_n 57 verbunden. Die Leitungen TMS und TDI zu jedem Kanal und die TDO-Rückleitungen von jedem Kanal bleiben mit dem internen Funktionspfad verbunden und werden ebenfalls strukturgetestet.
  • Während des Strukturtests wird der Multiplexerblock 11 effektiv isoliert, so dass seine Struktur getestet werden kann. In anderen Schaltkreisen wird, wenn der Test beendet wurde, ein Strukturtestneustart ausgeführt.
  • Während des Hochfahrens kann allerdings ein Problem auftauchen, wenn die integrierte Schaltung (Chip) in dem Abtasttestmodus eingeschaltet wird.
  • Ausführungsbeispiele der vorliegenden Erfindung lösen dieses Problem durch Festlegen einer Prioritätsreihenfolge. Dem TAP-Multiplexer-Neustart wird die höchste Priorität zugewiesen, so dass, wenn der Chip in dem Abtasttestmodus eingeschaltet wird, ein TAP-Multiplexerneustart den Abtasttestmodus veranlasst, verlassen zu werden. Dies bedeutet, dass der TAPMux-Neustart nicht während des Strukturtestes getestet wird. Die Prioritätsreihenfolge ist wie folgt:
    • 1. TAPMux-Neustart
    • 2. Strukturtestmodus
    • 3. Multiplexermodus
    • 4. Auswahl durch Reihenfolge
    • 5. Auswahl durch PINs
  • Es sollte begrüßt werden, dass der gesamte Multiplexer 41 bei einem TAPMux-Neustart asynchron neu gestartet wird. Der TAPMux-Neustart wird nicht von einer einzelnen Eingabe abgeleitet, sondern von einer Kombination der Eingaben 3 bis 6. Bei Ausführungsbeispielen der Erfindung ist sichergestellt, dass die Dekodierlogik 44 (OR-Gate) nicht diesen Zustand aufweist. Um sicherzustellen, dass alle Zustände korrekt asynchron neugestartet werden (ohne, dass Taktung benötigt wird), wird dies durch Setzen des Signals tmx_notTRST in den niedrigen Zustand erreicht. Bei manchen Ausführungsbeispielen der Erfindung kann das Signal tst_rst_n von der Haupt-TAP-Steuerung oder durch den externen Testschaltkreis erzeugt werden. Die Haupt-TAP-Steuerung kann folglich Abtasttestsignale über die Umgehungslogik empfangen. Um den Multiplexer 41 zu testen, kann die Haupt-TAP-Steuerung Abtasttestsignale an dem Multiplexer 41 bereitstellen. Zusätzlich können die Abtasttestsignale der Umgehungslogik bereitgestellt werden.
  • Innerhalb des oben beschriebenen Multiplexermodus existieren zwei Arten von Datenübertragung, transparenter Datenübertragung und Pipelinedatenübertragung. Diese Arten von Datenübertragung haben keine Auswirkung auf den Betrieb des TAP-Multiplexerblocks, können aber Folgen auf den Betrieb der externen Einrichtung haben. Im Folgenden wird der Betrieb des externen TAP-Multiplexertreibers beschrieben werden.
  • Zuerst wird die transparente Datenübertragung unter Bezugnahme auf 17a beschrieben. Der externe TAP-Multiplexertreiber nimmt die positive Flanke des Hosttesttaktsignals (siehe das Signal, das in 17a mit 1 markiert ist) und entsprechende TMS- und TDI-Daten auf (siehe das Signal in 17a, das mit 2 markiert ist) für jeden Schlitz, der einem bestimmten Kanal zugewiesen ist und dies wird dann an den TAP-Multiplexer weitergeleitet. Der TAP-Multiplexer gibt die Testdaten (siehe das Signal, das in 17a mit 4 markiert ist) in den entsprechenden Schlitzen zurück. Daher existiert eine veränderbare Zeitmenge (die in den TAP-Multiplexerblockperioden gezählt ist, die durch das mit 3 markierte Signal in 17a gezeigt ist) die bis zu dem Start des nächsten zugewiesenen Schlitzes zurückgeleitet wird und ein weiterer fester Betrag der Zeit oder Verzögerung (in den TAP-Multiplexertaktperioden gezählt) bevor die entsprechenden Testdaten zurückgegeben werden. Es existiert keine Parallelverarbeitung (Pipelining) von Daten, weswegen die Taktfrequenz für so einen Kanal signifikant niedriger als die der TAP-Multiplexertaktfrequenz ist. Es existiert keine zusätzliche Takttotzeit (gezählt in Taktperioden für diesen Kanal), die der Pfadverzögerung durch den TAP-Multiplexer hinzugefügt wird. Diese Verbindung erscheint als eine direkte oder transparente Verbindung und ist geeignet für die Verbindung mit Vorrichtungen mit einem niedrigeren Geschwindigkeitstest, die nicht tolerant gegenüber einer Parallelverarbeitung oder Verzögerungen in der TAP- Steuerungsverkettung in dem Rückkehrpfad sind. Mit anderen Worten empfängt die integrierte Schaltung Testdaten von dem externen Testschaltkreis und stellt die zugehörigen Testdaten außerhalb des externen Testschaltkreises innerhalb eines Taktzyklusses eines der Hostcomputer bereit. Die Verzögerung ist nicht sichtbar bzgl. Hosttaktzyklengrenzen.
  • Daher ist für den transparenten Modus die Verzögerung signifikant niedriger als die Hosttaktperiode. Verzögerung in diesem Zusammenhang ist die Zeit, die ein Signal von dem Host zum Erreichen des Ziels benötigt (Testeinrichtung zu dem TAP-Multiplexer 11), für Signalinteraktion mit dem Ziel und zum Rücksenden eines Signals zu der Testeinrichtung. In diesem Ausführungsbeispiel ist die Taktperiode in der integrierten Schaltung viel größer als die Hosttaktperiode.
  • In dem parallelverarbeitenden Datenübertragungsmodus nimmt der externe TAP-Multiplexertreiber die positive Flanke des Hosttesttaktes und entsprechende TMS- und TDI-Daten auf, sobald sie für jeden Kanal ankommen. Dies wird in einem FIFO gepuffert und an den TAP-Multiplexer weitergeleitet, der die Schlitze verwendet, die dem Kanal zugewiesen sind. Der TAP-Multiplexer gibt die Testdaten in den entsprechenden Schlitzen zurück. Es existiert eine feste Takttotzeit, die der Pfadverzögerung durch den TAP-Multiplexer zugefügt wird. Diese Verbindung verhält sich in ähnlicher Weise wie eine TAP-Steuerungsverkettung mit einer festen Parallelverarbeitungsverzögerung. Dies wird in 17b veranschaulicht, die drei Parallelverarbeitungszustände für den TAP-Multiplexer zeigt, d.h. die Dekodierung erscheint in dem ersten Taktzyklus, Interaktion mit dem Ziel erscheint in dem nächsten Taktzyklus und das Rückgeben der Testdaten erscheint in einem dritten Taktzyklus.
  • In dem Parallelverarbeitungsmodus ist die Verzögerung größer als die Hosttaktperiode. Wie erwähnt wurde, ist die Verzögerung die Zeit, die für ein Signal von dem Host zum Erreichen eines Ziels benötigt wird (Testeinrichtung zu TAP-Multiplexer 11), für die Interaktion mit dem Ziel und für das Rückgeben eines Signals (TDO) an die Testeinrichtung.
  • Es sollte verstanden werden, dass die Beziehung zwischen Eingabetestdaten (TDI) und Ausgabetestdaten (TDO) eine Funktion des Testbetriebes ist, der ausgeführt wird, und diese Beziehung der externen Testeinrichtung bekannt ist. Im Parallelverarbeitungsmodus wird diese Beziehung verschoben oder verzögert durch eine totale Anzahl von TCK-Taktzyklen und die externe Testeinrichtung muss sich daher dieser Verschiebung bewusst sein oder ihr gegenüber tolerant sein.
  • In diesem Ausführungsbeispiel ist die Taktperiode TCK in der integrierten Schaltung dieselbe oder sie ist schneller als die Hosttaktperiode (allerdings nicht so schnell wie in dem transparenten Modus, bzgl. der Hosttaktperiode).
  • Das Aufnehmen von Daten, Verarbeiten, Kodieren und Übertragen von dem Ziel kann als eine begrenzte Anzahl (im Wesentlichen die gesamte Anzahl) von Taktperioden in dem Parallelverarbeitungsmodus gemessen werden.
  • Die Testeinrichtung für den transparenten Modus ist derart, dass der FIFO von 9 weggelassen werden kann oder wenigstens der erste Ort nur dafür verwendet wird. Der FIFO wird für den Parallelverarbeitungsmodus benötigt. Folglich kann der FIFO Pufferbereiche umfassen. Die Verzögerung, die die Zeit ist, die benötigt wird, um durch die FIFO-Stufe zu laufen, ist folglich größer als in dem transparenten Modus.
  • Einrichtungen von Dritten sind möglicherweise nicht in der Lage, in dem Parallelverarbeitungsmodus betrieben zu werden. Der Parallelverarbeitungsmodus kann schneller sein.
  • Für eine niedrige Taktfrequenz mit einem FIFO, werden die Daten zum Beispiel drei Zyklen des Hosttaktes später herauskommen, was nicht wünschenswert ist. Um die Transparenzleistung zu verbessern, ist es wünschenswert, so viele FIFO wie möglich zu umgehen. Für schnellere Takte, werden FIFOs benötigt.
  • Ausführungsbeispiele der Erfindung benötigen keine Steuerinformation für den Block auf dem Chip, um zwischen dem Transparenzmodus und dem Parallelverarbeitungsmodus zu unterscheiden. Das Verhalten ist für die Logik auf dem Chip dasselbe für beide Modi. Die Logik extern vom Chip kann zusätzliche Komplexität aufweisen, so dass die Kombination der Logik von extern vom Chip und der Logik auf dem Chip das korrekte Verhalten in beiden Betriebsmoden gibt.
  • In Ausführungsbeispielen der Erfindung existiert ein konsistenter TCK Dreizyklenbetrieb in beiden Betriebsmoden, d.h. Dekodieren vom Host, Interaktion mit dem Ziel und Kodieren zum Host auf der integrierten Schaltung.
  • Die FIFOs 61, 62, 63, 64, die in 9 gezeigt sind, werden unterschiedlich in den zwei Betriebsmodi verwendet. In dem transparenten Betriebsmodus wird nur der erste Bereich verwendet, während in dem Parallelverarbeitungsbetriebsmodus die volle Tiefe der FIFOs verwendet wird.
  • Bei einer Abänderung der oben beschriebenen Ausführungsbeispiele können die TAP-Steuerungen 13 und 14 weggelassen werden. Dem ist deshalb so, da die TAP-Steuerungen nicht für den Strukturtest verwendet werden. Die Funktionalität der TAP-Steuerung in Block 15 kann vorhanden sein oder auch nicht. Die Haupt-TAP-Steuerung kann dann so eingerichtet sein, dass sie nur in dem Umgehungsmodus sichtbar ist und im Multiplexmodus alle Kanäle so erscheinen, als ob sie keine TAP-Steuerung haben. Die Haupt-TAP-Steuerung wird in dem Strukturtest verwendet.
  • Die oben beschriebenen Ausführungsbeispiele wurden im Zusammenhang mit einem einzigen seriellen Datenbit auf TDI und TDO beschrieben. Es sollte begrüßt werden, dass zusätzliche Signale bereitgestellt werden können, um zusätzliche Testdaten zu tragen. Mit anderen Worten können die TDI und TDO durch mehrere Eingaben bzw. Ausgaben bereitgestellt werden. In bevorzugten Ausführungsbeispielen der Erfindung kann das Kodierschema nur den ersten TDI-Pin für die Steuerinformation verwenden.
  • In Ausführungsbeispielen der Erfindung können TDI und entsprechende interne Derivate von TDI durch mehrere Verbindungen erweitert werden, zum Tragen von zusätzlicher Information, von der externen Einrichtung zu der geeigneten internen CPU. Auf ähnliche Art und Weise können TDO und entsprechende interne Derivate von TDO erweitert werden durch mehrere Verbindungen zum Tragen zusätzlicher Information von der geeigneten internen CPU zu der externen Einrichtung.

Claims (13)

  1. Integrierte Schaltung (10), umfassend: mehrere Bereiche (1118, 150158), wobei jeder Bereich einen Teststeuer-Schaltkreis (11, 12, 13, 14) aufweist, wenigstens einen Testeingang, der eingerichtet ist, Testsignale zu empfangen, wobei einer oder mehrere der Teststeuer-Schaltkreise mehrere Testmodi aufweisen, bei welcher in wenigstens einem der Testmodi ein oder mehrere der mehreren Bereiche getestet werden können, dadurch gekennzeichnet, daß die Schaltung einen Neustartmodus aufweist, der eine Priorität hat, die über der des Testmodus liegt.
  2. Schaltung nach Anspruch 1, bei welcher der Neustartmodus einen Umgehungsmodus umfaßt.
  3. Schaltung nach einem der Ansprüche 1 oder 2, bei welcher der Neustartmodus die höchste Priorität eines jeden Modus der integrierten Schaltung hat.
  4. Schaltung nach einem der vorhergehenden Ansprüche, bei welcher der Testmodus einer ist, bei welchem ein Strukturtest ausgeführt wird.
  5. Schaltung nach einem der vorhergehenden Ansprüche, bei welcher der Testmodus ein Abtasttestmodus ist.
  6. Schaltung nach einem der vorhergehenden Ansprüche, bei welcher einer der Teststeuer-Schaltkreise einen Haupttest-Schaltkreis aufweist.
  7. Schaltung nach Anspruch 6, bei welcher der Haupttest-Schaltkreis eingerichtet ist, wenigstens einen anderen der anderen Bereiche der Schaltung zu testen.
  8. Schaltung nach einem der Ansprüche 6 oder 7, bei welcher der Haupttest-Schaltkreis eingerichtet ist, alle anderen Bereiche der Schaltung zu testen.
  9. Schaltung nach einem der Ansprüche 6 bis 8, bei welcher der Haupttest-Schaltkreis eine TAP-Steuerung aufweist.
  10. Schaltung nach einem der vorhergehenden Ansprüche, bei welcher der Teststeuer-Schaltkreis einen TAP-Multiplexer aufweist, um Eingabe- und/oder Ausgabetestdaten zu/von mehreren Testschaltkreisen zu multiplexen.
  11. Schaltung nach Anspruch 10, bei welcher der TAP-Multiplexer ein Umgehungs-Schaltnetz (157) und Schaltwerk (1, 41) umfaßt.
  12. Schaltung nach Anspruch 11, bei welcher das Schaltwerk in einem Umgehungsmodus umgangen wird.
  13. Schaltung nach einem der vorhergehenden Ansprüche, bei welcher ein Strukturtestmodus Vorrang vor einem Multiplexermodus hat in dem der eine der Testschaltkreise eine Multiplexerfunktion bereitstellt.
DE60314525T 2003-12-17 2003-12-17 TAP Zeitmultiplexen mit Abtasttest Expired - Lifetime DE60314525T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP03257952A EP1544631B1 (de) 2003-12-17 2003-12-17 Reset-Modus für Scan-Test-Modi

Publications (2)

Publication Number Publication Date
DE60314525D1 DE60314525D1 (de) 2007-08-02
DE60314525T2 true DE60314525T2 (de) 2008-02-28

Family

ID=34486432

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60314525T Expired - Lifetime DE60314525T2 (de) 2003-12-17 2003-12-17 TAP Zeitmultiplexen mit Abtasttest

Country Status (3)

Country Link
US (3) US7702974B2 (de)
EP (1) EP1544631B1 (de)
DE (1) DE60314525T2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725791B2 (en) 2006-10-20 2010-05-25 Texas Instruments Incorporated Single lead alternating TDI/TMS DDR JTAG input
US8112683B1 (en) * 2007-02-06 2012-02-07 Marvell International Ltd. System and application debugging
US8589714B2 (en) * 2009-12-18 2013-11-19 Texas Instruments Incorporated Falling clock edge JTAG bus routers
KR101910933B1 (ko) * 2011-12-21 2018-10-24 에스케이하이닉스 주식회사 반도체 집적회로 및 그의 테스트 제어방법
US8914693B2 (en) 2012-02-15 2014-12-16 International Business Machines Corporation Apparatus for JTAG-driven remote scanning
US9026872B2 (en) * 2012-08-16 2015-05-05 Xilinx, Inc. Flexible sized die for use in multi-die integrated circuit
US9547034B2 (en) 2013-07-03 2017-01-17 Xilinx, Inc. Monolithic integrated circuit die having modular die regions stitched together
US9915869B1 (en) 2014-07-01 2018-03-13 Xilinx, Inc. Single mask set used for interposer fabrication of multiple products
KR101787889B1 (ko) 2016-04-26 2017-10-19 한양대학교 에리카산학협력단 반도체 회로의 시분할 테스트 방법 및 시스템
KR101856847B1 (ko) 2016-06-14 2018-05-10 한양대학교 에리카산학협력단 적층 반도체 회로의 시분할 테스트 방법 및 장치
CN109643416A (zh) 2016-06-30 2019-04-16 科珀有限责任公司 用于销售点系统的智能数据电缆
US11436181B2 (en) 2016-06-30 2022-09-06 Copper Inc. Data processing systems and methods for transmitting and modifying data via a smart data cable
US10386411B2 (en) * 2017-08-23 2019-08-20 Stmicroelectronics International N.V. Sequential test access port selection in a JTAG interface
US20220023093A1 (en) * 2020-07-27 2022-01-27 Toshio Hosogai Dual use interoral protection mask
US11321693B1 (en) 2020-12-10 2022-05-03 Copper Inc. Data processing systems and methods for transmitting and modifying data via a smart data cable
US11132667B1 (en) 2020-12-10 2021-09-28 Copper Inc. Data processing systems and methods for transmitting and modifying data via a smart data cable
US12487282B2 (en) * 2021-12-28 2025-12-02 Advanced Micro Devices Products (China) Co., Ltd. On-chip distribution of test data for multiple dies

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5130988A (en) * 1990-09-17 1992-07-14 Northern Telecom Limited Software verification by fault insertion
US5640521A (en) * 1992-06-17 1997-06-17 Texas Instruments Incorporated Addressable shadow port and protocol with remote I/O, contol and interrupt ports
US5627842A (en) * 1993-01-21 1997-05-06 Digital Equipment Corporation Architecture for system-wide standardized intra-module and inter-module fault testing
US5717947A (en) * 1993-03-31 1998-02-10 Motorola, Inc. Data processing system and method thereof
US5828825A (en) * 1993-12-22 1998-10-27 Intel Corporation Method and apparatus for pseudo-direct access to embedded memories of a micro-controller integrated circuit via the IEEE test access port
GB9417591D0 (en) 1994-09-01 1994-10-19 Inmos Ltd Scan testable double edge triggered scan cell
US5742695A (en) * 1994-11-02 1998-04-21 Advanced Micro Devices, Inc. Wavetable audio synthesizer with waveform volume control for eliminating zipper noise
US6324614B1 (en) * 1997-08-26 2001-11-27 Lee D. Whetsel Tap with scannable control circuit for selecting first test data register in tap or second test data register in tap linking module for scanning data
US6408413B1 (en) * 1998-02-18 2002-06-18 Texas Instruments Incorporated Hierarchical access of test access ports in embedded core integrated circuits
US6425100B1 (en) * 1998-04-24 2002-07-23 Texas Instruments Incorporated Snoopy test access port architecture for electronic circuits including embedded core with built-in test access port
JP3763385B2 (ja) * 1999-11-09 2006-04-05 シャープ株式会社 半導体装置
US7181705B2 (en) * 2000-01-18 2007-02-20 Cadence Design Systems, Inc. Hierarchical test circuit structure for chips with multiple circuit blocks
US6715105B1 (en) * 2000-11-14 2004-03-30 Agilent Technologies, Inc. Method for reducing stored patterns for IC test by embedding built-in-self-test circuitry for chip logic into a scan test access port
US6691270B2 (en) * 2000-12-22 2004-02-10 Arm Limited Integrated circuit and method of operation of such a circuit employing serial test scan chains
US6829730B2 (en) * 2001-04-27 2004-12-07 Logicvision, Inc. Method of designing circuit having multiple test access ports, circuit produced thereby and method of using same
US6988232B2 (en) * 2001-07-05 2006-01-17 Intellitech Corporation Method and apparatus for optimized parallel testing and access of electronic circuits
US6816991B2 (en) 2001-11-27 2004-11-09 Sun Microsystems, Inc. Built-in self-testing for double data rate input/output
KR100430074B1 (ko) * 2002-01-08 2004-05-03 학교법인 한양학원 시스템칩 테스트 접근을 위한 랩드 코아 연결 모듈

Also Published As

Publication number Publication date
US8151151B2 (en) 2012-04-03
DE60314525D1 (de) 2007-08-02
US7702974B2 (en) 2010-04-20
US20050216802A1 (en) 2005-09-29
EP1544631B1 (de) 2007-06-20
US20100192031A1 (en) 2010-07-29
EP1544631A1 (de) 2005-06-22
US20120266037A1 (en) 2012-10-18
US8412989B2 (en) 2013-04-02

Similar Documents

Publication Publication Date Title
DE60314525T2 (de) TAP Zeitmultiplexen mit Abtasttest
DE69737732T2 (de) Nachrichtenübertragungsverfahren für eine Testzugriffsportsteuerungsvorrichtung (TAP)
DE69713856T2 (de) Integrierte Halbleiterspeicheranordnung und Kommunikationsverfahren dafür
DE69715345T2 (de) Eine integrierte Schaltung mit einer TAP (Testzugriffport) Steuerungsvorrichtung
DE69429614T2 (de) Verfahren und Anordnung zur synchronen Datenübertragung zwischen Digitalgeräten, deren Betriebsfrequenzen ein P/Q Integer-Frequenzverhältnis aufweisen
DE69706271T2 (de) Integrierter Rechner mit Befehlsverfolgung
DE60025789T2 (de) Logische eingebaute Selbstprüfung (LBIST) Steuerschaltungen, Systeme und Verfahren mit automatischer Bestimmung der maximalen Abtastkettenlänge
DE69226001T2 (de) Hochgeschwindigkeitsprüfung einer integrierten Schaltung mit JTAG
DE69030528T2 (de) Verfahren und Anordnung zum Testen von Schaltungsplatten
DE602004003475T2 (de) Testen von integrierten schaltungen
DE69118952T2 (de) Halbleitervorrichtung mit integrierter Halbleiterschaltung und Betriebsverfahren dafür
DE60309931T2 (de) Verbindung mehrerer testzugriffsportsteuerungsvorrichtungen durch ein einzeltestzugriffsport
DE102006059156B4 (de) Verfahren zum Testen eines integrierten Schaltkreischips mit zumindest zwei Schaltungskernen sowie integrierter Schaltkreischip und Testsystem
DE60205118T2 (de) Integriertes prüfen eines serialisierers/deserialisierers in fpga
DE69708255T2 (de) Diagnosesystem und Verfahren bei einer integrierten Schaltung
DE69728244T2 (de) Verfahren und Vorrichtung für die Fehlerbeseitigungsunterstützung eines Pipeline-Mikroprozessors
DE69705813T2 (de) Diagnosesystem und Verfahren bei einer integrierten Halbleiterschaltung
DE3750236T2 (de) Gerät zur In-line-Abfragesteuerung für Datenprozessorprüfung.
DE3687956T2 (de) Datensynchronisator zwischen einer sende- und einer empfangsanlage.
DE102006059158B4 (de) Integrierter Schaltkreischip mit zumindest zwei Schaltungskernen und zugehöriges Verfahren zum Testen
DE69802977T2 (de) Steuervorrichtung einer Auslösesignalreihenfolge
DE112007001602T5 (de) Strukturbasierter Hochgeschwindigkeitsserien-Kreuzschienenschalter für ATE
DE69217524T2 (de) Testschaltung, vorgesehen in digitalen logischen Schaltungen
DE3855410T2 (de) Diagnosegerät für ein Datenverarbeitungssystem
DE602004006236T2 (de) Testen von elektronischen schaltungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition