这些类表示 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 binary, bool hex);
以上 input_plio
/output_plio
布尔值端口规范可用于指示输入数据文件中的内容采用十六进制格式还是二进制格式。
数据文件中的数据必须根据每一行的 input_plio
/output_plio
属性的总线宽度(32、64 或 128)及其连接到的 graph 端口的数据类型来进行组织。例如,如果某个 64 位 input_plio
为内核端口提供类型为 int32
的数据,则要求将文件数据组织为两列。但同样的 64 位 input_plio
向内核端口提供类型为 cint16
的数据时,则要求将数据组织为四列,每一列均代表复数数据类型的 16 位实数部分或虚数部分。