bel_fft is a FFT co-processor that can calculate FFTs with arbitrary radix. It is a hardware implementation of the free software Kiss FFT ("Keep it simple, Stupid!"). The target was to allow a simple replacement of the software code with the hardware implementation. Therefore bel_fft comes with a software driver that is compatible with the Kiss FFT routines. bel_fft also has a modular architecture and allows interfacing different bus architectures. So far AMBA AXI, Altera's Avalon bus and the Wishbone bus are supported. However, bel_fft's architecture allows an easy adaptation to further bus architectures (e.g. AMBA AHB). It comes with a Java wizard to configure the co-processor and to generate all required files (e.g. twiddle ROMs).
It comes with integration into Xilinx Vivado, EDK, and Altera QSYS and includes example designs for Xilinx Zynq and with PCI-Express core (including Linux driver and application).
bel_fft is distributed under the GNU Lesser Public License 2.1.


  • Mixed-radix FFT co-processor for (so far radix 4 and radix 2 are supported)
  • Master bus interface for memory access
  • Slave interface for configuration and control
  • Modular architecture
  • 32 bit AXI, Avalon and Wishbone interfaces, 64 bit AXI interface
  • 32 bit and 16 bit data types
  • Can be configured to support four different configurations
  • Configuration is done via a GUI
  • Twiddle factors as ROM(s)
  • Interrupt generation
  • Software compatible to Kiss FFT
  • Seamless integration into Xilinx Vivado, EDK, and Altera's QSYS
  • Written in Verilog
  • Example designs for Xilinx Zynq
  • Example design with PCI-Express Core for the Xilinx AC701 board with Linux driver and small application program

Project Samples

Project Activity

See All Activity >

Follow bel_fft

bel_fft Web Site

Other Useful Business Software

Identify and respond to threats before damage is done Identify and respond to threats before damage is done Icon
Identify and respond to threats before damage is done Icon

A SIEM that makes it easy to use logs for security, compliance, and troubleshooting.

SolarWinds® Log & Event Manager (LEM) delivers comprehensive Security Information and Event Management (SIEM) capabilities in a highly affordable, easy-to-use, and quick-to-deploy virtual appliance. LEM provides the visibility, security, and control that IT professionals need to alert on and respond to security threats, and assist in meeting the regulatory compliance guidelines of HIPAA, PCI DSS, SOX, and more. Try it free for 30 days!

Rate This Project

Login To Rate This Project

User Ratings

ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5

User Reviews

  • Hi I wanted Exactly same thing Just written in VHDL. So, does anybody know Mixed radix (radix 2 and radix 4) core written in VHDL . Is this kind of core available??

  • I Use This FFT in my project, and I find a bug. When FFT size is bigger than 1000(for example), the number set to xilinx core generator has the format like 1,000 , and this can not be recognized by core generator and report error(actually should be 1000). So I have to manually generate the myfft_twiddle_rom0.ngc file. Hope to solve this,Thanks!

  • fast download and works, recommended.

  • very good program belfft.

Read more reviews >

Additional Project Details

Intended Audience


User Interface

Java Swing

Programming Language

VHDL/Verilog, Java