Programming FTDI Devices for Vivado Hardware Manager Support - 2022.2 English

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

Document ID
Release Date
2022.2 English
For FTDI devices to be recognized as a USB-to-JTAG interface in Xilinx® JTAG software tools such as XSDB or the Vivado® Hardware Manger the EEPROM on the FTDI device must be programmed. Programming the FTDI is accomplished by using the program_ftdi utility included in the Vivado install. Once programmed, the FTDI device will be recognized as a valid programming cable in Vivado.
Note: For on-board implementation details including FTDI connectivity, please reference the Xilinx VCK190 Schematics available in XTP610 on
Note: The program_ftdi utility will configure Channel A to be used as a USB-to-JTAG interface. If the device has multiple channels, such as in the case of FT4232H, these channels will be configured to the default RS232 UART mode. If the default RS232 UART mode is not desirable, it is possible to use the FT_PROG EEPROM utility provided by FTDI to change the port configuration for any of the unused channels without impacting the ability to recognize the FTDI device in Xilinx JTAG software tools.

The program_ftdi utility supports the following FTDI devices:

  • FT232H
  • FT2232H
  • FT4232H
The following is the command reference.

****** program_ftdi v2022.2
**** Build date : Sep 20 2022-16:54:54
** Copyright 1986-2021 Xilinx, Inc. All Rights Reserved.

Short Description:
Write/Read to FTDI EEPROM for Xilinx JTAG Tools support

program_ftdi {-write -ftdi=<ftdi_part> -serial=<serial_number> [options] | 
-write -filein=<cfg_filein> |
-read [-fileout=<cfg_fileout>] |
-erase} [-help] 

Name Description 
-f, -fdti Specify the ftdi device to be programmed <FT232H | FT2232H | FT4232H> 
-s, -serial Serial number to be written into the EEPROM
[-v, --vendor] Vendor information
[-b, --board] Name of the board/product being programmed
[-d, -desc, -description] A short description of the board
-fi, -filein Input file with all fields to be written
[-fo, -fileout] File to which the FDI EEPROM should be read back
[-lh, -longhelp] Get long help description for program_ftdi util 

program_ftdi -write -ftdi FT2232H -serial 0ABC01 -vendor "my vendor co" -board "my board" -desc "my product desc" 
program_ftdi -write -filein <path_to_config_file>
program_ftdi -read
program_ftdi -read -fileout <path_to_config_file>
program_ftdi -erase
Note: Be sure to verify and update the Vendor, Board, Description and Serial Number fields in the above example before programming.