DE102006024507B4 - Integrierte Schaltung und Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen - Google Patents

Integrierte Schaltung und Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen Download PDF

Info

Publication number
DE102006024507B4
DE102006024507B4 DE102006024507.5A DE102006024507A DE102006024507B4 DE 102006024507 B4 DE102006024507 B4 DE 102006024507B4 DE 102006024507 A DE102006024507 A DE 102006024507A DE 102006024507 B4 DE102006024507 B4 DE 102006024507B4
Authority
DE
Germany
Prior art keywords
clock
scan
functional
input
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102006024507.5A
Other languages
English (en)
Other versions
DE102006024507A1 (de
Inventor
Martin Kaibel
Oliver Barondeau
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102006024507.5A priority Critical patent/DE102006024507B4/de
Priority to US11/752,785 priority patent/US7689885B2/en
Publication of DE102006024507A1 publication Critical patent/DE102006024507A1/de
Application granted granted Critical
Publication of DE102006024507B4 publication Critical patent/DE102006024507B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/318555Control logic
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns

Abstract

Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen, – wobei die integrierte Schaltung (1) eine Vielzahl von Scanzellen, einen Funktional-Takteingang (ECLK), einen Scan-Takteingang (Scan_clk) und eine Vielzahl von Taktdomänen (21, 22) aufweist, wobei die Scanzellen in einem Scan-Ketten-Schiebe-Modus als Schieberegister geschaltet sind und jede Taktdomäne (21, 22) von einem eigenen in der integrierten Schaltung (1) befindlichen Takttreiber (4, 5) betrieben wird, und wobei das Verfahren folgende Schritte aufweist: a) Einschalten des Scan-Ketten-Schiebe-Modus, b) Schieben von Daten in die Scanzellen mittels Signalwechsel an dem Scan-Takteingang (Scan_clk), c) Anlegen von Taktsignalen an den Funktional-Takteingang (ECLK), d) Programmierung von Signalfolgeregistern, e) Ausschalten des Scan-Ketten-Schiebe-Modus, f) Erzeugen, nach Schritt e), aus dem Takt am Funktional-Takteingang (ECLK) eine Vielzahl von Taktsignalen (Gated Clock1, Gated Clock2) in mindestens einer Taktdomäne (21, 22) entsprechend der in Signalfolgeregistern gespeicherten Werte, g) Überprüfen, ob Laufzeitfehler in der in Schritt f) betriebenen Taktdomäne (21, 22) aufgetreten sind, durch Vergleich, ob in Speicherzellen der integrierten Schaltung gespeicherte Werte erwarteten Werten entsprechen, dadurch gekennzeichnet, dass die Erzeugung der Taktsignale (Gated Clock1, Gated Clock2) in Schritt f) durch einen Signalwechsel an dem Scan-Takteingang (Scan_clk) ausgelost wird.

