FFT IP cores#

Dillon Engineering’s FFT cores are parameterized, so one design can be built for the transform length, precision and throughput your system needs. They target both FPGAs and ASICs, and each is delivered with a bit-accurate C/C++ model and a testbench.

Compare the cores#

Core

Architecture

Data format

Transform lengths

Throughput

fft_64k

Overlapped parallel butterfly, 32 radix-2 butterflies

Fixed point, 12 to 32-bit I/Q (24 default); 16 to 24-bit twiddles

Run-time selectable per frame, 64 to 65,536 points

275 MSPS continuous in, 0 to 75% overlap

fft_float

Parallel butterfly, 4 to 16 radix-2 butterflies (build option); programmable window

IEEE-754 single-precision floating point, end to end

Run-time selectable per frame, 64 to 32K points (more on larger devices)

Up to 222 MSPS in (4 butterflies), 0 to 50% overlap

FFT_PIPE

Pipelined radix-2, single butterfly per rank

IEEE-754 floating point; fixed point of any width

Run-time selectable, 32 to 64K points (legacy figure)

Continuous streaming at Fmax

FFT_MIXED

Mixed radix, non-power-of-2 lengths

—

—

—

UltraLong FFT

Very long transforms using external memory

Fixed or floating point

—

Scales with memory bandwidth

Floating Point FFT

—

IEEE-754 single and double precision

—

—

Which core fits?#

Long transforms with heavy overlap at a continuous sample rate

fft_64k: overlapped 64K-point FFT/IFFT

Floating-point accuracy, a programmable window, and no scaling analysis

fft_float: windowed floating-point FFT/IFFT

Continuous streaming at the full clock rate

FFT_PIPE: pipelined FFT

Lengths that are not a power of 2

FFT_MIXED: mixed-radix FFT

Transforms too large for on-chip memory

UltraLong FFT

Wide dynamic range without fixed-point analysis

Floating Point FFT

Not sure, or something custom

Talk to us. Most cores can be modified quickly for a particular requirement.