We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 61312

Vivado HW Manager 2014.2 and newer tool versions - Non IEEE 1149.1 compliant devices are not recognized in the JTAG chain


If I have non JTAG compliant 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?


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/2014.4/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 JTAG compliant 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 Created 06/27/2014
Last Updated 08/11/2016
Status Active
Type General Article
  • Artix-7
  • Kintex-7
  • Virtex-7
  • Vivado Design Suite - 2014.2
  • Vivado Design Suite - 2014.3
  • Vivado Design Suite - 2014.4