I/O - 2023.2 English

AI Engine Tools and Flows User Guide (UG1076)

Document ID
UG1076
Release Date
2023-12-04
Version
2023.2 English

The I/O table, as shown in the following figure, provides detailed information about the PLIO connections to the ADF graph. For example, in this figure, there are two PLIO objects associated with the graph. The name of the PLIO connection, the width of the PLIO data connection, and the simulation test bench file associated with each PLIO connection is provided in the example.

input_plio  in  = input_plio::create("DataIn1", plio_32_bits,"data/input.txt");
output_plio out = output_plio::create("DataOut1", plio_32_bits,"data/output.txt");

The simulation test bench file also supports CSV file format that can be specified as provided in the below example.

input_plio  in  = input_plio::create("DataIn1", plio_32_bits,"data/input.csv");
output_plio out = output_plio::create("DataOut1", plio_32_bits,"data/output.csv");
Note: For details on the CSV format, refer CSV File Format
Figure 1. I/O Table
Table 1. Column Description
Column Description
Name The port name of a PLIO connection and whether it is an input or output.
Data Width The data width of the PLIO connection defined in the constructor. The width can be either 32 bits, or 64 bits, or 128 bits. Using 64 bits avoids inference of data width converters in programmable logic.
Frequency (MHz) The frequency (in MHz) defined (optionally) in the PLIO constructor for the PLIO connection. The default is a quarter of the device speed grade AI Engine frequency.
Buffers The number of buffers used in a PLIO connection. If a PLIO port is connected to an I/O buffer port of an AI Engine kernel two buffers are used, signifying a ping-pong buffer. A connection from a PLIO port to a stream port of the AI Engine kernel does not consume any buffers.
Connected Ports The number of ports the PLIO is connected to. This PLIO data can be multicast to multiple destinations in the AI Engine. For more information, see Multicast Support in AI Engine Kernel and Graph Programming Guide (UG1079).
Column The interface column used by the PLIO, which is assigned by the aiecompiler. The values could be in the 0-49 range.
Channel ID The channel within the interface column used by the PLIO.
Packet IDs The packet switching feature allows you to send packets of data to/from multiple destinations. These packets of data can be sent from/to the PL to/from the AI Engine. This column displays the ID of the packets used when packet switching is used. For more information, see Explicit Packet Switching in AI Engine Kernel and Graph Programming Guide (UG1079).