cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
matifrenkel
Observer
Observer
790 Views
Registered: ‎01-11-2019

Zynq UltraScale+ MPSoC ZCU102 SDSoC Sobel filtering Example

 

When I try to load the Sobel filter Example using SDSoC environement for ZCU102 Evaluation board. I get some system error C/C++ Index shown in the attached file. When I try to compile the code it fails immedietaly. Any idea how to resolve this issue?

Another issue when trying to compile the cpp_FIR.cpp example

 

12:05:27 **** Build of configuration Release for project test_1 ****
make all
make --no-print-directory pre-build
sdsoc_make_clean Release
' '
make --no-print-directory main-build
'Building file: ../src/cpp_FIR.cpp'
'Invoking: SDS++ Compiler'
sds++ -Wall -O3 -I"../src" -c -fmessage-length=0 -MT"src/cpp_FIR.o" -MMD -MP -MF"src/cpp_FIR.d" -MT"src/cpp_FIR.o" -o "src/cpp_FIR.o" "../src/cpp_FIR.cpp" -sds-hw cpp_FIR cpp_FIR.cpp -clkid 1 -sds-end -sds-sys-config a53_linux -sds-proc a53_linux -sds-pf "zcu102"
Processing -sds-hw block for cpp_FIR
Analyzing source for RTL template usage
Create data motion intermediate representation

