The complete set of the AI Engine simulator
(aiesimulator
) options are described in this
section. In most cases, pointing to pkg-dir is
sufficient.
Options | Description |
---|---|
-h , --help
|
Shows the help message and exits. |
--display-run-interval=<time in ns>
|
Displays time stamp periodically after each time interval (in ns).
For example, aiesimulator
--display-run-interval=10 --pkg-dir=./Work --i=.. will
display the time stamp every 10 ns. |
--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.Note: This option allows you to
access a subset of the signals. If
you want all the signals or a different subset of the signals
you should use the
--options-file option to specify the category of
signals to be generated in the VCD file.Note: To generate the XPE file from the aiesimulator
generated vcd file, use the
vcdanalyze tool as
follows: The
available options are:
For information on using the XPE file, see
Power Design Manager User Guide (UG1556).
Note: The
--online option and --dump-vcd option cannot be
used together. If both options are specified, only the
--online option takes
effect. |
--options-file=<file>
|
Text file used to select and generate specific
VCD data. For example, aiesimulator
--options-file=<options>.txt --dump-vcd . The
<options.txt> file will
specify modules whose data needs to be generated as VCD data.This switch should be used along with |
--enable-memory-check
|
Enable runtime program and data memory boundary access check. Any violation access will be reported as an [ERROR] message. This option is disabled by default. When you run a simulation with this option enabled, and open the run summary in the Vitis IDE, the graph view displays a Memory Violations tab. This tab reports all the memory violations detected in the simulation run. You can click on a specific violation and navigate to the line in the source code causing the violation. For more information, see Memory Violations. |
--hang-detect-time=<time in ns>
|
The aiesimulator will exit if all
active cores are in a stalled state after the time period (in ns),
provided by this option. For example, if the option--hang-detect-time=10 is provided to
the aiesimulator , if after 10 ns
all the active cores are in a stalled state, the aiesimulator will exit. |
-i
|
Alias of --input-dir=<dir> option. |
-o
|
Alias of --output-dir=<dir> option. |
--pkg-dir=<dir>
|
Specify the package directory, for example, ./Work. |
--profile
|
Generates profiling data for all used cores. Allows generation of
printf trace messages on
stdout and collects profiling
statistics during simulation. This can slightly slow down the
simulator.Optionally, specify profiling of
specific cores by using Note: This option is not
supported in
hw_emu . |
--simulation-cycle-timeout=<cycles>
|
Run the application for a given number of cycles after it is loaded.
The cycles are AI Engine-based cycles, which in turn depend on the frequency that the AI Engine clocked at. Tip: Specify the
--simulation-cycle-timeout option to end the
simulation session after the specified number of cycles.
However, when specifying simulation timeout during the debug
process, be sure to specify a larger number of cycles because
the debug will terminate when the timeout cycle is
reached. |
--online -text -wdb
|
Use this option with For example, Note: The
--online option and --dump-vcd option cannot be used
together. If both options are specified, only the --online option takes
effect. |
--output-time-stamp
|
Use --output-time-stamp=no to get output file without time
values and --output-time-stamp to
get uniform time value (in ns) in output file. |
An AI Engine simulator display run example follows:
aiesimulator --pkg-dir=Work/ --display-run-interval=10
AI Engine Simulator
Version 2024.1 (linux64-bit)
SW Build 5026554 on 2024-04-03-15:21:04
Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
AIEMLsim feature license is found.
INFO: Executing config: Work//config/scsim_config.json
set use_simple_noc to: 1
Loading device config from: VC2802.json
AIE_WORK_DIR = Work/
Initializing AIE driver...
Initializing ADF API...
XAIEFAL: INFO: Resource group Avail is created.
XAIEFAL: INFO: Resource group Static is created.
XAIEFAL: INFO: Resource group Generic is created.
IP-INFO: [ps_i24_ps_main] IP loaded.
Warning: ps_lib_path is empty, And supported simulators are XSIM, RIVIERA, XCELIUM, VCS and QUESTA
Info: DEVICE FILE: VC2802.json
Info: AIE SOLUTION FILE: Work//arch/aieshim_solution.aiesol
Disable unused tiles
xpe directory: BaseDesign/aie/Work//reports/graph.xpe
[AIESIM_OPTIONS]: aiesim_options file path aiesimulator_output/aiesim_options.txt
[INFO]: AIE Cycle-approximate Model
Running Dispatch Server on port: 45443
INFO: Running AIE2 MTMODEL Simulation with 3 threads
[INFO]: Disable Unused Memory Tiles
AIE2 ISS r1p4
ISS disables unused tiles
[INFO]: Array constructed
[INFO]: Shim constructed
[INFO]: mem_row constructed
------------------------------------------------------------------------------------------------
SLAVE STREAM INFO: | Port Name | Port Width | Stream Type | Channel Index
| S00_AXIS | 128 | PL STREAM | 160, 161
| S01_AXIS | 128 | PL STREAM | 136, 137
| S02_AXIS | 128 | PL STREAM | 128, 129
| S03_AXIS | 128 | PL STREAM | 168, 169
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
MASTER STREAM INFO: | Port Name | Port Width | Stream Type | Channel Index
| M00_AXIS | 128 | PL STREAM | 114, 115
| M01_AXIS | 128 | PL STREAM | 108, 109
| M02_AXIS | 128 | PL STREAM | 90, 91
| M03_AXIS | 128 | PL STREAM | 132, 133
------------------------------------------------------------------------------------------------
Enabled fast PM writes.
Enabled fast DM writes.
0 s IP-INFO: Starting to send data from file: default case ./data/input.txt
Starting to receive data into file: aiesimulator_output/data/output0.txt
IP-INFO: Starting to send data from file: default case ./data/input.txt
Starting to receive data into file: aiesimulator_output/data/output1.txt
IP-INFO: Starting to send data from file: default case ./data/input.txt
Starting to receive data into file: aiesimulator_output/data/output2.txt
IP-INFO: Starting to send data from file: default case ./data/input.txt
Starting to receive data into file: aiesimulator_output/data/output3.txt
IP-INFO: [ps_i24_ps_main] IP started.
60 ns Initializing graph traceGraph...
530 ns Configuring PL-Interface for graph traceGraph...
1130 ns Loading elfs of graph G...
Initializing graph G...
1180 ns Resetting cores of graph G...
1210 ns Configuring DMAs of graph G...
1220 ns Configuring PL-Interface for graph G...
1280 ns Set 16 iterations for the core(s) of graph G
Enabling core(s) of graph G
1460 ns Waiting for core(s) of graph G to finish execution ...
14470 ns core(s) are done executing