Vai al contenuto
Microelettronica

Collaudo e affidabilità: guasti, scansione, autocollaudo

Guasti bloccati e ATPG, copertura e livello di difettosità con esempio, catene di scansione, BIST e periodo dell'LFSR dimostrato, curva a vasca da bagno, ESD e latch-up.

Ogni chip prodotto va collaudato: la resa non è mai del 100 % (lezione sul processo), e un chip difettoso che arriva in un’automobile o in un pacemaker può costare molto più del chip stesso. Ma non si può provare un circuito con miliardi di transistor su tutte le combinazioni di ingressi: servono modelli dei guasti e strutture di progetto apposite. In questa lezione vediamo il modello dei guasti bloccati, la copertura e la qualità che ne deriva con un esempio, le catene di scansione, l’autocollaudo con i registri a scorrimento con retroazione e la dimostrazione del loro periodo massimo, e i principali meccanismi di affidabilità.

I modelli dei guasti

Un difetto fisico (un collegamento interrotto, un cortocircuito tra due fili) si rappresenta con un modello di guasto logico. Il più usato è il guasto bloccato (stuck-at): un nodo del circuito resta fisso a 0 o a 1. Per scoprirlo bisogna attivarlo (portare il nodo al valore opposto) e propagarlo (fare in modo che la differenza arrivi a un’uscita osservabile). I programmi di generazione automatica dei vettori di prova (ATPG) cercano per ogni guasto una combinazione d’ingresso che lo riveli.

La copertura T è la frazione dei guasti modellati che la sequenza di prova rivela. Si usano anche modelli di ritardo (una transizione troppo lenta), indispensabili nei processi moderni dove molti difetti rallentano un percorso senza bloccarlo.

La qualità del prodotto

Un chip che supera il collaudo può comunque essere difettoso, se ha un difetto non coperto. La frazione di chip difettosi tra quelli spediti è il livello di difettosità (DL), misurato in parti per milione. Un modello classico (Williams e Brown) lo lega alla resa Y e alla copertura:

    \[ DL = 1 - Y^{\,1 - T} \]

Esempio. Con resa Y = 0{,}8: con copertura del 99 %, DL = 1 - 0{,}8^{0{,}01} \approx 0{,}0022, cioè circa 2200 ppm; con il 99,9 %, circa 220 ppm. L’industria automobilistica chiede livelli sotto 1 ppm: servono coperture vicinissime al 100 % e più tipi di modelli di guasto. Ogni decimale di copertura in più costa tempo di collaudo, e le macchine di collaudo costano milioni.

Le catene di scansione

In un circuito sequenziale lo stato interno non si vede dall’esterno e non si può imporre direttamente: generare prove sarebbe proibitivo. La soluzione è il progetto per la collaudabilità (DFT) con le catene di scansione: ogni flip-flop riceve un multiplexer d’ingresso che, in modalità di collaudo, lo collega al flip-flop precedente invece che alla logica.

Catena di scansione
Ogni flip-flop FF ha davanti un multiplexer M. In funzionamento normale (segnale SE a zero) prende il dato D dalla logica; in collaudo (SE a uno) prende l’uscita del flip-flop precedente, e tutti i flip-flop formano un lungo registro a scorrimento tra l’ingresso SI e l’uscita SO.

In collaudo tutti i flip-flop formano un lungo registro a scorrimento: si carica in serie lo stato voluto, si dà un colpo di clock in modalità normale perché la logica combinatoria calcoli il nuovo stato, e lo si scarica in serie per confrontarlo con quello atteso. Il problema sequenziale diventa combinatorio, e l’ATPG raggiunge coperture altissime. Il prezzo è un po’ di area e di ritardo per i multiplexer. Per ridurre il tempo si usano molte catene in parallelo e la compressione dei dati di prova.

L’autocollaudo

Nel BIST (built-in self-test) il chip si collauda da solo: un generatore interno produce gli ingressi, e un compressore riassume le uscite in una firma da confrontare con quella attesa. Il generatore più usato è il registro a scorrimento con retroazione lineare (LFSR): n flip-flop in fila, con l’ingresso del primo uguale allo XOR di alcune uscite scelte.

Teorema. Un LFSR di n bit ha periodo al massimo 2^n - 1.

Dimostrazione. Lo stato è la sequenza degli n bit, quindi gli stati possibili sono 2^n. Lo stato tutto a zero è un punto fisso: lo XOR di zeri è zero, e da lì il registro non esce. Partendo da uno stato non nullo, il registro non può mai arrivare a zero: l’aggiornamento è lineare e invertibile (dallo stato successivo si ricava quello precedente), e lo stato nullo ha già come predecessore sé stesso. Restano 2^n - 1 stati non nulli; poiché ogni stato determina il successivo, la sequenza, dopo al più 2^n - 1 passi, deve ripetere uno stato e da lì in poi è periodica. ∎

Con le prese di retroazione scelte secondo un polinomio primitivo il periodo è esattamente 2^n - 1: il registro percorre tutti gli stati non nulli in una sequenza che ha proprietà statistiche simili al caso. Un LFSR di 32 bit genera più di quattro miliardi di vettori diversi con pochissimo hardware. Lo stesso principio genera le sequenze pseudo-casuali delle comunicazioni a spettro espanso e dei codici CRC (lezioni di Comunicazioni elettriche). Le memorie hanno BIST dedicati, che scrivono e rileggono configurazioni studiate per i loro guasti tipici, e spesso righe e colonne di riserva che sostituiscono quelle difettose: la riparazione alza molto la resa delle grandi memorie.

L’affidabilità

Superato il collaudo, il chip deve funzionare per anni. Il tasso di guasto nel tempo segue la curva a vasca da bagno: alto all’inizio (guasti precoci di chip deboli), basso e costante per la vita utile, di nuovo alto per l’usura. Contro i guasti precoci si usa il burn-in: i chip destinati ad applicazioni critiche funzionano per ore a temperatura e tensione elevate, e i deboli si rompono prima della spedizione. I meccanismi d’usura principali sono l’elettromigrazione nei collegamenti (lezione sulle interconnessioni), il degrado dell’ossido di gate e l’invecchiamento dei transistor, che sposta lentamente le soglie.

Due rischi riguardano gli ingressi e le uscite. Le scariche elettrostatiche (ESD) di una persona o di una macchina, migliaia di volt, distruggerebbero gli ossidi sottilissimi: ogni piedino ha circuiti di protezione con diodi e transistor che deviano la scarica. Il latch-up è l’accensione di un tiristore parassita formato dalle zone drogate dei transistor n e p vicini, che cortocircuita l’alimentazione; si previene con anelli di guardia e contatti frequenti al substrato.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x