01-28-2019 11:02 PM
Here is my some code in Sdx 2018.2:
#pragma SDS data copy(stonesimg[0:HEIGHT*WIDTH],valve_column_[0:64],valvearray[0:HEIGHT*64]) #pragma SDS data access_pattern(stonesimg:RANDOM, valve_column_:RANDOM,valvearray:RANDOM) #pragma SDS data data_mover(stonesimg:AXIDMA_SIMPLE, valve_column_:AXIDMA_SIMPLE,valvearray:AXIDMA_SIMPLE) void convertvalve(ap_uint<1> stonesimg[HEIGHT*WIDTH],ap_uint<10> valve_column_[64],ap_uint<1> valvearray[HEIGHT*64]);
(HEIGHT:192 WIDTH:448)
In my opinion,data transfer time should be few because the parameters of function "convertvalve" use accurate data type not standard C/C++ data type .Unfortunately, the data motion network is not like that:
As has shown above, the transfer size is 192*448*1 bytes ! Why ? Shouldn't it be 192*448*1/8 bytes after i have used ap_uint<1> ? !
01-31-2019 05:53 PM
Solved ! A friend told me don't use accurate data type as the parameters of accelarator function.
01-31-2019 05:53 PM
Solved ! A friend told me don't use accurate data type as the parameters of accelarator function.