I had a FT4232H leftover from my Spartan 7 board and since it’s never bad to have too many alternative programmers, I designed a breakout for it. It’s got two debug interfaces configurable for either SWD or JTAG. It’s also my first programmer that uses the standard pinout I’m using in all boards going forward (JTAG/SWD and UART in the same connector!). Even more, it has software controllable 3v3 rails which are on by default because the indicator LED doesn’t add enough pulldown. The layout supports both the QFN and LQFP packages of the FT4232H for that supply chain flexibility. Overall, it was very much a “just works” kind of board.
It looks like Xilinx now supports converting normal FTDI devices into a programmer recognized by Vivado. No more need for stealing EEPROM data from existing programmers!