N-Point FFT/IFFT Core

Overview

The Fast Fourier Transform (FFT) is an efficient algorithm for computing the Discrete Fourier Transform (DFT). This Intellectual Property core was designed to offer very fast transform times while keeping the resource utilization to a minimum. Our implementation is a radix-2 architecture. This core is written in VHDL, capable of being used on any FPGA/ASIC architecture. The FFT/IFFT core is able to perform an N-point FFT/IFFT in approximately 2.4xN clock cycles. It implements a double buffered input stage allowing a block to be processed while another block is being written in. Signal scaling is controllable by the Scaling Select configuration parameter. It can be either unscaled, scaled by 2 on every stage or optimised scaling. This core is implemented using a mix of parallel and serial processing for efficient resource utilisation and fast transform times.

Features

N-Point FFT/IFFT Core is parameterisable. Its highly optimized for WLAN 802.11, 802.16 and other OFDM Standards

  • Parameterisable FFT block size
  • Parameterisable input signal width
  • Parameterisable internal scaling type (unscaled, scaled on every stage, optimised scaling)
  • Programmable input and output word lengths and internal precision
  • Area efficient design
  • Silicon verified in multiple devices
  • Optimized for WLAN (802.11, 802.16), DVB and other OFDM standards

 

Deliverables

  • Netlist or synthesizable RTL source code in VHDL
  • Comprehensive verification test bench and vectors in VHDL
  • Integration documentation and user guide

Performance

The following is the resource utilisation summary on a Spartan-3E part for 16bits input data and scaling on every stage.

N Slices Block RAMs 18X18 Multipliers Flip Flops
128 1590 14 8 1970
256 1630 14 8 2000
512 1680 14 8 2030
1024 1720 14 8 2060
2048 1830 20 8 2100

Note 1: Resource utilisation as reported by Xilinx ISE synthesiser. Utilisation may vary depending on application. Core clock rate depends on application.