Transformada Rpida de Fourier para FPGA Aluno Arthur

























- Slides: 25
Transformada Rápida de Fourier para FPGA Aluno: Arthur Umbelino Alves Rolim(auar@cin. ufpe. br) Orientador: Manoel Eusébio de Lima(mel@cin. ufpe. br)
Roteiro • FFT • Flo. Po. Co • Trabalho realizado – – – – Test Bench Complex Adder Complex Multiplier Butterfly (1, 0) Butterfly (0, -1) FFT 8 • Trabalho a ser realizado
Fast Fourier Transform(FFT) • Maneira mais eficiente de calcular um DFT complexidade O(nlogn ) • Domínio do Tempo -> Domínio da Freqüência • Uma família de algoritmos – – – Cooley-Tukey Prime-factor Bruun's Rader's Bluestein's
Fast Fourier Transform(FFT) • Extensivamente utilizada em várias aplicações de DSP – – – Análise de espectro Convolução de alta-velocidade (filtro linear) Detecção e estimativa de sinais Identificação de sistemas Compressão de áudio Síntese de modelo espectral de som
FFT
Radix-2 FFT • Diagrama Borboleta DIF(Decimation in Frequency) DIT(Decimation in Time)
Flo. Po. Co (Floating-Point Cores) • Gerador de cores aritméticos em VHDL com opções de: – – Frequência Fabricante do FPGA( Altera ou Xilinx ) Pipeline Uso ou não de blocos DSP • Padrão IEEE e LNS (logarithm number system) • Implementa todas as operações(+, *, /, sqr) • Parametrizada( tamanho de expoente e mantissa variáveis ) • Tratamento de exceções(+∞, -∞, Na. N)
Trabalho realizado • • • Implementação dos algoritmos de DFT e FFT em C++ Construção do modelo de referência em System. C Testes na biblioteca Flo. Po. Co Construção dos blocos básicos da FFT no FPGA Geração de test benchs Construção da FFT
Test bench Modelo de Referência C++ Entrada Simulador HDL Saída Comparador Relatório Saída
Complex Adder a c + real b d + imag
Relatório de Síntese Complex Adder • 32 bits Logic Utilization Used Available Utilization Number of Slice Registers 1008 28800 3% Number of Slice LUTs 1314 28800 4% Frequência 303. 538 MHz • 64 bits Logic Utilization Used Available Utilization Number of Slice Registers 2098 28800 7% Number of Slice LUTs 2702 28800 9% Frequência 304. 095 MHz
Complex Multiplier a c x b d x a d x b c x + real + imag
Relatório de Síntese Complex Multiplier • 32 bits Logic Utilization Used Available Utilization Number of Slice Registers 1256 28800 4% Number of Slice LUTs 2252 28800 7% 16 48 33% Number of DSP 48 Es Frequência 173. 136 MHz • 64 bits Logic Utilization Used Available Utilization Number of Slice Registers 3202 28800 11% Number of Slice LUTs 6854 28800 23% 36 48 75% Number of DSP 48 Es Frequência 125. 653 MHz
Butter. Fly Complex Adder Complex Mult
Relatório de Síntese Butterfly • 32 bits Logic Utilization Used Number of Slice Registers 3648 28800 12% Number of Slice LUTs 4952 28800 17% 16 48 33% Number of DSP 48 Es Available Utilization Frequência 173. 136 MHz • 64 bits Logic Utilization Used Number of Slice Registers 8159 28800 28% Number of Slice LUTs 12652 28800 43% 36 48 75% Number of DSP 48 Es Available Utilization Frequência 125. 653 MHz
Butter. Fly (1, 0) Complex Adder
Relatório de Síntese Butterfly (1, 0) • 32 bits Logic Utilization Used Available Utilization Number of Slice Registers 2392 28800 8% Number of Slice LUTs 2832 28800 9% Frequência 303. 538 MHz • 64 bits Logic Utilization Used Available Utilization Number of Slice Registers 4957 28800 17% Number of Slice LUTs 5836 28800 20% Frequência 304. 095 MHz
Butter. Fly (0, -1) Complex Adder Change
Relatório de Síntese Butterfly (0, -1) • 32 bits Logic Utilization Used Available Utilization Number of Slice Registers 2392 28800 8% Number of Slice LUTs 2832 28800 9% Frequência 303. 538 MHz • 64 bits Logic Utilization Used Available Utilization Number of Slice Registers 4957 28800 17% Number of Slice LUTs 5837 28800 20% Frequência 304. 095 MHz
FFT 8
Relatório de Síntese FFT 8 32 bits • Normal Logic Utilization Used Available Utilization Number of Slice Registers 43336 28800 150% Number of Slice LUTs 59771 28800 207% 48 48 100% Number of DSP 48 Es Frequência 162. 633 MHz • Otimizado Logic Utilization Used Available Utilization Number of Slice Registers 30718 28800 106% Number of Slice LUTs 36653 28800 127% 32 48 66% Number of DSP 48 Es Frequência 172. 662 MHz
Relatório de Síntese FFT 8 64 bits • Normal Logic Utilization Used Available Utilization Number of Slice Registers 91014 28800 316% Number of Slice LUTs 141447 28800 491% Frequência 48 48 100% 126. 276 MHz Logic Utilization Used Available Utilization Number of Slice Registers 65474 28800 227% Number of Slice LUTs 89650 28800 311% Frequência 48 48 100% 172. 662 MHz Number of DSP 48 Es • Otimizado Number of DSP 48 Es
Quantidade de Blocos Aritméticos Op. de ponto flutuante FFT-2 FFT-4 FFT-8 Somadores 6 24 72 Multiplicadores 4 12 48 Somadores Ot. 4 16 52 Multiplicadores Ot. 0 0 8
Trabalho a ser realizado • Finalizar implementação de um case para validação • Finalizar escrita da dissertação
Dúvidas