C:\Users\mfrenkel\US+MPSoC\test_1\Release>Q:\Xilinx\SDx\2019.1\llvm-clang\win64\llvm\bin\clang.exe -I../src -Wall -fmessage-length=0 -MMD -MP -D __SDSCC__ -target aarch64-linux-gnu -mcpu=cortex-a53 -O0 -g -I Q:/Xilinx/SDx/2019.1/target/aarch64-linux/include -D HLS_NO_XIL_FPO_LIB -I Q:/Xilinx/Vivado/2019.1/include -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include/c++/8.2.0 -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include/c++/8.2.0/aarch64-linux-gnu -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include/c++/8.2.0/backward -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/lib/gcc/aarch64-linux-gnu/8.2.0/include -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/lib/gcc/aarch64-linux-gnu/8.2.0/include-fixed -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/libc/usr/include -std=c++11 -emit-llvm -S C:/Users/mfrenkel/US+MPSoC/test_1/src/cpp_FIR.cpp -o C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/.llvm/src/cpp_FIR.s
../src/cpp_FIR.h:128:5: warning: unused label 'loop' [-Wunused-label]
loop: for (i = N-1; i >= 0; i--) {
^~~~~~

C:\Users\mfrenkel\US+MPSoC\test_1\Release>exit /b 0
Performing accelerator source linting for cpp_FIR
Performing pragma generation

C:\Users\mfrenkel\US+MPSoC\test_1\Release>Q:\Xilinx\SDx\2019.1\llvm-clang\win64\llvm\bin\clang.exe -E -IC:/Users/mfrenkel/US+MPSoC/test_1/src -Wall -fmessage-length=0 -MMD -MP -D __SDSCC__ -m64 -D HLS_NO_XIL_FPO_LIB -I Q:/Xilinx/SDx/2019.1/target/aarch64-linux/include -IC:/Users/mfrenkel/US+MPSoC/test_1/src -D __SDSVHLS__ -target aarch64-linux-gnu -mcpu=cortex-a53 -O0 -g -w -I Q:/Xilinx/SDx/2019.1/target/aarch64-linux/include -D HLS_NO_XIL_FPO_LIB -I Q:/Xilinx/Vivado/2019.1/include -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include/c++/8.2.0 -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include/c++/8.2.0/aarch64-linux-gnu -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include/c++/8.2.0/backward -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/lib/gcc/aarch64-linux-gnu/8.2.0/include -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/lib/gcc/aarch64-linux-gnu/8.2.0/include-fixed -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/libc/usr/include -std=c++11 C:/Users/mfrenkel/US+MPSoC/test_1/src/cpp_FIR.cpp -o C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/vhls/cpp_FIR_pp.cpp

C:\Users\mfrenkel\US+MPSoC\test_1\Release>exit /b 0
INFO: [PragmaGen 83-3231] Successfully generated tcl script: C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/vhls/cpp_FIR.tcl
Moving function cpp_FIR to Programmable Logic
sds++ log file saved as C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/reports/sds_cpp_FIR.log

'Finished building: ../src/cpp_FIR.cpp'
' '
'Building file: ../src/cpp_FIR_test.cpp'
'Invoking: SDS++ Compiler'
sds++ -Wall -O3 -I"../src" -c -fmessage-length=0 -MT"src/cpp_FIR_test.o" -MMD -MP -MF"src/cpp_FIR_test.d" -MT"src/cpp_FIR_test.o" -o "src/cpp_FIR_test.o" "../src/cpp_FIR_test.cpp" -sds-hw cpp_FIR cpp_FIR.cpp -clkid 1 -sds-end -sds-sys-config a53_linux -sds-proc a53_linux -sds-pf "zcu102"
Analyzing source for RTL template usage
Create data motion intermediate representation

C:\Users\mfrenkel\US+MPSoC\test_1\Release>Q:\Xilinx\SDx\2019.1\llvm-clang\win64\llvm\bin\clang.exe -I../src -Wall -fmessage-length=0 -MMD -MP -D __SDSCC__ -target aarch64-linux-gnu -mcpu=cortex-a53 -O0 -g -I Q:/Xilinx/SDx/2019.1/target/aarch64-linux/include -D HLS_NO_XIL_FPO_LIB -I Q:/Xilinx/Vivado/2019.1/include -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include/c++/8.2.0 -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include/c++/8.2.0/aarch64-linux-gnu -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include/c++/8.2.0/backward -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/lib/gcc/aarch64-linux-gnu/8.2.0/include -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/lib/gcc/aarch64-linux-gnu/8.2.0/include-fixed -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/include -IQ:/Xilinx/SDK/2019.1/gnu/aarch64/nt/aarch64-linux/aarch64-linux-gnu/libc/usr/include -std=c++11 -emit-llvm -S C:/Users/mfrenkel/US+MPSoC/test_1/src/cpp_FIR_test.cpp -o C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/.llvm/src/cpp_FIR_test.s
../src/cpp_FIR.h:128:5: warning: unused label 'loop' [-Wunused-label]
loop: for (i = N-1; i >= 0; i--) {
^~~~~~
C:/Users/mfrenkel/US+MPSoC/test_1/src/cpp_FIR_test.cpp:104:1: warning: unused function 'print_impulse_response' [-Wunused-function]
print_impulse_response()
^

C:\Users\mfrenkel\US+MPSoC\test_1\Release>exit /b 0
Compiling C:/Users/mfrenkel/US+MPSoC/test_1/src/cpp_FIR_test.cpp
C:/Users/mfrenkel/US+MPSoC/test_1/src/cpp_FIR.h: In instantiation of 'data_T CFir<coef_T, data_T, acc_T>::operator()(data_T) [with coef_T = int; data_T = int; acc_T = int]':
C:/Users/mfrenkel/US+MPSoC/test_1/src/cpp_FIR_test.cpp:91:19: required from here
C:/Users/mfrenkel/US+MPSoC/test_1/src/cpp_FIR.h:128:5: warning: label 'loop' defined but not used [-Wunused-label]
loop: for (i = N-1; i >= 0; i--) {
^~~~
C:/Users/mfrenkel/US+MPSoC/test_1/src/cpp_FIR_test.cpp:104:1: warning: 'void print_impulse_response()' defined but not used [-Wunused-function]
print_impulse_response()
^~~~~~~~~~~~~~~~~~~~~~
sds++ log file saved as C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/reports/sds_cpp_FIR_test.log

'Finished building: ../src/cpp_FIR_test.cpp'
' '
'Building target: test_1.elf'
'Invoking: SDS++ Linker'
sds++ --remote_ip_cache C:/Users/mfrenkel/US+MPSoC/ip_cache -o "test_1.elf" ./src/cpp_FIR.o ./src/cpp_FIR_test.o -dmclkid 1 -sds-sys-config a53_linux -sds-proc a53_linux -sds-pf "zcu102"
Analyzing object files
... C:/Users/mfrenkel/US+MPSoC/test_1/Release/src/cpp_FIR.o
... C:/Users/mfrenkel/US+MPSoC/test_1/Release/src/cpp_FIR_test.o
Generating data motion network

C:\Users\mfrenkel\US+MPSoC\test_1\Release>Q:\Xilinx\SDx\2019.1\llvm-clang\win64\llvm\bin\llvm-link.exe -o C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/.llvm/sds_all.o C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/.llvm/./src/cpp_FIR.s C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/.llvm/./src/cpp_FIR_test.s

C:\Users\mfrenkel\US+MPSoC\test_1\Release>exit /b 0

C:\Users\mfrenkel\US+MPSoC\test_1\Release\_sds\.llvm>opt -disable-output -mem2reg -basicaa -XidanePass --dmclkid 1 --repo C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/.cdb/xd_ip_db.xml --dmdb Q:/Xilinx/SDx/2019.1/data/DM.db -os linux -processor cortex-a53 -partition 0 0<sds_all.o
INFO: [DMAnalysis 83-4494] Analyzing hardware accelerators...
INFO: [DMAnalysis 83-4497] Analyzing callers to hardware accelerators...
INFO: [DMAnalysis 83-4444] Scheduling data transfer graph for partition 0
INFO: [DMAnalysis 83-4446] Creating data motion network hardware for partition 0
INFO: [DMAnalysis 83-4448] Creating software stub functions for partition 0
INFO: [DMAnalysis 83-4450] Generating data motion network report for partition 0
INFO: [DMAnalysis 83-4454] Rewriting caller code
Creating block diagram (BD)
Creating top.bd.tcl
Rewrite caller functions
Compile caller rewrite file C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/swstubs/cpp_FIR_test.cpp
C:/Users/mfrenkel/US+MPSoC/test_1/src/cpp_FIR.h: In instantiation of 'data_T CFir<coef_T, data_T, acc_T>::operator()(data_T) [with coef_T = int; data_T = int; acc_T = int]':
C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/swstubs/cpp_FIR_test.cpp:91:19: required from here
C:/Users/mfrenkel/US+MPSoC/test_1/src/cpp_FIR.h:128:5: warning: label 'loop' defined but not used [-Wunused-label]
loop: for (i = N-1; i >= 0; i--) {
^~~~
C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/swstubs/cpp_FIR_test.cpp:105:1: warning: 'void print_impulse_response()' defined but not used [-Wunused-function]
print_impulse_response()
^~~~~~~~~~~~~~~~~~~~~~
Prepare hardware access API functions
Create accelerator stub functions
Compile hardware access API functions
Compile accelerator stub functions
C:/Users/mfrenkel/US+MPSoC/test_1/src/cpp_FIR.h: In instantiation of 'data_T CFir<coef_T, data_T, acc_T>::operator()(data_T) [with coef_T = int; data_T = int; acc_T = int]':
cpp_FIR.cpp:96:18: required from here
C:/Users/mfrenkel/US+MPSoC/test_1/src/cpp_FIR.h:128:5: warning: label 'loop' defined but not used [-Wunused-label]
loop: for (i = N-1; i >= 0; i--) {
^~~~
Preliminary link application ELF
Enable generation of hardware programming files
Enable generation of boot files
Calling VPL

****** vpl v2019.1 (64-bit)
**** SW Build 2552052 on Fri May 24 14:49:42 MDT 2019
** Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.

Attempting to get a license: ap_opencl
WARNING: [VPL 17-301] Failed to get a license for 'ap_opencl'. Explanation: The license feature ap_opencl could not be found.
Resolution: Check the status of your licenses in the Vivado License Manager. For debug help search Xilinx Support for "Licensing FAQ".
Attempting to get a license: ap_sdsoc
Feature available: ap_sdsoc
INFO: [VPL 60-895] Target platform: Q:/Xilinx/SDx/2019.1/platforms/zcu102/zcu102.xpfm
INFO: [VPL 60-423] Target device: zcu102
INFO: [VPL 60-1032] Extracting DSA to C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/p0/vivado/vpl/.local/dsa
[12:12:41] Run vpl: Step create_project: Started
Creating Vivado project.
[12:13:04] Run vpl: Step create_project: Completed
[12:13:04] Run vpl: Step create_bd: Started
[12:14:19] Run vpl: Step create_bd: RUNNING...
[12:15:35] Run vpl: Step create_bd: RUNNING...
[12:15:51] Run vpl: Step create_bd: Completed
[12:15:51] Run vpl: Step update_bd: Started
[12:15:53] Run vpl: Step update_bd: Completed
[12:15:53] Run vpl: Step generate_target: Started
[12:17:08] Run vpl: Step generate_target: RUNNING...
[12:18:24] Run vpl: Step generate_target: RUNNING...
[12:18:59] Run vpl: Step generate_target: Completed
[12:18:59] Run vpl: Step config_hw_runs: Started
[12:19:10] Run vpl: Step config_hw_runs: Completed
[12:19:10] Run vpl: Step synth: Started
[12:20:42] Block-level synthesis in progress, 0 of 3 jobs complete, 2 jobs running.
[12:21:13] Block-level synthesis in progress, 0 of 3 jobs complete, 2 jobs running.
[12:21:43] Block-level synthesis in progress, 0 of 3 jobs complete, 2 jobs running.
[12:22:14] Block-level synthesis in progress, 1 of 3 jobs complete, 1 job running.
[12:22:44] Block-level synthesis in progress, 2 of 3 jobs complete, 0 jobs running.
[12:23:15] Block-level synthesis in progress, 2 of 3 jobs complete, 0 jobs running.
[12:23:45] Block-level synthesis in progress, 2 of 3 jobs complete, 1 job running.
[12:24:16] Block-level synthesis in progress, 2 of 3 jobs complete, 1 job running.
[12:24:46] Block-level synthesis in progress, 2 of 3 jobs complete, 1 job running.
[12:25:16] Block-level synthesis in progress, 2 of 3 jobs complete, 1 job running.
[12:25:47] Block-level synthesis in progress, 2 of 3 jobs complete, 1 job running.
[12:26:17] Block-level synthesis in progress, 2 of 3 jobs complete, 1 job running.
[12:26:48] Block-level synthesis in progress, 2 of 3 jobs complete, 1 job running.
[12:27:19] Block-level synthesis in progress, 2 of 3 jobs complete, 1 job running.
[12:27:49] Block-level synthesis in progress, 2 of 3 jobs complete, 1 job running.
[12:28:20] Block-level synthesis in progress, 2 of 3 jobs complete, 1 job running.
[12:28:50] Block-level synthesis in progress, 2 of 3 jobs complete, 1 job running.
[12:29:17] Run vpl: Step synth: Failed
[12:29:17] Run vpl: FINISHED. Run Status: synth ERROR
ERROR: [VPL 60-704] Integration error, One or more synthesis runs failed during dynamic region dcp generation
ERROR: [VPL 60-704] Integration error, run 'synth_1' couldn't start because one or more of the prerequisite runs failed
ERROR: [VPL 60-704] Integration error, run 'zcu102_cpp_FIR_1_if_0_synth_1' failed, please look at the run log file 'C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/p0/vivado/vpl/prj/prj.runs/zcu102_cpp_FIR_1_if_0_synth_1/runme.log' for more information
ERROR: [VPL 60-1328] Vpl run 'vpl' failed
ERROR: [VPL 60-806] Failed to finish platform linker
ERROR: [SdsCompiler 83-5019] Exiting sds++ : Error when calling 'Q:/Xilinx/SDx/2019.1/bin/vpl --iprepo C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/iprepo/repo --iprepo Q:/Xilinx/SDx/2019.1/data/ip/xilinx --platform Q:/Xilinx/SDx/2019.1/platforms/zcu102/zcu102.xpfm --temp_dir C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/p0 --output_dir C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/p0/vpl --input_file C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/p0/.xsd/top.bd.tcl --target hw --save_temps --kernels cpp_FIR:adapter --webtalk_flag SDSoC --remote_ip_cache C:/Users/mfrenkel/US+MPSoC/ip_cache --xp \"param:compiler.deleteDefaultReportConfigs=false\" '
sds++ log file saved as C:/Users/mfrenkel/US+MPSoC/test_1/Release/_sds/reports/sds.log
ERROR: [SdsCompiler 83-5004] Build failed

make[1]: *** [makefile:49: test_1.elf] Error 1
make: *** [makefile:40: all] Error 2

12:29:18 Build Finished (took 23m:50s.461ms)

0 Kudos
6 Replies
dsp81
Adventurer
Adventurer
741 Views
Registered: ‎10-25-2017

There's a bug in the 2019.1 Sobel filter example where XF_USE_URAM is not defined.  You can see in the xf_config_param.h file that XF_USE_URAM is commented out.  You could try uncommenting that line and see if you get any further in the compile.

0 Kudos
matifrenkel
Observer
Observer
731 Views
Registered: ‎01-11-2019

I don't see this file xf_config_param.h in the created XF Lib directory. I see xf_params,h and I don;t see the XF_USE_URAM word in this file.

0 Kudos
dsp81
Adventurer
Adventurer
725 Views
Registered: ‎10-25-2017

The xf_config_params.h file is located in the project src directory.

xf_config_params_h.png

0 Kudos
matifrenkel
Observer
Observer
708 Views
Registered: ‎01-11-2019

Ok this is the only thing I see in this file

 

***************************************************************************/
/* Optimization type */

#define RO 0 // Resource Optimized (8-pixel implementation)
#define NO 1 // Normal Operation (1-pixel implementation)

0 Kudos
matifrenkel
Observer
Observer
707 Views
Registered: ‎01-11-2019

I created the Sobel in order to check your comment and I uncommented the #define see below. The issue aioth the C/C++ crash was NOT resolved

 

***************************************************************************/
/* Optimization type */


#define RO 0 // Resource Optimized (8-pixel implementation)
#define NO 1 // Normal Operation (1-pixel implementation)

/* Set Filter size */


#define FILTER_SIZE_3 1
#define FILTER_SIZE_5 0
#define FILTER_SIZE_7 0

#define GRAY 1
#define RGBA 0
#define XF_USE_URAM false

0 Kudos
matifrenkel
Observer
Observer
701 Views
Registered: ‎01-11-2019

I assume that because of the C/C++ Index error message in ALL the File IO examples I get this kind of error message if I try to compile any of these files. AGAIN, this is NOT Sobel Filter specific issue this is happening in ALL File IO examples. 

12:50:39 **** Build of configuration Debug for project Sobel_Filter ****
make all
make --no-print-directory pre-build
sdsoc_make_clean Debug
' '
make --no-print-directory main-build
'Building file: ../src/xf_sobel_accel.cpp'
'Invoking: SDS++ Compiler'
sds++ -Wall -O0 -g -I"../src" -I../libs/xfopencv/include -c -fmessage-length=0 -MT"src/xf_sobel_accel.o" -Wno-overloaded-virtual -Wno-unused-label -Wno-strict-overflow -Wno-uninitialized -Wno-unused-function -Wno-unused-variable -Wno-unknown-attributes -Wno-unused-local-typedefs -Wno-sign-compare -mstrict-align -hls-target 1 -MMD -MP -MF"src/xf_sobel_accel.d" -MT"src/xf_sobel_accel.o" -o "src/xf_sobel_accel.o" "../src/xf_sobel_accel.cpp" -sds-hw Sobel xf_sobel.hpp -clkid 2 -sds-end -sds-sys-config a53_linux -sds-proc a53_linux -sds-pf "zcu102"
ERROR: [SdsCompiler 83-5168] -sds-hw block for Sobel invalid, source file xf_sobel.hpp cannot be a header file
make[1]: *** [src/subdir.mk:23: src/xf_sobel_accel.o] Error 1
make: *** [makefile:40: all] Error 2
ERROR: [SdsCompiler 83-5098] Issue encountered processing command line options
ERROR: [SdsCompiler 83-5004] Build failed


12:50:51 Build Finished (took 12s.457ms)

0 Kudos