Visible to Intel only — GUID: hco1423077025476
Ixiasoft
Visible to Intel only — GUID: hco1423077025476
Ixiasoft
14.3. FFT Design Elements Library
The radix-22 architecture is a serial version of the radix-4 architecture. It computes a radix-4 butterfly over four (not necessarily consecutive) inputs and produces four (not necessarily consecutive) outputs.
For more information about the radix-22 algorithm, refer to A New Approach to Pipeline FFT Processor – Shousheng He & Mats Torkleson, Department of Applied Electronics, Lund University, Sweden.
- About Pruning and Twiddle for FFT Blocks
DSP Builder allows you to specify: the type of the data values before each twiddle multiplication; the type of the twiddle constants; the type of the data values after each twiddle multiplication. - Bit Vector Combine (BitVectorCombine)
The BitVectorCombine block concatenates a vector of bits to form a scalar. The scalar is an unsigned integer of the appropriate width. The first element of the vector becomes the least significant bit of the scalar (little-endian ordering). - Butterfly Unit (BFU)
The BFU, BFU_long BFU_short, and BFU_simple blocks each implement a butterfly unit for use in floating-point streaming FFTs. - Butterfly I C (BFIC) (Deprecated)
The BFIC block implements the butterfly I functionality associated with the radix-22 fully streaming FFT architecture. - Butterfly II C (BFIIC) (Deprecated)
The BFIIC block implements the butterfly II functionality associated with the radix-22 fully streaming FFT or iFFT architecture. - Choose Bits (ChooseBits)
The ChooseBits block selects individual bits from its input (scalar) signal and concatenates them to form its (scalar) output signal. - Crossover Switch (XSwitch)
The XSwitch block a simple crossover switch. - Dual Twiddle Memory (DualTwiddleMemoryC)
The DualTwiddleMemory block calculates the complex twiddle factors associated with the evaluation of exp(-2pi.k1/N) and exp(-2pi.k2/N). - Edge Detect (EdgeDetect)
The EdgeDetect block implements a simple circuit that detects edges on its input. It outputs 0 if the current input is the same as the previous input and 1 if the inputs are different. - Floating-Point Twiddle Generator (TwiddleGenF) (Deprecated)
The TwiddleGenF block is the floating-point version of the fixed-point TwiddleGenC block. The TwiddleGenF block generates the appropriate complex coefficients that multiply the streaming data in a radix-22 streaming FFT or IFFT architecture. - Fully-Parallel FFTs (FFT2P, FFT4P, FFT8P, FFT16P, FFT32P, and FFT64P)
The FFT2P, FFT4P, FFT8P, FFT16P, FFT32P, and FFT64P blocks implement fully-parallel FFTs for 2, 4, 8, 16, 32, and 64 points respectively. - Fully-Parallel FFTs with Flexible Ordering (FFT2X, FFT4X, FFT8X, FFT16X, FFT32X, and FFT64X)
The FFT2X, FFT4X, FFT8X, FFT16X, FFT32X, and FFT64X blocks implement fully-parallel FFTs (or iFFTs) for 2, 4, 8, 16, 32, and 64 points respectively. - General Multitwiddle and General Twiddle (GeneralMultiTwiddle, GeneralMultVTwiddle, GeneralTwiddle, GeneralVTwiddle)
Use the GeneralTwiddle and GeneralMultTwiddle blocks to construct supersampled FFTs. The blocks have the same external interface but use different internal implementations. - Hybrid FFT (Hybrid_FFT, HybridVFFT, HybridVFFT_btb)
The hybrid FFT blocks implement a hybrid serial or parallel implementation of a supersampled FFT (or IFFT) that processes 2M points per cycle (where M>0). - Multiwire Transpose (MultiwireTranspose)
The DSP Builder MultiwireTranspose block performs a specialized reordering of a block of data and presents it on multiple wires. - Multiwire Variable Bit Reverse (MultiwireVariableBitReverse)
The DSP Builder MultiwireVariableBitReverse block performs a bit reverse on a variable-size block of data that is communicated on multiple wires. - Parallel Pipelined FFT (PFFT_Pipe)
The PFFT_Pipe block implements a supersampled FFT (or IFFT) that processes 2M points per cycle (with 0 < M). - Pulse Divider (PulseDivider)
The PulseDivider block generates a single-cycle one on its output for each 2^N ones on its input. - Pulse Multiplier (PulseMultiplier)
The PulseMultiplier block stretches a single-cycle pulse on its input into a 2^N-cycle pulse on its output. The block ignores any input pulse that arrives within 2^N cycles of the previous one. - Single-Wire Transpose (Transpose)
The DSP Builder Transpose block performs a specialized reordering of a block of data.The size of the block must be a power of 2. - Split Scalar (SplitScalar)
The SplitScalar block splits its input (typically an unsigned integer) into a vector of Booleans. The least significant bit of the scalar becomes the first entry in the vector (little-endian ordering). - Streaming FFTs (FFT2, FFT4, VFFT2, and VFFT4)
The FFT2, FFT4, VFFT2, and VFFT4 blocks are low-level blocks that implement streaming FFTs. - Stretch Pulse (StretchPulse)
The DSP Builder StretchPulse block implements a general purpose, loadable pulse stretching circuit. - Twiddle Angle (TwiddleAngle)
The Twiddleangle block generates FFT twiddle factors when you use it between a counter and the TwiddleRom (or TwiddleRomF) blocks. - Twiddle Generator (TwiddleGenC) Deprecated
The TwiddleGenC block generates the appropriate complex coefficients that multiplies the streaming data in a radix-22 streaming FFT or iFFT architecture. - Twiddle and Variable Twiddle (Twiddle and VTwiddle)
The Twiddle and VTwiddle blocks are low-level blocks that implement streaming FFTs. - Twiddle ROM (TwiddleRom, TwiddleMultRom and TwiddleRomF (deprecated))
The DSP Builder twiddle ROM blocks generate FFT twiddle factors, converting the input angle into a cos-sin pair. These block are memory optimized for use with wide counters.