aboutsummaryrefslogtreecommitdiff
path: root/recipes-demo/de10-nano-fftsw-apps/files/README_HOST.TXT
blob: c068ccb40d1e75dc97ebe71a5620b9f0c5de08f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
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 waveform
	data text files using gnu plot and montage from imagemagick

run_all.sh
run_fft_256.sh
run_fft_256x32.sh
run_fft_256x32x128.sh
run_fft_4096.sh
run_stream_256x32x128.sh
run_stream_256x16x1.sh
run_stream_256x1x1.sh
	these target scripts execute all of the various permutations of the demo
	applications mentioned below
	
setup_target_fft_env.sh
	this target script is used to extract the fft.tgz archive onto the ram
	disk mounted at /mnt/ram

overhead.c
	this is the source for the overhead library that all of the applications
	are linked against

c16_256.c
c16_256x32.c
c16_256x32x128.c
c16_4096.c
	these applications use the NE10 C functions to implement the FFT
	algorithm for a variety of input sample sizes with 16-bit resolution
	
c32_256.c
c32_256x32.c
c32_256x32x128.c
c32_4096.c
	these applications use the NE10 C functions to implement the FFT
	algorithm for a variety of input sample sizes with 32-bit resolution

fft_256.c
fft_256x32.c
fft_256x32x128.c
fft_4096.c
	these applications use the FPGA logic to implement the FFT
	algorithm for a variety of input sample sizes.  This variant pushes
	the input samples into the FPGA and pulls the results back out using
	programmed I/O from the HPS Cortex A9 processor

fftdma_256.c
fftdma_256x32.c
fftdma_256x32x128.c
fftdma_4096.c
	these applications use the FPGA logic to implement the FFT
	algorithm for a variety of input sample sizes.  This variant moves
	the input samples into the FPGA and the results back out using DMA
	through the ACP port of the Cortex A9 processor

neon16_256.c
neon16_256x32.c
neon16_256x32x128.c
neon16_4096.c
	these applications use the NE10 NEON functions to implement the FFT
	algorithm for a variety of input sample sizes with 16-bit resolution

neon32_256.c
neon32_256x32.c
neon32_256x32x128.c
neon32_4096.c
	these applications use the NE10 NEON functions to implement the FFT
	algorithm for a variety of input sample sizes with 32-bit resolution

stream_fpga_256x32x128.c
stream_fpga_256x16x1.c
stream_fpga_256x1x1.c
stream_neon32_256x32x128.c
stream_neon32_256x16x1.c
stream_neon32_256x1x1.c
stream_raw_256x32x128.c
stream_raw_256x16x1.c
stream_raw_256x1x1.c
	these applications stream data from the FPGA into ramdisk files, the
	fpga variant DMAs the input stream thru the FPGA FFT logic before it
	is DMAed through the ACP port of the Cortex A9, the neon variant DMAs
	the raw input data stream through the ACP port and then computes the FFT
	algorithm on it before saving to the ram disk, the raw variant DMAs the
	raw input data stream through the ACP port and then directly into the
	ram disk

create_real_short_sine32.c
create_real_short_square32.c
create_real_short_triangle32.c
	these applications create the initial 32 samples of their respective
	waveform, sine, square and triangle
	
real_short_to_ne10cpx_long.c
real_short_to_ne10cpx_short.c
	these applications translate the real short data format into ne10cpx
	long and short format which is consumed by the demo applications
	
ne10cpx_long_to_text.c
ne10cpx_short_to_text.c
	these applications translate the ne10cpx long and short format binary
	data into text format output which may be read by gnu plot for example