You can debug a VFS simulation object in two ways:
- From the Vitis Unified IDE (recommended), use the VFS Application launch configuration to start the VFS script and attach GDB, or to attach GDB to a running VFS process. See VFS Application Launch Configuration .
- From a standard
gdbenvironment, obtain the VFS process ID and attachgdpmanually
- In MATLAB:
vfs.getpid()Note: All VFS objects in a MATLAB script share the same process ID, which is separate from the MATLAB's own process ID. - In Python:
import os os.getpid()Note: All VFS objects run in the same process as the Python script.
You can use printf for simpler
debugging. For MATLAB, any printed output appears in the
terminal where the application was launched.
Debugging with x86 simulation dump files
VFS simulation of AI Engine graph objects use the x86 simulator which has a
feature to dump data snapshots. The snapshots allow users to inspect data traffic at
kernel ports without using the debugger. This feature is enabled in VFS with <vfs_graph_object>.setPortDump("<dir_name>"). The argument
<dir_name> is optional, with default
value "aieGraph".
<dir_name> argument is used to separate the dump output for
graph object and can only be set once.The x86 simulator writes the dump files after simulation is
finished. As VFS keeps the simulation thread running for interaction, the simulation
object need to be destructed to terminate the thread. Running <vfs_graph_object>.writePortDump() automatically
handles the destruction. The command also decodes the generated dump file to
readable format by the VFS workspace.