DSP per FPGA
Guarda il programma e iscrivitiDettagli dei corsi
Questo corso di tre giorni esaminerà i fondamenti del DSP dal punto di vista dell'implementazione all'interno del FPGA. Particolare enfasi sarà data ai costi, sia in termini di risorse che di prestazioni, associati all'implementazione di varie tecniche e algoritmi DSP.
Elenco degli argomenti:
- Introduzione all'hardware e alla tecnologia FPGA per applicazioni DSP
- Aritmetica a virgola fissa DSP
- Tecniche di grafici di flusso dei segnali
- Generazione di codice HDL per FPGA
- Implementazione della trasformata di Fourier veloce (FFT)
- Progettazione e implementazione di filtri FIR, IIR e CIC
- Algoritmo CORDIC
- Progettazione e implementazione di algoritmi adattivi come l'algoritmo LMS e QR
- Tecniche per la sincronizzazione e il recupero della temporizzazione delle comunicazioni digitali
Giorno 1
Introduzione all'hardware DSP FPGA
Obiettivo: Fornire un'introduzione a DSP e FPGA. Comprendere l'architettura generale FPGA e perché gli FPGA sono particolarmente adatti all'implementazione di algoritmi DSP.
- Dalla logica discreta agli FPGA: qualche accenno storico
- Il sistema DSP generico
- Basi DSP e ripasso dei processori
- ASIC personalizzati e parzialmente personalizzati
- System-on-chip (SOC)
- Flessibilità e funzionalità FPGA
- Confronto tra FPGA e DSP programmabili
Ripasso dell'algoritmo DSP dei sistemi lineari
Obiettivo: Ripassare i concetti fondamentali del teorema del campionamento, della quantizzazione, dell'analisi di Fourier e della progettazione di filtri digitali.
- Filtri di aliasing e di ricostruzione
- Rate di campionamento e lunghezze di parola
- Registrazione del dominio Z e analisi fondamentale
- Filtri FIR e IIR
- Progettazione e specifiche dei filtri digitali
- Tecniche di sovracampionamento (sigma delta)
Tecnologia FPGA
Obiettivo: Scoprire diverse architetture e famiglie di FPGA Xilinx. Fornire un'introduzione agli FPGA Spartan 3 e Virtex-5.
- Il funzionamento della tecnologia FPGA
- Velocità di clock, velocità di dati e velocità di campionamento
- Memoria e registri FPGA
- Blocchi di input/output e requisiti
- Bit, sezioni e blocchi logici configurabili
- Valutazioni delle prestazioni dei MIP paragonabili
- Fonti e famiglie FPGA
Elementi FPGA per algoritmi DSP
Obiettivo: Capire le sezioni del DSP, le risorse di clock e il consumo di energia.
- Costruzione di delay line e registri a scorrimento
- Uso della RAM (memoria) su FPGA
- Da seriale a parallelo e da parallelo a seriale
- Multiplexor per la selezione dei canali
- Sommatori completi, logica di riporto e alberi di sommatori
- Moltiplicatori: Shift-and-add; basato su ROM
- Implementazione efficiente dei moltiplicatori
Nozioni fondamentali di aritmetica DSP
Obiettivo: Comprendere l'aritmetica binaria a virgola fissa. Mappare le operazioni aritmetiche sull'hardware Xilinx FPGA.
- Aritmetica a virgola fissa in complemento a 2
- Sommatori fondamentali e array di moltiplicatori
- Array di divisione e radice quadrata... non proprio semplici.
- Problemi di lunghezza della parola e aritmetica a virgola fissa
- Saturazione e wraparound
- Overflow e underflow
Tecniche di grafici di flusso dei segnali (SFG)
Obiettivo: Ripassare la rappresentazione degli algoritmi DSP utilizzando il grafico del flusso del segnale. Usare il metodo Cut Set per migliorare le prestazioni delle tempistiche. Implementare filtri FIR paralleli e seriali.
- Grafici di flusso dei segnali del filtro DSP/Digital
- Latenza, ritardi e "anti ritardi"
- Retiming: Cut Set e scalatura dei ritardi
- La trasposizione FIR
- Pipelining e architetture multicanale
- Topologie SFG per FPGA
Giorno 2
Elaborazione nel dominio della frequenza
Obiettivo: Illustrare la teoria e l'implementazione FPGA della trasformata veloce di Fourier.
- DFT, FFT e IFFT
- Architetture FFT FPGA
- Crescita della precisione e della lunghezza della parola FFT
Elaborazione dei segnali multi-rate per FPGA
Obiettivo: Sviluppare la struttura polifase per un'implementazione efficiente dei filtri multi-rate. Usare il filtro CIC per l'interpolazione e la decimazione.
- Filtri di sovracampionamento e interpolazione
- Filtri di sottocampionamento e decimazione
- Aritmetica efficiente per l'implementazione di FIR
- Integratori e differenziatori
- Filtri a mezza banda, a media mobile e a pettine
- Filtri Cascade Integrator Comb (CIC) (Hogenauer)
- Aritmetica efficiente per il filtraggio IIR
Tecniche CORDIC
Obiettivo: Introdurre l'algoritmo CORDIC per il calcolo di varie funzioni trigonometriche.
- Modalità di rotazione CORDIC e modalità vettoriale
- Calcolo delle funzioni coseno e seno
- Calcolo della grandezza e dell'angolo del vettore
- Architettura per l'implementazione FPGA
Giorno 3
Algoritmi DSP adattivi e applicazioni
Obiettivo: Introdurre l'algoritmo LMS nell'elaborazione adattiva dei segnali. Illustrare l'algoritmo QR come tecnica RLS (Minimi quadrati ricorsivi) e spiegare perché è particolarmente adatto all'implementazione FPGA.
- Applicazioni adattive (equalizzazione, beamforming)
- Algoritmi LMS e implementazione parallela
- Algoritmi LMS non canonici
- Algebra lineare; risoluzione di sistemi lineari di equazioni
- L'algoritmo QR per l'elaborazione adattiva dei segnali
- Requisiti di elaborazione QR e problemi numerici
Comunicazioni abilitate da DSP e FPGA
Obiettivo: Ripassare la modulazione in quadratura e la formazione degli impulsi. Illustrare l'implementazione di oscillatori controllati numericamente.
- Quaternary Phase Shift Keying (QPSK)
- Filtri di trasmissione/ricezione: radice del coseno aumentato
- Sottocampionamento e conversione parametrica digitale
- Upconversion digitale diretta
- Stadi IF digitali (e sistemi fs/4)
- Oscillatori a controllo numerico (NCO)
- Progetto di partizione per FPGA
Problemi di temporizzazione e sincronizzazione
Obiettivo: Viene trattato il recupero della temporizzazione dei simboli, il recupero della fase della portante, il recupero della frequenza della portante e la sincronizzazione dei frame.
- Recupero della portante, loop di quadratura e Costas, PLL
- Rotazioni di fase; conversioni del rate di campionamento
- Recupero della tempistica dei simboli, rilevamento anticipato/ritardato del gate
- Temporizzazione e sincronizzazione del delay-locked loop