10-22-2017 04:46 AM
I am getting the error 'ERROR: [DMAnalysis 83-4429] The latency of hardware function "mmult_accel" cannot be determined.' when building some of the examples like the matrix multiplication example in SDSoC. Other examples build just fine. The log says:
INFO: [DMAnalysis 83-4494] Analyzing hardware accelerators...
ERROR: [DMAnalysis 83-4429] The latency of hardware function "mmult_accel" cannot be determined.
WARNING: [DMAnalysis 83-4430] Consider modifying the loop boundary in the function to be compile-time constant, or use Vivado HLS's tripcount pragma.
/opt/Xilinx/SDx/2017.2/bin/XidanePass: 1: /opt/Xilinx/SDx/2017.2/bin/XidanePass: gawk: not found
XidanePass exited with return code 1
- errors detected
ERROR: [SdsCompiler 83-5019] Exiting sds++ : Error when calling '/opt/Xilinx/SDx/2017.2/bin/XidanePass --platform zc702 --dmclkid 2 --repo /home/user/development/projects/fpga/workspace/mat_mul2/Release/_sds/.cdb/xd_ip_db.xml --dmdb /opt/Xilinx/SDx/2017.2/data/DM.db -os linux -processor cortex-a9 -perfest'
sds++ log file saved as /home/user/development/projects/fpga/workspace/mat_mul2/Release/_sds/reports/sds.log
ERROR: [SdsCompiler 83-5004] Build failed
sds++ completed at Sun Oct 22 13:25:15 CEST 2017
There is a warning: 'Consider modifying the loop boundary in the function to be compile-time constant, or use Vivado HLS's tripcount pragma.' Does the loop boundary need to be fixed? Is there some other workaround to work with a flexible loop boundary?
10-23-2017 08:48 AM
Are you using Ubuntu? If so, try installing gawk.
10-23-2017 04:33 PM
I am using Ubuntu and I have installed gawk but I get the same error except for the 'gawk: not found' error. I managed to get the example to build using the HLS loop_tripcount pragma. Depending on the values for the parameters min and max in the pragma, there is an up to about 40x higher estimated number of cycles in the performance estimate compared to the fixed loop boundary case. Is this expected?
11-07-2017 03:46 PM
Current release of SDx does not support hardware performance estimation when the loop boundary is a variable at compile time. Yes, the reported numbers depend on the min and max values set by the HLS pragma. This feature will be supported in future release.