| Parameter | Description |
|---|---|
| input_width | Data input port width. |
| output_width | Data output port width. |
| status_width | Output status port width. |
| config_width | Input configuration port width. |
| max_nfft | The size of the FFT data set is specified as 1 << max_nfft. |
| has_nfft | Determines if the size of the FFT can be runtime configurable. |
| channels | Number of channels. |
| arch_opt | The implementation architecture. |
| phase_factor_width | Configure the internal phase factor precision. |
| ordering_opt | The output ordering mode. |
| ovflo | Enable overflow mode. |
| scaling_opt | Define the scaling options. |
| rounding_opt | Define the rounding modes. |
| mem_data | Specify using block or distributed RAM for data memory. |
| mem_phase_factors | Specify using block or distributed RAM for phase factors memory. |
| mem_reorder | Specify using block or distributed RAM for output reorder memory. |
| stages_block_ram | Defines the number of block RAM stages used in the implementation. |
| mem_hybrid | When block RAMs are specified for data, phase factor, or reorder buffer, mem_hybrid specifies where or not to use a hybrid of block and distributed RAMs to reduce block RAM count in certain configurations. |
| complex_mult_type | Defines the types of multiplier to use for complex multiplications. |
| butterfly_type | Defines the implementation used for the FFT butterfly. |
When specifying parameter values which are not integer or boolean, the HLS FFT namespace should be used.
For example, the possible values for parameter butterfly_type in the following table are use_luts and use_xtremedsp_slices. The values used in the C program should be butterfly_type = hls::ip_fft::use_luts and butterfly_type = hls::ip_fft::use_xtremedsp_slices.