DE60207307T2 - Testen von schaltungen mit mehreren taktsignal-domänen - Google Patents

Testen von schaltungen mit mehreren taktsignal-domänen Download PDF

Info

Publication number
DE60207307T2
DE60207307T2 DE60207307T DE60207307T DE60207307T2 DE 60207307 T2 DE60207307 T2 DE 60207307T2 DE 60207307 T DE60207307 T DE 60207307T DE 60207307 T DE60207307 T DE 60207307T DE 60207307 T2 DE60207307 T2 DE 60207307T2
Authority
DE
Germany
Prior art keywords
clock
storage element
data
data storage
subcircuits
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
DE60207307T
Other languages
English (en)
Other versions
DE60207307D1 (de
Inventor
G. Hubertus VERMEULEN
K. Sandeep GOEL
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.)
NXP BV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Application granted granted Critical
Publication of DE60207307D1 publication Critical patent/DE60207307D1/de
Publication of DE60207307T2 publication Critical patent/DE60207307T2/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/318552Clock circuits details
    • 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
    • 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/318583Design for test
    • 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/318594Timing aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Logic Circuits (AREA)

Description

  • Die Erfindung bezieht sich auf eine elektronische Schaltung mit einer Vielzahl von Taktdomänen und ein Verfahren zum Testen einer solchen elektronischen Schaltung.
  • Aus einer Anzahl von Gründen werden integrierte Schaltungen in mehrere Taktdomänen, die ihre eigenen Taktsignale haben, aufgeteilt (die Aufteilung geschieht nur in einem funktionalen Sinn, nicht physikalisch). Die Verwendung verschiedener Taktdomänen verringert die Anforderungen an den Versatz der Taktsignale, die für verschiedene Subdomänen verwendet werden und kann verwendet werden, um beispielsweise die Leistungsaufnahme der Schaltung zu reduzieren. In einer Schaltung mit mehreren Taktdomänen sind die Taktsignale von verschiedenen Taktdomänen untereinander beispielsweise in Hinsicht von Phase, Frequenz oder Arbeitszyklus verschieden. In jeder Domäne kann die Lieferung des Taktsignals an Subschaltungen in dieser Taktdomäne unabhängig von den anderen Taktdomänen abgeschaltet werden.
  • Leider macht die Verwendung verschiedener Taktdomänen das Testen und das Debuggen der elektronischen Schaltung schwieriger. US Patente Nr. 6.131.173 und Nr. 6.327.684 beschreiben Lösungen, um diese Schwierigkeiten zu mildern. In US 6.131.173 ist am Interface zwischen zwei Taktdomänen eine Interface-Schaltung eingefügt, welche die verschiedenen Taktdomänen in einem Testmodus voneinander isolieren kann. Dieses Interface macht es möglich, Daten in die oder aus der isolierten Taktdomäne zu liefern oder zu extrahieren.
  • Diese Technik macht es aber nicht möglich, die verschiedenen Subschaltungen aus verschiedenen Taktdomänen zu testen oder zu debuggen, wenn sie miteinander kooperieren. Um solch einen kooperativen Betrieb zu debuggen ist es notwendig, den Subschaltungen zu erlauben, zu kooperieren, während jede mit ihrem eigenen Taktsignal getaktet wird. Auf eine Stop-Anfrage von dem Tester, Debugger oder Debug-Hardware auf dem Chip werden die Takte gestoppt, um die während der Kooperation der Schaltungen produzierten Daten zu prüfen. Aber es wurde festgestellt, dass ein solches Verfahren des Debuggens nicht immer zuverlässige Ergebnisse liefert. Beispielsweise passt der Vergleich der während der Kooperation erzeugten Daten nicht konsequent zu Simulationsdaten, auch wenn die Schaltung richtig arbeitet.
  • Unter anderem ist es eine Aufgabe das Debuggen und Testen von elektronischen Schaltungen, die mehrere Taktdomänen enthalten, in denen Subschaltungen aus verschiedenen Taktdomänen miteinander kooperieren, zu erleichtern.
  • Die erfindungsgemäße elektronische Schaltung ist in Anspruch 1 dargelegt. Es wurde realisiert, dass die Unzuverlässigkeit der Ergebnisse des Debuggens eine Konsequenz der Tatsache ist, dass es unmöglich ist, die Takte in verschiedenen Taktdomänen gleichzeitig zu stoppen. Beispielsweise ist es normalerweise notwendig, den aktuellen Taktzyklus zu vollenden, bevor der Takt gestoppt werden kann. Aber aufgrund von Phasen- und Frequenzunterschieden zwischen den verschiedenen Taktsignalen kann der Takt einer ersten Taktdomäne vor dem Takt einer zweiten Taktdomäne gestoppt werden.
  • Das kann den Effekt haben, dass ein Datenspeicherelement in der zweiten Taktdomäne ungültige Daten, vor allem Daten, die vor dem Auffangen hätten upgedatet werden müssen, bevor sie aufgefangen wurden, aber nicht upgedatet wurden, weil das Taktsignal der erste Taktdomäne vor dem Update gestoppt wurde, auffängt. Dies passiert, wenn ein aktives Teil eines Taktsignals, das Update-Daten in dem Datenspeicher in der ersten Taktdomäne steuert, in dem Zeitintervall zwischen dem Signal zum Stoppen der Takte und der Zeit, wann Daten von dem Datenspeicherelement in der zweiten Taktdomäne aufgefangen werden, unterdrückt wird. (Der aktive Teil kann eine Taktsignalflanke im Falle der Flankengesteuerten Datenspeicherelemente oder ein Puls im Falle von Pulsgesteuerten Datenspeicherelementen usw. sein). Nach dem Stand der Technik kann der Debugger oder Tester nicht sehen, ob dies passiert ist oder nicht. Deshalb kann dies zu irreführenden Schlüssen über das Arbeiten der Schaltung führen.
  • Gemäß der Erfindung wurde ein Detektor geschaffen, der mit dem Interface zwischen einer ersten und einer zweiten der Subschaltungen aus verschiedenen Taktdomänen einhergeht. Der Detektor ist angeordnet, die Bedingungen, unter denen Daten aufgefangen werden, wenn die Takte der Subschaltungen gestoppt werden, festzustellen. In einem Sinne bestimmt er die Phasenbeziehung zwischen den Taktsignalen bis zu dem Umfang, dass diese Phasenbeziehung für den Datentransfer zwischen Taktdomänen zu der Zeit, wenn die Taktsignale gestoppt werden, relevant ist. Das ermöglicht es dem Tester oder Debugger, die aufgefangenen Daten richtig zu evaluieren, beispielsweise durch Verwerfen von Daten, die zu spät aufgefangen wurden.
  • In einer Ausführungsform der Erfindung ist der Detektor mit einem Paar von Flag-Speicherelementen implementiert. Das erste Flag-Speicherelement setzt eine Vor-Flag als Antwort auf das Taktsignal einer ersten Subschaltung, wenn das Taktsignal nicht länger an die erste Subschaltung abgegeben wird, und das zweite Flag-Speicherelement kopiert die Vor-Flag als Antwort auf das Taktsignal von der zweiten Subschaltung wenn das Taktsignal an die zweite Subschaltung abgegeben wird. Die Flag repräsentiert also, ob das Taktsignal der zweiten Schaltung verursacht hat, dass Daten aufgenommen wurden, nachdem der Takt der ersten Subschaltung blockiert worden war.
  • In einer anderen Ausführungsform ist ein Pipeline-Datenspeicherelement zu dem Datenspeicherelement der zweiten Subschaltung hinzugefügt. Das Pipeline-Datenspeicherelement speichert überschriebene Daten aus dem Datenspeicherelement. Also sind sowohl die Daten für einen Taktzyklus wie auch einen vorhergehenden Taktzyklus gespeichert und die einen oder die anderen können abhängig davon, ob die Flag gesetzt ist, verwendet werden. Auf diese Weise können konsistente Daten sichergestellt werden.
  • Vorzugsweise können sowohl die Flag wie auch die Daten über eine konventionelle Abtastkette ausgelesen werden, wenn der Takt gestoppt worden ist, oder, als eine Alternative, die Flag kann steuern, welche Daten über die Abtastkette ausgelesen werden.
  • Diese und andere Aufgaben und Vorteile der erfindungsgemäßen elektronischen Schaltung und das Verfahren des Testens dieser Schaltung wird detaillierter mit Hilfe der Zeichnung beschrieben. Es zeigen:
  • 1 eine elektronische Schaltung mit mehreren Taktdomänen;
  • 2 Signale, die während des Betriebs auftreten;
  • 3 eine Detektorschaltung;
  • 4 eine elektronische Schaltung mit mehreren Taktdomänen; und
  • 5 ein Detail einer elektronischen Schaltung.
  • 1 zeigt eine elektronische Schaltung mit mehreren Taktdomänen. Die Schaltung enthält den Taktschaltkreis 10, zwei Taktdomänen 12a, b mit einem ersten Speicherelement 120 beziehungsweise einem zweiten Speicherelement 122, Takt-Torschaltungen 14a, b und einen Detektor 16. Das erste Speicherelement hat einen an den Eingang des zweiten Speicherelements 122 gekoppelten Datenausgang. Obwohl eine direkte Verbindung gezeigt ist, wird es zu verstehen sein, dass die Verbindung über kombinatorische Logikschaltungen (nicht gezeigt) laufen kann. Taktausgänge des Taktschaltkreises 10 sind über die entsprechenden Takt-Torschaltungen 14a, b an die Takteingänge der ersten und zweiten Datenspeicherelemente 120, 122 gekoppelt. Weitere Speicherelemente (nicht gezeigt) können in den Taktdomänen 12a, b vorhanden sein, möglicherweise innerhalb der Domänen über kombinatorische Logikschaltungen (nicht gezeigt) miteinander gekoppelt. Diese weiteren Datenspeicherelemente werden auch von den Taktsignalen von der entsprechenden Takt-Torschaltung 14a, b getaktet. Obwohl für die Datenspeicherelemente 120, 122 ein einziger Ausgang und Eingang gezeigt werden, wird es genauso klar sein, dass dieser Ausgang und Eingang ein einzelnes Bit oder mehrere Bits erlauben. Alle Schaltungen sind vorzugsweise in derselben integrierten Schaltung enthalten, aber natürlich können statt dessen über verschiedene integrierte Schaltungen verteilte Schaltungen verwendet werden.
  • Als Beispiel werden beide Takt-Torschaltungen 14a, b mit einer ähnlichen Struktur gezeigt, sie enthalten ein ersten Flipflop 140, ein zweites Flipflop 142 und ein UND-Gatter 144. Ein Taktausgang von dem Taktschaltkreis 10 ist an die Takteingänge der ersten und zweiten Flipflops 140, 142 und an einen ersten Eingang des UND-Gatters 144 gekoppelt. Ein Dateneingang 148 des ersten Flipflops 140 bildet einen Takt-Tor-Kommandoeingang der Takt-Torsteuerungsschaltung 14a. Ein Datenausgang des ersten Flipflops 140 ist an einen Dateneingang des zweiten Flipflops 142 gekoppelt. Ein Datenausgang des zweiten Flipflops 142 ist an einen zweiten Eingang des UND-Gatters 144 gekoppelt. Der Ausgang des UND-Gatters 144 ist an einen Takteingang der Taktdomäne 12a gekoppelt, wo er an den Takteingang des ersten Speicherelements 120 gekoppelt ist. Ähnlich hat die Takt-Torsteuerungsschaltung 14b der zweiten Subschaltung einen Takt-Tor-Kommandoeingang, einen Takteingang, der an den Taktschaltkreis 10 gekoppelt ist und einen Taktausgang, der an den Takteingang der zweiten Taktdomäne 12b gekoppelt ist, wo er an das zweite Speicherelement gekoppelt ist. Der erste und zweite Eingang des UND-Gatters 144 und der Taktausgang der Takt-Torsteuerungsschaltung 14b der zweiten Subschaltung sind an den Detektor 16 gekoppelt.
  • Man wird verstehen, dass die präzise Struktur der Takt-Torsteuerungsschaltungen nur zu Illustrationszwecken gezeigt wird. Ohne von der Erfindung abzuweichen kann jede andere Art von Takt-Torsteuerungsschaltung, welche die Steuerung von Taktsignalen erlaubt, verwendet werden.
  • Im Betrieb lassen die Takt-Torsteuerungsschaltungen 14a, b normalerweise Signale von dem Taktschaltkreis 10 an die Taktdomänen 12a, b durch. Wenn ein Stopsignal an den Takt-Torbefehlseingängen der Takt-Torsteuerungsschaltungen 14a, b geltend gemacht wird, blockieren diese Takt-Torsteuerungsschaltungen 14a, b den Durchgang der Taktsignale zu ihren entsprechenden Taktdomänen 12a, b nachdem ein kompletter Taktzyklus stattgefunden hat. Detektor 16 stellt fest, ob Daten in das zweiten Datenspeicherelement 122 geladen wurden, wenn diese Daten von der Tatsache betroffen sind, dass keine Daten in das erste Datenspeicherelement 120 geladen wurden, nachdem das Stopsignal geltend gemacht wurde.
  • 2 zeigt Signale, die während des Betriebs auftreten. Ein erster und zweiter Verlauf zeigen die von dem Taktschaltkreis an die Takt-Torsteuerungsschaltungen 14a, b ausgegebenen Taktsignale CLK1, CLK2. Ein dritter Verlauf zeigt ein Stopsignal STOP, welches an die Takt-Torbefehlseingänge der Takt-Torsteuerungsschaltungen 14a, b angelegt wird. Ein vierter und fünfter Verlauf zeigen torgesteuerte Taktsignale GCLK1, GCLK2, welche die Takt-Torsteuerungsschaltungen 14a, b zu den Taktdomänen 12a, b passieren. Ein sechster Verlauf zeigt das vom Detektor 16 ausgegebene Signal FLAG.
  • Das Signal STOP veranlasst die Takt-Torsteuerungsschaltungen 14a, b dazu, nur einen positiven Taktpuls 20, 22 weiter zu geben, nachdem das STOP-Signal geltend gemacht wurde. Anschließend ist das Taktsignal blockiert. Wenn das STOP-Signal nicht geltend gemacht wird, gibt das UND-Gatter 144 alle Taktsignale weiter. Auf die ansteigende Flanke dieses Taktpulses 20, 22 hin kopiert das erste Flipflop 140 das STOP-Signal von dem Takt-Torsteuerungsbefehlseingang 148. Auf die abfallende Flanke diese Taktpulses 20, 22 hin kopiert das zweite Flipflop 142 das STOP-Signal, welches dann das UND-Gatter 144 daran hindert, weitere Taktpulse weiterzugeben. Detektor 16 überwacht, ob das UND-Gatter 144 irgendwelche Taktpulse empfängt, nachdem das UND-Gatter daran gehindert wurde, weitere Taktpulse weiterzugeben. Wenn dies passiert und die zweite Takt-Torsteuerungsschaltung 14b einen Taktpuls ausgibt, setzt der Detektor 16 sein Ausgangssignal FLAG, um anzuzeigen, dass das zweite Datenspeicherelement 122 ungültige Daten aufgenommen haben könnte.
  • 3 zeigt ein Beispiel einer Implementierung des Detektors 16. Diese Implementierung enthält ein erstes Flipflop 30 und ein zweites Flipflop 32. Das Taktunterdrückungssignal von der ersten Takt-Torsteuerungsschaltung 14a (von dem Ausgang des zweiten Flipflops 142 in dieser ersten Takt-Torsteuerungsschaltung 14a) wird an den Datenein gang 36 des ersten Flipflops 30 gelegt. Dieses erste Flipflop 30 empfangt das nicht torgesteuerte Taktsignal CLK1 von der ersten Takt-Torsteuerungsschaltung 14a an einem Takteingang 34. Der Datenausgang des ersten Flipflops 30 ist an einen Dateneingang des zweiten Flipflops 32 gekoppelt. Das zweite Flipflop 32 hat einen Takteingang 38, der an den torgesteuerten Taktausgang der zweiten Takt-Torsteuerungsschaltung 14b (GCLK2 ausgebend) gekoppelt ist. Ein Datenausgang 39 des zweiten Flipflops 32 liefert das Ausgangssignal FLAG von Detektor 16.
  • Im Betrieb wird zuerst das Flipflop 30 von Detektor 16 gesetzt, wenn die erste Takt-Torsteuerschaltung 14a einen Taktpuls unterdrückt. Diese Gesetzt-Daten von dem ersten Flipflop 30 werden zu dem zweiten Flipflop 32 kopiert, wenn das zweite Flipflop 32 nach dem Taktpuls getaktet wird. Erstes Flipflop 30 und zweites Flipflop 32 ahmen das erste und zweite Datenspeicherelement 120, 122 nach, um festzustellen, ob ungültige Daten durch das zweite Datenspeicherelement aufgenommen worden sein können. Kopieren der vorher festgelegten Flagdaten durch das zweite Flipflop 32 deutet auf das Kopieren ungültiger Daten durch das zweite Datenspeicherelement 122 hin. Die vorher festgelegte Flag-Daten werden erstellt, weil ein Unterschied zwischen den Flipflops 30, 32 und den Datenspeicherelementen 120, 122 ist, dass das erste Flipflop 30 den nicht-torgesteuerten Takt empfängt, d.h. der Takt sollte vorhanden sein, um gültige Daten für das zweite Datenspeicherelement 122 zu produzieren, und dass die vorher festgelegten Flagdaten (das STOP-Signal) in das erste Flipflop 30 geladen werden, wenn das Taktsignal unterdrückt wird.
  • Es sei bemerkt, das es Timing-Unterschiede zwischen Taktsignalen, die an die Datenspeicherelemente 120, 122 angelegt werden, und Taktsignalen, die an den Detektor 16 angelegt werden, aufgrund von Unterschieden in der von den Taktsignalen erfahrenen Verzögerung, bevor sie die entsprechenden Schaltungen erreichen, geben kann. Dies ist kein Problem, wenn der Detektor 16 angelegt ist, eine Grenzfallsituation festzustellen. Vorzugsweise wird deshalb sichergestellt, dass die von den ersten Domänentaktsignalen, die im Detektor 16 verwendet werden, erfahrene Verzögerung kürzer ist als (oder mindestens genauso kurz wie) die Verzögerung, mit der diese Signale an die erste Domäne 12a angelegt werden, während die von den zweiten Domänentaktsignalen, die in Detektor 16 verwendet werden, erfahrene Verzögerung länger als (oder mindestens so lang wie) die Verzögerung, mit der diese Signale an die zweite Domäne 12b angelegt werden, ist.
  • Es wird zu verstehen sein, dass die Auswahl der Taktsignalflanken, an denen erstes und zweites Flipflop 30, 32 in der Ladeinformation des Detektors 16 mit den Taktflanken an deren Daten erstes und zweites Speicherelement 120, 122 Daten laden, entspricht. Wenn also das zweite Speicherelement Daten an der negativen Taktflanke Daten lädt, lädt beispielsweise das zweite Flipflop 32 die Flag vorzugsweise auch an den negativen Taktflanken. Dasselbe gilt für das erste Flipflop 30 von Detektor 16 mit Hinsicht auf das erste Datenspeicherelement 120 und für Zweiflanken-Triggerung, Puls-kontrolliertes Datenladen usw.
  • Es wird zu verstehen sein, dass die Erfindung nicht auf die Implementierung des in 3 gezeigten Detektors 16 oder auf die Verwendung der von diesem Detektor verwendeten speziellen Signale beschränkt ist. Jeder Detektor, der feststellt, ob ein Taktpuls an die zweite Taktdomäne 12b ausgegeben wurde, nachdem ein Puls von der ersten Takt-Torsteuerungsschaltung 14a unterdrückt worden ist, kann verwendet werden. Ähnlich wird es zu verstehen sein, dass jede Art, die Takte zu stoppen, verwendet werden kann, beispielsweise einen größeren oder kleineren Teil der Taktsignale nach dem Geltendmachen des Stopsignals weiterzugeben, solange der Detektor 16 feststellt, ob eine aktive Taktflanke von der zweiten Takt-Torsteuerungsschaltung 14b auftritt, nachdem eine aktive Taktflanke von der ersten Takt-Torsteuerungsschaltung 14a unterdrückt worden ist.
  • In der Praxis können verschiedene Schaltungen hinzugefügt werden, um den Transfer von Daten von der ersten Taktdomäne 12a zu der zweiten Taktdomäne 12b zu schützen, um eine Änderung der Daten in dem Datenspeicherelement 122 dicht an dem Zeitpunkt zu verhindern, wenn die Daten in dem anderen Datenspeicherelement 120 geändert werden. Dies kann durch jede bekannten Mittel implementiert werden, wie z.B. Bestätigungssignale, Semaphore, Taktzuteiler an dem Takteingang der Speicherelemente usw. Aber solche Mittel wurden aus Gründen der Klarheit aus den Zeichnungen ausgelassen, da sie die Timing-Beziehungen zwischen den Taktsignalen nicht beeinflussen, sondern nur die transferierten Daten. Das Feststellungsprinzip zur Feststellung der Timing-Beziehung zwischen den Taktsignalen bleibt das gleiche.
  • 4 zeigt eine elektronische Schaltung mit drei Taktdomänen. Zusätzlich zu den Taktdomänen 12a, b wird eine dritte Taktdomäne 12c mit einer dritte Takt-Torsteuerungsschaltung 14c gezeigt. Das erste Datenspeicherelement 120 der ersten Taktdomäne 12a ist an die dritte Taktdomäne 12c gekoppelt. Also kann ein Transfer ungültiger Daten von der ersten Taktdomäne 12a zu sowohl der zweiten wie auch der dritten Taktdo mäne 12b, c passieren. Wenn die zweite und dritte Taktdomäne 12b, c unabhängige Takte haben, kann dies unabhängig für die zweite und dritte Taktdomäne 12b, c passieren. Prinzipiell können separate Detektoren bereitgestellt werden, um dies festzustellen. Aber wenn Detektoren ähnlich wie der in 3 gezeigte verwendet werden, kann das erste Flipflop 30 des Detektors von der zweiten und dritten Domäne 12b, c geteilt werden, nur das zweite Flipflop 32, 40 wird separat für die verschiedenen Domänen 12b, c bereitgestellt. Natürlich können mehr Flipflops 32, 40 bereitgestellt werden, wenn die erste Domäne ein Interface zu mehr als zwei Domänen 12b, c hat.
  • Wie gezeigt erlaubt die Schaltung die Feststellung des Kopierens ungültiger Daten in die zweite Taktdomäne 12b, aber keine Korrektur. Aber wenn es notwendig ist, die von dem zweiten Datenspeicherelement 122 aufgenommenen Daten zu prüfen, kann die Schaltung ein paar Mal neugestartet werden, bis Detektor 16 anzeigt, dass keine ungültigen Daten aufgenommen worden sind. Wenn gewünscht, kann dies umgangen werden, indem man zum Speichern von aufeinanderfolgender Daten, die vor den aktuellen Daten in dem zweiten Datenspeicherelement gespeichert wurden, eine Pipeline von einem oder mehrerer Datenspeicherelementen zu dem zweiten Datenspeicherelement 122 hinzufügt. In diesem Fall können die relevanten Daten auf Basis des Ausgangssignals des Detektors aus der Pipeline ausgewählt werden.
  • Jegliche Mittel können verwendet werden, um Daten aus den Datenspeicherelementen 120, 122 auszulesen und Feststellungsergebnisse von dem Detektor 16 zu lesen. Beispielsweise kann eine konventionelle Abtastkette für diesen Zweck verwendet werden.
  • 5 zeigt ein Beispiel eines Teils einer elektronischen Schaltung, die Korrektur bereitstellt. Die zweite Taktdomäne 12b und ihre entsprechende Takt-Torsteuerungsschaltung 14b werden gezeigt, zusammen mit dem Detektor 16. Die zweite Taktdomäne 12b ist gezeigt, wie sie ein Pipeline-Speicherelement 50 enthält, einen Multiplexer 52 und Teil einer Abtastkette 54. Ein Ausgang des zweiten Datenspeicherelements 122 ist an das Pipeline-Speicherelement 50 gekoppelt. Der Ausgang des zweiten Datenspeicherelements 122 und des Pipeline-Speicherelements 50 sind an die Eingänge des Multiplexers 52, der einen an die Abtastkette 54 gekoppelten Ausgang hat, gekoppelt. Der Flag-Ausgang von Detektor 16 ist an einen Steuereingang des Multiplexers 52 gekoppelt.
  • Im Betrieb werden die vorhergehenden Daten in Datenspeicherelement 122 jedes Mal, wenn Datenspeicherelement 122 neue Daten lädt, in das Pipeline- Speicherelement 50 geladen. Wenn also die Takt-Torsteuerungsschaltung 14b stoppt, Taktsignale an die zweite Taktdomäne 12b zu liefern, enthält das Datenspeicherelement 122 Daten, die in dem letzten Taktzyklus aufgenommen wurden und das Pipeline-Speicherelement enthält Daten, die von dem Datenspeicherelement 122 vor dem letzen Taktzyklus aufgenommen wurden. Der Multiplexer 52 gibt letztere an die Abtastkette 54 weiter, wenn der Detektor 16 anzeigt, dass ein Taktzyklus in der ersten Taktdomäne aufgetreten ist, bevor das Datenspeicherelement 122 in dem letzten Taktzyklus bevor er gestoppt wurde, Daten aufgenommen hat. Andererseits leitet der Multiplexer 52 Daten von Dem Speicherelement 122 an die Abtastkette 54 weiter. Also sind die passenden Testdaten an die Abtastkette 54 weitergegeben.
  • Es wird zu verstehen sein, dass andere Mittel als eine Abtastkette verwendet werden können, um die Daten auszulesen, oder dass Daten sowohl von dem Datenspeicherelement 122 wie auch von dem Pipeline-Speicherelement 50 zusammen mit dem Ausgang des Detektors 16 ausgelesen werden können, um die Schaltung zu testen oder zu debuggen. Die Schaltung von 5 aber hat den Vorteil, dass ein Minimum an Information ausgelesen werden muss.

