AR# 61312

Vivado Hardware Manager - All 3rd party devices are not recognized in the JTAG chain


If I have third party devices in the JTAG chain. 

How do I add the IDCODE, IR length, and name for the unknown devices in Vivado 2014.2 and newer versions?


You will need to create a .csv file containing device properties, for example devices.csv.

The format is comma separated with two header rows, the first containing the name of each column and the second containing the type of each column.

For example:


To load the custom device properties, copy the devices.csv file into your ..Xilinx/Vivado/2016.x/bin directory, and start hw_server in a separate CMD Prompt (Not using Vivado Tcl shell or from the Vivado Tcl console) using the following Tcl command:

hw_server -e "set device-info-file <file>.csv"

The order of entries in the .csv file does not correspond to the order of devices in the scan chain. 

You do not need to include the Xilinx devices in the CSV file. Just the non-Xilinx devices.

The .csv file adds entries into a table which maps the IDCODE to device properties.

The order of devices in a scan chain is determined by reading the IDCODE from the scan chain and then looking up the IDCODEs in the table to find the device properties, like IR length, etc.

Currently, we do not have a way to manually enumerate devices on a scan chain.

The main use case for this would be for devices that do not have an IDCODE.

The mask field specifies which bits of the IDCODE are significant for the table lookup.

The 4 most significant bits of the IDCODE are a version number and it is usually not needed for the table lookup, so the mask is typically 0x0fffffff, i.e. 268435455 decimal.

If all bits are significant then the mask should be 0xffffffff.

A working example .csv file is attached to this answer record.

  • You MUST use Vivado 2014.2 and newer, previous versions will not accept the "-e" switch in the hw_server command.
  • The .csv file preprocessor accepts comment characters like "#".
  • The .csv file is space sensitive, so any spaces between the commas will cause issues.
  • The IDCODE and MASK value have to be specified in hex, so 0x has to be included.
  • When opening in Microsoft Excel, also open in a Text Editor to make sure no quotes or spaces were mistakenly added to the file.
  • Devices that are not in your actual JTAG chain will not show up, the Hardware has to exist.
  • Non-Xilinx 3rd party devices will not show up in the JTAG chain without the use of the CSV file.


Associated Attachments

Name File Size File Type
devices.csv 2 KB CSV
AR# 61312
Date 03/23/2017
Status Active
Type General Article