接口基本信息
本章节介绍从SRC到DST的通用DMA搬运指令,数据搬运的通用参数说明如下:
参数名  | 
说明  | 
取值范围  | 
单位  | 
|---|---|---|---|
dst  | 
目的地址  | 
/  | 
/  | 
src  | 
源地址  | 
/  | 
/  | 
sid  | 
预留参数,设置为0即可  | 
/  | 
/  | 
nBurst  | 
搬运数据块个数  | 
[0, 2^12-1]  | 
/  | 
lenBurst  | 
一次连续搬运数据长度  | 
[0, 2^16-1]  | 
详见下表  | 
srcGap  | 
两次搬运源地址间隙  | 
[0, 2^16-1]  | 
详见下表  | 
dstGap  | 
两次搬运目的地址间隙  | 
[0, 2^16-1]  | 
详见下表  | 
padMode  | 
枚举类型,详见下表  | 
[0,8]  | 
/  | 
源地址  | 
源地址对齐  | 
目的地址  | 
目的地址对齐  | 
lenBurst  | 
srcGap  | 
dstGap  | 
|---|---|---|---|---|---|---|
GM  | 
data type aligned  | 
UBUF  | 
32Bytes  | 
lenBurst * 32Bytes  | 
srcGap * 32Bytes  | 
dstGap * 32Bytes  | 
UBUF  | 
32Bytes  | 
GM  | 
data type aligned  | 
lenBurst * 32Bytes  | 
srcGap * 32Bytes  | 
dstGap * 32Bytes  | 
GM  | 
data type aligned  | 
CBUF  | 
32Bytes  | 
lenBurst * 32Bytes  | 
srcGap * 32Bytes  | 
dstGap * 32Bytes  | 
UBUF  | 
32Bytes  | 
UBUF  | 
32Bytes  | 
lenBurst * 32Bytes  | 
srcGap * 32Bytes  | 
dstGap * 32Bytes  | 
CBUF  | 
32Bytes  | 
GM  | 
data type aligned  | 
lenBurst * 32Bytes  | 
srcGap * 32Bytes  | 
dstGap * 32Bytes  | 
说明:
- 总搬运数据量计算:nBurst * lenBurst * 32Bytes(block大小32Bytes);
 - srcGap/dstGap:表示两次搬运之间的gap,即上一个burst的尾地址跟下一个burst的首地址之间的距离;
 
padMode  | 
pad模式描述  | 
|---|---|
0  | 
无padding  | 
1  | 
  | 
2  | 
  | 
3  | 
  | 
4  | 
  | 
5  | 
  | 
6  | 
  | 
7  | 
  | 
8  | 
  | 
说明:
padMode等于0,表示无padding,当不等于0时,padMode设置通过set_padding(config)完成数据padding:
void set_padding(uint64_t config);
- config[63:32]默认为0;
 - 对于b32 padding data,config[31:0]生效;
 - 对于b16 padding data,只需设置config[15:0],其余bit设置为0;
 - 对于b8 padding data,需要将config[15:8]和config[7:0]设置为padding data,其余bit设置为0;
 - 对于b4 padding data,需要将config[15:12]、config[11:8]、config[7:4]、config[3:0]设置为padding data,其余bit设置为0;