Claims (7)

  1. Elektronische Schaltung, die Folgendes umfasst: – einen Taktschaltkreis (19); – eine Vielzahl von Subschaltungen ((12a, 14a), (12b, 14b)), von denen jede ein getaktetes Datenspeicherelement (120, 122) und eine Takt-Torschaltung (14a, 14b), die zwischen einen Ausgang des Taktschaltkreises (10) für ein Taktsignal (CLK1, CLK2) für die Subschaltung ((12a, 14a), (12b, 14b)) und einen Takteingang des Datenspeicherelements (120, 122) der Subschaltung ((12a, 14a), (12b, 14b)) gekoppelt ist, umfasst, wobei die Takt-Torschaltung (14a, b) einen Toreingang (148) zum Empfangen eines Torsignals hat, welches das Blockieren des Durchgangs des Taktsignals von dem Taktschaltkreis (10) zu dem Datenspeicherelement (120, 122) befiehlt, wobei das Datenspeicherelement (120) einer ersten der Subschaltungen (12a, 14a) eine Datenkopplung zu dem Datenspeicherelement (122) der zweiten der Subschaltungen (12b, 14b) hat, gekennzeichnet durch – eine Detektorschaltung (16) zum Markieren ungültiger Daten in dem Datenspeicherelement (122) der zweiten der Subschaltungen (12b, 14b), wobei die Detektorschaltung (16) ein Flag-Speicherelement (32) umfasst, das angeordnet ist, eine Flag zu setzen, wenn die Takt-Torschaltung (14b) der zweiten der Subschaltungen (12b, 14b) einen aktiven Teil des Taktsignals (CLK2) für die zweite der Subschaltungen (12b, 14b) weitergibt, nachdem das Takt-Tor (14a) der ersten der Subschaltungen (12a, 14a) einen aktiven Teil des Taktsignals (CLK1) für die erste der Subschaltungen (12a, 14a) blockiert hat.
  2. Elektronische Schaltung nach Anspruch 1, in der die Detektorschaltung (30, 32) ein Vor-Flag-Speicherelement (30) umfasst, das angeordnet ist, eine Vor-Flag zu setzen, wenn der aktive Teil des Taktsignals (CLK1) für die erste der Subschaltungen blockiert ist, wobei das Flag-Speicherelement (32) angeordnet ist, die genannte Vor-Flag aus dem Vor-Flag-Speicherelement (30) zu kopieren, wenn die Takt-Torschaltung (14b) der zweiten der Subschaltungen (12b, 14b) den aktiven Teil des Taktsignals (CLK2) für die zweite der Subschaltungen weitergibt.
  3. Elektronische Schaltung nach Anspruch 2, in der das Datenspeicherelement einer dritten der Subschaltungen (12c, 14c) gekoppelt ist, um Daten aus dem Datenspeicherelement (120) der ersten der Subschaltungen (12a, 14a) zu empfangen, und die Detektorschaltung (30, 32, 40) ein weiteres Flag-Speicherelement (40) zum Kopieren der Vor-Flag aus dem Vor-Flag-Speicherelement (30), wenn die Takt-Torschaltung (14c) der dritten der Subschaltungen (12c, 14c) einen aktiven Teil des Taktsignals für die dritte der Subschaltungen weitergibt, umfasst.
  4. Elektronische Schaltung nach Anspruch 1 mit einem an das Datenspeicherelement (122) der zweiten Subschaltung (12b, 14b) gekoppelten Pipeline-Speicherelement (50) zum Kopieren von Daten aus dem Datenspeicherelement (122) der zweiten Subschaltung (12b, 14b), wenn diese Daten in dem Datenspeicherelement (122) der zweiten Subschaltung (12b, 14b) überschrieben werden sollen.
  5. Elektronische Schaltung nach Anspruch 4 mit einer Ausgangsschaltung (52, 54) zum Auslesen von Daten, wobei die Ausgangsschaltung (52, 54) angeordnet ist, um entweder Daten aus dem zweiten Datenspeicherelement (122) oder Daten aus dem Pipeline-Datenspeicherelement (50) unter der Kontrolle der Flag, wenn die Flag nicht gesetzt ist beziehungsweise gesetzt ist, zu liefern.
  6. Elektronische Schaltung nach Anspruch 1 mit einer, an das Flag-Speicherelement (32) und das Datenspeicherelement (122) der zweiten Subschaltung (12b, 14b) gekoppelten Abtastkette (54), wobei die Abtastkette angeordnet ist, die Flag und Daten aus dem Datenspeicherelement (122) der zweiten Subschaltung zu transportieren.
  7. Verfahren zum Testen einer elektronischen Schaltung, die eine Vielzahl von Subschaltungen ((12a, 14a), (12b, 14b)) umfasst, von denen jede ein getaktetes Datenspeicherelement (120, 122) und eine Takt-Torschaltung (14a, b), zum Blockieren des Durchgangs eines Taktsignals (CLK1, CLK2) für die Subschaltung ((12a, 14a), (12b, 14b)) von dem Taktschaltkreis (10) zu dem Datenspeicherelement (120, 122) umfasst, wobei das Datenspeicherelement (120) einer ersten der Subschaltungen (12a, 14a) eine Datenkopplung zu dem Datenspeicherelement (122) der zweiten der Subschaltungen (12b, 14b) hat, wobei das Verfahren Folgendes umfasst: – Erlauben, dass die Subschaltungen ((12a, 14a), (12b, 14b)) unter der Kontrolle ihrer entsprechenden Taktsignale (CLK1, CLK2) laufen; gekennzeichnet durch – im Wesentlichen gleichzeitiges Befehlen der Takt-Torschaltungen (14a, b) der Subschaltungen ((12a, 14a), (12b, 14b)), den Durchgang der Taktsignale (CLK1, CLK2) zu blockieren; – Feststellen, ob die Takt-Torschaltung (14b) der zweiten der Sub-Schaltungen (12b, 14b) einen aktiven Teil des Taktsignals (CLK2) für die zweite der Sub-Schaltungen(12b, 14b) weitergibt, nachdem das Takt-Tor (14a) der ersten der Subschaltungen (12a, 14a) das Taktsignal (CLK1) für die erste der Subschaltungen (12a, 14a) blockiert hat. – Ungültigmachen von Daten aus dem Datenspeicherelement (122) der zweiten der Subschaltungen (12b, 14b) auf die genannte Feststellung hin.
