Xguff is a basic framework for communicating between an FPGA and a Cypress FX2 USB chip. First written and used with an Avnet Virtex4LX25 evaluation board, then used/and or ported to an Avnet Virtex5LX50T evaluation board and two in-house custom Spartan3 boards.

The FX2 is used to load the FPGA bitstream via JTAG, provide a high-speed (30 MB/s) communications channel to the PC, and a slow-speed register write channel. Both 100-pin and 56-pin CY7C68013A chips have been tested.

This package is condensed and modified from the USRP project, in particular a CVS snapshot from September 8, 2005. More precisely, this is the USRP component of GnuRadio.

The title "xguff" is an attempt at a short, almost-pronounceable acronym that is easy to find via Google. Would you believe "Xperimental Gnu USB FPGA Framework"?

Download source code, a gzipped tarball.

Experimental minimal version for cross-building:

Larry Doolittle
March 28, 2009