Description

  • Die Erfindung betrifft eine integrierte Schaltung und ein Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen. Bei integrierten Schaltungen stellt sich das Problem, dass Laufzeitfehler auftreten. Es besteht die Gefahr, dass es durch zu schnelle oder zu langsame Signallaufzeiten zu Fehlfunktionen der integrierten Schaltung kommt. Je höher die Taktfrequenzen sind, umso größer ist das Risiko des Auftretens von Laufzeitfehlern, was in digitalen Schaltungen ab etwa 300 MHz bemerkbar wird.
  • Die US 2003/0084390 zeigt ein Verfahren zum Test von integrierten Schaltungen mit unterschiedlichen Takttreibern. Die Flip-Flops der Schaltung können in einem Scan-Verfahren als Schieberegister geschaltet werden. Zur Erkennung von Laufzeitfehlern werden zunächst Daten mit einem relativ langsamen Takt in Scanzellen eingeschoben, um die integrierte Schaltung in einen bestimmten Zustand zu bringen. Für den anschließenden eigentlichen Test werden aus einer PLL Taktpulse generiert. Die so erzeugten Taktpulse werden auch als Launch/Capture Pulse bezeichnet, wobei durch den Launchpuls ein Signal ausgelöst wird, das mittels des Capturepulses empfangen wird. Dazu werden Taktpulse erzeugt, deren Frequenz gleich der Anwendungsfrequenz der integrierten Schaltung ist, wodurch Laufzeitfehler erkannt werden können.
  • Allerdings ist die Programmierung des Laufzeitfehlertests immer noch aufwendig.
  • Die US 2003/0084391 zeigt eine Testschaltung zum Testen einer Schaltung mit funktionalen Takten. Dabei schaltet ein Multiplex zwischen einem Schiebetakt und einem funktionalen Takt um.
  • In Tietze U./Schenk Ch.: Halbleiter-Schaltungstechnik, 11., völlig neu bearb. und erweiterte Auflage, Berlin [u. a.], Springer-Verlag, 1999, Seiten 707–712, ISBN 3-540-64192-0 wird angegebenen, wie asynchrone Impulse synchronisiert werden können.
  • In Gerner M./Müller B./Sandweg G.: Selbsttest digitaler Schaltungen, München [u. a.], Oldenbourg, 1990, Seiten 63–67, ISBN 3-486-21765-8 wird ein synchroner Schaltungsstil vorgeschlagen, da bei asynchronen Schaltungen Störimpulse die Vorhersage des zeitlichen Verhaltens der Schaltung schwierig machen.
  • In der EP 1 584 938 A1 wird eine integrierte Schaltung vorgeschlagen, in der ein Taktmultiplexer zwischen einem funktionalen Takt und einem Scan-Schiebetakt umschalten kann.
  • Lin, X., Press, R., Rajski, J. Reuter, P., Rinderknecht, T. Swanson, B., Tamarapalli, N.: High-Frequency, At-Speed Scan Testing. In: IEEE Design & Test of Computers, September – Oktober 2003, Vo. 20, Nr. 5, Seiten 17–25 beschreibt ein Atspeed-Scan-Test, bei dem die funktionalen Tests mit Hilfe einer PLL erzeugt werden.
  • In Beck, M. Barondeau, O. Kaibel, M. Poehl, F., Lin, X., Press, R. Logic Design for On-Chip Test Clock Generation – Implementation Details and Impact an Delay Test Quality. In: Proceedings of Design, Automation and Test in Europe Conference and Exhibition (Date '05), März 2005, Vol. 1, Seiten 56–61 wird beschrieben, dass mit Hilfe einer PLL mehrere Takte für eine einzelne Taktdomaine erzeugt werden.
  • Es ist daher Aufgabe der Erfindung, ein Verfahren und eine integrierte Schaltung anzugeben, mit denen das Erkennen von Laufzeitfehlern mit weniger Steueraufwand ermöglicht wird.
  • Diese Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen ergeben sich aus den jeweiligen Unteransprüchen.
  • Erfindungsgemäß wird ein Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen bereitgestellt. Die integrierte Schaltung enthält eine Vielzahl von Scanzellen, die in einem Scan-Ketten-Schiebe-Modus als Schieberegister geschaltet sind. Zudem enthält die integrierte Schaltung eine Vielzahl von Taktdomänen. Taktdomänen sind Teile der integrierten Schaltung, wobei jede Taktdomäne von einem eigenen Takttreiber betrieben wird. Als Takteingänge weist die integrierte Schaltung zumindest einen Funktional-Takteingang und einen Scan-Takteingang auf.
  • Bei dem Verfahren wird der Scan-Ketten-Schiebe-Modus eingeschaltet, sodass die Scanzellen ein Schieberegister bilden. Anschließend werden Daten in die Scantestzellen geschoben. Dies erfolgt mithilfe von Signalwechseln an dem Scan-Takteingang. An den Funktional-Takteingang werden ebenfalls Taktsignale angelegt. Zusätzlich werden Signalfolgeregister programmiert. Nach dem Ausschalten des Scan-Ketten-Schiebe-Modus wird eine Vielzahl von Taktsignalen in mindestens einer Taktdomäne entsprechend der in den Signalfolgeregistern gespeicherten Werte erzeugt. Dieser Takt wird aus dem Takt am Funktional-Takteingang erzeugt. Anschließend wird festgestellt, ob Laufzeitfehler in der im vorherigen Verfahrensschritt betriebenen Taktdomäne aufgetreten ist. Die Überprüfung erfolgt in der Regel dadurch, dass verglichen wird, ob in Speicherzellen der integrierten Schaltung gespeicherte Werte erwarteten Werten entsprechen.
  • Der Scan-Ketten-Schiebe-Modus muss deutlich von einem Modus unterschieden werden, der in vielen Implementierungen als ”scan_mode” bezeichnet wird, aber lediglich für die Umschaltung der Takteingänge sorgt. Im ”scan_mode” werden die Scan-Flip-Flops mit einem an einem Testeingang anliegenden Testtakt betrieben.
  • Die Erzeugung der Taktsignale aus dem Takt am Funktional-Takteingang wird durch einen Signalwechsel an dem Scan-Takteingang ausgelöst. Dieses Erzeugen der Taktsignale muss nach dem Ausschalten des Scan-Ketten-Schiebe-Modus erfolgen, damit sich die Scanzellen in dem Modus befinden, in dem sie sich im normalen, funktionalen Betrieb befinden. Für das Auslösen der Taktsignale wird vorteilhafter Weise der Scan-Takteingang verwendet, wodurch ein Eingangspin eingespart wird. Die Anzahl der Eingangspins ist kritisch für die Gesamtkosten einer integrierten Schaltung. Jeder eingesparte Pin, besonders wenn er nur für Testzwecke benötigt wird, verbilligt die Gesamtkosten der integrierten Schaltung. Zudem wird die Ansteuerung vereinfacht, da lediglich ein Signalwechsel auf dem Scan-Takteingang nötig ist, um die Taktpulse zu erzeugen. Wie die Signalform der Takte konkret aussieht, ist bereits in den Signalfolgeregistern abgespeichert.
  • Die Reihenfolge der Verfahrensschritte kann variiert werden. Bspw. kann die Programmierung der Signalfolgeregister vor dem Einschalten des Scan-Ketten-Schiebe-Modus erfolgen. Vorzugsweise werden die Taktsignale an dem Funktional-Takteingang angelegt, bevor der Scan-Ketten-Schiebe-Modus aktiviert wird. Dadurch hat eine auf dem Chip befindliche PLL genügend Zeit, einzuschwingen.
  • Vorzugsweise werden die Testmodi über eine JTAG-Schnittstelle programmiert. Eine solche Schnittstelle ist in dem Standard IEEE 1149.1 definiert. Sie enthält vier oder fünf Schnittstellenanschlüsse. Die Eingänge sind ”Testdata ein (TDI)”, ”Testtakt (TCK)”, ”Testmode select (TMS)” und optional ”Testreset (TRST)”. Zudem gibt es einen Ausgang ”Testdaten aus (TDO)”. Der JTAG und der Scantest verwenden in der Regel unabhängige Schnittstellen. Der JTAG wird gerne verwendet, um via Programmierung des Testregisters den gesamten Chip in scan_mode zu setzen. Durch den scan_mode wird auf einen anderen Takteingang umgeschaltet.
  • Falls in dem Schritt des Überprüfens auf Laufzeitfehler der Scan-Ketten-Schiebe-Modus wieder eingeschaltet wird, können gezielt die in der elektrischen Schaltung abgespeicherten Werte, bei denen ein Fehler vermutet wird, ausgelesen werden. Diese Daten werden von der integrierten Schaltung mit dem langsamen Scantakt ausgegeben, wodurch die Daten mit relativ einfachen und somit kostengünstigen Messgeräten gelesen werden können.
  • In einer Ausführungsform werden in den Signalfolgeregistern pro Taktdomäne jeweils die Länge der Signalfolgen und die Werte für die Signalfolgen gespeichert. Durch die Vorgabe der Länge wird eine zweistufige Taktgenerierung ermöglicht. In der ersten Stufe treibt ein Takttreiber während der gesamten Dauer der Signalfolge Taktsignale, während in der zweiten Stufe nur die Takte, die in der Signalfolge der speziellen Taktdomäne enthalten sind, durchgelassen werden.
  • Falls die Taktsignale entsprechend den Signalfolgeregistern für mehrere Taktdomänen gleichzeitig erzeugt werden, ist die Überprüfung von Laufzeiten für Signale, die in mehreren Taktdomänen verlaufen, möglich. Bspw. wird ein Signal in einer ersten Taktdomäne erzeugt und in einer zweiten Taktdomäne empfangen.
  • Bei den Taktdomänen wird zwischen synchronen und asynchronen Taktdomänen unterschieden. Synchrone Taktdomänen werden von einem gleichen Basistakt, bspw. von einem gleichen PLL-Ausgang, betrieben. Bei asynchronen Taktdomänen werden die Takte in den Taktdomänen von Takten betrieben, die nicht miteinander synchron sind, weil sie bspw. sich bezüglich ihrer Phase oder ihrer Frequenz unterscheiden. Die unterschiedlichen Takte werden von unterschiedlichen PLL-Ausgängen, die auch unterschiedlichen PLLs zugeordnet sein können, gespeist.
  • Die Erfindung betrifft auch ein Verfahren zum Herstellen eines Halbleiterchips, bei dem zunächst ein Halbleiterchip entworfen wird. Dabei wird ein Multiplexer entworfen, der als Eingangssignale einen Scan-Takteingang und mindestens ein Ausgangssignal einer PLL empfängt. Der Multiplexer gibt als Ausgangssignal ein Taktsignal für Takteingänge von Flip-Flops aus. Der Multiplexer ist so ausgebildet, dass in einem Funktionalmodus des Halbleiterchips der Ausgang der PLL auf die Takteingänge der Flip-Flops geschaltet wird. In einem Scan-Ketten-Schiebe-Modus wird das Signal eines Scan-Takteingangs auf die Takteingänge der Flip-Flops geschaltet. Und schließlich wird in einem Laufzeittest eine Auswahl von den von der PLL erzeugten Pulsen auf die Takteingänge der Flip-Flops geschaltet. Eine Auswahl bedeutet hierbei, dass einzelne Pulse des von der PLL erzeugten Taktes ausgeblendet werden.
  • Der Multiplexer ist derart ausgelegt, dass im Laufzeittest und im Funktionalmodus das Signal von dem Ausgang der PLL zu den Flip-Flops über dieselben Pfade läuft. Dies bedeutet, dass es zwischen dem Ausgang der PLL und den Flip-Flops keine zusätzlichen Gatter gibt, die nur in einem der beiden Modi Laufzeittest und Funktionalmodus geschaltet werden. Dies hat den Vorteil, dass der Pfad in beiden Modi gleich lang ist. Dadurch wird sichergestellt, dass im Laufzeittest und im Funktionalmodus der Taktpfad gleich lang ist. Somit sind auch die Schwankungen des Taktes gleich lang, und im Laufzeittest wird somit mit gleichen Bedingungen wie im Funktionalmodus getestet.
  • Der Taktbaum wird anhand der berechneten Verzögerungszeiten von Signalen, die von dem Taktausgang mit der höchsten Frequenz erzeugt werden, erstellt. Somit wird der Taktbaum bei der höchsten Frequenz, und somit bei der Frequenz mit den höchsten Anforderungen, erstellt. Die niedrigeren Frequenzen haben geringere Anforderungen und brauchen deshalb für die Erstellung des Taktbaums nicht gesondert betrachtet zu werden. Zudem ist von Vorteil, dass im Funktionalmodus und im Laufzeittest die Pfade gleich lang sind. Beim Erstellen des Taktbaumes bedarf es somit keiner Fallunterscheidung zwischen dem Funktionalmodus und dem Laufzeittest.
  • Zum Schluss des Verfahrens wird der so entworfene Halbleiterchip materiell erzeugt.
  • In einer bevorzugten Ausführungsform werden die Pfade so ausgelegt, dass die Verzögerung von den Taktausgängen, die eine niedrigere Frequenz als die höchste Frequenz haben, nicht länger als die Verzögerung von dem Taktausgang mit der höchsten Frequenz ist. Somit sind die Schwankungen der Verzögerungen bei der höchsten Frequenz am größten oder gleich groß wie die Verzögerungen der anderen Taktausgänge. Somit brauchen die Verzögerungen der anderen Taktausgänge beim Erstellen des Taktbaums nicht gesondert betrachtet zu werden.
  • Die Erfindung betrifft auch eine integrierte Schaltung mit einem Funktional-Takteingang, einem Scan-Takteingang, einer Vielzahl von Scanzellen, einem Signalfolgeregister und einer Vielzahl von Taktdomänen. Die Scanzellen sind in einem Scan-Ketten-Schiebe-Modus als Schieberegister geschaltet und empfangen als Takt für das Schieberegister das Signal am Scan-Takteingang. Jede Taktdomäne enthält einen eigenen, in der integrierten Schaltung befindlichen, Takttreiber. Die Taktdomäne enthält diejenigen Schaltungen, die von diesem Takttreiber betrieben werden.
  • Ein Takttreiber einer Taktdomäne enthält einen Takteingang, einen Freigabeeingang und einen Ausgang. An dem Ausgang wird der am Takteingang empfangene Takt ausgegeben, falls am Freigabeeingang ein Freigabesignal anliegt. Der Takttreiber empfängt ein Signal, das aus dem Takt am Funktional-Takteingang abgeleitet ist, und empfängt zudem das Freigabesignal entsprechend der in den Signalfolgeregistern gespeicherten Werte, falls nach dem Ausschalten des Scan-Ketten-Schiebe-Modus ein Signalwechsel am Scan-Takteingang erfolgt.
  • Dadurch kann vorteilhafterweise der Scan-Takteingang, der nach dem Ausschalten des Scan-Ketten-Schiebe-Modus ansonsten keine Funktion hat, benutzt werden, um die Ansteuerung der Freigabesignale zu initiieren. Dadurch wird ein Pin gespart und die Ansteuerung vereinfacht sich.
  • In einer Ausführungsform empfängt der Takttreiber an einem Takteingang das Ausgangssignal einer Auswahlschaltung. Die Auswahlschaltung gibt das Signal am Scan-Takteingang oder das Ausgangsignal einer PLL, die vom Signal am Funktional-Takteingang betrieben wird, aus. Der Scan-Takteingang muss nicht direkt mit der Auswahlschaltung verbunden sein, es können auch bspw. mehrere Treiberstufen dazwischen liegen. Das gleiche gilt für das Ausgangssignal der PLL. Zusätzlich zu den Signalen am Scan-Takteingang und am Ausgang der PLL könnte die Auswahlschaltung noch weitere Eingänge haben, wodurch sich die Auswahl vergrößert. Durch die Auswahlschaltung, die von den verschiedenen Taktsignalen gespeist wird, wird sichergestellt, dass die Takttreiber für die Taktdomänen von einem einzigen Signal gespeist werden, sodass die Synchronisierung vereinfacht wird.
  • In einer Ausführungsform weist die Auswahlschaltung ein ODER-Gatter und mehrere davor geschaltete Takttreiber auf. Die Eingänge des ODER-Gatters werden von den Ausgängen mehrerer Takttreiber betrieben. Diese Takttreiber weisen jeweils einen Takteingang und einen Freigabeeingang auf. Der Takteingang des einen Takttreibers ist an einen Ausgang der PLL und der Takteingang eines anderen Takttreibers ist an den Scan-Takteingang gekoppelt. Die Freigabesignale für die Takttreiber der Auswahlschaltung werden mit den Signalen an den Takteingängen synchronisiert. Dadurch wird sichergestellt, dass keine Spikes, d. h. kurze Pulse, die kürzer als die Länge eines Taktpulses sind, auf den Taktleitungen auftreten.
  • Falls mehrere Auswahlschaltungen vorgesehen sind, können jeweils unterschiedliche PLL-Ausgangssingale empfangen werden. Damit ist es möglich, auch asynchrone Taktdomänen zu betreiben.
  • Vorzugsweise wird für jede Taktdomäne ein eigenes Signalfolgeregister vorgesehen, damit sämtliche Taktdomänen unabhängig voneinander programmiert werden können, wodurch beliebige Kombinationen von Taktpulsen in den Taktdomänen erzeugt werden können.
  • Die Ansteuerschaltung für die Freigabesignale der Takttreiber befindet sich in einer bevorzugten Ausführungsform außerhalb der von den Scanzellen gebildeten Schieberegister. Die Ansteuerschaltungen weisen dabei taktbetriebene Schaltungsteile auf. Diese müssen sowohl während des Scan-Ketten-Schiebe-Modus als auch im normalen Betrieb funktionieren. Deshalb dürfen sie nicht durch den Scan-Ketten-Schiebe-Modus überschrieben werden.
  • Erfindungsgemäß wird auch eine integrierte Schaltung bereitgestellt, die einen Scan-Takteingang aufweist sowie eine PLL mit mindestens einem Taktausgang. Eine Vielzahl von Flip-Flops empfängt jeweils ein Taktsignal und kann in einem Scan-Ketten-Schiebe-Modus als Schieberegister geschaltet werden. Ein Multiplexer treibt die Takteingänge der Flip-Flops, wobei zumindest drei Modi unterschieden werden: In einem Funktionalmodus wird der Ausgang der PLL auf die Takteingänge der Flip-Flops geschaltet. In einem Scan-Ketten-Schiebe-Modus wird dagegen das Signal am Scan-Takteingang auf die Takteingänge der Flip-Flops geschaltet. Und in einem Laufzeittest wird eine Auswahl von den von der PLL erzeugten Pulsen auf die Takteingänge der Flip-Flops geleitet. Dabei wird der Multiplexer so ausgebildet, dass der Pfad von dem Ausgangssignal zu den Flip-Flops sowohl im Laufzeittest als auch im Funktionalmodus gleich lang ist. Dadurch wird sichergestellt, dass im Laufzeittest und im Funktionalmodus keine unterschiedlichen Bedingungen für die Takterzeugung herrschen. Somit wird im Laufzeittest unter Bedingungen getestet, die ähnlich dem Funktionalmodus sind.
  • Zudem vereinfacht sich das Erstellen des Taktbaums, da dieser anhand des Pfades im Funktionalmode erstellt werden kann, ohne dass auf den Laufzeittest Rücksicht genommen werden muss.
  • Vorzugsweise werden, falls die PLL mehrere Taktausgänge hat, im Laufzeittest Pulse desjenigen Taktausgangs, das den Takt mit der höchsten Frequenz betreibt, auf die Takteingänge der Flip-Flops geschaltet. Folglich wird im Laufzeittest mit der höchsten Frequenz und somit unter den härtesten Bedingungen getestet.
  • Die Erfindung betrifft auch ein Computerprogramm, das auf einem Computer abläuft und einen Computer zum Ausführen eines erfindungsgemäßen Verfahrens zum Erkennen von Laufzeitfehlern veranlasst. Das Computerprogramm steuert dabei die einzelnen Verfahrensschritte.
  • Das Computerprogramm kann in einem Speichermedium, bspw. auf einer CD-ROM oder in einem Computerspeicher, enthalten sein.
  • Die Erfindung betrifft auch ein erfindungsgemäßes Computerprogramm, das auf einem elektrischen Trägersignal übertragen wird, und einen Datenträger, der ein solches Computerprogramm enthält.
  • Das Computerprogramm kann auch aus einem elektronischen Datennetz, wie bspw. dem Internet, auf einen an das Datennetz angeschlossenen Computer heruntergeladen werden.
  • Die Erfindung ist in den Zeichnungen anhand eines Ausführungsbeispiels näher veranschaulicht.
  • 1 zeigt ein Schaltbild mit den Eingangssignalen für eine erfindungsgemäße integrierte Schaltung.
  • 2 zeigt Details einer erfindungsgemäßen integrierten Schaltung.
  • 3 zeigt den Signalverlauf von in der integrierten Schaltung befindlichen Knoten während eines Verfahrens zum Erkennen von Laufzeitfehlern.
  • 4 zeigt Signalverläufe von in 2 dargestellten Knoten.
  • 5 zeigt Details einer Synchronisierungsschaltung für Takttreiber aus 2.
  • 1 zeigt Eingangssignale einer erfindungsgemäßen integrierten Schaltung. Die integrierte Schaltung 1 empfängt Eingangssignale IN, ein erstes Taktsignal ECLK für den funktionalen Betrieb, einen Scan-Takteingang SCAN_CLK sowie die Signale der JTAG-Schnittstelle TDI, TCK und TMS für den Boundary-Scan-Test. Ausgangssignale sind die Signale OUT sowie das Signal TDO, das ebenfalls nur im von der JTAG-Schnittstelle verwendet wird.
  • 2 zeigt Einzelheiten der in 1 vorgestellten integrierten Schaltung. Der Multi-Takt-Puls-Generator 2 enthält einen Taktfreigabegenerator 3, Takttreiber 4 und 5, eine Auswahlschaltung 6 und eine PLL 7.
  • Die PLL 7 empfängt vom Funktional-Takteingang das Signal ECLK und gibt mehrere taktförmige Signale, ”Functional clock1” und ”Functional clock2-4” aus. ”Function clock2-4” enthält drei Taktsignale ”Functional clock2”, ”Functional clock3” und ”Functional clock4”. Die Ausgangssignale der PLL unterscheiden sich durch verschiedene Frequenzen oder Phasen.
  • Im gewählten Beispiel bezeichnet ”Functional clock1” den schnellsten Takt, der im funktonalen Betrieb bei Volllast gewählt wird. Der ”Functional clock2” ist langsamer als der ”Functional clock1”, der in einem Stromsparmodus verwendet wird. Der ”Functional clock3” ist ein Takt, der unter Umgehung der PLL an den Eingangstakt angeschlossen ist, und der ”Functional clock4” ist ein Takt, der aus einem auf dem Chip befindlichen Oszillator gespeist wird. Der Takt ”Functional clock 1” hat eine Frequenz von 400 MHz, während der Eingangstakt ECKL mit 100 MHz läuft. Das Taktsignal ”Functional clock 2” läuft mit 10 MHz. Das Konzept arbeitet mit beliebig vielen funktionalen Clocks. Im Beispiel wird hier ein Design mit 4 funktionalen Clocks beschrieben.
  • Die Auswahlschaltung 6 enthält ein ODER-Gatter 8 und Takttreiber 9, 10 und 11. Der Takttreiber 10 enthält drei Takttreiber, jeweils mit einem Takteingang und einem Freigabeeingang, wobei der Takteingang links und der Freigabeeingang oben eingezeichnet ist. Der Takttreiber 9 empfängt den Takt ”Functional clock 1”, während der Takttreiber 10 als Eingangstakt das Signal ”Functional clock2” und der Takttreiber 11 das Signal ”Scan_clk”, das vom Scan-Takteingang geliefert wird, empfängt.
  • Die Freigabesignale der Takttreiber 9, 10 und 11 werden vom Taktfreigabegenerator 3 getrieben.
  • Die Ausgangssignale der Takttreiber 9, 10 und 11 werden auf die Eingänge des ODER-Gatters 8 geführt, das ein Taktsignal ”Clock Out” ausgibt.
  • Der Freigabegenerator 3 enthält ein Scanregister 31, ein Testregister 32, einen Freigabeautomaten 33 mit einem darin integrierten Zähler 34, einen Steuerungsautomaten 35 sowie zwei Freigabe-Flip-Flops 36 und 37. Die Freigabe-Flip-Flops 36 und 37 sind optional. Sie ermöglichen eine zwischengespeicherte Ausgabe der Signale und somit ein einfacheres Layout von dem Freigabeautomaten zu den lokalen Takttreibern 4 und 5. Dadurch werden die Timing Constraints für die globalen Signale entspannt. Zeitlich erfolgt der Ablauf der Pulsfolge einen Takt später, der Testablauf bleibt aber gleich.
  • Das Testregister 32 empfängt Signale von dem JTAG, um die Testeinstellungen abzuspeichern. Zudem empfängt das Scanregister Signale SI, die von einem Scaneingang empfangen werden. Dieser Scaneingang ist unabhängig von der JTAG-Schnittstelle angeordnet. Es ist optional auch möglich, dass das Scanregister 31 und das Testregister von der gleichen JTAG-Schnittstelle geladen werden.
  • Das Scanregister 31 und das Testregister 32 sind mit ihren Ausgängen mit dem Freigabeautomat 33 verbunden, der zudem die Signale ”scan_enable”, ”scan_mode” und ”delaytest_mode” und ”func_clk_sel” empfängt. Der Freigabeautomat enthält einen Zähler 34 sowie ein in der 4 nicht gezeigtes Signalfolgeregister.
  • Der Freigabeautomat 33 steuert an seinem Ausgang die Dateneingänge der Flip-Flops 36 und 37 an. Die Takteingänge der Flip-Flops 36 und 37 werden von dem Signal ”Clock out”, das von dem ODER-Gatter 8 der Auswahlschaltung 6 angesteuert wird, getrieben. Der Steuerungsautomat 35 empfängt ebenfalls als Eingangssignale ”scan_enable”, ”scan_mode” und ”delaytest_mode” und ”func_clk_sel”. Der Steuerungsautomat 35 steuert die Freigabeeingänge der Takttreiber 9, 10 und 11 der Auswahlschaltung 6 an.
  • Das Ausgangssignal des Freigabe-Flip-Flops 36 heißt ”gatectr12” und das des Freigabe-Flip-Flops 37 ”gatectr11”.
  • Es werden Flip-Flops verwendet anstelle eines auf Latches basierten Designs. Unter Flip-Flops werden hier taktflankengesteuerte bistabile Kippstufen verstanden. Latches sind dagegen transparent geschaltet, solange an einem Freigabeeingang ein bestimmter Pegel anliegt.
  • Die Takttreiber 4 und 5 weisen jeweils einen Takteingang und einen Freigabeeingang auf. Die Takteingänge werden jeweils von dem Ausgangssignal des ODER-Gatters 8 ”Clock out” angesteuert.
  • Als Freigabesignal empfängt der Takttreiber 4 das Signal ”gatectr11”. Das Signal ”gatectr12” bildet das Freigabesignal für den Takttreiber 5. Die Takttreiber 4, 5, 9, 10 und 11 werden auch als ”Clock Gating Cells (CGC)” bezeichnet.
  • Eine erste Taktdomäne 21, die eine Vielzahl von hier nicht gezeigten Flip-Flops und sonstigen Gattern aufweist, enthält auch den Takttreiber 4, der den Takt ”gated clock1” für die Taktdomäne 21 erzeugt. Desgleichen wird das Taktsignal ”gated clock2” für die Taktdomäne 22 von dem Takttreiber 5 getrieben.
  • Der Steuerungsautomat 35 sorgt dafür, dass höchstens ein Clockpfad, d. h. einer der Takttreiber 9, 10 oder 11, freigeschaltet ist. Im Funktionalmodus, d. h. der normalen Anwendung, wird der ”Functional clock 1” in den Taktdomänen 21 und 22 verwendet. Durch das Signal ”scan_enable” wird der Chip in den Scan-Ketten-Schiebe-Modus versetzt, bei dem die Scan-Flip-Flops als Schieberegister geschaltet sind. Das Signal ”scan_mode” schaltet von dem Takt ECLK auf das Signal SCAN_CLK um. Mittels ”delaytest_mode” wird zwischen Laufzeittest und stuck-at fault Test geschaltet und ”func_clk_sel” wählt einen der vier ”Functional Clock” Takte aus.
  • Der Unterschied von Funktionalbetrieb und den Tests wird lediglich durch eine Codierung der Freigabesignale der Takttreiber bewirkt. Das Taktmultiplexer steuert alle Taktschalter mit einer einzigen synchronen Multiplexerimplementierung.
  • Bei dem ”Stuck-at fault” Test wird die integrierte Schaltung mit Testmustern beaufschlagt, die mittels der in der Technik bekannten ”Stuck-at fault” Methode ermittelt wurden. Bei diesem Test wird ein Testmuster im Scanmuster in die Scanzellen eingeschrieben. Anschließend wird der Scan-Ketten-Schiebe-Modus ausgeschaltet und die Schaltung ein paar Takte lang betrieben. Anschließend wird der Scan-Ketten-Schiebe-Modus wieder eingeschaltet und die Werte aus den Scanzellen werden ausgelesen. Während dieses gesamten Tests wird der Scantakt verwendet. Dazu wird der externe Testclock Scan_clk in die Taktdomänen 21 und 22 weitergeleitet.
  • Für den Test zum Erkennen von Laufzeitfehlern dagegen muss die Auswahlschaltung 6 zwischen dem langsamen ”Scan_clk”, der zum Schieben der Daten in die Scanregister benötigt wird, und dem internen Hochgeschwindigkeits-PLL-Takt hin- und herschalten.
  • Es wird ein Konzept und eine Implementierung eines Multi-Taktpuls-Generators für Laufzeittests in Echtzeit beschrieben. In modernen Designs ist die Signallaufzeit in internen Pfaden weit geringer als über die Pads, die Außenanschlüsse. Während die externe Kommunikation des Chips langsam ist, läuft der interne Chip wesentlich schneller, wobei er von einer auf dem Chip befindlichen PLL betrieben wird. In diesem Fall ist es nicht möglich, einen Hochfrequenztakt von den automatischen Testvorrichtungen (ATE) über ein Pad auf den Chip zu übertragen. Darum wird die auf dem Chip befindliche PLL in Kombination mit einer spezifischen Taktsteuerung hier verwendet.
  • Es gibt eine einheitliche Taktumschaltung. Die Anzahl von Taktpulsen für die Launch/Capture Signalformen ist frei programmierbar und wird parallel für mehrere Signalformen vorgenommen. Es wird dabei der Test von zwischen Taktdomänen verlaufenden Signalen für sowohl synchrone als auch asynchrone Taktdomänen unterstützt.
  • Die Taktdomänen 21 und 22 sind synchron, da sie von dem gleichen PLL-Taktausgang getrieben werden. Sollen zusätzliche asynchrone Taktdomänen betrieben werden, wird ein weiterer Taktfreigabegenerator 3 oder es werden mehrere weitere Taktfreigabegeneratoren 3 vorgesehen.
  • Die Taktdomänen 21 und 22 unterscheiden sich hinsichtlich der Taktpulse im Funktionalmode. Während für die Taktdomäne 21 sämtliche Pulse des ”Functional Clock 1” durchgelassen werden, werden für die Taktdomäne 22 jeweils einer von zwei Taktpulsen durchgelassen und der andere ausgeblendet. Dies wird gemacht, weil die Signalpfade zwischen den Taktdomänen 21 und 22 relativ lang sind und ein Signal mehr als die Länge eines Taktpulses für den Weg von einem Flip-Flop in der Taktdomäne 21 zu einem Flip-Flop in der Taktdomäne 22 benötigt. Aus diesem Grund wird in der Taktdomäne 22 nur jeder zweite Puls getrieben. Wegen der unterschiedlichen Taktungen der Taktdomänen 21 und 22 werden unterschiedliche Signalverläufe benötigt, damit alle Möglichkeiten der Signalverläufe für die Takte programmiert werden können. Dies erfolgt im vorliegenden Beispiel für jede Taktdomäne einzeln, damit eine möglichst hohe Flexibilität gewährleistet ist.
  • In 3 werden die Signalverläufe von in der Schaltung gemäß 2 befindlichen Knoten veranschaulicht. Im oberen Teil der 3 sind zunächst die in den Signalfolgeregistern gespeicherten Daten gezeigt. Pro Taktdomäne werden in dem vorliegenden Beispiel 21 Bit in dem Signalfolgeregister 40 gespeichert. Die ersten 5 Bit geben die Länge der Signalfolge an, die darauffolgenden 16 Bit geben die Daten der Signalfolge bzw. die Signalfolgenmarkierung an. Eine ”1” bedeutet dabei, dass ein Taktpuls durchgelassen, und eine ”0”, dass ein Taktpuls ignoriert wird.
  • In dem vorliegenden Beispiel in 3 wird für die Taktdomäne 21 die links gezeigte Signalfolge 41 und für die Taktdomäne 22 die rechts gezeigte Signalfolge 42 im Signalfolgeregister gespeichert.
  • Falls eine von mehreren Taktdomänen eine individuelle Einstellung für die Multizykluspfade benötigt, ist ein eigener Taktfreigabegenerator vorgesehen. Falls zwei Taktdomänen einen zu testenden Signalpfad teilen, muss der Launchpuls in einem ersten Register und der Capturepuls in einem zweiten Register programmiert werden.
  • Falls die Länge der Signalfolge auf Null gesetzt wird, werden alle führenden Bits, die den Wert Null haben, ignoriert. Für jeden Wert 1 bis 16 des Wavelängenregisters wird die korrekte Anzahl von Bits für die Signalform an die Taktdomäne ausgegeben.
  • Zunächst wird in der ersten ”Shift” Phase die integrierte Schaltung initialisiert. Dafür wurde die integrierte Schaltung 1 über das Signal ”Scan_enable” in einen Scan-Ketten-Schiebe-Modus gebracht. Die Scanzellen, d. h. die Mehrzahl der in der integrierten Schaltung befindlichen Zustandsspeicherglieder, bspw. Flip-Flops, sind als ein Schieberegister geschaltet. Der Anfang des Schieberegisters befindet sich beim Pin ”Testdaten ein” und der Ausgang des Schieberegisters beim Pin ”Testdaten aus”. Die Flip-Flops des Schieberegisters werden über den Takt ”Scan_clk”, der am Scan-Eingangssignal anliegt, angesteuert. In der Auswahlschaltung 6 wird der Takttreiber 11 freigegeben, sodass am Ausgang der Auswahlschaltung 6 ”Clock out” ein Takt ausgegeben wird, dessen Signalform der des ”Scan_clk” entspricht.
  • Ebenso sind die Freigabesignale der Takttreiber 4 und 5 aktiv geschaltet, sodass das Taktsignal für die erste Taktdomäne 21 und das Taktsignal für die zweite Taktdomäne 22, ”Gated Clock1” und ”Gated Clock2”, die gleiche Signalform wie das am Scan-Takteingang anliegende Signal haben.
  • Somit können Flip-Flops, die sich innerhalb der Taktdomänen 21 und 22 befinden, als Scanzellen geschaltet werden.
  • Das Testprogramm enthält eine Initialisierungsphase, die die PLL und die Takttreiber z. B. bezüglich der Taktgeschwindigkeit und der Signalformen konfiguriert.
  • Der grundlegende Laufzeitfehlertest benutzt genau zwei Taktpulse. Zuerst wird der Pfad für den erwarteten Laufzeitfehler vorbereitet. Dann erfolgt ein Signalwechsel in dem Launchzyklus. Schließlich wird der fehlerfreie oder fehlerhafte Wert im Capturezyklus beobachtet. Dieser Ansatz funktioniert für ein vollständig komplettes Scandesign, bei dem jedes sequentielle Element als Scan-Flip-Flop implementiert wird. In der Praxis erfüllen einige Teile der Schaltung diese Anforderung nicht vollständig. Typische Kandidaten dafür sind Speicherblöcke und Pipelinestrukturen. Manchmal funktioniert auch das Einfügen von Scanzellen in Subblöcke des Designs nicht. Auch in diesem Fall reicht ein Laufzeittest mit nur zwei Pulsen nicht aus. Stattdessen müssen zusätzliche Pulse für den sequentiellen Test vorgesehen werden.
  • Die Auswahlschaltung 6 bildet einen spikefreien Taktmultiplexer. Die Steuerschaltung 35 sorgt stets dafür, dass nur ein Taktpfad aktiviert wird. Im ”stuck-at fault” Test werden sowohl das Einschreiben in die Scanzellen als auch die Launch- und Capture-Phase durch den Scan_clk erzeugt, der von der ATPG generiert wird.
  • Nachdem die Scanzellen über den Scan-Ketten-Schiebe-Modus programmiert worden sind, wird der Scan-Ketten-Schiebe-Modus über eine fallende Flanke des Signals ”Scan_enable” wieder ausgeschaltet. Eine darauf folgende steigende Flanke des Signals ”Scan_clk” initiiert die Launch- und Capture-Zyklen. In der Launch/Capture-Phase werden Taktpulse für die Taktdomänen 21 und 22 erzeugt, damit sich die Schaltungen in diesen Domänen wie während des funktionalen Betriebs verhalten. Nur so kann das Verhalten wie während der Anwendung getestet werden, um eventuelle Laufzeitfehler zu detektieren.
  • Der Start der Launch/Capture-Phase wird mittels der steigenden Flanke am Scan-Takteingang gestartet, um einen zusätzlichen Pin einzusparen. Der ”Scan_clk” hat beim Laufzeitfehlertest außerhalb des Scan-Ketten-Schiebe-Modus nicht mehr die Funktion, als Taktsignal für die Scansignale zu wirken. Er steuert statt dessen die Signale ”enable ctr11” und ”enable ctr12”, die interne Signale des Steuerungsautomaten 35 sind. Der Steuerungsautomat 35 gibt über das Freigabesignal des Takttreibers 9 diesen für neun Taktzyklen frei. Das Ausgangssignal der Auswahlschaltung 6 ”Clock out” gibt somit neun Taktpulse aus. Diese Taktpulse haben eine hohe Frequenz, wie sie von PLL erzeugt wird. Die PLL läuft vorteilhafterweise während des Scan-Ketten-Schiebe-Modus mit. Dazu muss ein Takt am Funktional-Takteingang anliegen. Die PLL läuft bereits vor der eigentlichen Launch/Capture-Phase, weil sie Zeit zum Einschwingen braucht.
  • Die Länge der Signalfolge 41 für die Taktdomäne 21 ist 8 Bit, was in dem Beispiel als ”111” codiert ist. Dabei wird der letzte und der drittletzte Taktpuls ausgegeben, wie dies aus der Signalfolgenmaskierung ersichtlich ist. Die Länge der Signalfolge 42 in der Taktdomäne 22 ist 9 Bit. Dabei wird im dritten, achten und neunten Taktzyklus jeweils ein Taktpuls ausgegeben.
  • Die Signalfolgeregister erlauben frei programmierbare Signalfolgen von 16 Pulsen. Somit können alle möglichen Kombinationen von Pulsen, die Signale innerhalb von Taktdomänen und zwischen Taktdomänen betreffen, generiert werden. Der Launch/Capture-Phase schließt sich wieder eine Shift-Phase an. Diese wird durch eine steigende Flanke des Signals ”Scan enable” gestartet. Wieder wird das Taktsignal am Scaneingang aktiviert, um die in den Scanzellen gespeicherten Daten am Ausgang ”Testdaten aus” auszugeben.
  • Eine alternative Kodierung bietet sich durch eine sequentielle Kodierung an. Dabei wird die Signalfolge mittels dreier Teile kodiert. Im ersten Teil wird eine zu wiederholende Signalfolge angegeben, der zweite Teil kodiert einen Wiederholungsfaktor und der dritte Teil gibt das Ende der Signalfolge, das nur einmal ausgegeben wird, an.
  • 4 zeigt die Signalverläufe der Taktsignale an Knoten der integrierten Schaltung gemäß 2. Dazu ist ein Ausschnitt aus 2 gezeigt. Am Signal ”Scan_clk” ist ein langsamer Takt angelegt, während die PLL an einem ihrer Ausgänge den hochfrequenten ”Functional clock”-Takt ausgibt. Das Signal ”Clock out” gibt zunächst einen Puls mit einer großen Pulsbreite, anschließend mehrere Pulse mit einer kleinen Pulsweite und am Ende wieder einen Puls mit einer großen Pulsweite aus. Am Ausgang der Takttreiber 4 und 5 werden die Takte ”Gated Clock1” und ”Gated Clock2” ausgegeben, bei denen einige der Pulse mit kurzen Pulslängen im Vergleich zu dem Signal ”Clock out” ausgeblendet wurden.
  • Die gezeigte Implementierung der Taktpfade für die Takteingänge ECLK und Scan_clk hat Vorteile bei der Generierung des Taktbaums. Es wird ein einziger Taktbaum von der PLL zu den Flip-Flops für den funktionalen Betrieb und für den Laufzeittest vorgesehen. Als Taktbaum wird die Verzweigung eines Taktsignals von einer Quelle, beispielsweise einer PLL, zu den Empfängern des Takts bezeichnet. Die Empfänger sind hier die Flip-Flops in den Taktdomänen 21 und 22.
  • Die Quelle wird im folgenden auch als Wurzel, die Empfänger als Blätter und den Weg zwischen Wurzel und Blatt als Pfad bezeichnet. Durch geschickte Dimensionierung der Pfade wird dafür gesorgt, dass ein von der Wurzel ausgesandtes Taktsignal alle Blätter möglichst gleichzeitig erreicht. Der verbleibenden Unterschied zwischen den Empfangszeitpunkten wird als Skew bezeichnet. Der Skew verringert den Zeitraum, in dem ein Dateneingangssignal von den Flip-Flops sicher empfangen werden kann. Deshalb wird versucht, den Skew möglichst gering zu halten.
  • Beim Entwurf des Taktbaums werden alle Verzögerungen der Pfade von der Wurzel zu den Blättern berechnet. Dazu sollte vorzugsweise jeder Pfad eindeutig sein, d. h. es gibt nur einen Pfad und nicht zwei oder mehrere Pfade von der Wurzel zu einem bestimmten Blatt.
  • Bei Implementierungen dagegen, bei denen es zwei unterschiedlich lange Pfade für den Weg zwischen einer bestimmten Wurzel und einem bestimmten Blatt gibt, wird durch einen Multiplexer zwischen diesen zwei unterschiedlich langen Pfaden hin- und hergeschaltet. Hierbei muss der Taktbaum für beide Pfade optimiert werden. Die zwei Pfade entstehen beispielsweise, falls im Laufzeittest das Taktsignal über mehr Gatter geleitet wird als im funktionalen Betrieb.
  • Die Optimierung für zwei Pfade erhöht zum einen den Aufwand, zumal die Computerprogramme nicht darauf ausgelegt sind, einen Taktbaum zu erstellen, wenn mehrere parallele Pfade pro Blatt vorhanden sind. Zum anderen wird auch der Skew vergrößert, weil der Taktpfad gleichzeitig für mehrere Pfade optimiert werden muss.
  • In der Anordnung gemäß 2 wird der Taktbaum für die Taktdomäne 21 nur für den Pfad von dem Signal ”Functional Clock 1” zu den Empfängern in der Taktdomäne 21 ausgelegt. Die Anordnung des Takttreibers 9 und des ODER-Gatters 8 erlaubt, dass dieser Pfad sowohl beim Laufzeittest als auch im Funktionalmodus gleich lang ist. Der Pfad von der Wurzel ”Functional test 1” zu einem Blatt des ”Gated clock 1” verläuft sowohl im Functionalmodus als auch beim Laufzeittest über den Takttreiber 9, das Oder-Gatter 8 und den Takttreiber 4. Somit wird der Taktbaum nur für einen Pfad berechnet und optimiert. Die Taktpfade von den anderen Taktquellen ”Functional Clock 2”, ”Functional Clock 3”, ”Functional Clock 4” und ”Scan_clk” zu den Empfängern sind eventuell etwas länger als der Pfad von ”Functional Clock 1”. Dies ist aber unerheblich, denn der Unterschied zwischen der Verzögerung zu einem Blatt und der Verzögerung zu einem anderen Blatt bleibt gleich. Für die Erstellung des Taktbaumes sind deshalb nur die Berechnungen der Pfade von dem ”Functional Clock 1” zu den Blättern relevant. Dabei wird der schnellste Takt, hier ”Functional Clock 1” gewählt, weil beim Betrieb mit dem schnellsten Takt die größten Anforderungen an geringen Skew bestehen.
  • Je länger ein Pfad von der Wurzel zu den Blättern ist, umso mehr schwankt die Verzögerung von der Wurzel zu einem Blatt. Dadurch wird auch der Skew vergrößert. Um dem entgegenzuwirken, werden möglichst große Takttreiber und Zwischentreiber verwendet, um kurze Laufzeiten für den Takt zu erreichen. Allerdings erhöhen die großen Takttreiber auch den Stromverbrauch, so dass ein Kompromiss zwischen der Größe des Takttreibers und dem Stromverbrauch gewählt wird.
  • Die Takttreiber und Zwischentreiber werden vorzugsweise so dimensioniert, dass die Verzögerungen der Pfade für ”Functional Clock 1” nicht kürzer als die Verzögerungen der Pfade für die anderen Taktsignale sind. So wird sichergestellt, dass für die anderen Taktsignale keine größeren Skews erzeugt werden als bei dem Takt mit ”Functional Clock 1”. Bevorzugt werden die Pfade so ausgelegt, dass die Pfade für die verschiedenen Takte gleich lang sind.
  • 5 zeigt Details einer Synchronisierungsschaltung für Takttreiber. Die bereits in 2 gezeigten Takttreiber 9, 10 und 11 empfangen die Freigabesignale f1, f2 und c3, wobei das Freigabesignal f1 von dem Steuersignal c1 und das Freigabesignal f2 von dem Steuersignal c2 abgeleitet sind. Die Steuersignale c1, c2 und c3 werden von dem Steuerungsautomaten 35 geliefert. Diese Freigabesignale der Takttreiber 9, 10 und 11 müssen zu den jeweiligen Eingangstaktsignalen ”Functional clock 1”, ”Functional clock 2” und ”Scan_clk” synchron sein, damit Spikes vermieden werden. Spikes sind kurze Pulse auf Taktleitungen, deren Pulslänge kleiner ist als der Taktpuls. Spikes können zu Fehlfunktionen der Schaltungen führen und sind deshalb zu vermeiden.
  • Für den Takttreiber 9 ist der Synchronisierungsblock 51 und für den Takttreiber 10 ist der Synchronisierungsblock 52 vorgesehen. Der Takttreiber 11 benötigt keine Synchronisierungsschaltung, da der Tester die Signal für Scan-Ketten-Schiebe-Modus und Scantakt so programmiert, dass während des Umschaltens des Scan-Ketten-Schiebe-Modus keine Spikes entstehen. Damit ist hier eine Synchronisierungsschaltung überflüssig.
  • Jeder Synchronisierungsblock 51 und 52 weist drei in Reihe geschaltete D-Flip-Flops 53, 54 und 55 auf. Die Takteingänge der D-Flip-Flops 53, 54 und 55 des Synchronisierungsblocks 51 sind mit dem ”Functional clock 1” und die Takteingänge der D-Flip-Flops 53, 54 und 55 des Synchronisierungsblocks 52 sind mit dem ”Functional clock 2” verbunden. Die D-Flip-Flops 53 und 54 sorgen dafür, dass die Ausgangssignale der Flip-Flops 54, die im Synchronisierungsblock 51 das Freigabesignal f1 und im Synchronisierungsblock 52 das Freigabesignal f2 bilden, jeweils synchron zu den jeweiligen Eingangstaktsignalen sind.
  • Beim ”stuck-at fault” Test soll immer die scan_clk in die Taktdomänen 21 und 22 durchgeschaltet werden. Dies soll unabhänig vom Zustand des Steuerautomaten und der Flip-Flops 5355 erfolgen. Es besteht die Gefahr, dass es keinen Takt gibt und das Erreichen des gewünschten Zustands nicht garantiert ist, falls die PLL bei ”stuck-at fault” Test nicht aktiviert ist. Daher werden für ”stuck-at fault Test” die Flip-Flops 5355 asynchron in den Reset Zustand gezwungen, wodurch ”functional clock 1” etc. unabhängig von ihrer Clock Quelle gesperrt werden.
  • Zusammenfassend lässt sich sagen, dass der Ansatz auf der Wiederverwendung des auf dem Chip befindlichen PLL und der Taktgenerierungseinheit für Zwecke des Laufzeittests, auch ”delay fault test” genannt, beruht.
  • Es ist wichtig, das korrekte funktionale Timing während des Laufzeittests zu gewährleisten. Die frei programmierbare Signalfolge erlaubt, bestimmte Taktpulse zu unterdrücken, um das Verhalten des Schemas des Funktionaltests nachzubilden.
  • Bezugszeichenliste
  • 1
    integrierte Schaltung
    2
    Multi-Takt-Puls-Generator
    3
    Taktfreigabegenerator
    4
    Takttreiber
    5
    Takttreiber
    6
    Auswahlschaltung
    7
    PLL
    8
    ODER-Gatter
    9
    Takttreiber
    10
    Takttreiber
    11
    Takttreiber
    21
    Taktdomäne
    22
    Taktdomäne
    31
    Scanregister
    32
    Scanregister
    33
    Freigabeautomat
    34
    Zähler
    35
    Steuerungsautomat
    36
    Freigabe-Flip-Flop
    37
    Freigabe-Flip-Flop
    41
    Signalfolge
    42
    Signalfolge
    43
    Signalfolge

Claims (16)

  1. Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen, – wobei die integrierte Schaltung (1) eine Vielzahl von Scanzellen, einen Funktional-Takteingang (ECLK), einen Scan-Takteingang (Scan_clk) und eine Vielzahl von Taktdomänen (21, 22) aufweist, wobei die Scanzellen in einem Scan-Ketten-Schiebe-Modus als Schieberegister geschaltet sind und jede Taktdomäne (21, 22) von einem eigenen in der integrierten Schaltung (1) befindlichen Takttreiber (4, 5) betrieben wird, und wobei das Verfahren folgende Schritte aufweist: a) Einschalten des Scan-Ketten-Schiebe-Modus, b) Schieben von Daten in die Scanzellen mittels Signalwechsel an dem Scan-Takteingang (Scan_clk), c) Anlegen von Taktsignalen an den Funktional-Takteingang (ECLK), d) Programmierung von Signalfolgeregistern, e) Ausschalten des Scan-Ketten-Schiebe-Modus, f) Erzeugen, nach Schritt e), aus dem Takt am Funktional-Takteingang (ECLK) eine Vielzahl von Taktsignalen (Gated Clock1, Gated Clock2) in mindestens einer Taktdomäne (21, 22) entsprechend der in Signalfolgeregistern gespeicherten Werte, g) Überprüfen, ob Laufzeitfehler in der in Schritt f) betriebenen Taktdomäne (21, 22) aufgetreten sind, durch Vergleich, ob in Speicherzellen der integrierten Schaltung gespeicherte Werte erwarteten Werten entsprechen, dadurch gekennzeichnet, dass die Erzeugung der Taktsignale (Gated Clock1, Gated Clock2) in Schritt f) durch einen Signalwechsel an dem Scan-Takteingang (Scan_clk) ausgelost wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Taktsignale gemäß Schritt c) bereits vor dem Schritt a) angelegt werden.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Signalfolgeregister in Schritt d) über eine JTAG-Schnittstelle programmiert werden.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass in Schritt g) der Scan-Ketten-Schiebe-Modus wieder eingeschaltet wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass in die Signalfolgeregister pro Taktdomäne (21, 22) jeweils die Länge der Signalfolge und die Werte für die Signalfolge gespeichert werden.
  6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass in Schritt f) Taktsignale (Gated Clock1, Gated Clock2) in mehreren Taktdomänen (21, 22) erzeugt werden.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Takttreiber (4, 5) der angesteuerten Taktdomänen (21, 22) von demselben PLL-Ausgang betrieben werden.
  8. Verfahren nach Anspruch 6 oder 7, dadurch gekennzeichnet, dass die Takttreiber (4, 5) der angesteuerten Taktdomänen (21, 2) von unterschiedlichen PLL-Ausgängen betrieben werden.
  9. Integrierte Schaltung, folgendes aufweisend: – ein Funktional-Takteingang (ECLK), – ein Scan-Takteingang (Scan_clk), – eine Vielzahl von Taktdomänen (21, 22), – in den Taktdomänen (21, 22) eine Vielzahl von Scanzellen, die in einem Scan-Ketten-Schiebe-Modus als Schieberegister geschaltet sind und den Takt des Scan-Takteingangs (Scan_clk) empfangen, – pro Taktdomäne (21, 22) mindestens einen in der integrierten Schaltung (1) befindlichen Takttreiber (4, 5), der in der Taktdomäne (21, 22) befindliche Schaltungen treibt, – jeder Takttreiber (4, 5) der Taktdomäne (21, 22) enthält einen Takteingang und einen Freigabeeingang und gibt den am Takteingang empfangenen Takt (Clock Out) an seinem Ausgang aus, falls am Freigabeeingang ein Freigabesignal (gatectr11, gatectr12) anliegt, dadurch gekennzeichnet, dass der Takttreiber einen aus dem Signal am Funktional-Takteingang (ECLK) abgeleiteten Takt empfängt und das Freigabesignal entsprechend von in Signalfolgeregistern gespeicherten Werten beschaltet wird, falls nach Ausschalten des Scan-Ketten-Schiebe-Modus ein Signalwechsel am Scan-Takteingang (Scan_clk) erfolgt.
  10. Integrierte Schaltung nach Anspruch 9, dadurch gekennzeichnet, dass der Takteingang des Takttreibers (4, 5) das Ausgangssignal (Clock out) einer Auswahlschaltung (6) empfängt, wobei die Auswahlschaltung (6) das Signal am Scan-Takteingang (Scan_clk) oder das Ausgangssignal einer PLL (Functional Clock), die vom Signal am Funktional-Takteingang (ECLK) betrieben wird, ausgibt.
  11. Integrierte Schaltung nach Anspruch 10, dadurch gekennzeichnet, dass die Auswahlschaltung (6) ein ODER-Gatter (8) und mehrere Takttreiber (9, 10, 11) aufweist und dass die Eingänge des ODER-Gatters (8) von den Ausgängen mehrerer Takttreiber (9, 10, 11), die jeweils einen Takteingang und einen Freigabeeingang aufweisen, getrieben werden, wobei der Takteingang eines der Takttreiber am Ausgang der PLL und der Takteingang des anderen Takttreibers an den Scan-Takteingang (Scan_clk) gekoppelt ist und die Freigabesignale über eine Sychronisierungsschaltung mit den Signalen an den Takteingängen (Functional Clock, Scan_clk) synchronisiert werden.
  12. Integrierte Schaltung nach Anspruch 10, dadurch gekennzeichnet, dass mehrere Auswahlschaltungen (6) vorgesehen sind, die jeweils an den Takteingängen ihrer Takttreiber unterschiedliche PLL-Ausgangssignale empfangen.
  13. Integrierte Schaltung nach einem der Ansprüche 9 bis 12, gekennzeichnet durch Ansteuerschaltungen (33, 35, 36, 37) für die Freigabesignale der Takttreiber (4, 5, 9, 10, 11), wobei die Ansteuerschaltungen (33, 35, 36, 37) taktgetriebene Schaltungsteile aufweisen, die sich außerhalb der von den Scanzellen gebildeten Schieberegister befinden.
  14. Integrierte Schaltung, folgendes aufweisend: – ein Scan-Takteingang (Scan_clk), – eine PLL (7) mit mindestens einem Taktausgang, – eine Vielzahl von Flip-Flops, die jeweils ein Taktsignal empfangen und die in einem Scan-Ketten-Schiebe-Modus als Schieberegister geschaltet sind, – ein Multiplexer (4, 5, 8, 9, 10, 11) der die Takteingänge der Flip-Flops treibt, und – in einem Funktionalmodus den Ausgang der PLL (7) auf die Takteingänge der Flip-Flops schaltet, – in dem Scan-Ketten-Schiebe-Modus das Signal am Scan-Takteingang (Scan_clk) auf die Takteingänge der Flip-Flops schaltet, – und in einem Laufzeittest eine Auswahl von den von der PLL (7) erzeugten Pulsen auf die Takteingänge der Flip-Flops schaltet, dadurch gekennzeichnet, dass der Multiplexer (4, 5, 8, 9, 10, 11) so ausgebildet ist, dass der Pfad von dem Ausgangssignal zu Takteingängen der Flip-Flops sowohl im Laufzeittest als auch im Funktionalmodus gleich lang ist, indem zwischen dem Taktausgang der PLL und den Takteingängen der Flip-Flops keine Gatter vorgesehen sind, die nur in einem der beiden Modi Laufzeittest und Funktionalmodus geschaltet werden.
  15. Integrierte Schaltung nach Anspruch 14, dadurch gekennzeichnet, dass die PLL (7) mehrere Taktausgänge (functional clock 1, functional clock 2, functional clock 3, functional clock 4) hat und dass im Laufzeittest Pulse desjenigen Taktausgangs, der den Takt mit der hochsten Frequenz (functional clock 1), treibt, auf die Takteingänge der Flip-Flops geschaltet werden.
  16. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass einzelne Verfahrensschritte als ein Computerprogramm ausführbar sind.
