Xilinx Fast Fourier Transform (xilinx_fft)

This component utilizes Xilinx Vendor IP core generator to generate a static sized FFT with 4096 bins.

Function

Performs the fast Fourier transform of the input samples.

Opcode Handling

The current iterations of these workers utilize complex_short_time_sampled protocols but do not implement opcode handling.

Interface

<?xml version="1.0"?>
<componentspec>
  <port name="input" producer="false" protocol="complex_short_timed_sample-prot"/>
  <port name="output" producer="true" protocol="complex_short_timed_sample-prot"/>
</componentspec>

Ports

Inputs:

  • input: Primary input samples port.

    • Protocol: complex_short_timed_sample-prot

    • Optional: False

Outputs:

  • output: Primary output samples port.

    • Protocol: complex_short_timed_sample-prot

    • Optional: False

Implementations

  • xilinx_fft (HDL)

    Xilinx FFT implementation with size 4096.

Example Application

<?xml version="1.0"?>
<!-- This file is protected by Copyright. Please refer to the COPYRIGHT file
     distributed with this source distribution.

     This file is part of OpenCPI <http://www.opencpi.org>

     OpenCPI is free software: you can redistribute it and/or modify it under
     the terms of the GNU Lesser General Public License as published by the Free
     Software Foundation, either version 3 of the License, or (at your option)
     any later version.

     OpenCPI is distributed in the hope that it will be useful, but WITHOUT ANY
     WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
     FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
     more details.

     You should have received a copy of the GNU Lesser General Public License
     along with this program. If not, see <http://www.gnu.org/licenses/>. -->
<application done="file_write">
  <instance component="ocpi.core.file_read" connect="xilinx_fft">
    <property name="filename" value="input.bin"/>
  </instance>
  <instance component="ocpi.haifuraiya.components.xilinx_fft" connect="file_write"/>
  <instance component="ocpi.core.file_write">
    <property name="filename" value="output.bin"/>
  </instance>
</application>

Dependencies

IP Core is generated when building the hdl worker directory.

Limitations

Limitations of xilinx_fft are:

  • Static Size of 4096

Testing

Tested platforms: None