I have added a bunch of new features, some of which may be of immediate
interest to several people, so I made a quick "alpha"-quality release
(sorry only x86 & x64 architectures included):
http://www.swaton.ukfsn.org/bin/fpgalink-20130321/fpgalink-bin.tar.gz
The new features are:
* Support for FX2 chips (CY7C68013) as well as FX2LP (CY7C68013A).
* Support for Xilinx Slave Serial & Parallel (SelectMAP) programming.
* Support for Aessent AES220 FPGA module.
* Support JTAG using bits from several different ports.
* Can now reconfigure JTAG port lines at runtime.
* Low-level JTAG API exposed.
* More intuitive port configuration.
* The comm_fpga_fx2 module can now hold the FPGA design in RESET until
the host tells it to start.
Here's a quick demonstration of some of the new features:
http://pastebin.com/raw.php?i=jXDe8DgQ
Naturally I will properly document everything; in the meantime here are
a few hints as to the meaning of the flcli options:
-d D7+,D5-,D0/
This sets:
* PD7 as an output, driven high
* PD5 as an output, driven low
* PD0 as an input (i.e tri-stated)
-q A7A0A3A1
This queries the JTAG chain, using:
* TDO: PA7
* TDI: PA0
* TMS: PA3
* TCK: PA1
-p J:D0D2D3D4:fx2all-nexys2-1200.xsvf
This programs the FPGA using JTAG, using:
* TDO: PD0
* TDI: PD2
* TMS: PD3
* TCK: PD4
-p XS:D0D5D1D6A7:[D3/,B1+,B5+,B3+]:fx2all-aes220.bin
This programs the FPGA using Xilinx Slave Serial mode, using:
* PROG_B: PD0
* INIT_B: PD5
* DONE: PD1
* CCLK: PD6
* DIN: PA7
* DOUT: PD3 (tri-stated during configuration)
* M[2:0]: PB[1,5,3] ("111" [=slave serial] during configuration)
-p XP:D0D5D1D6A01234567:[B4-,D2-,D3/,B1+,B5+,B3-]:fx2all-aes220.bin
This programs the FPGA using Xilinx Slave Parallel (SelectMAP), using:
* PROG_B: PD0
* INIT_B: PD5
* DONE: PD1
* CCLK: PD6
* D[7:0]: PA[7:0]
* RDWR_B: PB4 (driven low during configuration)
* CSI_B: PD2 (driven low during configuration)
* DOUT: PD3 (tri-stated during configuration)
* M[2:0]: PB[1,5,3] ("110" [=slave parallel] during configuration)
There's still a fair bit of work outstanding, on the AVR firmware, docs,
etc. Apologies that this is not a polished release, but I thought it
would be more useful to get something out now. Give it a try, let me
know what you think.
Chris