Deadlock Detection Using XSDB - 2023.2 English

Vitis Tutorials: AI Engine

Document ID
XD100
Release Date
2023-11-29
Version
2023.2 English

It is also possible to examine the status of the AI Engine using XSDB both on Linux and baremetal operating systems. This feature allows you to debug applications and detect the status of the AI Engine in situations where the board is in a deadlock or hung state. Unlike the xbutil command which requires XRT, the XSDB command runs independent of XRT.

  1. Run the hardware server from the computer that connects to the target board. To do so, launch the hw_server from the computer that has a JTAG connection to the VCK190 board. launch hw server

  2. Go to the directory where the AI Engine compile Work/directory was generated, and launch XSDB.

  3. From the XSDB terminal, issue the following commands from the XSDB prompt:

    xsdb
    %xsdb connect -url TCP:${COMPUTER NAME/IP}:3121
    %xsdb ta
    %xsdb ta 1
    %xsdb source $::env(XILINX_VITIS)/scripts/vitis/util/aie_status.tcl
    
  4. Issue the following command to generate the AI Engine status in XSDB:

    aiestatus examine -work-dir ./Work -graphs mygraph
    

    The output of the command is as follows:

    xsdb% aiestatus examine -work-dir ./Work -graphs mygraph
    Reading status registers for AI Engine tiles in graph mygraph...
    AIE Tiles: 24,1 25,1 25,2 25,3
    
  5. A new JSON file, aie_status_<date_time>.json, gets created in the current working directory. Open the file in the Vitis Analyzer using the option, Import XSDB/XBUtil JSON output, point to the JSON, AI Engine compile summary, and output the aiestatus.run_summary file.

    The analysis in the Vitis Analyzer is similar to AI Engine Status Using XRT.

    Revert back all the changes in the source code to exercise other features in this tutorial.