serielle Kopplung dieser Scan-Register zum

Größe: px
Ab Seite anzeigen:

Download "serielle Kopplung dieser Scan-Register zum"

Transkript

1 Scan-Pfad Technik Ziel: Einblick in und Manipulation der inneren Schaltungszustände Weg: Schaltungen enthalten i.a. Register m. parallelen Eingängen Hinzufügen eines seriellen Eingangs zum Register (=Mux) und Erweiterung auf Schiebefähigkeit Wrk/Test serielle Kopplung dieser Scan-Register zum Ein takten und Aus takten der Werte Vorteil: Mehraufwand für Register und Verdrahtung sehr gering, nur 1 Pad für Wrk/Test und je 1 Input und Output Pin (evtl. Mux mit anderen Pins), gemischter Scan- und Normal-Betrieb möglich Varianten der Scan-Pfad Technik Full Serial Scan: Alle Register werden seriell zum Scan Pfad verknüpft Partial Serial Scan: Bei großen, flächenkritischen Modulen werden nur die Modulein- und ausgänge scanfähig ausgelegt, aber z.b. nicht innere Pipeline-Register Parallel Scan: Zur Vermeidung der vielen Taktzyklen zum Einschreiben und Auslesen werden die Scan-Register in einer (ggf. virtuellen) Matrix angeordnet, über vertikale Auswahlleitungen angesprochen und horizontal beschrieben/ausgelesen

2 Boundary Scan Boundary Scan ist die Übertragung der Scan-Pfad Idee auf Systemebene die Ein- und Ausgangspads der einzelnen Chips erhalten ein Scan-Register, alle Pads werden im Boundary Scan Modus seriell verknüpft damit auf Platinen-/Systemebene möglich: Verbindungstest zw. Komponenten Setzen/Lesen aller Chip-I/O Verteilung und Erfassung der Testergebnisse einzelner Komponenten Einbindung/Steuerung der Komponenten in Boundary-Scan-Architektur über intelligentes On-Chip-Interface: JTAG Test Access Port (TAP) Selbsttest (built in self test,bist) durch Signatur-Analyse Erzeugung der Testmuster on-chip Speicherbedarf für alle Testmuster zu groß Testmustererzeugung mittels Pseudo-Zufallszahlengenerator Speicherbedarf für erwartete Testergebnisse für Vergleich auch zu groß Komprimierung der erhaltenen Testergebnisse durch eine zum Pseudo- Zufallszahlengenerator identische Schaltung auf ein Datenwort (Signatur, Syndrom), Testmuster Device under Test (DUT) Signaturgenerator Testergebnisse Vergleich der Signatur mit bekannter, gespeicherter Signatur Go/NoGo Information Soll-Signatur Komparator Pseudo- Zufallszahlengenerator Go/NoGo

3 Rückgekoppelte Schieberegister als Zufallsgenerator Realisierung des Pseudozufallsgenerators durch rückgekoppelte Schieberegister (linear feedback shift register, LFSR), hier für n=3 Bit gezeigt mit Zustand ungleich initialisiert, erzeugt es bei n Bit Breite an den Q i Ausgängen 2 n -1 verschiedene Zustände (außer ) die Form der Rückkopplung über EXORs bzw. deren Abgriff (in Literatur angegeben) bestimmt, ob wirklich alle 2 n -1 Zustände vor einer Wiederholung erreicht werden; sie entspricht einer modulo-2 Addition der Werte a i an Q i Mathematisch basieren LFSR auf Galois-Feldern bzw. Polynomdivisionen. Das charakteristische Polynom P(x) des gezeigten LFSR lautet 1+x+x 3. Das erzeugte Generatorpolynom nach m Taktzyklen ist gegeben durch G(x) = Σ a j x i = 1/P(x) für den Anfangszustand Signaturanalyse und BILBO Kompression der Testergebnisse durch Addierer aber: falsche 0 (statt 1) an Bitstelle i durch falsche 1 (statt 0) an gleicher Bitstelle maskiert sicher nur Einzelfehler erkennbar LFSR modulo 2 Addition und Rückkopplung weniger Fehlermaskierung Kombination LFSR und Scan BILBO (built-in logic block observation) Pseudo- Random- Sequence- Generator

4 Fehlermaskierung bei der Signaturanalyse Qualitative Analyse der Fehlermaskierung: Annahme: m Testpattern, n Bit breite Testergebnisse und Signaturregister m*n Bit breites äquivalentes Eingangswort für Signaturregister 2 m*n verschiedene Eingangsmuster in das Signaturregister (nur eines stellt fehlerfreien Betrieb dar, also 2 m*n -1 als falsch zu erkennende Eingangsmuster) werden abgebildet auf 2 n versch. Signaturen 2 m*n /2 n = 2 m*n-n Eingangsmuster werden auf eine Signatur abgebildet (also werden 2 m*n-n -1 falsche Muster auf eine richtige Signatur abgebildet) Fehlermaskierung = verdeckte Fehler Gesamtanzahl Fehler = m* n n m* n 2 1 ein 16b Signaturregister erkennt 99,998 % der falschen Testergebnisse als solche dies entspricht jedoch nicht zwangsläufig der gesamten Fehlerabdeckung! n Fehlermaskierung: Diskussion der qualitativen Analyse Mögliche, aber falsche Schlußfolgerungen: das Rückkopplungsnetzwerk und damit P(x) sind für die Fehlermaskierung unerheblich, da man von gleichverteilten Fehlern ausgeht Addierer als Kompressor weist nach dieser qualitativen Analyse dieselbe Fehlermaskierung wie LFSR auf Aber: Fehler sind nicht gleichverteilt, sie treten bevorzugt konzentriert an einzelnen Bitpositionen auf Bursts Addierer maskiert besonders leicht Burstfehler LFSR verteilt durch die Rückkopplung und Schiebeoperationen Burstfehler über die gesamte Registerbreite sehr viel geringere Fehlermaskierung als Addierer es kann gezeigt werden, daß a) P(x) die Fehlermaskierung beeinflußt und b) Burstfehler nicht zu großer Breite immer erkannt werden

5 Stromaufnahmetest IDDQ IDDQ = V DD supply current Quiescent viele interne Kurzschlüsse zwischen Knoten lassen sich durch IDDQ- feststellen Anlegen des Testvektors Überprüfung der Ruhestromaufnahme erhöhte Stromaufnahme deutet auf Fehler hin de Anlegen des nächsten Vektors usw. keine internen Hardwaremaßnahmen nötig aber: Nicht-CMOS-Schaltungsteile mit statischer Stromaufnahme, z.b. Pseudo NMOS, und Analogschaltungen deaktivieren bewirkt eine indirekte, parallele Beobachtung aller Knoten Zuverlässigkeit Zuverlässigkeit R(t): Wahrscheinlichkeit, daß ein System zum Zeitpunkt t einwandfrei arbeitet Fehlerrate λ: Anzahl Fehler pro Zeiteinheit in einem System, häufig Badewannenkurve : Bei konstanter Fehlerrate gilt: R(t) = e -λ t MTBF = 1 / λ (mean time between failures, besser wäre bei ICs: mean time to failure) System mit Teilsystemen: R sys (t) = R 1 (t) R 2 (t).. R n (t) = e -λ 1 t e -λ 2 t... e -λ n t = e -λ sys t λ sys = λ 1 + λ λ n