Create a State Structure - Create a State Structure - 9.1 English - PG109

Fast Fourier Transform LogiCORE IP Product Guide (PG109)

Document ID
PG109
Release Date
2025-12-17
Version
9.1 English

The first function, xilinx_ip_xfft_v9_1_create_state, creates a new state structure for the FFT C model, allocating memory to store the state as required, and returns a pointer to that state structure. The state structure contains all information required to define the FFT being modeled. The function is called with a structure containing the core generics; these are all of the parameters that define the bit-accurate numerical performance of the core, represented as integers, shown in the following table.

Table 1. FFT C Model Generics
Generic Description Permitted Values
C_NFFT_MAX log2(maximum transform length) 3-16
C_ARCH Architecture 1 = Radix-4, Burst I/O

2 = Radix-2, Burst I/O

3 = Pipelined, Streaming I/O

4 = Radix-2 Lite, Burst I/O

3 = Pipelined, Streaming I/O
C_HAS_NFFT Runtime configurable transform length 0 = no, 1 = yes 0 = no
C_USE_FLT_PT Core interface 0 = Fixed-Point 1 = Single-Precision Floating-Point (pseudo) 2 = Single-Precision Floating- Point (native)
C_INPUT_WIDTH Input data width (bits) 8-34 32 32
C_TWIDDLE_WIDTH Phase factor width (bits) 8-34 24-25 32
C_HAS_SCALING Scaling option: unscaled or determined by C_HAS_BFP 0 = unscaled,

1 = see C_HAS_BFP

0 0
C_HAS_BFP Scaling option: Applicable if C_HAS_SCALING=1 0 = scaled,

1 = block floating-point

0 0
C_NSSR Super Sample Rate 1, 2, 4, 8, 16, 32, 64 = Fixed-point 1 2, 4, 8, 16, 32, 64 = Native Floating-point
C_HAS_ROUNDING Rounding: 0 = truncation,

1 = convergent rounding

0 0
C_SYSTOLICFFT_INV Inverse FFT for Floating Point (native) and Fixed-point SSR > 1
  • SSR = 1: 0;
  • SSR > 1:
    • 0 = forward FFT;
    • 1 = inverse FFT (IFFT)
0
  • SSR > 1:
    • 0 = forward FFT;
    • 1 = inverse FFT (IFFT)
Note: C_CHANNELS is not a generic used in the C model. The model is always single channel. To model multiple channels in a multichannel FFT, see Modeling Multichannel FFTs.

The xilinx_ip_xfft_v9_1_create_state function fails with an error message and returns a NULL pointer if any generic or combination of generics is invalid.