Skip to content
LIB:Library for interacting with an FPGA over USB
C C++ Python Java TeX Makefile Other
Find file
Latest commit 05fde06 Jul 14, 2015 @makestuff Merging up to 20150315
Failed to load latest commit information.
docs Support .ihx as well as .hex files Mar 14, 2014
dump Switch to using async API for sync operations, use 17-bit CommFPGA le… Jan 31, 2014
examples Create javadoc Apr 2, 2014
firmware Fixed debug.c for new sdcc versions Dec 21, 2014
gen_fw Add Java binding; replace ReadReport struct with individual 'out' par… Mar 11, 2014
latex-docs Starting doc rehash Mar 11, 2014
mkfw Fix Windows warnings Feb 8, 2014
tests-integration Renaming SVF files in examples, etc May 6, 2012
tests-unit Fix Windows warnings Feb 8, 2014
xsvf2csvf Removed last vestiges of CSVF_BUF_SIZE Nov 8, 2013
.gitignore Added gitignore Dec 11, 2012
COPYING Switched to LGPL Mar 4, 2012
COPYING.LESSER Check if mask is all zero and replace following XSDRTDO with XSDR if … Mar 2, 2012
Makefile Ooops, I mistakenly added the fx2.lib target back Mar 11, 2014
README Small README fix. Jul 2, 2015
blinx.sh Oops forgot to escape dollars Dec 11, 2012
csvfplay.c Separated jtagShift() into jtagShiftInOnly() and jtagShiftInOut(); ad… Feb 27, 2014
csvfplay.h Removed CSVF RLE compression Mar 18, 2013
firmware.h Removing standalone mode; adding slave serial and slave parallel prog… Mar 16, 2013
fx2.c Support .ihx as well as .hex files Mar 14, 2014
hdlbuild.sh Added aes220 Mar 19, 2013
libfpgalink.c Fixed async write bug where a command write exactly fills the write b… Apr 21, 2014
libfpgalink.h Add Java binding; replace ReadReport struct with individual 'out' par… Mar 11, 2014
private.h Added firmware ID/version stuff Dec 17, 2013
prog.c Separated jtagShift() into jtagShiftInOnly() and jtagShiftInOut(); ad… Feb 27, 2014
release.sh Include incs.txt & libs.txt in binary release Jan 26, 2013
spi.c API docs, Python SPI, separate Python examples, remove enums from arg… Feb 18, 2014
svf2csvf.c Fix Windows warnings Feb 8, 2014
svf2csvf.h Fixed off-by-one error in counting commands Sep 5, 2013
util.c Switch to using async API for sync operations, use 17-bit CommFPGA le… Jan 31, 2014
vendorCommands.h Renamed JTAG stuff to reflect its more fundamental SPI nature Dec 10, 2013
xsvf.h prog: Switched to single-bit port access Jul 16, 2013
xsvf2csvf.c Fix Windows warnings Feb 8, 2014

README

A library for JTAG-programming and subsequently interacting with an FPGA over USB using a
microcontroller (primarily the Cypress FX2LP). It allows you to:

   * Load and save Cypress FX2LP firmware
   * Communicate with the FPGA using HiSpeed USB (~25Mbyte/s)
   * Reprogram the FPGA using JTAG over USB
   * Bootstrap an FPGA design standalone using minimal components

See http://bit.ly/fpgalnk-api for the API docs.

To build, first you need to install the MakeStuff Build Environment (http://bit.ly/makestuff) for
your platform, then do:

chris@wotan$ cd makestuff/libs
chris@wotan$ ../scripts/msget.sh libfpgalink   # or msgit.sh if you want a local git repo
chris@wotan$ cd libfpgalink
chris@wotan$ make deps

*** WINDOWS PREREQUISITES ***

* Visual Studio Express 2010 or 2008
* SDCC 2.9.0 (http://bit.ly/k7wyYn)
* Xilinx ISE WebPACK (http://bit.ly/bRf82e)

*** LINUX PREREQUISITES ***

* sudo apt-get install g++
* sudo apt-get install libusb-dev
* sudo apt-get install sdcc
* Xilinx ISE WebPACK (http://bit.ly/bRf82e)

*** MACOS PREREQUISITES ***

* XCode (http://bit.ly/apple-connect)
* LibUSB (http://bit.ly/libusb-macos)
* Wget (http://bit.ly/wget-macos)
Something went wrong with that request. Please try again.