L’utilizzo degli FPGA con segnali high-speed

(Corso nazionale per dipendenti INFN)

Obiettivi
Le moderne schede elettroniche fanno sempre più largo uso di componenti programmabili FPGA (Field Programmable Gate Array). Il corso si propone di illustrare le tecniche di utilizzo di circuiti integrati programmabili ad alte prestazioni e ad alta densità, discutere varie architetture e confrontare i più diffusi dispositivi commerciali (Xilinx, Altera, Actel, ecc..). Saranno approfondite le problematiche e le soluzioni per mantenere l’integrità dei segnali nelle schede elettroniche con FPGA in package BGA (Ball Grid Array) ad alto numero di pin, con elevato numero di porte ingresso/uscita differenziali e con porte dedicate alla trasmissione dati multi-gigabit. I concetti di impedenza, riflessione, interferenza elettromagnetica, crosstalk, condensatori di disaccoppiamento saranno presentati in modo semplice ed intuitivo. Con l’utilizzo di software commerciale saranno progettati e ottimizzati degli FPGA adatti alla trasmissione dati ad alto rate (oltre il Gigabit). Saranno illustrate le tecniche di progettazione dei circuiti stampati con FPGA ad alta densità e con segnali aventi tempi di salita inferiore al nanosecondo. Inoltre saranno simulati vari layout di circuiti stampati per l’interconnessione differenziale ad alta velocità tra FPGA.

 

Target
Il corso è rivolto ai dipendenti INFN che hanno attività nel campo dell’elettronica ed hanno interesse ad approfondire le tecniche di progettazione con FPGA e le problematiche relative all’integrità dei segnali.

 

Metodologia didattica

Lezioni teoriche con sussidi didattici (audiovisivi, etc.) ed esempi pratici con l’ausilio di software su Personal Computer. Ogni giornata è divisa in due parti in cui la seconda parte sarà a carattere teorico/pratico e dedicata ad esempi e simulazioni con software di sviluppo per FPGA commerciali.

 

Docenti:
Responsabile del corso è l’Ing.I.D’Antone. I docenti saranno I.D’Antone, I.Lax e M.Zuffa del Centro di Elettronica della Sezione di Bologna.

PROGRAMMA

Prima giornata

Ore 9.30 Registrazione Partecipanti

Ore 10  Apertura Lavori

Ore 10.15:
Tecnologie, architetture e confronti fra FPGA. (I.D’Antone)
Tecnologie degli FPGA ( SRAM, Antifuse, E2PROM/Flash).
Strutture degli FPGA commerciali (Symmetrical Array, Row-Based, Sea-of-gates, Hierarchical).
Confronto fra architetture fine grain e coarse grain.
Blocchi speciali (RAMs, multipliers, adders, MACs, processor cores) e clock managers.
Domini di clock, attraversamento di domini di clock, metastabilità, controllo di fase, FIFO.
IO programmabili (Low Voltage standards, GTL, HSTL, SSTL).
High speed tranceivers (serdes, jitter, diagramma ad occhio, cause del jitter).

Ore 11.15   COFFEE  BREAK

 Ore 11.45:
Ottimizzazione delle risorse,  Thermal integrity  e Fault tolerance negli FPGA. (I.D’Antone)
Ottimizzazione del timing, architetture ad alto throughput, architetture a bassa latenza.
Ottimizzazione dell’area, condivisione delle risorse, pipeline, impatto del reset.
Ottimizzare per la potenza sfruttando le risorse degli FPGA. Concetto di integrità termica e affidabilità.
Considerazioni sul PCB per componenti con package BGA (BGA escape e numero di layer)
Ottimizzazione durante la sintesi, trade-off velocità/area, static timing analysis.
Generalità sullafault tolerance. Metodi per mitigare i Single Event Upset (SEU) negli FPGA. Ridondanza dell’hardware, del tempo, dell’informazione e  tecniche high level per mitigare i SEU (TMR, scrubbing, etc).

Ore 12.45   DISCUSSIONE

Pranzo

