I am using the FPGA board VC709, which has the FPGA xc7vx690t.
Until recently, the programming speed was 30MHz with cabl jtaghs1_fast.
Then I updated xc3sprogs and the speed got back to 6MHz.
I tracked the issue to revision 784:
30 MHz for r783
6 MHz for r784
and still 6 MHz for current r788
I use ArchLinux.
Compiled with libftdi 1.3, libftd2xx 1.3.6
I program the board with this command line :
xc3sprog -c jtaghs1_fast -v -p 0 VC709Gen2x8If128.bit
At r783, at 30MHz, xc3sprogs prints this:
Cable jtaghs1_fast type ftdi VID 0x0403 PID 0x6010 Desc "Digilent Adept USB Device" dbus data 80 enable 8b cbus data 00 data 00 Using Libftdi, Using JTAG frequency 30.000 MHz from undivided clock
At r784, at 6MHz, xc3sprogs prints this:
Cable jtaghs1_fast type ftdi VID 0x0403 PID 0x6010 Desc "Digilent Adept USB Device" dbus data 80 enable 8b cbus data 00 data 00 Using Libftdi, Using JTAG frequency 6.000 MHz from undivided clock
The diff of rev 784 is at the end of the message.
It seems it is linked with how xc3sprogs uses ftdi libraries?
Index: Findlibftdi.cmake =================================================================== --- Findlibftdi.cmake (revision 783) +++ Findlibftdi.cmake (revision 784) @@ -17,7 +17,7 @@ if(NOT WIN32) include(FindPkgConfig) - pkg_check_modules(LIBFTDI_PKG libftdi) + pkg_check_modules(LIBFTDI_PKG libftdi1) endif(NOT WIN32) find_path(LIBFTDI_INCLUDE_DIR @@ -37,7 +37,7 @@ find_library(LIBFTDI_LIBRARIES NAMES - ftdi + ftdi ftdi1 HINTS ${LIBFTDI_PKG_LIBRARY_DIRS} PATHS
Compiling against libftdi1 makes things easier, as few, if any libftdi packages are provided. I clean up the cmake build system some more and now us package provided ways to find the required files. Can you test if rev-792 still has the problem? And if tthe problem persists, perhaps dig yourself in the problem?
Thanks, programming speed is 30MHz again.
The bug is solved for me.
I have no knowledge about libftdti libraries, I'm just using the user package for Archlinux distribution.
https://aur.archlinux.org/packages/xc3sprog-svn
Just for information, the dependencies are with these packages:
libusb libusb-compat libftdi libftdi-compat libftd2xx
Then compilation is cmake + make with no special options, just install in /usr.
Going further I see that there is a new package libftd3xx, for USB3.0 chip FT60x, if that's of any use. I also have no knowledge about this.