DE60207307T 2002-01-28 2002-12-23 Testen von schaltungen mit mehreren taktsignal-domänen Expired - Lifetime DE60207307T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP02075343 2002-01-28
EP02075343 2002-01-28
PCT/IB2002/005706 WO2003065065A1 (en) 2002-01-28 2002-12-23 Testing of circuit with plural clock domains

Publications (2)

Publication Number Publication Date
DE60207307D1 DE60207307D1 (de) 2005-12-15
DE60207307T2 true DE60207307T2 (de) 2006-07-20

Family

ID=27635844

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60207307T Expired - Lifetime DE60207307T2 (de) 2002-01-28 2002-12-23 Testen von schaltungen mit mehreren taktsignal-domänen

Country Status (7)

Country Link
US (1) US7076709B2 (de)
EP (1) EP1472551B1 (de)
JP (1) JP3977334B2 (de)
CN (1) CN100360950C (de)
AT (1) ATE309549T1 (de)
DE (1) DE60207307T2 (de)
WO (1) WO2003065065A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7055117B2 (en) 2003-12-29 2006-05-30 Agere Systems, Inc. System and method for debugging system-on-chips using single or n-cycle stepping
US7627771B2 (en) * 2005-10-04 2009-12-01 International Business Machines Corporation Clock control hierarchy for integrated microprocessors and systems-on-a-chip
JP5160039B2 (ja) * 2006-02-10 2013-03-13 ルネサスエレクトロニクス株式会社 半導体装置及びそのテスト回路の追加方法
US20090228751A1 (en) * 2007-05-22 2009-09-10 Tilman Gloekler method for performing logic built-in-self-test cycles on a semiconductor chip and a corresponding semiconductor chip with a test engine
US7752586B2 (en) 2007-11-20 2010-07-06 International Business Machines Corporation Design structure of an integration circuit and test method of the integrated circuit
JP2009222644A (ja) * 2008-03-18 2009-10-01 Toshiba Corp 半導体集積回路、及び設計自動化システム
US8074133B2 (en) * 2008-08-06 2011-12-06 Oracle America, Inc. Method and apparatus for testing delay faults
JP2010091482A (ja) * 2008-10-09 2010-04-22 Toshiba Corp 半導体集積回路装置及びその遅延故障テスト方法
US7917823B2 (en) * 2008-12-30 2011-03-29 Intel Corporation Decoupled clocking in testing architecture and method of testing
JP2011007589A (ja) * 2009-06-25 2011-01-13 Renesas Electronics Corp テスト方法、テスト制御プログラム及び半導体装置
WO2017203656A1 (ja) * 2016-05-26 2017-11-30 オリンパス株式会社 演算装置、画像処理装置および画像処理方法
US10740515B1 (en) * 2018-12-18 2020-08-11 Cadence Design Systems, Inc. Devices and methods for test point insertion coverage
KR20220149220A (ko) 2021-04-30 2022-11-08 삼성전자주식회사 메모리 장치
CN115862052A (zh) * 2023-02-24 2023-03-28 北京芯愿景软件技术股份有限公司 一种自动识别跨时钟电路的方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673273A (en) * 1996-04-30 1997-09-30 Tektronix, Inc. Clock controller for embedded test
WO1998026301A1 (en) * 1996-12-13 1998-06-18 Koninklijke Philips Electronics N.V. Integrated circuit comprising a first and a second clock domain and a method for testing such a circuit
US5878055A (en) * 1997-12-09 1999-03-02 International Business Machines Corporation Method and apparatus for verifying a single phase clocking system including testing for latch early mode
CA2225879C (en) * 1997-12-29 2001-05-01 Jean-Francois Cote Clock skew management method and apparatus
EP0965850A1 (de) * 1998-06-17 1999-12-22 Lucent Technologies Inc. Verfahren zum Abtastprüfen für integrierten Schaltkreis mit Mehrfachtaktgeber
US6324652B1 (en) * 1999-01-15 2001-11-27 3Com Corporation Asynchronous switching circuit for multiple indeterminate bursting clocks
US6327684B1 (en) * 1999-05-11 2001-12-04 Logicvision, Inc. Method of testing at-speed circuits having asynchronous clocks and controller for use therewith
KR100448903B1 (ko) * 2000-01-28 2004-09-16 삼성전자주식회사 스캔신호 변환회로를 구비한 반도체 집적회로 장치

