The basic verification Python script contained in this folder works as follows:
Reads the input data from the text files named
PLIO_i[*]in thev_inputfolder.Such data has been generated following the AIE-ML Kernel and Graph programming User Guide (UG1603)
In the
v_inputfolder, there are two other folders: one contains text files representing a sampled rectangular wave, the other contains text files with random data. You can replace the text files in thev_inputfolder with those.
Reads the AI Engine simulation output data from the text files named
PLIO_o[*]in the v_output folder.Such data has been copied and pasted from the simulation outputs created with Vitis Unified IDE.
Performs the FFT on the input data with the Numpy library functions, to create a golden reference to be compared with the AI Engine simulation outputs.
Creates a graph where the instance 0 is plotted both for the AI Engine output data and for the Numpy golden reference.
Performs the IFFT on the AI Engine simulation output data with the Numpy library functions, to compare it with the input data.
Creates a graph where the instance 0 is plotted both for the Numpy IFFT of the AI Engine outputs and for the input data.
Creates a graph displaying the relative error between the Numpy golden reference FFT and the AI Engine one for each point of instance 0.
Inside the script there is a section where it is possible to set the following parameters:
The datatype;
The number of points;
The number of signal parallel instances;
The IO temporal interleaving factor $\theta$: the ratio between the PL clock speed and the sample rate
The IO spacial interleaving factor: the amount of samples packed together in a IO channel
The number of sampling repetitions: the parameter inside the AI Engine Run method in the graph .cpp file;
Do not change such settings parameters while reproducing this tutorial.