Create a State Structure - 9.1 English - PG109

Fast Fourier Transform LogiCORE IP Product Guide (PG109)

Document ID
PG109
Release Date
2024-11-13
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, and are shown in the following table.

Table 1. FFT C Model Generics
Generic Description Permitted Values
C_NFFT_MAX log2(maximum transform length) 3-16

1 = Radix-4, Burst I/O

2 = Radix-2, Burst I/O

3 = Pipelined, Streaming I/O

4 = Radix-2 Lite, Burst I/O

0 = no, 1 = yes
C_ARCH Architecture
C_HAS_NFFT Runtime configurable transform length
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

1 2, 4 = Native Floating-point
C_HAS_ROUNDING Rounding:

0 = truncation,

1 = convergent rounding

0 0
C_SYSTOLICFFT_INV Inverse FFT for Floating Point (native) 0 0

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.