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