aboutsummaryrefslogtreecommitdiff
path: root/recipes-demo/de10-nano-fftsw-apps
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-demo/de10-nano-fftsw-apps')
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/de10-nano-fftsw-apps.bb159
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/LICENSE22
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/README_HOST.TXT154
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/README_SANDBOX.TXT139
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/README_SANDBOX_BUILD.TXT59
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/README_TARGET.TXT114
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/README_TARGET_BUILD.TXT151
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/archive_for_target.sh68
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/archive_src_for_sandbox.sh33
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/archive_src_for_target.sh96
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/build_all.sh85
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/build_app.sh104
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/build_lib.sh90
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/c16_256.c104
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/c16_256x32.c109
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/c16_256x32x128.c113
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/c16_4096.c104
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/c32_256.c104
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/c32_256x32.c109
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/c32_256x32x128.c113
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/c32_4096.c104
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/clean_all.sh91
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/copy_to_target.sh23
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/create_input_waveforms.sh60
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/create_real_short_sine32.c38
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/create_real_short_square32.c35
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/create_real_short_triangle32.c40
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/de10-nano-fftsw-init.service10
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/duplicate_x128.sh23
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/duplicate_x32.sh23
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/duplicate_x8.sh23
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/fft_256.c111
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/fft_256x32.c113
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/fft_256x32x128.c117
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/fft_4096.c111
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/fftdma_256.c111
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/fftdma_256x32.c113
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/fftdma_256x32x128.c117
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/fftdma_4096.c111
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/images/README_IMAGES.TXT100
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_sine_256.gnu28
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_sine_256x32.gnu28
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_sine_4096.gnu28
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_squares_256.gnu28
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_squares_256x32.gnu28
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_squares_4096.gnu28
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_triangle_256.gnu28
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_triangle_256x32.gnu28
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_triangle_4096.gnu28
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_montage_sine_256.sh15
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_montage_sine_256x32.sh15
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_montage_sine_4096.sh15
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_montage_squares_256.sh15
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_montage_squares_256x32.sh15
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_montage_squares_4096.sh15
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_montage_triangle_256.sh15
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_montage_triangle_256x32.sh15
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/images/create_montage_triangle_4096.sh15
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/ne10cpx_long_to_text.c48
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/ne10cpx_short_to_text.c48
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/neon16_256.c104
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/neon16_256x32.c109
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/neon16_256x32x128.c113
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/neon16_4096.c104
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/neon32_256.c104
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/neon32_256x32.c109
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/neon32_256x32x128.c113
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/neon32_4096.c104
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/overhead.c219
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/real_short_to_ne10cpx_long.c58
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/real_short_to_ne10cpx_short.c58
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/run_all.sh24
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/run_fft_256.sh48
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/run_fft_256x32.sh48
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/run_fft_256x32x128.sh49
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/run_fft_4096.sh48
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/run_stream_256x16x1.sh31
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/run_stream_256x1x1.sh31
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/run_stream_256x32x128.sh31
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/sandbox_build_all.sh52
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/sandbox_create_input_waveforms.sh49
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/setup_env.src8
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/setup_target_fft_env.sh167
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/stream_fpga_256x16x1.c118
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/stream_fpga_256x1x1.c118
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/stream_fpga_256x32x128.c118
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/stream_neon32_256x16x1.c133
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/stream_neon32_256x1x1.c133
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/stream_neon32_256x32x128.c133
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/stream_raw_256x16x1.c114
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/stream_raw_256x1x1.c114
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/stream_raw_256x32x128.c114
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/target_build_all.sh84
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/target_build_app.sh95
-rwxr-xr-xrecipes-demo/de10-nano-fftsw-apps/files/target_build_lib.sh85
95 files changed, 7127 insertions, 0 deletions
diff --git a/recipes-demo/de10-nano-fftsw-apps/de10-nano-fftsw-apps.bb b/recipes-demo/de10-nano-fftsw-apps/de10-nano-fftsw-apps.bb
new file mode 100644
index 0000000..c249d31
--- /dev/null
+++ b/recipes-demo/de10-nano-fftsw-apps/de10-nano-fftsw-apps.bb
@@ -0,0 +1,159 @@
+SUMMARY = "Example application for DE-Nano FPGA FFT Benchmarking"
+SECTION = "DE10-Nano"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d252b8b27e3e6ea89c9c6912b3c4373d"
+DEPENDS = "ne10"
+RDEPENDS_${PN} = "ne10"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+PR = "r0"
+PV = "1.0"
+
+inherit systemd
+
+SRC_URI = " \
+ file://archive_for_target.sh \
+ file://archive_src_for_sandbox.sh \
+ file://archive_src_for_target.sh \
+ file://build_all.sh \
+ file://build_app.sh \
+ file://build_lib.sh \
+ file://c16_256.c \
+ file://c16_256x32.c \
+ file://c16_256x32x128.c \
+ file://c16_4096.c \
+ file://c32_256.c \
+ file://c32_256x32.c \
+ file://c32_256x32x128.c \
+ file://c32_4096.c \
+ file://clean_all.sh \
+ file://LICENSE \
+ file://copy_to_target.sh \
+ file://create_input_waveforms.sh \
+ file://create_real_short_sine32.c \
+ file://create_real_short_square32.c \
+ file://create_real_short_triangle32.c \
+ file://de10-nano-fftsw-init.service \
+ file://duplicate_x128.sh \
+ file://duplicate_x32.sh \
+ file://duplicate_x8.sh \
+ file://fft_256.c \
+ file://fft_256x32.c \
+ file://fft_256x32x128.c \
+ file://fft_4096.c \
+ file://fftdma_256.c \
+ file://fftdma_256x32.c \
+ file://fftdma_256x32x128.c \
+ file://fftdma_4096.c \
+ file://images/create_gnuplot_sine_256.gnu \
+ file://images/create_gnuplot_sine_256x32.gnu \
+ file://images/create_gnuplot_sine_4096.gnu \
+ file://images/create_gnuplot_squares_256.gnu \
+ file://images/create_gnuplot_squares_256x32.gnu \
+ file://images/create_gnuplot_squares_4096.gnu \
+ file://images/create_gnuplot_triangle_256.gnu \
+ file://images/create_gnuplot_triangle_256x32.gnu \
+ file://images/create_gnuplot_triangle_4096.gnu \
+ file://images/create_montage_sine_256.sh \
+ file://images/create_montage_sine_256x32.sh \
+ file://images/create_montage_sine_4096.sh \
+ file://images/create_montage_squares_256.sh \
+ file://images/create_montage_squares_256x32.sh \
+ file://images/create_montage_squares_4096.sh \
+ file://images/create_montage_triangle_256.sh \
+ file://images/create_montage_triangle_256x32.sh \
+ file://images/create_montage_triangle_4096.sh \
+ file://images/README_IMAGES.TXT \
+ file://ne10cpx_long_to_text.c \
+ file://ne10cpx_short_to_text.c \
+ file://neon16_256.c \
+ file://neon16_256x32.c \
+ file://neon16_256x32x128.c \
+ file://neon16_4096.c \
+ file://neon32_256.c \
+ file://neon32_256x32.c \
+ file://neon32_256x32x128.c \
+ file://neon32_4096.c \
+ file://overhead.c \
+ file://README_HOST.TXT \
+ file://README_SANDBOX_BUILD.TXT \
+ file://README_SANDBOX.TXT \
+ file://README_TARGET_BUILD.TXT \
+ file://README_TARGET.TXT \
+ file://real_short_to_ne10cpx_long.c \
+ file://real_short_to_ne10cpx_short.c \
+ file://run_all.sh \
+ file://run_fft_256.sh \
+ file://run_fft_256x32.sh \
+ file://run_fft_256x32x128.sh \
+ file://run_fft_4096.sh \
+ file://run_stream_256x16x1.sh \
+ file://run_stream_256x1x1.sh \
+ file://run_stream_256x32x128.sh \
+ file://sandbox_build_all.sh \
+ file://sandbox_create_input_waveforms.sh \
+ file://setup_env.src \
+ file://setup_target_fft_env.sh \
+ file://stream_fpga_256x16x1.c \
+ file://stream_fpga_256x1x1.c \
+ file://stream_fpga_256x32x128.c \
+ file://stream_neon32_256x16x1.c \
+ file://stream_neon32_256x1x1.c \
+ file://stream_neon32_256x32x128.c \
+ file://stream_raw_256x16x1.c \
+ file://stream_raw_256x1x1.c \
+ file://stream_raw_256x32x128.c \
+ file://target_build_all.sh \
+ file://target_build_app.sh \
+ file://target_build_lib.sh \
+"
+
+S = "${WORKDIR}"
+
+do_configure () {
+ cd ${S}
+ bash clean_all.sh
+}
+
+do_compile () {
+ cd ${S}
+ bash build_all.sh
+}
+
+do_install () {
+
+ install -d ${D}${base_libdir}/systemd/system
+ install -m 0644 ${WORKDIR}/*.service ${D}${base_libdir}/systemd/system
+
+ cd ${S}
+
+ install -d ${D}/examples/fft/bin
+ bash archive_for_target.sh
+ cp -a --no-preserve=ownership fft.tgz ${D}/examples/fft/bin/
+ cp -a --no-preserve=ownership README_TARGET.TXT ${D}/examples/fft/bin/
+ cp -a --no-preserve=ownership setup_target_fft_env.sh ${D}/examples/fft/bin/
+
+ install -d ${D}/examples/fft/src
+ bash archive_src_for_target.sh
+ cp -a --no-preserve=ownership fft_src.tgz ${D}/examples/fft
+ tar --no-same-owner -xf fft_src.tgz -C ${D}/examples/fft/src
+
+ install -d ${D}/examples/fft/sandbox
+ bash archive_src_for_sandbox.sh
+ cp -a --no-preserve=ownership fft_sandbox.tgz ${D}/examples/fft
+ tar --no-same-owner -xf fft_sandbox.tgz -C ${D}/examples/fft/sandbox
+}
+
+FILES_${PN} += "examples/fft/bin/"
+
+RDEPENDS_${PN} += "gnuplot"
+FILES_${PN} += "examples/fft/fft_src.tgz"
+FILES_${PN} += "examples/fft/fft_sandbox.tgz"
+FILES_${PN} += "examples/fft/src/"
+FILES_${PN} += "examples/fft/sandbox/"
+
+NATIVE_SYSTEMD_SUPPORT = "1"
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "de10-nano-fftsw-init.service"
+
diff --git a/recipes-demo/de10-nano-fftsw-apps/files/LICENSE b/recipes-demo/de10-nano-fftsw-apps/files/LICENSE
new file mode 100644
index 0000000..ab84792
--- /dev/null
+++ b/recipes-demo/de10-nano-fftsw-apps/files/LICENSE
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+Copyright (c) 2016 Intel Corporation
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
diff --git a/recipes-demo/de10-nano-fftsw-apps/files/README_HOST.TXT b/recipes-demo/de10-nano-fftsw-apps/files/README_HOST.TXT
new file mode 100644
index 0000000..c068ccb
--- /dev/null
+++ b/recipes-demo/de10-nano-fftsw-apps/files/README_HOST.TXT
@@ -0,0 +1,154 @@
+To build the applications in this directory, you should be able to run these
+host scripts in this order:
+
+source ./setup_env.src
+ this will put the cross compiler tools into the PATH
+./build_ne10.sh
+ this will build the ne10 library into a directory 'ne10'
+./build_all.sh
+ this will build all the applications
+./archive_for_target.sh
+ this will archive all applications and target scripts into fft.tgz for
+ installation on the target
+./copy_to_target.sh
+ this will copy the fft.tgz archive and setup_target_fft_env.sh over to
+ the target
+
+Description of directory contents:
+
+build_ne10.sh
+ host script to build the ne10 library
+
+build_all.sh
+ host script to build all applications and libraries, except ne10 library
+
+build_app.sh
+ host script to build one application
+
+build_lib.sh
+ host script to build one library
+
+clean_all.sh
+ host script to clean all build objects
+
+archive_for_target.sh
+ host script to archive all applications and scripts for target
+ installation
+
+copy_to_target.sh
+ host script that copies fft.tgz archive and setup_target_fft_env.sh
+ script over to the target
+
+create_input_waveforms.sh
+ target script that executes waveform creation applications and
+ duplication scripts to create all input waveforms for the applications
+ to consume
+
+duplicate_x128.sh
+duplicate_x32.sh
+duplicate_x8.sh
+ these target scripts duplicate a file x8, x32 or x128 times. These are
+ used to replicate the fundamental waveforms into longer patterns
+
+images/
+ this directory contains host scripts to create PNG images of