UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer xx402709844
Observer
4,747 Views
Registered: ‎07-08-2016

FFT in SDSoC

Jump to solution

The FFT library works fine for HLS, but when I use the fft library in SDSoC, and there are errors about functions not define. I think the SDSoC will link to the HLS library, but something wrong with this case? Anyone could help? Thanks!

 

QQ截图20160822222905.jpg

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
8,685 Views
Registered: ‎07-13-2012

Re: FFT in SDSoC

Jump to solution

The code is synthesized in Vivado HLS to create the accelerator core, and is also processed by SDSoC to create a modified version of the original source with a new function containing stub code used to call the accelerator. The source file is also compiled using the cross-compiler for the target processor, e.g. the Zynq Cortex-A9. The original function remains in the source file (in this case containing FFT calls), and the error you encountered occurred while compiling the source file which contains the new function and the original function.

 

The Vivado HLS libraries are not available for the target processor and cannot be linked in. If you can guard the FFT calls in the source files to allow Vivado HLS to process it but exclude it from SDSoC cross compiling it, you should be able to eliminate the error. For example, see the link below

 

http://www.xilinx.com/support/documentation/sw_manuals/xilinx2015_2/sdsoc_doc/topics/calling-coding-guidelines/reference_c_cpp_guidelines.html

0 Kudos
4 Replies
Xilinx Employee
Xilinx Employee
4,712 Views
Registered: ‎08-01-2008

Re: FFT in SDSoC

Jump to solution
To work around this issue, include the source file as both "source" and "test bench" in the project
Thanks and Regards
Balkrishan
--------------------------------------------------------------------------------------------
Please mark the post as an answer "Accept as solution" in case it helped resolve your query.
Give kudos in case a post in case it guided to the solution.
0 Kudos
Observer xx402709844
Observer
4,679 Views
Registered: ‎07-08-2016

Re: FFT in SDSoC

Jump to solution

When I transfer into HLS from SDSoC, it can be synthesized. I think it is the problem that the SDSoC's compiler fails to find the corresponding .lib and .dll files of the FFT core (which are included in the HLS library). I have tried to fix it but could not link the .lib file to the compiler. 

0 Kudos
Observer xx402709844
Observer
4,678 Views
Registered: ‎07-08-2016

Re: FFT in SDSoC

Jump to solution
When I transfer into HLS from SDSoC, it can be synthesized. I think it is the problem that the SDSoC's compiler fails to find the corresponding .lib and .dll files of the FFT core (which are included in the HLS library). I have tried to fix it but could not link the .lib file to the compiler.
0 Kudos
Xilinx Employee
Xilinx Employee
8,686 Views
Registered: ‎07-13-2012

Re: FFT in SDSoC

Jump to solution

The code is synthesized in Vivado HLS to create the accelerator core, and is also processed by SDSoC to create a modified version of the original source with a new function containing stub code used to call the accelerator. The source file is also compiled using the cross-compiler for the target processor, e.g. the Zynq Cortex-A9. The original function remains in the source file (in this case containing FFT calls), and the error you encountered occurred while compiling the source file which contains the new function and the original function.

 

The Vivado HLS libraries are not available for the target processor and cannot be linked in. If you can guard the FFT calls in the source files to allow Vivado HLS to process it but exclude it from SDSoC cross compiling it, you should be able to eliminate the error. For example, see the link below

 

http://www.xilinx.com/support/documentation/sw_manuals/xilinx2015_2/sdsoc_doc/topics/calling-coding-guidelines/reference_c_cpp_guidelines.html

0 Kudos