11-07-2014 07:18 AM
Hi, Dear all,
I modified the XAPP1170 demo in Zedboard, and i found out a interesting thing: (the original size was DIM=32)
The modified places are:
first: *.cpp - modify the number of size from 1024(DIM=32) into 16386(DIM=128), and all
the corresponding places.
dut_*_accel_core <float, 128, 128*128, 4, 5, 5>(in_stream,
second, arm_code part: modify main.c and lib_xcore_hw.h : SIZE 16386 in
order for the testing.
After these two modification, you will have two kinds of SDK problem:
the first one: if you initialize the input A array, and output B array inside the main.c, the SDK will stop and print out error:
Error: DMA init failed
the second one: if you comment the initialize part of the input array
and output array, the SDK will halt on
while (XAxiDma_Busy(&AxiDma, XAXIDMA_DMA_TO_DEVICE)) ;
and i cannot fix this, do you have any suggestions on this?
Thank you very much!
11-07-2014 07:35 AM
the problem seems like was caused by capacity error which was caused by Change to transfer 16386 (32 bit) data through DMA !
But this didn´t acutally make sense, cause the specification on AXI DMA Engine claimed that length register for holding the number of bytes transfers was from 8-23 bits, means they can used to transfer for more than 16386*32bit data?
11-10-2014 12:15 PM
01-31-2015 10:00 AM
I also followed the same application note: xapp1170. I modified the sizes of matrices. And then continued the same flow: accelerator synthesis from vivado hls => exporting as PCore => embedded system design => running arm code in SDK. For large size of matrices , my program halts at while ((XAxiDma_Busy(&AxiDma, XAXIDMA_DEVICE_TO_DMA)) ||
Can anyone help me how to solve this?
If I have to change the no of bits in the length register of DMA, then how to do that (as @bwiec suggested this)