FTDI FT232h is a single chip USB 2.0 to UART/FIFO IC with a capability of being configured in a variety of industry standard serial/parallel interfaces:
Tested with OpenOCD 0.10 and Atmel ATSAM4E, ft232h-module-swd.cfg is from OpenOCD git:
openocd -f ft232h-module-swd.cfg \ -f /usr/share/openocd/scripts/board/atmel_sam4e_ek.cfg \ -c "firmware.bin 0x00400000 verify reset exit"
Pinout:
Tested with OpenOCD 0.10 and Xilinx Spartan 10 XC6SLX16 chip:
$ openocd \ -f /usr/share/openocd/scripts/interface/ftdi/um232h.cfg \ -f /usr/share/openocd/scripts/cpld/xilinx-xc6s.cfg \ -c 'adapter_khz 1000;' Info : clock speed 1000 kHz Info : JTAG tap: xc6s.tap tap/device found: 0x44002093 (mfg: 0x049 (Xilinx), part: 0x4002, ver: 0x4) Warn : gdb services need one or more targets defined Info : accepting 'telnet' connection on tcp/4444
From another shell, start the gdb client:
$ telnet localhost 4444 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Open On-Chip Debugger > pld devices #0: virtex2 > pld load 0 bitsream.bit loaded file top.bit to pld device 0 in 3s 735463us
And if you need a single command for writing the bitstream to fpga memory, append following argument:
-c 'init ;pld load 0 bitstream.bit ; exit'
List of other supported features, that have not been tested yet: