Zuverlässigkeit und Fehlertoleranz · Parallele BIST -Architektur Sequentielle BIST -Architektur...

36
1 Zuverlässigkeit und Fehlertoleranz BIST

Transcript of Zuverlässigkeit und Fehlertoleranz · Parallele BIST -Architektur Sequentielle BIST -Architektur...

1

Zuverlässigkeit und Fehlertoleranz

BIST

Grundprinzip BIST

Vorteile: Verkürzung der Testzeit (Tester muss weniger Daten Senden/Empfangen) Besserer Zugriff auf interne Komponenten im DUT

Nachteil: Zusätzliche Hardware DUT muss BIST-tauglich sein (Möglichkeit der Maskierung von X-Bits)

2

Chip

DUT

Externer Tester

BIST Modul

Steu

ersig

nale

Kompaktierte Testantw

ort / Pass/Fail Inform

ation Testmuster Testantwort

Chip

DUT

BIST Modul inklusive Testablaufsteuerung

Testmuster Testantwort

Aufbau für Feldtest Aufbau für Produktionstest

BIST-Architekturen

Parallele BIST-Architektur

Sequentielle BIST-Architektur

Quelle: J. Rajski, J. Tyszer: „Arithmetic Built-In Self-Test for Embedded Systems“

Testmustererzeugung für BIST

Testmustererzeugung auf dem Chip für: − erschöpfenden Test − pseudo-erschöpfender Test − Test mit Pseudo-zufallsbasierten

Testmustern

Generierung zufälliger Testmuster mittels rückgekoppeltem Schieberegister (LFSR)

Zur Erhöhung der Testüberdeckung Ergänzung um deterministisch erzeugte Testmuster (Testmuster wurden mit einem ATPG Tool erzeugt und durch das LFSR erzeugt Testmuster werden stellenweise manipuliert, um einige der deterministisch erzeugten Testmuster zu erhalten.

4

Testmustererzeugung (z.B. durch ein rückgekoppeltes Schieberegister)

DUT

Testmuster

Scan

kette

Scan

kette

Scan

kette

Komb. Logik

Komb. Logik

LFSR

5

Aufbau rückgekoppelter Schieberegister (LFSR)

D Q D Q D Q D Q D Q …

h0 h1 h2 h3 h4

D Q D Q D Q D Q D Q …

h0 h1 h2 h3 h4

External XOR n–stage LFSR

Internal XOR n–stage LFSR

zur Scankette

zur Scankette

6

Beispiele

D Q D Q D Q D Q

0 0 0 1

1 0 0 0

0 1 0 0

1 0 1 0

0 1 0 1

0 0 1 0

0 0 0 1

D Q D Q D Q D Q

0 0 0 1

1 1 0 0

0 1 1 0

0 0 1 1

1 1 0 1

1 0 1 0

0 1 0 1

1 1 1 0

0 1 1 1

1 1 1 1

1 0 1 1

1 0 0 1

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

Seeding

Ziel: Minimale Testzeit bei hoher Fehlerüberdeckung

Lösung: − pseudozufällige Testmuster für die meisten einfach zu testenden Fehler − deterministische Testmuster für die schwierig zu testenden Fehler durch

Seeding des LFSR (Initialisierung des LFSR)

Scan-Kette LFSR Seeds Se

lect

Decoder

8

Analyse der Testanworten

Ausgabe der vollständigen Testantwort an den Tester ist zu aufwändig.

Deshalb: Kompaktierung der Ausgaben auf dem Chip zu einer Signatur

Kompaktierung ist verlustbehaftet. − Maskierung von Mehrfachfehlern möglich.

Ausgabe der Signatur oder Vergleich der Signatur auf dem Chip mit einer

"goldenen" Signatur.

Kompaktierung in − Platz: XOR-Bäume − Zeit: SISR, MISR

9

XOR-Bäume

Scan

kett

e

Scan

kett

e

Scan

kett

e

Scan

kett

e

Scan

kett

e

Scan

kett

e

Scan

kett

e

Scan

kett

e

XOR XOR

XOR

XOR XOR

XOR

Testantworten

10

Single Input Signature Register (SISR)

D Q D Q D Q D Q D Q …

h0 h1 h2 h3 h4

von Scankette

11

Multiple Input Signature Register (MISR)

D Q D Q D Q D Q D Q …

h0 h1 h2 h3 h4

M0 M1 M2 M3 M4 M5

Mi … Input von Scankette i

12

Chip

Aufbau BIST-Modul

BIST Controller

Testmustererzeugung (z.B. durch ein rückgekoppeltes Schieberegister)

DUT

Analyse der Testantworten (Kompaktierung)

Testmuster

Testantworten

Kompaktierte Testantworten

Scan

kette

Scan

kette

Scan

kette

Komb. Logik

Komb. Logik

LFSR

MISR

Serieller BIST mit einer Scan-Kette

Nachteil: Lange Testzeit

14

Logic BIST Architektur (STUMPS)

LFSR

CUT

MISR

PI

Scan

kett

e Sc

anke

tte

Scan

kett

e Sc

anke

tte

PO

LFSR

CUT

MISR PI

Sc

anke

tte

Scan

kett

e

Scan

kett

e Sc

anke

tte

PO

Linear Phase Shifter

Linear Phase Compactor

Für wenige Scanketten Für viele Scanketten, um LFSR und MISR klein zu halten.

Modular BIST-Architecture

Diagnose

Für jeden Fehler fi in der Schaltung findet Simulation mit den Testmustern (p1,…,pn) statt und liefert die Testantworten (ri1,…,rin)

Abbildung der Testantworten auf Fehler mit einem Fehler-Wörterbuch − Problematisch für Mehrfachfehler und unmodelierte Fehler

Statt voller Testantwort steht bei BIST eine Signatur für die Diagnose zur

Verfügung

Fehler Testantwort

f1 (r11,…,r1n)

f2 (r21,…,r2n)

f3 (r31,…,r3n)

… …

Diagnosis mit BIST

Probleme bei Verwendung einer Signatur: Fehlermaskierung (z.B. durch räumliche Kompaktierung) Erfassen mehrerer Testantworten in einer Signatur Lösungen: Fehlerisolation (erfordert Wiederholung des Tests) Mehrere Signaturen speichern

R.C. Tekumalla: “On Reducing Aliasing Effects and Improving Diagnosis of Logic BIST Failures”, ITC’03

A. Cook, M. Elm, et. al.: “Structural In-Field Diagnosis for Random Logic Circuits”, ETS’11

Applying Fault Isolation Keeping intermediate signatures

Grundprinzip SBST

Ursprüngliche Anwendung − Kein Ersatz für andere Testverfahren (BIST, Scantest) − Unterstützung bei geringen Zusatzkosten

18

Chip

DUT (Prozessor)

Speicher

Test- antworten

Test- programm

VLIW Core

Speicher

ldc r0,0xAAAA ldc r1,0x5555 Add r2,r0,r1 xor r31,r2,r31 ldc r4, 0x259a mul r0,r4,r2 xor r31,r0,r31 . . . store [FFFF],r31

Softwarebasierter Selbsttest (SBST)

19

Testprogramm

Signatur

Signatur erzeugen

Signatur speichern

Signatur

Bestimmung der Fehlerüberdeckung durch

Fehlersimulation.

SBST

Vorteile: Nicht Invasiv At-Speed Testing Kein Übertesten Im-Feld-Testen

Nachteil: Testprogrammgenerierung Nur für programmierbare

Prozessoren nutzbar

20

Chip

DUT

Externer Tester

Speicher

Test

prog

ram

m

Kompaktierte Testantw

ort / Pass/Fail Inform

ation Chip

DUT (Prozessor)

Speicher

Test- antworten

Anwendung Test- programm

Produktionstest Feldtest

Anforderungen an das System

Speichermodul in dem das Testprogramm gespeichert ist, muss für den Prozessor und Tester zugreifbar sein.

Upload Mechanismus, mit dem das Testprogramm in diesen Speicher gebracht werden kann, ist erforderlich.

Methode, um das Testprogramm zu starten.

Überwachung der Testausführung erforderlich.

Ressourcen, in denen die Ergebnisse des Tests abgespeichert werden können.

22

Zeitlicher Ablauf SBST

SBST Programm Upload

SBST

Pro

gram

mst

art SBST Programmabarbeitung &

Ergebnissammlung Download der Ergebnisse

SBST Programmablaufbeobachtung

Zeit

Test mit Prozessortakt

Testprogrammgenerierung (Open Loop)

23

SBST

Mit Strukturinformationen Ohne Strukturinformationen

Open Loop Feedback Based ATPG-basiert

Experte

ld r2,#5 add r2,r3 …

Testprogramm

schreibt

Testprogramm wird durch einen Experten erstellt (Befehlssatz des Prozessors ist bekannt, Bereits vorhandene Testroutinen sind bekannt, …)

Exakte Fehlerüberdeckung kann nicht angegeben werden.

24

Feedback-basierte Testprogrammgenerierung

SBST

Mit Strukturinformationen Ohne Strukturinformationen

Open Loop Feedback-basiert ATPG-basiert

ld r2,#5 add r2,r3 …

Zufallserzeugte Testprogramme

ld r2,#5 add r2,r3 …

ld r2,#5 add r2,r3 …

Simulation

Testprogramm- erzeugung

Fehler- überdeckung

Testprogramme werden zufallsbasiert erzeugt (z.B. durch genetische Algorithmen)

Fehlerüberdeckung wird durch Simulation ermittelt (feedback)

Hohe Fehlerüberdeckung erreichbar

Sehr zeitaufwändig

25

ATPG-basierte Testprogrammgenerierung

SBST

mit Strukturinformationen ohne Strukturinformationen

Open Loop Feedback-basiert ATPG-basiert

11011101010000010011101101

11011101110000010011101101

Testmustergenerator Test-

muster

Teil eines kombinatorischen Blocks (z.B. ALU)

ld r2,#7 ld r3,#0 add r2,r3 …

Testprogramm

Constraints (z.B. Sprünge sind

auf bestimmte Adressen

beschränkt)

Testmuster werden mittels ATPG erzeugt

Abbilden der Testmuster auf Software Templates

Hohe Fehlerüberdeckung ist durch ATPG garantiert.

Nicht alle Testmuster können auf Softwareroutinen abgebildet werden.

26

Testprogramm Upload

Chip

DUT

Externer Tester

Speicher (RAM)

Steu

ersig

nale

Test- programm Speicher

(ROM)

Speicher (RAM) Testantw

ort

Chip

DUT

Externer Tester

Speicher (RAM)

Steu

ersig

nale

Testantwort

Testprogramm im ROM: Speicher permanent belegt durch Testprogramm Kein Upload erforderlich Praktisch für Feldtest

Testprogramm im RAM. Upload erfolgt DMA-basiert, über Dual-Ported RAM, Wrapper.

DMA-basiert

Schneller Programmupload, kostengünstig, weil Systembusstrukturen verwendet werden

Upload-Prozess ist durch den Prozessor getrieben, der noch nicht getestet wurde.

27

Mikroprozessor RAM

DMA

Externer Tester

Dual-Ported RAM

Schnellster Programmupload,

Sehr teuer, wegen zweiten Speicher-Ports

28

Mikroprozessor RAM

Externer Tester

Wrapper-basiert

Häufig serieller Programm-Upload (langsam). Speicher kann isoliert werden, damit kann korrekter Upload gewährleistet

werden. Prozessor wird nicht verwendet beim Upload, Fehler beim Upload durch

fehlerhaften Prozessor können nicht entstehen.

29

Wrapper

Mikroprozessor RAM

Externer Tester

30

Testprogramm starten und Ergebnisse erfassen

Testprogramm starten: Reset des Prozessors, sobald der Testcode im Programmspeicher ist oder Interruptkontrollierter Start. Testergebnisse erfassen: Testergebnisse können durch zusätzliche Anweisungen in einen von außen

zugreifbaren Speicher gebracht werden. Hohes Datenvolumen kann reduziert werden durch HW- oder SW-

implementierten MISR. Signatur wird dann nur noch an ATE weitergegeben oder mit einer Signatur

verglichen. Überwachen des Testprogrammablaufs durch ATE: Feststellen, wann das Testprogramm beendet ist, weil:

− Laufzeit ist im Vorfeld nicht bekannt oder − Im Fehlerfall terminiert das Programm gar nicht.

Monitoring kann durch explizite Kommunikation des Testprogramms mit dem ATE (z.B. über Speicher oder Ports) erreicht werden.

Diagnose mit SBST

31

Verschiedene Fehler erzeugen verschiedene Signaturen.

VLIW Core

Speicher

Testpro-gramm

Signatur A VLIW Core

Speicher

Testpro-gramm

Signatur B

Fehler A

Fehler B

Problem signaturbasierter Ansätze

32

Speicher

Testpro-gramm

Signatur A+B

Zuordnung von Signaturen zu Fehlern muss durch Simulation berechnet werden

Praktisch unmöglich bei Mehrfachfehlern: 100.000 Einzelfehler ergeben ~ 5.000.000.000 Doppelfehler

VLIW Core

Fehler A

Fehler B

Lösungsansatz

Ein Testprogramm zum Test der Funktion(en) einer Komponente Zusammenfassen von Fehlern zu reparierbaren Fehlerklassen

33

VLIW Core

ALU3

Speicher

TP ALU1

TP ALU2

TP n

Fehlerzustand

Fehler A

Fehler B ALU1

ALU2 Lese-ports

Registerbank

Funktionaler Test der Komponenten muss systematisch erfolgen und adaptiv sein.

Motivation für systematischen SBST

34

Slot 1 Slot 2 Ldc r0,0xAAAA Nop Ldc r1,0x5555 Nop Add r1,r0,r2 Nop Ldc r3,0xFFFF Nop Cmp r2,r3 Nop Jnz Add1Failed Nop

Initialisierung

Test

Testantwort erfassen

Test des Addierers in Slot 1

Quelle des Fehlers

Aber: Addierer wird als fehlerhaft diagnostiziert

Ideale Lösung: Alle Komponenten des Prozessors, die zur Initialisierung eines Tests und zum Erfassen der Testantwort verwendet werden, müssen

vorher getestet worden und fehlerfrei sein.

Motivation für adaptiven SBST

35

Slot 1 Slot 2 Ldc r0,0xAAAA Nop Ldc r1,0x5555 Nop Add r1,r0,r2 Nop Ldc r3,0xFFFF Nop Cmp r2,r3 Nop Jnz Add1Failed Nop

Wie soll der Addierer 1 getestet werden, wenn ldc-Operation als fehlerhaft

bekannt ist?

Slot 1 Slot 2 Nop Ldc r0,0xAAAA Nop Ldc r1,0x5555 Add r1,r0,r2 Nop Nop Ldc r3,0xFFFF Nop Cmp r2,r3 Nop Jnz Add1Failed

Lösung: Anwendung der softwarebasierten

Selbstreparatur auf das Testprogramm

Prinzip des adaptiven systematischen SBST zur Diagnose im Feld

36

Fehler erkannt?

Passe verbliebene Testprogramme an Fehlerzustand an

Starte Testprogramm für Komponente 1

Speichere Fehlerzustand von Komponente 1

Starte Selbstreparatur

Starte Testprogramm für Komponente 2

Starte Testprogramm für Komponente n

ja

nein

Fehler erkannt?

Passe verbliebene Testprogramme an Fehlerzustand an

Speichere Fehlerzustand von Komponente 2

ja

nein