POLITECNICO DI MILANO Riconfigurazione dinamica parziale per la correzione di guasti SEU in SRAM-based FPGA Relatore: Prof. Cristiana Bolchini Correlatore: Ing. Marco Domenico Santambrogio Davide Quarta {davide.quarta}@dresd.org Sommario Architettura di riferimento: struttura di un FPGA Modello di guasto: SEU Metodologie classiche Metodologia proposta Caso di studio: Noekeon Risultati sperimentali Conclusioni e sviluppi futuri 2 Obiettivi Obiettivi generali: Studio sull’impiego della riconfigurabilità nei sistemi affidabili Implementazione di un sistema modulare in VHDL Obiettivi specifici: Definizione di una metodologia per l’individuazione di SEU in FPGA Modello di controllore semplificato Alta flessibilità ed elevate prestazioni 3 Schema architetturale di un FPGA Matrice di blocchi logici configurabili (CLB) Risorse di interconnesione IOB Per implementare la funzionalità desiderata i CLB sfruttano le LUT 4 Modello di guasto Guasto Attivazione Errore Propagazione Fallimento Occorrenza 5 Catena guasto – errore – fallimento La maggior parte dei guasti sono di tipo temporaneo SEU (Single Event Upset): commutazione del bistabile da uno stato di memoria a quello complementare Sensibilità delle FPGA SRAM a guasti SEU Necessità di una metodologia di progetto a supporto dello sviluppo di sistemi affidabili Metodologie classiche 6 Metodologia Pro Contro testing off-line Elevato numero di tecniche altamente collaudate Inefficaci contro errori temporanei testing on-line (Roving STARs) Capacità di operare in modo continuo Impossibilità di rilevare guasti transitori nelle aree operative scrubbing Controllore “semplice” Criticità nella scelta del tempo di ciclo; Interruzione periodica della funzionalità TMR + scrubbing Tolleranza di guasti temporanei e permanenti Costo elevato del circuito complessivo readback Alta percentuale di operatività Controllore complicato; Criticità nella scelta del tempo di ciclo Riconfigurabilità Compromesso tra processori general purpose e piattaforme ASIC Interna / Esterna Parziale / Totale Negli FPGA attraverso la manipolazione di configuration frames Supporto alla riconfigurabilità dinamica parziale 7 Metodologia proposta Suddivisione del sistema in sottosistemi TSC; Effettuare lo scrubbing solo se necessario; Operare esclusivamente nella parte colpita da SEU; Efficienza proporzionale alla granularità del partizionamento; 8 Modelli di controllore Puramente Modulare; Small bit manipulation; Modulare orientato alla riconfigurabilità: Non cambia la funzionalità di un blocco riconfigurabile Se riconfiguro allora interrompo la funzionalità Si controllano escluivamente i vincoli sull’area Si possono sfruttare opportuni software di generazione automatica di vincoli 9 Pro Contro Small bit manipulation Bitstream di configurazione molto piccolo Controllore complicato Modulare puro Alte performance; controllore “semplice” Fase di progettazione complicata Caso di studio: Noekeon Algoritmo di cifratura a blocchi (Theta, PI1, Gamma, Pi2) Modellizzazione attraverso FSM Identificazione di tre macroblocchi riconfigurabili: ThetaBlk, GammaBlk, PiBlk 10 Risultati sperimentali (1) Virtex II pro VP7 11 Modulo Slice richieste (SR) Slice occupate (So) SR/ So % risorse aggiuntive ThetaBlk 447 640 0.698437 43.18 % GammaBlk 255 640 0.398437 150.98 % PiBlk 83 320 0.25937 285.54 % Tot. Sistema 2225 3466 0.6419 55.77 % Modulo tempo di ripristino ThetaBlk 0.2876 * TI GammaBlk 0.2876 * TI PiBlk 0.1438 * TI Tot. Sistema 1.5577 * TI Risultati sperimentali (2) Virtex II pro VP30 12 Modulo Slice richieste (SR) Slice occupate (So) SR/ So % risorse aggiuntive ThetaBlk 447 640 0.698437 43.18 % GammaBlk 255 640 0.398437 150.98 % PiBlk 83 640 0.129687 671.08 % Tot. Sistema 2225 2962 0.7512 33.12 % Modulo tempo di ripristino ThetaBlk 0.2876 * TI GammaBlk 0.2876 * TI PiBlk 0.2876 * TI Tot. Sistema 1.3312 * TI Risultati sperimentali (3) Spartan-3 xc3s200: Area occupata in fase di sintesi ≈ 94% Il modello non risulta implementabile con i vincoli imposti Bisogno ridefinire un nuovo partizionamento del sistema e/o adottare tecniche con overhead inferiore per la CED 13 Conclusioni e sviluppi futuri Approccio flessibile Controllore semplice Alta affidabilità e poco overhead Sviluppi: Valutazione di euristiche per il partizionamento automatico Rendere la metodologia automatizzabile Compromesso tra partizionamento e posizionamento 14 Fine Presentazione 15