Fondamenti di affidabilità dei circuiti integrati Salvatore Pontarelli Effetti dello scaling sull'affidabilità Affidabilità di un singolo dispositivo Affidabilità dell'intero sistema Affidabilità minima richiesta 2 Definizioni Fault-tolerance: Il sistema può continuare a funzionare correttamente anche in presenza di guasti hardware/software guasto: un difetto o una modifica dello stato fisico di un componente Errore: è la manifestazione di un guasto Failure: una situatione dove l'errore provoca il non corretto funzionamento del sistema 3 Definizioni Affidabilità (Reliability) R (t) – è la probabilità che il sistema funzioni fino al tempo t Note: 0.97 = 0.9999999 Disponibilità (Availability) A (t) – è la probabilità che il sistema funzioni all'istante di tempo t Performability P (L, t) – probabilità che il sistema avrà un livello di performance L all'istante t Maintainability M (t) – probabilità che un sistema guasto venga riparato all'istante t 4 Ambienti di lavoro Ambiente terrestre Spazio Per molti settori c’è richiesta di circuiti ad alta affidabilità: applicazioni legate alla sicurezza, al campo medico, al controllo del traffico aereo Richiede circuiti ad alta affidabilità Nei circuiti realizzati con tecnologie avanzate aumenta la probabilità di guasto (ad es. a causa dei neutroni atmosferici) I circuiti sono sottoposti a stress meccanici e termici Le radiazioni presenti nello spazio possono provocare guasti 5 Guasti Si dividono in: Temporanei Nell’ambiente spaziale: Single Event Effect dovuti alle radiazioni ionizzanti Nell’ambiente terrestre: Single Event Effect dovuti ai neutroni atmosferici Permanenti Nell’ambiente spaziale: l’accumulo di radiazioni nei dispositivi può comprometterne il funzionamento Nell’ambiente terrestre: l’invecchiamento dei dispositivi è più rapido per le tecnologie di ultima generazione 6 Reliability Failure Rate Infant Mortality Useful Operating Life Wear Out Time 7 Modelli di guasto sebbene le cause fisiche dei guasti sono molteplici, per il test dei circuiti integrati si utilizzano dei modelli di guasto. transistor level: transistor stuck-open, stuck-close gate level: transistor stuck-at-0, stuck-at-1 8 Testing Testing is one of the most expensive parts of chips Logic verification accounts for > 50% of design effort for many chips Debug time after fabrication has enormous opportunity cost Shipping defective parts can sink a company Example: Intel FDIV bug Logic error not caught until > 1M units shipped Recall cost $450M (!!!) 9 Observability & Controllability Observability: ease of observing a node by watching external output pins of the chip Controllability: ease of forcing a node to 0 or 1 by driving input pins of the chip Combinational logic is usually easy to observe and control Finite state machines can be very difficult, requiring many cycles to enter desired state Especially if state transition diagram is not known to the test engineer 10 Test Pattern Generation Manufacturing test ideally would check every node in the circuit to prove it is not stuck. Apply the smallest sequence of test vectors necessary to prove each node is not stuck. Good observability and controllability reduces number of test vectors required for manufacturing test. Reduces the cost of testing Motivates design-for-test 11 Test Example SA1 A3 A2 A1 A0 n1 n2 n3 Y SA0 {0110} {1110} {1010} {1110} {0100} {0110} {0110} {0111} {1110}{0110} {0110} {0100} {0101} {0110} {0110} {1110} A3 A2 A1 n1 Y n2 n3 A0 Minimum set: {0100, 0101, 0110, 0111, 1010, 1110} 12 Design for Test Design the chip to increase observability and controllability If each register could be observed and controlled, test problem reduces to testing combinational logic between registers. Better yet, logic blocks could enter test mode where they generate test patterns and report the results automatically. 13 Scan CLK Convert each flip-flop to a scan register Only costs one extra multiplexer Flop SCAN SI D Q Normal mode: flip-flops behave as usual Scan mode: flip-flops behave as shift register Flop Flop Flop Flop Flop Logic Cloud Logic Cloud Flop Flop Flop Flop outputs Flop inputs Flop Contents of flops can be scanned out and new values scanned in Flop scan-in scanout 14 Built-in Self-test Built-in self-test lets blocks test themselves Generate pseudo-random inputs to comb. logic Combine outputs into a syndrome With high probability, block is fault-free if it produces the expected syndrome 15 PRSG Linear Feedback Shift Register Shift register with input taken from XOR of state Pseudo-Random Sequence Generator D Q[1] D Flop Q[0] Flop D Flop CLK Q[2] Step Q 0 111 1 110 2 101 3 010 4 100 5 001 6 011 7 111 (repeats) 16 BILBO Built-in Logic Block Observer Combine scan with PRSG & signature analysis D[0] D[1] D[2] Q[0] 0 PRSG Logic Cloud Flop 1 Flop SI Flop C[0] C[1] Q[2] / SO Q[1] Signature Analyzer MODE Scan Test Reset Normal C[1] 0 0 1 1 C[0] 0 1 0 1 17 Boundary Scan Testing boards is also difficult Need to verify solder joints are good Drive a pin to 0, then to 1 Check that all connected pins get the values Through-hold boards used “bed of nails” SMT and BGA boards cannot easily contact pins Build capability of observing and controlling pins into each chip to make board test easier 18 Boundary Scan Example PackageInterconnect CHIP B CHIP C Serial Data Out CHIP A CHIP D IO pad and Boundary Scan Cell Serial Data In Chips with internal scan chains can access the chains through boundary scan for unified test strategy. 19