ASIC Test

[ASICs]  [Chip Typen]  [Chip Aufbau]  [Entwicklung]  [Schnittstellen]  [Glossar]
 
     [Modellierung]  [Strategie]  [Synthese]  [ASIC Test]  [VHDL-Kurs]  [Beispiel]

Funktion OK?ASIC-Test mit DFT (Design For Test)

Die Produktion von Chips ist ein komplizierter und hochtechnisierter physikalisch/chemischer Vorgang, bei dem nicht garantiert werden kann, daß alle produzierten Chips nach dem letzten Produktionsprozeß auch wirklich funktionieren. Diese müssen daher nach der Produktion auf dem Wafer und nach dem Einbau in das Chipgehäuse intensiven Tests unterzogen werden (Wafertest und Chiptest nach dem Einbau in das Chip-Gehäuse), um die funktionierenden von den nicht funktionierenden zu trennen.
Will man für diese Tests nur die spezifizierten Funktion des Chips benutzen und den Chip quasi wie in seiner späteren Umgebung auf einer Platine (PCB, Printed Circuit Board) betreiben, können diese Tests sehr lange dauern und sind deshalb entsprechend teuer. Grund hierfür ist häufig die Struktur, bei der man auf die tief innenliegenden Schaltungsteile von außen her nur sehr schlecht Einfluß ausüben kann. Weiterhin sind solche rein funktionalen Tests sehr stark von dem Design abhängig und damit nicht automatisch zu erzeugen. Sie gehorchen keinen allgemeingültigen Regeln und man müßte sich für jedes neue ASIC eine speziell angepaßte Teststrategie überlegen.

Die Intention von DFT
Das Hauptziel der Teststrategien während des Produktionstests ist es, auf der einen Seite die gesamte Schaltung zu testen, und andererseits die benötigte Testerzeit auf einem ASIC-Tester so kurz wie nur irgend möglich zu halten. Gleichzeitig darf der zusätzliche Entwicklungsaufwand zur Ermöglichung dieser Tests nur gering sein. Dieses ist nur durch standardisierte Testmethoden möglich, die durch spezielle Werkzeuge mit Eingriffen in die Schaltung unterstützt werden.
Der Begriff DFT (Design For Test) bezeichnet die Methode einer zusätzlichen Logik, mit der der Chip nach der Produktion getestet wird. Wie groß der getestete Anteil bei diesem Test ist, wird als Fault Coverage bezeichnet. Typische Werte liegen bei 95% aller möglicher Fehler.
Die DFT-Logik wird entsprechend unterschiedlicher Vorgaben automatisch in die vorhandene Schaltung eingebaut, ohne dabei die spezifizierten Funktionen des Chips zu verändern. Für den Test wird der Chip in einen von verschiedenen DFT-Modes geschaltet, während für die normale Funktion in dem späteren Produkt alle DFT-Funktionen ausgeschaltet sind.
Entsprechend verschiedener Ansprüche auf die zu testende Logik gibt es unterschiedliche DFT Ansätze, von denen meistens mehrere implementiert werden:

scanScan Test
Mit dem Scan-Test werden alle Logikbestandteile außer RAMs und anderer Makros getestet. Die Schaltung wird dahingehend modifiziert, daß alle FlipFlops in ein oder mehreren Scan-Ketten (blaue Verbindungen) mit einem Konrollsignal logisch aufgereiht werden können. Alle Ein- und Ausgänge der Ketten sind dann von außen auf dem Chip zugänglich (ScanIn und ScanOut). Man ist so in der Lage jedes vorhandene FlipFlop von außen unabhängig von der Schaltungsstruktur in einen definierten Zustand zu bringen, indem man in die Ketten eine Bitsequenz (Scan Pattern) hineinschiebt und mit SMC (Scan Mode Control) in die FlipFlops übernimmt. Auf die gleiche Art und Weise kann man den Zustand aller FlipFlops aus den Ketten herauslesen. Zwischen dem Hineinschreiben und dem Auslesen der Ketten findet das sogenannte Capturing statt. Dieses bezeichnet das Übernehmen der augenblicklichen Werte an allen FlipFlop-Eingängen, die sich aus den Zuständen der anderen FlipFlops und der zwischen ihnen vorhandenen Logik (grüne Wolken) ergibt. Entspricht ein Bit nach dem Auslesen der Scan-Ketten nicht seinem erwarteten Wert, ist die Logik, die dieses Bit im Capture-Zyklus berechnet hat, defekt, und damit der gesamte Chip.
Die Scan-Pattern werden ebenfalls - wie die Scan-Logik auch - automatisch durch Software-Werkzeuge erzeugt.Boundary Scan (J-Tag)