Ore 14.45:
Flusso di progettazione con componenti  programmabili. (
I.Lax)
Software di sviluppo per FPGA.
Design entry (VHDL, schematic entry).
Pin out ed editor dei constraints.
Scelta dei constraints per l’ottimizzazione del timing.
Simulazione, configurazione hardware e programmazione degli FPGA.
Utilizzo di tools per il debug.

Ore 15.45   COFFEE  BREAK

Ore 16.15:

Esempi e simulazioni  (I.Lax)
Esempi di progettazione di circuiti utilizzando un software commerciale.

Ore 17.15  DISCUSSIONE

Seconda giornata

Ore 10  Apertura Lavori

Ore 10.15:
Signal integrity e Power integrity nei PCB con FPGA. (I.D’Antone)
Interconnessioni non ideali ( costanti di attenuazione e di propagazione).
Riflessioni del segnale e adattamento di impedenza.
Crosstalk capacitivo, induttivo e nelle linee di trasmissione (NEXT e FEXT).
Tecniche di layout per segnali differenziali. Impedenza differenziale.
Compensazione delle perdite. Equalizzazione delle linee.
Effetto della induttanza delle piste di alimentazione e massa. Rimbalzi di massa (Ground Bounce)
Condensatori di disaccoppiamento. Frequenza di risonanza. Effetto di capacità multiple.
Disaccoppiamento con capacitori SMD nei package ad alto numero di pin (QFP, BGA).

Ore 11.15   COFFEE  BREAK

Connessioni high speed con gli FPGA. (I.Lax)
Cenni sulla comunicazione seriale.
Diagrammi a blocchi dei transceivers.
Tecnologia dei blocchi high speed degli FPGA (MultiGigabit Transceivers MGT)
Considerazioni sullo schema elettrico e sul PCB utilizzando blocchi high speed degli FPGA.
Terminazioni e alimentazioni dei blocchi MGT. 

Ore 12.45  DISCUSSIONE

Pranzo

Ore 14.45:

Esempi e simulazioni.   (I.Lax)
Progettazione di un link seriale high speed utilizzando la tecnologia degli FPGA.

Ore 15.45 COFFEE BREAK 

Ore 16.15:
Simulazione di collegamenti high-speed tra FPGA. (M.Zuffa)
L’importanza della simulazione per la riuscita di un progetto con segnali “high speed”.
Presentazione del tool di simulazione pre e post layout “Hyperlynx” per l’analisi di segnali “high-speed”.
I modelli IBIS utilizzati dal simulatore.
La lunghezza critica di un conduttore, riflessioni su segnali digitali.
Simulazione di vari tipi di discontinuità, terminazioni e fori di via su una linea di trasmissione. 

Ore 17.15  DISCUSSIONE

Terza giornata

Ore 10  Apertura Lavori

Ore 10.15:

Perdite di integrità dei segnali nei PCB high-speed (linee con perdite, crosstalk, etc) (M.Zuffa)
Simulazione di linee con perdite (lossy lines) e tipi di crosstalk (FEXT, NEXT) su linee di diversa lunghezza con vari drivers e receivers.
Esempi e simulazioni su varie configurazioni di stackup nelle schede multistrato, sull’effetto della distanza di un piano di massa sul crosstalk e sul materiale costituente il PCB.
Simulazione di linee differenziali utilizzando differenti tipi di drivers e receivers.

Ore 11.15   COFFEE  BREAK

Ore 11.45  :
Studio di casi reali di connessioni high-speed. (M.Zuffa)
Analisi di una linea differenziale su un PCB con Multi Gigabit Transceivers.
Lista degli accorgimenti da adottare per la riuscita di un PCB con segnali high-speed (PCB Design Checklist)
Posizionamento e accorgimenti da adottare per i condensatori di disaccoppiamento utilizzando package BGA (Power Distribution System: PDS)
Linee guida per un corretto sbroglio dei package BGA (Board Routability Guidelines).

 

Ore 12.45  FINE LAVORI E DISCUSSIONE

 

La Segreteria del corso è curata  dalla Sig.ra  Maria  GANGI 
Tel. 051- 2095069_ Fax 051- 2095069_ e-mail Gangim@bo.infn.it