Transformada Rápida de Fourier para FPGA

  • View
    22

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Text of Transformada Rápida de Fourier para FPGA

  • Transformada Rpida de Fourierpara FPGAAluno: Arthur Umbelino Alves Rolim(auar@cin.ufpe.br)Orientador: Manoel Eusbio de Lima(mel@cin.ufpe.br)

  • RoteiroFFTFloPoCoTrabalho realizadoTest BenchComplex AdderComplex MultiplierButterflyButterfly (1,0)Butterfly (0,-1)FFT8Trabalho a ser realizado

  • Fast Fourier Transform(FFT)Maneira mais eficiente de calcular um DFT com complexidade O(nlogn )

    Domnio do Tempo -> Domnio da FreqnciaUma famlia de algoritmosCooley-TukeyPrime-factorBruun'sRader'sBluestein's

  • Fast Fourier Transform(FFT)Extensivamente utilizada em vrias aplicaes de DSPAnlise de espectroConvoluo de alta-velocidade (filtro linear)Deteco e estimativa de sinaisIdentificao de sistemasCompresso de udioSntese de modelo espectral de som

  • FFT

  • Radix-2 FFTDiagrama BorboletaDIF(Decimation in Frequency)DIT(Decimation in Time)

  • FloPoCo (Floating-Point Cores)Gerador de cores aritmticos em VHDL com opes de:FrequnciaFabricante do FPGA( Altera ou Xilinx )PipelineUso ou no de blocos DSPPadro IEEE e LNS (logarithm number system)Implementa todas as operaes(+,*,/,sqr)Parametrizada( tamanho de expoente e mantissa variveis )Tratamento de excees(+,-,NaN)

  • Trabalho realizadoImplementao dos algoritmos de DFT e FFT em C++Construo do modelo de referncia em SystemCTestes na biblioteca FloPoCoConstruo dos blocos bsicos da FFT no FPGAGerao de test benchsConstruo da FFT

  • Test bench

  • Complex Adder

  • Relatrio de Sntese Complex Adder32 bits

    64 bitsFrequncia 303.538MHzFrequncia 304.095MHz

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

    Logic UtilizationUsedAvailableUtilizationNumber of Slice Registers 2098 28800 7%Number of Slice LUTs 2702 28800 9%

  • Complex Multiplier

  • Relatrio de Sntese Complex Multiplier32 bits

    64 bitsFrequncia 173.136MHzFrequncia 125.653MHz

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

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

  • ButterFly

  • Relatrio de Sntese Butterfly32 bits

    64 bitsFrequncia 173.136MHzFrequncia 125.653MHz

    Logic UtilizationUsedAvailableUtilizationNumber of Slice Registers 3648 28800 12%Number of Slice LUTs 4952 28800 17%Number of DSP48Es 16 48 33%

    Logic UtilizationUsedAvailableUtilizationNumber of Slice Registers 8159 28800 28%Number of Slice LUTs 12652 28800 43%Number of DSP48Es 36 48 75%

  • ButterFly (1,0)

  • Relatrio de Sntese Butterfly (1,0)32 bits

    64 bitsFrequncia 303.538MHzFrequncia 304.095MHz

    Logic UtilizationUsedAvailableUtilizationNumber of Slice Registers 2392 28800 8%Number of Slice LUTs 2832 28800 9%

    Logic UtilizationUsedAvailableUtilizationNumber of Slice Registers 4957 28800 17%Number of Slice LUTs 5836 28800 20%

  • ButterFly (0,-1)

  • Relatrio de Sntese Butterfly (0,-1)32 bits

    64 bitsFrequncia 303.538MHzFrequncia 304.095MHz

    Logic UtilizationUsedAvailableUtilizationNumber of Slice Registers 2392 28800 8%Number of Slice LUTs 2832 28800 9%

    Logic UtilizationUsedAvailableUtilizationNumber of Slice Registers 4957 28800 17%Number of Slice LUTs 5837 28800 20%

  • FFT8

  • Relatrio de Sntese FFT8 32 bitsNormal

    OtimizadoFrequncia 162.633MHzFrequncia 172.662MHz

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

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

  • Relatrio de Sntese FFT8 64 bitsNormal

    OtimizadoFrequncia 126.276MHzFrequncia 172.662MHz

    Logic UtilizationUsedAvailableUtilizationNumber of Slice Registers 91014 28800 316%Number of Slice LUTs 141447 28800 491%Number of DSP48Es 48 48 100%

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

  • Quantidade de Blocos Aritmticos

    Op. de ponto flutuanteFFT-2FFT-4FFT-8Somadores62472Multiplicadores41248Somadores Ot.41652Multiplicadores Ot.008

  • Trabalho a ser realizadoFinalizar implementao de um case para validao

    Finalizar escrita da dissertao

  • Dvidas

    SystemC and OO-Synthesis*Tobias Oppold*SystemC and OO-Synthesis*Tobias Oppold*The DFT is normally encountered in practice as a Fast Fourier Transform (FFT)--i.e., a high-speed algorithm for computing the DFT. FFTs are used extensively in a wide range of digital signal processing applications, including spectrum analysis, high-speed convolution (linear filtering), filter banks, signal detection and estimation, system identification, audio compression (e.g., MPEG-II AAC), spectral modeling sound synthesis, and many other applications; some of these will be discussed in Chapter8.