Model Composer supports specifying the PLIO width using the AIE Signal Spec block and making external stream connections that cross the AI Engine to PL boundary.
The AIE Signal Spec block supports specifying the hardware platform I/O properties at the boundary of the AI Engine subsystem, along with the FIFO depth information as discussed in Stream FIFO Depth Specification.
From the Platform I/O tab in the AIE Signal Spec block, you can select the available PLIO width options from the drop-down menu.
Consider following example where an AIE Signal Spec block is connected at the boundary of the AI Engine subsystem.
By default, the PLIO width is set to auto
. Other available options are:
32
, 64
, and 128
.
After the PLIO width is specified as 64
and 128
for the
two AIE Signal Spec blocks in the example, the GUI updates as follows.
Snippet of graph.cpp
#include "DUT.h"
// Mapping inputs to PLIO
adf::PLIO in1("PL_AIE_IN", adf::plio_64_bits, "PL_AIE_IN.txt");
// Mapping outputs to PLIO
adf::PLIO out1("AIE_PL_OUT", adf::plio_128_bits, "AIE_PL_OUT.txt");
// instantiate cardano dataflow graph
DUT mygraph;
// connect dataflow graph to simulation platform
adf::simulation::platform<1,1> platform(&in1, &out1);
The PLIO attributes are used in a program to read input from a file or write output data to a file. You can see a simulation platform with one 64-bit PLIO attribute declared for input and one 128-bit PLIO attribute declared for output.