transformada rápida de fourier para fpga aluno: arthur umbelino alves rolim([email protected])...

25
Transformada Rápida de Fourier para FPGA Aluno: Arthur Umbelino Alves Rolim([email protected]) Orientador: Manoel Eusébio de Lima([email protected])

Upload: taina-lemos

Post on 07-Apr-2016

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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)

Transformada Rápida de Fourierpara FPGA

Aluno: Arthur Umbelino Alves Rolim([email protected])

Orientador: Manoel Eusébio de Lima([email protected])

Page 2: 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• FloPoCo• Trabalho realizado

– Test Bench– Complex Adder– Complex Multiplier– Butterfly– Butterfly (1,0)– Butterfly (0,-1)– FFT8

• Trabalho a ser realizado

Page 3: 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)

Fast Fourier Transform(FFT)

• Maneira mais eficiente de calcular um DFT com 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

Page 4: 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)

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

Page 5: 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)

FFT

Page 6: 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)

Radix-2 FFT

• Diagrama Borboleta

)( inLOWinUPwoutLOWinLOWinUPoutUP

inLOWwinUPoutLOWinLOWwinUPoutUP

DIF(Decimation in Frequency)

DIT(Decimation in Time)

Page 7: 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)

FloPoCo (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(+∞,-∞,NaN)

Page 8: 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)

Trabalho realizado

• Implementação dos algoritmos de DFT e FFT em C++

• Construção do modelo de referência em SystemC

• Testes na biblioteca FloPoCo• Construção dos blocos básicos da FFT no FPGA• Geração de test benchs• Construção da FFT

Page 9: 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)

Test bench

Entrada

Modelo deReferência

C++

Simulador HDL

Saída

Saída

Comparador

Relatório

Page 10: 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)

idbcazzdiczbiaz

)()(21

2

1

+

+

ac

bd

real

imag

Complex Adder

Page 11: 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)

Relatório de Síntese Complex Adder

Logic Utilization Used Available

Utilization

Number of Slice Registers 1008 28800 3%Number of Slice LUTs 1314 28800 4%

•32 bits

•64 bits

Frequência 303.538MHz

Frequência 304.095MHz

Logic Utilization Used

Available

Utilization

Number of Slice Registers 2098

28800 7%

Number of Slice LUTs 2702

28800 9%

Page 12: 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)

Complex Multiplier

ibcadbdaczzdiczbiaz

)()(21

2

1

x

x+

+x

x

ac

bd

ad

bc

real

imag

Page 13: 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)

Relatório de Síntese Complex Multiplier

•32 bits

•64 bits

Frequência 173.136MHz

Frequência 125.653MHz

Logic Utilization Used Available

Utilization

Number of Slice Registers 1256 28800 4%Number of Slice LUTs 2252 28800 7%Number of DSP48Es 16 48 33%

Logic Utilization Used Available

Utilization

Number of Slice Registers 3202 28800 11%Number of Slice LUTs 6854 28800 23%Number of DSP48Es 36 48 75%

Page 14: 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)

)(''

LOWUPLOW

LOWUPUP

zzwzzzz

ComplexAdder

ComplexMult

ComplexAdder

UPz

LOWz

w

UPz'

LOWz'

ButterFly

Page 15: 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)

Relatório de Síntese Butterfly

•32 bits

•64 bits

Frequência 173.136MHz

Frequência 125.653MHz

Logic Utilization Used

Available

Utilization

Number of Slice Registers 3648

28800 12%

Number of Slice LUTs 4952

28800 17%

Number of DSP48Es 16 48 33%

Logic Utilization Used Available

Utilization

Number of Slice Registers 8159 28800 28%Number of Slice LUTs 1265

2 28800 43%

Number of DSP48Es 36 48 75%

Page 16: 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)

)()('01

'

LOWUPLOWUPLOW

LOWUPUP

zzzzwziwzzz

ComplexAdder

ComplexAdder

UPz

LOWz

UPz'

LOWz'

ButterFly (1,0)

Page 17: 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)

Relatório de Síntese Butterfly (1,0)

•32 bits

•64 bits

Frequência 303.538MHz

Frequência 304.095MHz

Logic Utilization Used

Available

Utilization

Number of Slice Registers 2392

28800 8%

Number of Slice LUTs 2832

28800 9%

Logic Utilization Used

Available

Utilization

Number of Slice Registers 4957

28800 17%

Number of Slice LUTs 5836

28800 20%

Page 18: 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)

)()()()('

10'

aibbiaizzizzwz

iwzzz

LOWUPLOWUPLOW

LOWUPUP

ButterFly (0,-1)

ComplexAdder

ComplexAdder

UPz

LOWz

UPz'

LOWz'Change

Page 19: 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)

Relatório de Síntese Butterfly (0,-1)

•32 bits

•64 bits

Frequência 303.538MHz

Frequência 304.095MHz

Logic Utilization Used

Available

Utilization

Number of Slice Registers 2392

28800 8%

Number of Slice LUTs 2832

28800 9%

Logic Utilization Used

Available

Utilization

Number of Slice Registers 4957

28800 17%

Number of Slice LUTs 5837

28800 20%

Page 20: 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)

FFT8

Page 21: 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)

Relatório de Síntese FFT8 32 bits

•Normal

•Otimizado

Frequência 162.633MHz

Frequência 172.662MHz

Logic Utilization Used Available

Utilization

Number of Slice Registers 43336 28800 150%Number of Slice LUTs 59771 28800 207%Number of DSP48Es 48 48 100%

Logic Utilization Used Available

Utilization

Number of Slice Registers 30718 28800 106%Number of Slice LUTs 36653 28800 127%Number of DSP48Es 32 48 66%

Page 22: 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)

Relatório de Síntese FFT8 64 bits

•Normal

•Otimizado

Frequência 126.276MHz

Frequência 172.662MHz

Logic Utilization Used Available Utilization

Number of Slice Registers 91014 28800 316%

Number of Slice LUTs 141447 28800 491%

Number of DSP48Es 48 48 100%

Logic Utilization Used Available

Utilization

Number of Slice Registers 65474 28800 227%Number of Slice LUTs 89650 28800 311%Number of DSP48Es 48 48 100%

Page 23: 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)

Quantidade de Blocos Aritméticos

Op. de ponto flutuante

FFT-2 FFT-4 FFT-8

Somadores 6 24 72Multiplicadores 4 12 48Somadores Ot. 4 16 52Multiplicadores

Ot.0 0 8

Page 24: 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)

Trabalho a ser realizado

• Finalizar implementação de um case para validação

• Finalizar escrita da dissertação

Page 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)

Dúvidas