Also Published As

Publication number Publication date
CN100360950C (zh) 2008-01-09
JP3977334B2 (ja) 2007-09-19
US20050076278A1 (en) 2005-04-07
EP1472551A1 (de) 2004-11-03
CN1618026A (zh) 2005-05-18
EP1472551B1 (de) 2005-11-09
DE60207307D1 (de) 2005-12-15
ATE309549T1 (de) 2005-11-15
WO2003065065A1 (en) 2003-08-07
US7076709B2 (en) 2006-07-11
JP2005516227A (ja) 2005-06-02

Similar Documents

Publication Publication Date Title
DE60207307T2 (de) Testen von schaltungen mit mehreren taktsignal-domänen
DE2360762A1 (de) Elementarschaltungsanordnung fuer schaltwerke zur durchfuehrung von datenverarbeitungsoperationen
DE2346617A1 (de) Verfahren zur pruefung der laufzeitverzoegerung einer funktionalen logischen einheit
DE102005060394A1 (de) Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
DE102005056278B4 (de) Flip-Flop-Vorrichtung und Verfahren zum Speichern und Ausgeben eines Datenwerts
DE19983098B4 (de) Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren
DE19983213B4 (de) Detektorvorrichtung zum Erfassen abnormaler Takte
DE4031136C2 (de)
DE102016122763A1 (de) Zugreifen auf daten über verschiedene takte
DE60223964T2 (de) System mit Busvorladeschaltung
EP0628832A2 (de) Integrierte Schaltung mit Registerstufen
DE102009012768B4 (de) JTAG Nachrichtenbox
DE3727941A1 (de) Integrierte halbleiter-logikschaltungsanordnung
DE3700800C2 (de) Einrichtung zur Erzeugung eines Unterbrechungspunktes in einem Mikroprozessor
DE2641700A1 (de) Taktueberwachung in digitalsystemen
DE10032256C2 (de) Chip-ID-Register-Anordnung
DE3048414A1 (de) "schaltungsanordnung fuer eine datenverarbeitungsanlage"
DE60112723T2 (de) Lssd schnittstelle
DE69833123T2 (de) Schaltungsanordnung zum testen eines kerns
EP1179737B1 (de) Anordnung zum Testen eines integrierten Schaltkreises
WO2003027696A2 (de) Elektronischer baustein und verfahren zu dessen qualifizierungsmessung
DE102008003450A1 (de) Digitalschaltungen und Verfahren zum Testen einer Digitalschaltung
DE102004010562B4 (de) Schnittstellenvorrichtung und Verfahren zur Synchronisation von Daten
EP0037965B1 (de) Einrichtung zum Prüfen einer digitalen Schaltung mittels in diese Schaltung eingebauter Prüfschaltungen
DE10256157A1 (de) Grenzabtastung mit Fähigkeit zur Erholung von einem Massespannungssprung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: EISENFUEHR, SPEISER & PARTNER, 10178 BERLIN

8327 Change in the person/name/address of the patent owner

Owner name: NXP B.V., EINDHOVEN, NL