D A T A S H E E T Hyper-length FFT-IP Core Overview The Fast Fourier Transform IP Core (FFT) from Mistral allows implementation of very long transforms on an FPGA using external RAM. It supports run time programmable transform lengths from 256 to 1M (powers-of-2) points. The Maximum transform length is limited by the memory available. Higher transform lengths are supported and depend on factory configuration. The IP is designed for: : Run time Programmability : Optimal Resource Utilization Core Description Block Diagram FFT-IP Core uses the Divide-and-Conquer approach for FFT computation. This approach expresses an FFT of length N as a product of 2 integers, L x M. The L and M point FFTs are computed using a pipelined FFT block. Controller Arbiter Control The various blocks of FFT-IP Core are described below: Controller: This block controls the sequence of operations to be carried out for transform computation. Transform computation involves input data load, M point FFT computation, twiddle generation, L-point FFT computation and output unload operations. Pipeline FFT: A Radix-2 pipeline FFT-IP Core from Xilinx is used for computation of L and M point FFTs. It supports single precision floating point arithmetic, transform lengths ranging from 8 to 1024 (power of 2 only) and generates bit reversed output. It supports fixed point twiddle factors of width 24 or 25 bits. The FFT-IP Core internally uses block floating-point representation to efficiently utilize FPGA resources while providing performance similar to single-precision representation. Input Pipeline FFT Complex Multiplier Re-order Re-order Re-order Arbiter Twiddle Generator Re-order External RAM Twiddle Generator: Supports run time generation of twiddles for different transform sizes avoiding the need for a memory for storage of twiddles. Complex Multiplier: Multiplies twiddles with data from memory and provides input to pipeline FFT. Re-order blocks: These blocks re-order the inputs and outputs of the FFT. Arbiter: It arbitrates memory read and write requests from various blocks. Output FFT with 24-bit phase factor and FFT-IP using Xilinx pipeline FFT with 25-bit Features phase factor. Transform size, N = 2m, m = 8 to 20 (default). Can be customized : The RMS error for different models and transform sizes is shown below. Forward or inverse complex transform with run time configurability : Note: RMS error is computed using results of one simulation run. Run time computation of twiddle factors : Single precision floating point arithmetic : Computation Time In-order input and output : Supports data rate of 200MS/s* (complex data) : FFT Size * (The throughput of the core depends on the external RAM and the device targeted) Load cycles Computation cycles Unload cycles Total cycles 256 256 806 256 1318 512 512 1383 512 2407 1024 1024 2472 1024 4520 2048 2048 4584 2048 8680 4096 4096 8744 4096 16936 8192 8192 17079 8192 33463 16384 16384 33606 16384 66374 32768 32768 66630 32768 132166 time as input for RMS error computation. Double precision floating point 65536 65536 132422 65536 263494 MATLAB FFT is used as reference to compute RMS error. The models shown 131072 131072 264712 131072 526856 262144 262144 527638 262144 1051926 Applications Radar signal processing (Pulse Compression, : Doppler processing etc) Spectral analysis : RMS Error Computation The Hyper-length FFT-IP Core from Mistral uses an impulse, randomized in are, Single precision floating point MATLAB FFT, FFT-IP using Xilinx pipeline -125 256 512 1024 2048 4096 8192 16384 32768 65536 131072 RMS Error in dB -130 -135 -140 -145 -150 -155 Transform Size FFT with 24 bit twiddles FFT with 25 bit twiddles Single precision MATLAB FFT Resource Utilization Deliverables The post map resource utilization information is given below: Part Number: IP_F_FFT_N_V1.0 • Data sheet and User Manual : Synthesized netlist, fft.ngc : ModelSim simulation set up with VHDL test bench : Scilab scripts for test input generation and output validation : Bit-accurate C model * : With pipeline FFT using 24-bit twiddles Device Registers LUTs BRAMs DSPs Virtex-6 XC6VSX475T 11770/595200 = 1% 8605/297600 = 2% 16/1064 =1% 60/2016 = 2% Part Number: IP_F_FFT_V_V1.0 With pipeline FFT using 25-bit twiddles Device Registers LUTs BRAMs DSPs Virtex-6 XC6VSX475T 13432/595200 = 2% 9774/297600 = 3% 16/1064 =1% 73/2016 = 3% Note: Resource utilization is for guidance only and can change with improvements to the design. Data sheet and User Manual : VHDL source files : ModelSim simulation set up with VHDL test bench : Scilab scripts for test input generation and output validation : Bit-accurate C model *. : * Currently unavailable. Will be released later. About Mistral Mistral is a technology design and systems engineering company providing end-to-end solutions for product design and application deployment. Mistral is focused in two business domains: Product Engineering Services & Defense and Homeland Security. Mistral provides total solutions for a given requirement, which may include hardware board design, Mistral Solutions Pvt. Ltd., No.60, 'Adarsh Regent', 100 Feet Ring Road, Domlur Extension, Bangalore - 560 071 Tel: +91-80-3091-2600 Fax: +91-80-2535-6444 E-mail: [email protected] embedded software development, FPGA design, systems integration and customized turnkey solutions. Mistral's strategic partnerships with leading technology companies help provide customers with a comprehensive package of end- to-end solutions. Mistral Solutions Inc., 43092 Christy Street, Fremont, CA 94538 USA Tel: +1-408-705-2240 E-mail: [email protected] Branch Offices: INDIA ! Hyderabad ! New Delhi USA ! Dallas, Texas © Copyright 2014, Mistral Solutions Pvt. Ltd. All rights reserved. & ...Partners in Real Time are registered Trademarks and Logos of Mistral. All other Trademarks and Tradenames are the property of the respective owners. www.mistralsolutions.com •
© Copyright 2026 Paperzz