这些类表示 I/O 端口规范,用于将 AI 引擎内核连接至表示可编程逻辑的外部平台端口。
成员函数
create(plio_type plio_width, std::string datafile);
input_plio 或 output_plio 端口规范表示位于 AI 引擎阵列处的单个 32 位、64 位或 128 位 AXI4-Stream 输入或输出。datafile 表示输入或输出文件路径,用于发出输入数据或接收输出数据以供仿真。您可以在仿真运行期间单独捕获此数据。
create(std::string logical_name, plio_type plio_width, std::string datafile);
input_plio 或 output_plio 端口规范表示位于 AI 引擎阵列处的单个 32 位、64 位或 128 位 AXI4-Stream 输入或输出。此处 plio_width 可取 plio_32_bits(默认)、plio_64_bits 或 plio_128_bits。logical_name 必须与逻辑架构接口规范中表示的对应端口的注解字段相同。
create(std::string logical_name, plio_type plio_width, std::string datafile, double frequency);
input_plio 或 output_plio 端口规范表示位于 AI 引擎阵列处的单个 32 位、64 位或 128 位 AXI4-Stream 输入或输出。此处 plio_width 可取 plio_32_bits(默认)、plio_64_bits 或 plio_128_bits。在构造函数中还可指定 input_plio/output_plio 端口的频率。
create(std::string logical_name, plio_type plio_width, std::string datafile, double frequency, bool hex);
以上 input_plio/output_plio 布尔值端口规范表示输入数据文件中的内容采用十六进制格式还是二进制格式。
数据文件中的数据必须根据每一行的 input_plio/output_plio 属性的总线宽度(32、64 或 128)及其连接到的计算图端口的数据类型来进行组织。例如,如果某个 64 位 input_plio 为内核端口提供类型为 int32 的数据,则要求将文件数据组织为两列。但同样的 64 位 input_plio 向内核端口提供类型为 cint16 的数据时,则要求将数据组织为四列,每一列均代表复数数据类型的 16 位实数部分或虚数部分。