Jump to content

Different Drivers for HS2 and HS3

Recommended Posts


We use several different FPGAs in our designs.
To programm/debug these FPGAs we have several Debuggers (HS2/HS3/old Xilinx/..)

The problem is that one Vendor tool need a special driver for his JTAG debugger who is catching the driver for HS2 and HS3.
Is it possible to force special drivers for HS2 and HS3 to make it possible to debug 2 FPGAs from 2 Vendors at the same time?
It looks like all debugger use (nearly) the same FTDI-Chip.
Both HS2 and HS3 have VendorID 0X0403 and ProductID 0X6014.

Kind Regards



Link to comment
Share on other sites

2 hours ago, Thunder said:

Is it possible to force special drivers for HS2 and HS3 to make it possible to debug 2 FPGAs from 2 Vendors at the same time?

Gee, you seem to be trying very hard not to provide sufficient information that might allow anyone to provide an informed answer.

FTDI USB UART/JTAG bridge devices have been popular with programmable logic vendors as a way to configure their devices for a long time. Using them with software on a particular platform can be tricky. For the most part, when an OS enumerates one of these bridge devices it uses access to some of the information about the devices that are exposed to the OS. Vendor ID and Product ID are but two of these. Intel/Altera has long had a problem with COM verses JTAG enumeration on both Linux and Windows OSes. Fortunately, on modern Linux distrubutions you can ( read as must ) provide a driver rules file in /etc/udev/rules.d/ that helps the OS and applications figure out what the USB device does. That doesn't mean that any particular application is going to use the rules file. On Windows things are more complicated as Microsoft isn't as transparent or open to working with users when it comes to using its OS or applications installed on it.

Can you debug Cyclone V FPGA and an Artix A200T devices at the same time using Quartus and Vivado? Yes, I've done it on both Windows and Linux. Is it always a fun ride? Nope. As I write this I'm taking a break from debugging a Nexys Video/XEM7320 project Ethernet project on Win10. One uses Vivado 2022.1 and the Nexys Video uses Vivado 2019.1. The Nexys Video is an Ethernet Echo client that just received and returns all valid packets. I have a couple of ILAs in the Nexys Video to capture Rx and Tx data. In order to do this I need to use the Vivado 2019.1 Hardware Manager. I also have an ILA in the Vivado 2022.1 XME7320 project to capture internal states. Wouldn't it be nice if I could have both versions of Vivado open at the same time? Well, you can't, at least and be productive. In my experience you can't even run 2 instances of the same version of Vivado without severe problems; much less 2 instances of Vivado Hardware Manager at the same time.

One way around this would be to use Open OCD and ditch the FPGA vendor tools. The problem with this is that SignalTap and ILA/VIO don't work with third party JTAG tools ( to my knowledge ). It might work fine for configuration, not for hardware debugging.

Perhaps this reply will help you clarify the question. A least is shows that there is no simple answer to the quote above.

Link to comment
Share on other sites

The easiest way to debug a project involving 2 target platforms is to use to separate PC hosts. One of the hosts might just be the VIvado Lab tools in order to capture ILA or use VIO on a target. Lab tools uses a separate installer from the regular tools but is a much smaller download. It also lets you use the Vivado Hardware Manager to connect to a target without requiring a version compatible design project; a bi file and perhaps an itx file is all that you need.

Recent free versions of Quartus are so bad that the 2 host method is virtually a requirement, in my experience, especially on a Windows host.

Link to comment
Share on other sites

Hi @Thunder,

I'm not certain what other vendor you are referring to, but if this other specific driver blanket catches the default FTDI Vendor and Product IDs (such as tools like Zadig, https://forum.digilent.com/topic/25705-windows-recognises-eclypse-z7-board-incorrectly-as-a-trion-board-in-device-manager/?do=findComment&comment=76839, among doubtless countless other similar tools), then likely the easiest solution to separating out your configuration processes will be to use separate host machines as zygot suggested.

Perhaps there is a more elegant solution (that likely requires specific driver rules) available, but that is very likely going to be application and workstation specific.



Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...