Programming FTDI Devices for Vivado Hardware Manager Support - 2022.1 English

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

Document ID
UG908
Release Date
2022-04-26
Version
2022.1 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 with a custom firmware provided by Xilinx. Programming the FTDI is accomplished by using the program_ftdi utility included in the Vivado install as a Tcl command. 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 https://www.xilinx.com/products/boards-and-kits/vck190.html.

The program_ftdi utility supports the following FTDI devices:

  • FT232H
  • FT2232H
  • FT4232H
Command Reference:
program_ftdi
 
Short Description
Write/Read to FTDI EEPROM for Xilinx JTAG Tools support
 
Syntax:
program_ftdi {-write -ftdi=<ftdi_part> -serial=<serial_number> [-vendor=<vendor_name>][-board=<board_name>][-m=<manufacturer>][-desc=<description>] |
              -write -filein=<cfg_filein> |
              -read [-fileout=<cfg_fileout>]} [-help][-longhelp]
 
Usage:
Name            Description
-------------------------------------------------------------------------------------
-ftdi           Specify the ftdi device to be programmed <FT232H | FT2232H | FT4232H>
-serial         Serial number to be written into the EEPROM
[-vendor]       Vendor information
[-board ]       Name of the board being programmed
[-mfg    ]      Manufacturer information
[-desc   ]      A short description of the board
-file_in        Input file with all fields to be written
[-file_out]     File to which the FDI EEPROM should be read back
 
 
Description:
program_ftdi writes/reads the fdti part according to the option specified.
When called with write, either -ftdi and -serial must be used or -filein with -ftdi must be specified. The Xilinx supported configuration for the part specified using -ftdi flag is written into the EEPROM.
-vendor, --board, -m and -desc are optional arguments which can be used to specify more details to be written. All strings must be specified within inverted commas ("").
When used with read, the command reads back the content of FTDI EEPROM to standard out. if -fileout option is used, the read back information is written to the file specified.
If no arguments are passed, FTDI communication is skipped and help menu is printed.
 
Restrictions:
Only the 1st ftdi part found will be programmed/read. If more than 1 ftdi device is detected this command will error out.
 
Arguments:
-write      -   Write the FTDI EEPROM with either the options specifed with command line option of by a given input configuration file.
 
-read       -   Read the contents of the FTDI device detected in chain.
 
-ftdi       -   (Required field) Specify the ftdi device to be programmed <FT232H | FT2232H | FT4232H>
                This programs the ftdi part according to the supported configuration for the specified device
 
-serial     -   (Required field) Serial number to be written into the EEPROM
                The serial number can have digits and/or alphabets. no special characters may be used.
 
-vendor     -   (Optional field) Vendor information
                The vendor information should contain vendor name and other details as a string.
 
-board      -   (Optional field) Name of the board being programmed
                A board name can be written into FTDI using this argument.
 
-m          -   (Optional field) Manufacturer information
                The Manufacturer information should contain Manufacturer name and other details as a string.
 
-desc       -   (Optional field) A short description of the board
 
-filein     -   (Required field) Input file with all fields to be written
                If this argument is used, an input file with details about the FTDI device, serial number etc should be specified.
 
-fileout    -   (Optional field) File to which the FDI EEPROM should be read back
For example, to program an FT2232H the following command would be used:
program_ftdi write -ftdi FT2232H -vendor "my vendor co" -board "my board" -m "my mfg co" -desc "my product desc" -serial 0ABC01
Note: Be sure to verify and update the Vendor, Board, Manufacturer Information, Description and Serial Number fields in the above example before programming.