Hi Rich,

The standard Ettus in-tree Vivado IP, which includes the axi_fft, is
automatically included. You do not need to do anything. Have you went
through the RFNoC getting started guide (
https://kb.ettus.com/Getting_Started_with_RFNoC_Development)? I think that
will help you understand the FPGA build process. The key concept to
understand is that building the FPGA is separate from building your OOT
module. The FPGA build Makefile exists in the Ettus FPGA repo and pulls in
files from that repo. That is why you do not need to include any Ettus
in-tree files, the Makefile will include them automatically.

When you get to the point of adding your custom IP, you need to do these
things:
1) Use this IP as a template on how to add your IP:
https://github.com/ejk43/rfnoc-ootexample/blob/master/rfnoc/ip/complex_to_magphase_oot/.
It is usually as simple as adding your .xci file and some renaming.
2) Add your IP to this file:
https://github.com/ejk43/rfnoc-ootexample/blob/master/rfnoc/ip/Makefile.inc
3) Make sure you have this line:
https://github.com/ejk43/rfnoc-ootexample/blob/master/rfnoc/Makefile.inc#L6
4) Use uhd_image_build_gui to import your OOT module and build your
bitstream. See the RFNoC getting started guide.


Jonathon

On Fri, Sep 14, 2018 at 10:40 PM Rich Maes via USRP-users <
usrp-users@lists.ettus.com> wrote:

> So I have looked at the ejk43/rfnoc-ootexample and I have been trying to
> apply what I think I am seeing.  Truth in advertising, I an FPGA engineer,
> and I don’t usually get into Makefiles or CMakeLists.txt very much.
>
> I think the correct thing to do is to modify the CMakeLists.txt so that
> when cmake is run, the the new Makefiles are generated with the correct
> content.
>
> All I want to do, I believe right now is pull in the axi_fft IP. My next
> will be to follow the advice of one of the respondents and build the IP
> local to the OOT module, but I am still not certain how I am suppose to
> reference it correctly.  Just trying to get a list of what needs to be
> touched to get the standard OOT to look an IP directory.
>
>  What I have done is this:
>
> modify this line to include FFT
>
> set(GR_REQUIRED_COMPONENTS RUNTIME FFT)
>
>
> and then later, I included this chunk in my
> ~/rfnoc/src/rfnoc-nd_fft/CMakeLists.txt file
>
> ########################################################################
> # Setup CPack components
> ########################################################################
> include(GrPackage)
> CPACK_SET(CPACK_COMPONENT_GROUP_FFT_DESCRIPTION "GNU Radio FFT Blocks")
>
> CPACK_COMPONENT("fft_runtime"
>     GROUP        "FFT"
>     DISPLAY_NAME "Runtime"
>     DESCRIPTION  "Runtime"
>     DEPENDS      "runtime_runtime"
> )
>
> CPACK_COMPONENT("fft_devel"
>     GROUP        "FFT"
>     DISPLAY_NAME "Development"
>     DESCRIPTION  "C++ headers, package config, import libraries"
>     DEPENDS      "runtime_devel"
> )
>
> CPACK_COMPONENT("fft_python"
>     GROUP        "FFT"
>     DISPLAY_NAME "Python"
>     DESCRIPTION  "Python modules for runtime; GRC xml files"
>     DEPENDS      "runtime_python;fft_runtime"
> )
>
> CPACK_COMPONENT("fft_swig"
>     GROUP        "FFT"
>     DISPLAY_NAME "SWIG"
>     DESCRIPTION  "SWIG development .i files"
>     DEPENDS      "runtime_swig;fft_python;fft_devel"
> )
>
> ########################################################################
> # Add subdirectories
> ########################################################################
> add_subdirectory(include/gnuradio/fft)
> add_subdirectory(lib)
> if(ENABLE_PYTHON)
>     add_subdirectory(swig)
>     add_subdirectory(python/fft)
>     add_subdirectory(grc)
> endif(ENABLE_PYTHON)
> add_subdirectory(docs)
>
> ########################################################################
> # Create Pkg Config File
> ########################################################################
> configure_file(
>     ${CMAKE_CURRENT_SOURCE_DIR}/gnuradio-fft.pc.in
>     ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-fft.pc
> @ONLY)
>
> install(
>     FILES ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-fft.pc
>     DESTINATION ${GR_LIBRARY_DIR}/pkgconfig
>     COMPONENT "fft_devel"
> )
>
>
>
>
> I also added this because cmake complained that it could not find
> GnuradioConfig.cmake
>
> install(FILES ../../../../src/gnuradio/GnuradioConfig.cmake
>     DESTINATION ${CMAKE_MODULES_DIR}/gnu_radio
> )
>
>
>
>
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to