Boundary Scan Test
Der Boundary Scan Test ist in erster Linie nicht für den Test des Chips gedacht, sondern als Verbindungstest auf der späteren Platine (PCB, Printed Circuit Board). Man kann mit Boundary Scan feststellen, ob der Chip korrekt aufgelötet worden ist oder nicht, und ob alle Verbindungen auf der Platine zwischen den Boundary Scan fähigen Chips einwandfrei funktionieren.
Die Struktur des Boundary Scans beruht ähnlich wie der Scan Test auf einer Kette von FlipFlops, die diesesmal an jedem Ein- bzw. Ausgang des Chips liegen. Die Kette - beginnend am TDI-Port, endend am TDO-Port - erlaubt so, daß von außen Signalzustände auf der Platine in die Boundary Scan Kette hinein, und Werte (0 oder 1) nach außen auf die Platine ausgegeben werden können. Diese Signale können in der Kette eines anderen Bauteils gelesen werden. Tritt bei dem Test ein Fehler auf, kann auf die Position des Platinen- oder Lötfehlers zurückgeschlossen werden. Über die drei Steuereingänge RMS, TCK und TRST können über den BScan Controller verschiedenen Befehle aufgerufen werden, z.B. die Erzeugung einer direkten logischen Verbindung zwischen TDI und TDO.
Weitere detailierte Informationen gibt es unter: http://www.chipcenter.com/TestandMeasurement/tn037.htmlRAM Build-In-Self-Test

RAM Build In Self Test (BIST)
Build-In-Self-Test ist eine zusätzliche eingebaute Testlogik, die selbständig ein RAM testet und das Ergebnis als einzelnes Statusbit OK/NOT_OK ausgibt, unabhängig von der Größe des RAMs (hier Signal RESULT).
Der Test eines RAMs erfolgt durch den BIST Controller durch kontinuierliches Schreiben und Lesen und dem Vergleich des gelesenen Wortes mit dem vorher hereingeschriebenen. RAM-Adressen, RAM-Daten als auch der wechselnde Controller-Modus (schreiben/lesen/vergleichen) werden durch aufeinander abgestimmte Zähler erzeugt. Tritt bei dem Vergleich ein Fehler auf, ist das RAM (oder der BIST-Controller ;-) defekt. Die Adress-, Daten- und Kontrollpfade vom und zum RAM werden auf den BIST Controller geschaltet, sobald der RAM BIST über ein Signal (hier EN) aktiviert wird. Das Signal TEST muß in den meisten Fällen mit einem Takt angesteuert werden, der den BIST Controller unabhängig von anderen Taktsignalen versorgt.
Die RAM-BIST Logik wie die Scan- und BoundaryScan-Logik automatisch durch Software-Werkzeuge in die vorhandene Netzliste eingebaut. Aufgrund unterschiedlich großer RAM-Adressbereichen und Datenwortbreite, basiert der Einbau des RAM-BIST auf skalierbarem RTL-Code mit anschließender Logik-Synthese.

ROM Build In Self Test (BIST)
Ähnlich wie bei einem RAM wird der Selbsttest für ein ROM aufgebaut. Der BIST-Controller generiert auf die von außen angelegten Steuersignale die Adressen für das ROM. Die ausgelesenen Datenworte werden in einem Signaturgenerator verarbeitet und am Ende des ROMs mit einer bekannten Signatur verglichen, die im BIST-Controller enthalten ist. Stimmen beide Signaturen überein wird ein positives RESULT-Signal ausgegeben.

Sef Test and Repair (STAR)
Diese Methode findet bei RAMs Anwendung. Der Selbsttestmechanismus funktioniert ähnlich wie die Logik der BIST Logik. STAR-RAMs enthalten über den normalen Addressbereich hinaus zusätzliche Speicherzellen (meist zu größeren Speicher-Zeilen zusammengefaßt). Mit dem Ergebnis des Tests aus der BIST-Logik können diese Reservespeicher an Stelle der defekten Speicher in die RAM-Struktur eingebunden werden. Dabei gibt es grundsätzlich zwei verschiedene Methoden:

  • Field Repair
    Der Test und die Ersetzung eines defekten RAM-Bereiches wird jedesmal nach dem Einschlaten durchgeführt. Der Test läuft typischerwiese in einigen Millisekunden ab.
  • Factory Repair
    Der Test und die Ersetzung wird während des Produktionstests ein einziges mal durchgeführt. Dazu werden auf dem Wafer Sicherungen mit einem Laser durchgetrennt, die die endgültige RAM-Struktur festlegen.

Diese Methode benötigt zwar für jedes einzelne RAM mehr Chipfläche, kann aber insgesamt durch das Repairing bei der Produktion zu einem größeren Yield (Ausbeite an funktionierenden Chips) erfolgen, was wiederum die Produktionskosten senkt.

Logic Build In Self Test (Logic BIST)
Build-In-Self-Test, eine zusätzliche eingebaute Testlogik, die selbständig einen Schaltungsteil testet und das Ergebnis als Statusbit OK/NOT_OK weitergibt. Während die BIST-Logik für RAMs regelmäßig aufgebaut ist, ist die Logik für LogicBIST wesentlich komplexer und schwieriger zu erzeugen.

Weitere DFT Links

RAM BIST

www.logicvision.com/products/icMemory.html

Logic BIST

www.logicvision.com/products/logic.html

Scan

www.logicvision.com/products/embeddedLogic.html

Boundary Scan

www.logicvision.com/products/chipTest.html

PLL BIST

www.logicvision.com/products/pll.html

At Speed Interconnect Test

www.logicvision.com/products/atSpeed.html

 

www.comp.lancs.ac.uk/microsystems/dft-bist.html

STAR, Self Test and Repair

www.viragelogic.com/products/index.jsp

top 

[Home] [ASICs] [Selbstmanagement] [Inselmeer] [Spiele]
[Ich über mich] [Links] [SiteMap] [Disclaimer]