接口名 | 接口说明 |
__gen_SA_TEMPLATE_v1() | 生成带默认值的流地址生成器配置结构体,当前仅有 1 个版本的配置结构体。 |
__SA0_OPEN(tmpl)
__SA1_OPEN(tmpl)
__SA2_OPEN(tmpl)
__SA3_OPEN(tmpl) | 启动流地址生成器,tmpl 为流地址生成器配置结构体。 0 ~ 3 分别对应四个流地址生成器实例,下同。 |
__SA0_CLOSE()
__SA1_CLOSE()
__SA2_CLOSE()
__SA3_CLOSE() | 关闭流地址生成器 |
__SA0(_type, baseptr)
__SA1(_type, baseptr)
__SA2(_type, baseptr)
__SA3(_type, baseptr) | 以 baseptr 为基准,计算出对应的地址并解析为指向 _type 类型 (各种向量数据类型) 的指针。调用接口后不会触发流地址生成器下一步的计算。 |
__SA0ADV(_type, baseptr)
__SA1ADV(_type, baseptr)
__SA2ADV(_type, baseptr)
__SA3ADV(_type, baseptr) | 以 baseptr 为基准,计算出对应的地址并解析为指向 _type 类型 (各种向量数据类型) 的指针。调用接口后会触发流地址生成器下一步的计算。 |
__SA0_VPRED(_type)
__SA1_VPRED(_type)
__SA2_VPRED(_type)
__SA3_VPRED(_type) | 根据 _type 类型 (各种向量数据类型) 计算当前的越界标记并返回,返回类型为 vpred,vpred 数据类型的说明见下。 |
__SA0_BOOL(_type)
__SA1_BOOL(_type)
__SA2_BOOL(_type)
__SA3_BOOL(_type) | 与 __SAn_VPRED 接口差不多,只不过返回的为每个元素均为 bool 的向量数据类型,向量的长度与 _type 一致。由于相关指令大多接受 vpred 类型为参数,故常使用 __SAn_VPRED 接口而不是 __SAn_BOOL 接口。 |
__SA0_BREAK(level)
__SA1_BREAK(level)
__SA2_BREAK(level)
__SA3_BREAK(level) | 我没有实践过,官方教程也没有提及。 |
__SA0_SET_CR(data)
__SA1_SET_CR(data)
__SA2_SET_CR(data)
__SA3_SET_CR(data) | 我没有实践过,官方教程也没有提及。 |
__SA0_GET_CR()
__SA1_GET_CR()
__SA2_GET_CR()
__SA3_GET_CR() | 我没有实践过,官方教程也没有提及。 |
__SA0_GET_CNTR0()
__SA1_GET_CNTR0()
__SA2_GET_CNTR0()
__SA3_GET_CNTR0() | 我没有实践过,官方教程也没有提及。 |
__SA0_GET_CNTR1()
__SA1_GET_CNTR1()
__SA2_GET_CNTR1()
__SA3_GET_CNTR1() | 我没有实践过,官方教程也没有提及。 |
__SA0_GET_CNTR1()
__SA1_GET_CNTR1()
__SA2_GET_CNTR1()
__SA3_GET_CNTR1() | 我没有实践过,官方教程也没有提及。 |
__SA0_GET_CNTR1()
__SA1_GET_CNTR1()
__SA2_GET_CNTR1()
__SA3_GET_CNTR1() | 我没有实践过,官方教程也没有提及。 |
__SA_TEMPLATE_v1 结构体成员 | 数据类型 | 可取值 | 成员功能说明 |
ICNT0
ICNT1
ICNT2
ICNT3
ICNT4
ICNT5 | uint32_t | 非零正整数 | 多维数据每个维度的长度,最多支持 6 维数据的读取。 |
DECDIM1_WIDTH
DECDIM2_WIDTH
DECDIM3_WIDTH | uint32_t | 非零正整数 | 用于读写数据的越界检测,配合成员 DECDIM1、DECDIM1SD、DECDIM2、DECDIM2SD、DECDIM3、DECDIM3SD |
DIM1
DIM2
DIM3
DIM4
DIM5 | uint32_t | 非负整数 (可为 0) | 仅第 n ( 1≤n≤5 ) 维度增加 1 时,数据索引的变化值。 |
VECLEN | enum | __SA_VECLEN_1ELEM
__SA_VECLEN_2ELEMS
__SA_VECLEN_4ELEMS
__SA_VECLEN_8ELEMS
__SA_VECLEN_16ELEMS
__SA_VECLEN_32ELEMS
__SA_VECLEN_64ELEMS | 读或写数据的元素个数。 |
INV_DD1
INV_DD2
INV_DD3 | enum | __SA_INV_DD_OFF
__SA_INV_DD_ON | 不太清楚其功能,官方教程没有提及。 |
DIMFMT | enum | __SA_DIMFMT_1D
__SA_DIMFMT_2D
__SA_DIMFMT_3D
__SA_DIMFMT_4D
__SA_DIMFMT_5D
__SA_DIMFMT_6D | 数据的维度,最多 6 维。 |
DECDIM1
DECDIM2
DECDIM3 | enum | __SA_DECDIM_DIM0
__SA_DECDIM_DIM1
__SA_DECDIM_DIM2
__SA_DECDIM_DIM3
__SA_DECDIM_DIM4
__SA_DECDIM_DIM5 | 用于读写数据的越界检测,配合成员 DECDIM1_WIDTH、DECDIM2_WIDTH、DECDIM3_WIDTH |
DECDIM1SD
DECDIM2SD
DECDIM3SD | enum | __SA_DECDIMSD_DIM0
__SA_DECDIMSD_DIM1
__SA_DECDIMSD_DIM2
__SA_DECDIMSD_DIM3 | 用于读写数据的越界检测,配合成员 DECDIM1、DECDIM2、DECDIM3 |