标量 - 2022.1 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文

标量实参用于将控制类型的信息传递给内核。标量实参无法从主机读取。对于指定的每个实参,创建相应的寄存器以便于将实参从软件传递到硬件。请参阅下图。

图 1. “RTL Kernel”Wizard 的“Scalars”页面
Number of scalar kernel input arguments
指定要传递给内核的标量输入实参的数量。对于指定的每个数字,将生成一个表行,允许定制实参名称和实参类型。标量数目没有下限,此向导允许的最大数目为 64 个。

以下是标量输入实参的定义:

Argument name
实参名称在生成的 Verilog 控制寄存器模块中用作输出信号。为每个实参赋予一个 ID 值。此 ID 值用于从主机软件访问该实参。在此向导的汇总页面上可以找到 ID 赋值方式。为确保最大兼容性,实参名称遵循与内核名称相同的标识符规则。
Argument type
指定实参的数据类型,从而指定位宽。这会影响生成的 RTL 内核模块中的寄存器宽度。可用的数据类型仅限于 OpenCL C 规范版本 2.0 的“6.1.1 内置标量数据类型”部分中指定的数据类型。此规范为每种数据类型提供了关联的位宽。无论实参类型如何,RTL Wizard 都会在寄存器映射中为所有标量保留 64 位。如果实参类型为 32 位或更少,则 RTL Wizard 将把已分配的 64 位中的上半 32 位设置为保留地址位置。位宽大于 32 位的数据类型需要对控制寄存器进行两次写入操作。