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.
| 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 |
|
0 |
|
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.