Simulator Options - 2020.2 English

Versal ACAP AI Engine Programming Environment User Guide (UG1076)

Document ID
UG1076
Release Date
2020-11-24
Version
2020.2 English

The complete set of the AI Engine simulator (aiesimulator) options are described in this section. In most cases, just pointing to pkg-dir is sufficient.

Table 1. AI Engine Simulator Options
Options Description
-h, --help Show this help message and exit.
--dump-vcd FILE Dump VCD waveform information into FILE. Because the tool appends .vcd to the specified file name, it is not necessary to include the file suffix.
--gm-init-file <file> Read global memory image from file. This loads the memory initialization file as described in Simulating Global Memory.
--pkg-dir <PKG_DIR> Specify the package directory, for example, ./Work.
--profile Allow generation of printf trace messages on the stdout and collect profiling statistics during simulation. This could slow down the simulator slightly.
--simulation-cycle-timeout CYCLES Run the application for a given number of cycles after it is loaded.
Tip: Specify the --simulation-cycle-timeout option to end the simulation session after the specified number of timeouts. However, when specifying simulation timeout during the debug process, be sure to specify a large number of cycles because the debug will terminate when the timeout cycle is reached.
--online [-ctf] [-wdb]

Call vcdanalyze to parse VCD data on-the-fly, to optionally produce common trace format (CTF), or waveform database (WDB) output.

Tip: The --online option and --dump-vcd option cannot be used together. If both options are specified, only --online option takes effect.
--enable-memory-check Enables run-time program and data memory boundary access - checks. Any access violation will be reported as an [ERROR] message. By default this option is disabled.

Simulation Input and Output Data Streams

The default bit width for input/output streams is 32 bits. The bit width specifies the number of samples per line on the simulation input file. The interpretation of the samples on each line of the input file is dependent on the data type expected and the PLIO data width. The following table shows how the samples in the input data file are interpreted, depending on the data type and its corresponding PLIO interface specification.

Table 2. Simulation Input Data Dependency on Data Type and PLIO Width
Data Type PLIO 32 bit PLIO 64 bit PLIO 128 bit
PLIO *in0 = new PLIO("DataIn1", adf::plio_32_bits) PLIO *in0 = new PLIO("DataIn1", adf::plio_64_bits) PLIO *in0 = new PLIO("DataIn1", adf::plio_128_bits)
int8 //4 values per line

6 8 3 2

//8 values per line

6 8 3 2 6 8 3 2

//16 values per line

6 8 3 2 6 8 3 2 6 8 3 2 6 8 3 2

int16 // 2 values per line

24 18

// 4 values per line

24 18 24 18

// 8 values per line

24 18 24 18 24 18 24 18

int32 // single value per line

2386

// 2 values per line

2386 2386

// 4 values per line

2386 2386 2386 2386

int64 N/A 45678 // 2 values per line

45678 95578

cint16 // 1 cint value per line – real, imaginary

1980 485

// 2 cint values per line

1980 45 180 85

// 4 cint values per line

1980 485 180 85 980 48 190 45

cint32 N/A // 1 cint value per line – real, imaginary

1980 485

// 2 cint values per line

1980 45 180 85

float //1 floating point value per line

893.5689

//2 floating point values per line

893.5689 3459.3452

//4 floating point values per line

893.5689 39.32 459.352 349.345

cfloat N/A //1 floating point cfloat value per line, real, imaginary

893.5689 24156.456

//2 floating point cfloat values per line, real, imaginary

893.5689 24156.456 93.689 256.46