S_AXILITE 偏移选项 - 2023.2 简体中文

Vitis 高层次综合用户指南 (UG1399)

Document ID
UG1399
Release Date
2023-12-18
Version
2023.2 简体中文
注释: Vitis 内核流程会判定所需的偏移。请勿在该流程中指定 offset 选项。

Vivado IP 流程中,Vitis HLS 根据使用的实参数据类型和端口协议来定义分配给 S_AXILITE 控制寄存器映射 中的端口的地址大小和范围。但是,INTERFACE 编译指示还包含 offset 选项,可供您用于指定 AXI4‑Lite 接口中的地址偏移。

为实参指定偏移后,必须考量数据大小并保留部分额外地址用于端口控制协议。保留的地址范围应基于 32 位字。您应保留足够的 32 位字,以满足您的实参数据类型需求,并额外保留一个字用于控制协议,即使对于 ap_none 也是如此。

提示: 对于阵列的 ap_memory 协议,您无需为控制协议保留额外的字。在此情况下,只需保留足够的 32 位字以满足实参数据类型即可。

例如,要为双精度保留足够的空间,则需为 64 位数据类型保留两个 32 位字,然后保留另一个 32 位字用于控制协议。因此总计需要保留三个 32 位字或 96 位。如果您的实参偏移从 0x020 开始,那么下一个可用偏移将从 0x02c 开始,以便为您的实参保留所需的地址范围。

如果您错误设置了实参偏移,未保留足够的地址范围以供数据类型和控制协议使用,那么 Vitis HLS 将会识别该错误、向您发出问题警告,并进行恢复,方法是将您错误布局的实参寄存器移动到控制寄存器映射末尾。这样您的构建即可继续,但如果您的主机应用或驱动程序已写入指定偏移,那么主机应用或驱动程序可能无效。