Dave,
That is a great result. If there is anything that I can do to help out please let me know. Look forward to seeing this very much.
James
--- Quote Start ---
Ok, so I have my UM232H + BeMicro-SDK setup working as a USB-Blaster. :)
There was a small problem that took a little head scratching: Quartus would fail verification of a MAX II design downloaded into a MAX II PCI kit.
Here's what I did to isolate the problem.
1) Created a design in the BeMicro-SDK that looped back bytes received by the FPGA over the FTDI interface, wrote a multi-threaded PC app using the FTDI drivers (writer+reader threads), and successfully transmitted 1GB over the loopback interface with no data loss. So my wiring between the two kits was ok.
2) Created a JTAG application that used the FTDI drivers to talk to a USB-Blaster, and shifted data through the JTAG chain (via the Shift-DR TAP state). I shifted a few hundred MB through a regular USB-Blaster and my custom design and it also worked ok. This showed that the JTAG chain wiring was ok.
There was one error that did occur during the initial versions of these tests - the FTDI drivers have a flow-control option. The UM245R device is 12Mbps and it works without this setting. The UM232H device is a 480Mbps high speed device, and it would sometimes fail without this setting.
3) Hypothesizing that the Altera Programmer does not enable flow-control in the FTDI drivers that are used for the USB-Blaster interface, I relaxed the timing in my UM232H controller interface to slow down the interface. After few iterations, the USB-Blaster clone started working.
Cool :)
I'll write this up and post a tutorial.
Cheers,
Dave
--- Quote End ---