DE102006024507.5A 2006-05-23 2006-05-23 Integrierte Schaltung und Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen Expired - Fee Related DE102006024507B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102006024507.5A DE102006024507B4 (de) 2006-05-23 2006-05-23 Integrierte Schaltung und Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen
US11/752,785 US7689885B2 (en) 2006-05-23 2007-05-23 Integrated circuit and method for identifying propagation time errors in integrated circuits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006024507.5A DE102006024507B4 (de) 2006-05-23 2006-05-23 Integrierte Schaltung und Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen

Publications (2)

Publication Number Publication Date
DE102006024507A1 DE102006024507A1 (de) 2007-12-06
DE102006024507B4 true DE102006024507B4 (de) 2017-06-01

Family

ID=38650240

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006024507.5A Expired - Fee Related DE102006024507B4 (de) 2006-05-23 2006-05-23 Integrierte Schaltung und Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen

Country Status (2)

Country Link
US (1) US7689885B2 (de)
DE (1) DE102006024507B4 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4816686B2 (ja) 2008-06-06 2011-11-16 ソニー株式会社 走査駆動回路
US7692457B2 (en) * 2008-06-30 2010-04-06 Intel Corporation Dual-path clocking architecture
US8074133B2 (en) * 2008-08-06 2011-12-06 Oracle America, Inc. Method and apparatus for testing delay faults
US7917823B2 (en) * 2008-12-30 2011-03-29 Intel Corporation Decoupled clocking in testing architecture and method of testing
US8028209B2 (en) * 2009-06-26 2011-09-27 Intel Corporation Scalable scan system for system-on-chip design
US8788895B2 (en) * 2010-04-08 2014-07-22 Stmicroelectronics S.R.L. Testing system for integrated circuits including components for receiving clock signals corresponding to different clock domains
US8694843B2 (en) * 2011-08-04 2014-04-08 Texas Instruments Incorporated Clock control of pipelined memory for improved delay fault testing
US8375265B1 (en) * 2011-09-13 2013-02-12 Texas Instruments Incorporated Delay fault testing using distributed clock dividers
US9495495B2 (en) * 2014-04-03 2016-11-15 Taiwan Semiconductor Manufacturing Company Limited Scan cell assignment
US10447461B2 (en) * 2015-12-01 2019-10-15 Infineon Technologies Austria Ag Accessing data via different clocks
US11879939B2 (en) * 2022-02-08 2024-01-23 Nxp B.V. System and method for testing clocking systems in integrated circuits

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084390A1 (en) * 2001-10-26 2003-05-01 Mentor Graphics Corporation At-speed test using on-chip controller
EP1584938A1 (de) * 2004-04-07 2005-10-12 Stmicroelectronics, Ltd. Hochgeschwindigkeitsprüfung von integrierten Schaltungen

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434996A (en) * 1993-12-28 1995-07-18 Intel Corporation Synchronous/asynchronous clock net with autosense
US5535164A (en) 1995-03-03 1996-07-09 International Business Machines Corporation BIST tester for multiple memories
US6966021B2 (en) 1998-06-16 2005-11-15 Janusz Rajski Method and apparatus for at-speed testing of digital circuits
US6467044B1 (en) 1999-10-20 2002-10-15 International Business Machines Corporation On-board clock-control templates for testing integrated circuits
US6442722B1 (en) 1999-10-29 2002-08-27 Logicvision, Inc. Method and apparatus for testing circuits with multiple clocks
DE10039001A1 (de) 2000-08-10 2002-02-21 Philips Corp Intellectual Pty Anordnung zum Testen eines integrierten Schaltkreises
US6738921B2 (en) 2001-03-20 2004-05-18 International Business Machines Corporation Clock controller for AC self-test timing analysis of logic system
US6954887B2 (en) 2001-03-22 2005-10-11 Syntest Technologies, Inc. Multiple-capture DFT system for scan-based integrated circuits
GB0119300D0 (en) 2001-08-08 2001-10-03 Koninkl Philips Electronics Nv Delay fault test circuitry and related method
EP1296153A1 (de) 2001-09-21 2003-03-26 Siemens Aktiengesellschaft Elektronischer Baustein
DE10148134B4 (de) 2001-09-28 2007-04-19 Infineon Technologies Ag Verfahren zur Busansteuerung
US6647081B2 (en) * 2001-12-12 2003-11-11 Emulex Corporation Phase-locked loop (PLL) circuit for selectively correcting clock skew in different modes
US6976199B2 (en) 2002-01-07 2005-12-13 International Business Machines Corporation AC LSSD/LBIST test coverage enhancement
US6861867B2 (en) 2002-03-07 2005-03-01 Lightspeed Semiconductor Corporation Method and apparatus for built-in self-test of logic circuits with multiple clock domains
US7155651B2 (en) 2004-04-22 2006-12-26 Logicvision, Inc. Clock controller for at-speed testing of scan circuits
US7447961B2 (en) * 2004-07-29 2008-11-04 Marvell International Ltd. Inversion of scan clock for scan cells

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084390A1 (en) * 2001-10-26 2003-05-01 Mentor Graphics Corporation At-speed test using on-chip controller
EP1584938A1 (de) * 2004-04-07 2005-10-12 Stmicroelectronics, Ltd. Hochgeschwindigkeitsprüfung von integrierten Schaltungen

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BECK,M., BARONDEAU,O., KAIBEL,M., POEHL,F., LIN, X., PRESS,R.: Logic Design for On Chip Test Clock Generation Implementation Details and Impact on Delay Test Quality. In: Proc. of Design, Automation and Test in Europe Conference and Exhibition (DATE'05), März 2005, Vol.1, S.56-61 *
GERNER,M., MÜLLER,B., SANDWEG,G.: Selbsttest digitaler Schaltungen. München [u.a.]: Oldenbourg, 1990, S.63-67. ISBN: 3-486-21765-8 *
LIN,X., PRESS,R., RAJSKI,J., REUTER,P., RINDER-KNECHT,T., SWANSON,B. et al: High-Frequency, At-Speed Scan Testing. In: IEEE Design & Test of Computers, September-Oktober 2003, Vol.20, Nr.5, S.17-25 *
TIETZE,U., SCHENK,Ch.: Halbleiterschaltungstechnik. 11. völlig neu bearb. und erweiterte Auflage, Berlin [u.a.]: Springer-Verlag, 1999, S.707-712, ISBN: 3-540-64192-0 *

Also Published As

Publication number Publication date
US7689885B2 (en) 2010-03-30
DE102006024507A1 (de) 2007-12-06
US20080005635A1 (en) 2008-01-03

Similar Documents

Publication Publication Date Title
DE102006024507B4 (de) Integrierte Schaltung und Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen
DE60225898T2 (de) Mehrfacherfassungs-dft-system zum detektieren oder auffinden von überschreitenden taktbereichsfehlern während der selbstprüfung oder scan-prüfung
DE60211659T2 (de) Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd)
DE69533275T2 (de) Ein Steuergerät zur Durchführung der Abtastprüfung
DE2349377C2 (de) Schaltwerk zur Durchführung von Datenverarbeitungsoperationen
DE19653160B4 (de) Digitale Laufzeitverriegelungsschleifenschaltung, die eine synchrone Verzögerungsleitung verwendet
DE60204597T2 (de) Kompakter automatischer tester (ate) mit zeitstempel-system
DE112005001517B4 (de) Synchronisation zwischen Niedrigfrequenz- und Hochfrequenzdigitalsignalen
CN102183721B (zh) 多时钟域测试方法及测试电路
DE3700251C2 (de)
DE2728676A1 (de) Stufenempfindliches, als monolithisch hochintegrierte schaltung ausgefuehrtes system aus logischen schaltungen mit darin eingebetteter matrixanordnung
EP0144078A2 (de) Verfahren und Anordnung zum Prüfen einer Schaltung nach der Abfragepfad-Technik
DE2346617A1 (de) Verfahren zur pruefung der laufzeitverzoegerung einer funktionalen logischen einheit
DE102016116717A1 (de) Scan-Ketten-Schaltung, die eine Injektion eines logischen Selbsttestmusters während der Laufzeit unterstützt
DE4100671A1 (de) Abtasttestschaltung und verwendung der abtasttestschaltung in einer integrierten halbleiterschaltung
CN101176071A (zh) 微型计算机及其测试方法
DE112006002092T5 (de) Schaltungskartensynchronisation innerhalb eines standardisierten Prüfinstrumentenchassis
US6815977B2 (en) Scan cell systems and methods
DE102021128331B3 (de) Integrierte schaltung, testanordnung und verfahren zum testen einer integrierten schaltung
DE69533018T2 (de) Struktur und Leistungsabtastprüfung
DE60221094T2 (de) Erzeugung sequentieller Test-Muster mit einer prüfgerecht konzipierten Taktsignal-Kontrolle
DE102007011091A1 (de) Verfahren zum Testen eines Halbleiterspeichers, Verfahren zur Datenserialisierung und Datenserialisierer
DE60007196T2 (de) Vorrichtung zur Beseitigung von "Durchgleiten" von Daten während einer Schiebeoperation mit Master-Slave Kippschaltungen
DE10101901A1 (de) Halbleiter-Speichervorrichtung
DE19718467A1 (de) Frequenzunabhängige Abtastkette

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R082 Change of representative

Representative=s name: WESTPHAL, MUSSGNUG & PARTNER PATENTANWAELTE MI, DE

R082 Change of representative
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee