Programming FTDI Devices for Vivado Hardware Manager Support - 2023.2 English

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

Document ID
Release Date
2023.2 English
For FTDI devices to be recognized as a USB-to-JTAG interface in AMD JTAG software tools such as XSDB or the AMD 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 is recognized as a valid programming cable in Vivado.
Note: For on-board implementation details including FTDI connectivity, reference the AMD VCK190 Schematics available in XTP610 on Ensure that FTDI connectivity (including ADBUS0-7) matches the VCK190 implementation.
Note: The program_ftdi utility configures 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 are 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 AMD JTAG software tools.

The program_ftdi utility supports the following FTDI devices:

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

****** program_ftdi v2023.1 
**** Build date : Apr 16 2023-14:45:22 
** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. 
** Copyright 2022-2023 Advanced Micro Devices, 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 previous example before programming.