Template Parameters - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English

Function: fft2d is the top level L1 API provided which takes a number of template parameters and in/out streams. These template functions describe the architecture and the data-path of 1-D SSR FFT processors deployed as line processors. The description of these parameters is as follows:

Template Parameter Functionality
t_memWidth Describes the width of wide stream in complex<T_elemType> words
t_numRows Number of rows in 2-D FFT input data (currently limited to 256)
t_numCols Number of column in 2-D FFT input data (currently limited to 256)
t_numKernels Number of parallel kernels used to process rows/columns
t_ssrFFTParamsRowProc Configuration parameter structure for row processors
t_ssrFFTParamsColProc Configuration parameter structure for column processors
t_rowInstanceIDOffset Instance ID offset for row processors
t_colInstanceIDOffset Instance ID offset for column processors
T_elemType The inner type for complex wrapper
  • t_memWidth: Gives the width of wide stream in complex<inner_type> words can be calculated as: t_memWidth=(wide stream size in bits)/(sizeof(complex<T_elemType>)*8))
  • t_numRows: 2-D SSR FFT processes a matrix the number of rows in input matrix are given by t_numRows
  • t_numCols: 2-D SSR FFT processes a matrix the number of columns in input matrix are given by t_numCols
  • t_numKernels: 2-D SSR FFT can deploy multiple 1-D SSR FFT processors along rows and columns to processes numerous row/columns in parallel this paramter gives number of processors to be used along rows/columns. Number of columns used along rows and columns are same and equal t_numKernels
  • t_ssrFFTParamsRowProc: It is a structure of parameters that describes tranform direction, data-path etc for row processors. The details of configuration parameter structures can be found here Configuration Parameter Structure for Floating Point SSR FFT for fixed point case (currently not supported) it is Configuration Parameter Structure for Fixed Point SSR FFT
  • t_ssrFFTParamsColProc: It is a structure of parameters that describes tranform direction, data-path etc for column processors. The details of configuration parameter structures can be found here Configuration Parameter Structure for Floating Point SSR FFT for fixed point case (currently not supported) it is Configuration Parameter Structure for Fixed Point SSR FFT
  • t_rowInstanceIDOffset: 2-D SSR FFT deploys multiple 1D SSR FFT processors and it is required that every 1D SSR FFT proessor has a unique ID. If ‘M’ processors are used along rows then their IDs will be in the range: (t_rowInstanceIDOffset+1 , t_rowInstanceIDOffset+M) the selection of offset for rows and columns should be made such that these ranges are unique without any overlap. Essentially it requires that abs(t_rowInstanceIDOffset - t_colInstanceIDOffset) > M
  • t_colInstanceIDOffset: 2-D SSR FFT deploys multiple 1D SSR FFT processors and it is required that every 1D SSR FFT proessor has a unique ID. If ‘M’ processors are used along rows then their IDs will be in the range: (t_rowInstanceIDOffset+1 , t_rowInstanceIDOffset+M) the selection of offset for rows and columns should be made such that these ranges are unique without any overlap. Essentially it requires that abs(t_rowInstanceIDOffset - t_colInstanceIDOffset) > M
  • T_elemType: 2-D SSR FFT processes complex samples and T_elemType gives the inner type used to store real and imaginary parts. Currently it supports only float as inner type for simulation and synthesis.