analyze-hw Example - 2024.2 English - UG908

Vivado Design Suite User Guide: Programming and Debugging (UG908)

Document ID
UG908
Release Date
2024-11-13
Version
2024.2 English

In this example, pdi_dbg_util is used to connect to host "myhost" to analyze a Versal device in situ. Before running the subcommand analyze-hw, the target index must be determined. To determine the target index, we first run the following command:

pdi_dbg_util list-targets -u TCP:myhost:3121

Running this command will show all the targets on the system. The output will be similar to the following:

Targets available on hardware server TCP:myhost:3121 :
 
 Index    Device                   JTAG Target
-------  --------  -------------------------------------------
   0     xcvm1802  jsn-VMK180 FT4232H-421952113768A-04caa093-0

The output indicates that the xcvm1802 device is located at target index 0. In the case of longer JTAG scan chains, all detected devices on the chain are displayed. This information is used to pass in the target index of the analyze-hw subcommand.

Shown below is an example of the analyze-hw subcommand. For this example, the design has been configured with a PDI intended for the xcvc1902 device. However, in this example, it is anticipated to fail as the part on the board is xcvm1802. In this scenario, the "-t" flag is set with a value of 0. It is noteworthy that for this specific JTAG chain, the "-t" option could have been omitted because the default target index value is 0. Nevertheless, it was incorporated to showcase the use of the target index option.

pdi_dbg_util analyze-hw -p design_top.pdi -t 0 -u TCP:myhost:3121

This command produces output similar to the following:

Analyzing Error Status....
 
No Errors found for rom
PLM Major Error: 0x0326
--------------------------------------------------
Name: XLOADER_ERR_GEN_IDCODE
Description: Error if Vivado configured part (IDCODE) mismatches with the actual part
 
PLM Minor Error: 0x0014
--------------------------------------------------
Name: XLOADER_ERR_IDCODE
Description: IDCODE mismatch

As shown, the analyze-hw subcommand requires no details about the target device. This is because the analyze-hw subcommand automatically detects the device details based on the selected target index. Additionally, the subcommand takes care of reading the log and providing additional status information, so you do not need to supply a log directly. If more details were required to analyze this type of error, the command would have displayed additional register information related to the issue.