All Projects → hukenovs → intfftk

hukenovs / intfftk

Licence: GPL-3.0 License
Fully pipelined Integer Scaled / Unscaled Radix-2 Forward/Inverse Fast Fourier Transform (FFT) IP-core for newest Xilinx FPGAs (Source language - VHDL / Verilog). GNU GPL 3.0.

Programming Languages

VHDL
269 projects
Verilog
626 projects
matlab
3953 projects

Projects that are alternatives of or similar to intfftk

math
Useful m-scripts for DSP (CIC, FIR, FFT, Fast convolution, Partial Filters etc.)
Stars: ✭ 15 (-65.12%)
Mutual labels:  fpga, dsp, vhdl, verilog, fast-fourier-transform, fft, digital-signal-processing, fast-convolutions
fpga-docker
Tools for running FPGA vendor toolchains with Docker
Stars: ✭ 54 (+25.58%)
Mutual labels:  fpga, vhdl, verilog, xilinx, altera
dsp-theory
Theory of digital signal processing (DSP): signals, filtration (IIR, FIR, CIC, MAF), transforms (FFT, DFT, Hilbert, Z-transform) etc.
Stars: ✭ 643 (+1395.35%)
Mutual labels:  fpga, dsp, fast-fourier-transform, fft, digital-signal-processing
Deep-DarkFantasy
Global Dark Mode for ALL apps on ANY platforms.
Stars: ✭ 16 (-62.79%)
Mutual labels:  fpga, verilog, xilinx, vivado
virtio
Virtio implementation in SystemVerilog
Stars: ✭ 38 (-11.63%)
Mutual labels:  fpga, verilog, xilinx, vivado
Fpga Fft
A highly optimized streaming FFT core based on Bailey's 4-step large FFT algorithm
Stars: ✭ 45 (+4.65%)
Mutual labels:  fpga, dsp, vhdl, fft
vim-hdl
Vim plugin to aid VHDL development (for LSP, see https://github.com/suoto/hdl_checker)
Stars: ✭ 59 (+37.21%)
Mutual labels:  vhdl, verilog, xilinx, altera
DTMF-Decoder
A Java program to implement a DMTF Decoder.
Stars: ✭ 28 (-34.88%)
Mutual labels:  dsp, fast-fourier-transform, fft, digital-signal-processing
getting-started
List of ideas for getting started with TimVideos projects
Stars: ✭ 50 (+16.28%)
Mutual labels:  fpga, vhdl, verilog
vivado-docker
Dockerfile with Vivado for CI
Stars: ✭ 22 (-48.84%)
Mutual labels:  fpga, xilinx, vivado
SpinalCrypto
SpinalHDL - Cryptography libraries
Stars: ✭ 36 (-16.28%)
Mutual labels:  fpga, vhdl, verilog
FFTVisualizer
This project demonstrates DSP capabilities of Terasic DE2-115
Stars: ✭ 17 (-60.47%)
Mutual labels:  fpga, dsp, fft
dsp-kit
A digital signal processing library in Javascript
Stars: ✭ 32 (-25.58%)
Mutual labels:  dsp, fft, digital-signal-processing
xeda
Cross EDA Abstraction and Automation
Stars: ✭ 25 (-41.86%)
Mutual labels:  fpga, vhdl, verilog
SHA256Hasher
SHA-256 IP core for ZedBoard (Zynq SoC)
Stars: ✭ 25 (-41.86%)
Mutual labels:  fpga, xilinx, vivado
PothosZynq
DMA source and sink blocks for Xilinx Zynq FPGAs
Stars: ✭ 19 (-55.81%)
Mutual labels:  fpga, xilinx, vivado
EBAZ4205
Vivado and PetaLinux projects for Zynq EBAZ4205 Board
Stars: ✭ 38 (-11.63%)
Mutual labels:  fpga, xilinx, vivado
eddr3
mirror of https://git.elphel.com/Elphel/eddr3
Stars: ✭ 33 (-23.26%)
Mutual labels:  fpga, verilog, xilinx
JSON-for-VHDL
A JSON library implemented in VHDL.
Stars: ✭ 56 (+30.23%)
Mutual labels:  fpga, vhdl, xilinx
ooura
Javascript port of Ooura FFT implementation
Stars: ✭ 23 (-46.51%)
Mutual labels:  dsp, fast-fourier-transform, fft

Integer FFT/IFFT cores

This project contains fully pipelined integer unscaled and scaled (truncated LSB) FFT/IFFT cores for FPGA, Scheme: Radix-2, Decimation in frequency and decimation in time;
Integer data type and twiddles with configurable data width.
Code language - VHDL, Verilog Vendor: Xilinx, 6/7-series, Ultrascale, Ultrascale+;

Smallest FPGA resourses and highest processing frequency that you ever seen!

License: GNU GPL 3.0.

Main information

Title Universal integer FFT cores (Xilinx FPGAs)
Author Alexander Kapitanov
Contact
Project lang VHDL, Verilog
Vendor Xilinx: 6/7-series, Ultrascale, US+
Release Date 13 May 2018
Last Update 11 Jan 2019

List of complements:

  • FFTs:
    • int_fftNk – main core - Full-precision or Scaled FFT, Radix-2, DIF, input flow - normal, output flow - bit-reversed.
    • int_ifftNk – main core - Full-precision or Scaled IFFT, Radix-2, DIT, input flow - bit-reversed, output flow - normal.
  • Butterflies:
    • int_dif2_fly – Full-precision or Scaled butterfly Radix-2, decimation in frequency,
    • int_dit2_fly – Full-precision or Scaled butterfly Radix-2, decimation in time,
  • Complex multipliers:
    • int_cmult_dsp48 – main integer complex multiplier contains several cmults:
      • int_cmult18x25_dsp48 – simple 25 x 18 two’s-complement half-complex-multiplier,
      • int_cmult_dbl18_dsp48 – double 42(44) x 18 two’s-complement half-complex-multiplier,
      • int_cmult_dbl35_dsp48 – double 25(27) x 35 two’s-complement half-complex-multiplier,
      • int_cmult_trpl18_dsp48 – triple 59(61) x 18 two’s-complement half-complex-multiplier,
      • int_cmult_trpl52_dsp48 – triple 25(27) x 52 two’s-complement half-complex-multiplier,

"half" means that you should set output flow: Re or Im part.

  • Multipliers:

    • mlt42x18_dsp48e1 – 42 x 18 two’s-complement multiplier (DSP48E1), del.: 4 taps, res.: 2 DSPs.
    • mlt59x18_dsp48e1 – 59 x 18 two’s-complement multiplier (DSP48E1), del.: 5 taps, res.: 3 DSPs.
    • mlt35x25_dsp48e1 – 35 x 25 two’s-complement multiplier (DSP48E1), del.: 4 taps, res.: 2 DSPs.
    • mlt52x25_dsp48e1 – 52 x 25 two’s-complement multiplier (DSP48E1), del.: 5 taps, res.: 3 DSPs.
    • mlt44x18_dsp48e2 – 44 x 18 two’s-complement multiplier (DSP48E2), del.: 4 taps, res.: 2 DSPs.
    • mlt61x18_dsp48e2 – 61 x 18 two’s-complement multiplier (DSP48E2), del.: 5 taps, res.: 3 DSPs.
    • mlt35x27_dsp48e2 – 35 x 27 two’s-complement multiplier (DSP48E2), del.: 4 taps, res.: 2 DSPs.
    • mlt52x27_dsp48e2 – 52 x 27 two’s-complement multiplier (DSP48E2), del.: 5 taps, res.: 3 DSPs.
  • Adder:

    • int_addsub_dsp48 – based on DSP48, up to 96-bit two’s-complement addition/substraction.
  • Delay line:

    • int_delay_line – main delay line, cross-commutation data between butterflies.
    • int_align_fft – data and twiddle factor alignment for butterflies in FFT core,
    • int_align_fft – data and twiddle factor alignment for butterflies in IFFT core,
  • Twiddles:

    • rom_twiddle_int – 1/4-periodic signal, twiddle factor generator based on memory and sometimes uses DSP48 units for large FFTs
    • row_twiddle_tay – twiddle factor generator which used Taylor scheme for calculation twiddles.
  • Buffers:

    • inbuf_half_path – simple input buffer, perform flow into two flows: [0 .. NFFT/2), (NFFT/2 .. NFFT-1], single clock,

    • outbuf_half_path – simple input buffer, merge two flows into one signal, single clock,

    • iobuf_flow_int2 – Mode-1: BITREV = FALSE: convert Interleave-2 flow into two parts of input flows, Mode-2: BITREV = TRUE: convert two-half flows into Interleave-2 signal.

    • int_bitrev_ord – simple converter data from bit-reverse to natural order.

Link (Russian collaborative IT blog)

Authors:

  • Kapitanov Alexander

Release:

  • 2018/13/05.

License:

  • GNU GPL 3.0.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].