FPGA – Conflicting FTDI Devices in Quartus

Recently I started using an FTDI FT232H in FT245 synchronous FIFO mode with an Intel MAX10 FPGA. I am using an FT232R based USB Blaster (Not a USB Blaster II, this is an older Altera USB Blaster, Terasic USB Blaster or another clone). Unfortunately when Quartus looks for programming devices it fails if it sees the FT232H first and the FT232H is in use by another program.

Hopefully this helps someone out as I see forum posts on the internet asking about this problem dating back to 2005 and past fixes do not seem to work in Windows 10 anymore.

Normally if you only have one FTDI device attached to your computer then the USB Blaster will show up on port USB-0. However, depending on the device ID order, a different FTDI device will be at USB-0 and the USB Blaster will show up as USB-1. SignalTap will also disconnect after programming the board since my FPGA performs a reset of the FT232H on start up which can cause the device ID of the USB Blaster to change causing Quartus to lose its programming device.

Plugging in FTDI devices in a different order does not change the device ID ordering. The only solution I found is to plug in all FTDI devices I intend to use and then go into Device Manager in Windows and uninstall all FTDI devices except the USB-Blaster then perform a scan for hardware changes.

Uninstall all FTDI devices except the USB Blaster and then Scan for hardware changes to hopefully make the USB Blaster always show up as the first device

This procedure does not always work and seems to break sometimes after a reboot or when connecting or disconnecting USB hubs but it seems to work well enough for me to get my work done.

One thought on “FPGA – Conflicting FTDI Devices in Quartus”

  1. One thing which might cause the problem is if two units have the same serial number.
    If you have your own device, you may want to set the serial number different from that of the USB Blaster.
    Wse the FTDI “FT_PROG.EXE” to check the setup and reprogram if needed

Leave a Reply

Your email address will not be published. Required fields are marked *