FPGA

I started using FPGA by buying a Spartan 3E starter kit from Xilinx. The development board is quite promising but the the learning curve was quite steep, specially for me who has never designed any digital circuits. Another problem is that I use Debian Linux which is not supported by Xilinx. But however even if it is not supported by the big companies, I claim it saves you time to use Debian.

I wil add more information later but a few items:
You can chooose between two solutions. Using ISE and EDK (you need to install both) or using Webkit which is a free alternative.
I chose to use Webkit but there is a grave bug that is solved in the latest upgrade, version 10.1.03. Webkit runs perfectly on amd64 but the kernel modules only work on i386. I haven't succeded the libusb solution.
The kernel modules don't compile on kernel 2.6.26 but compile happily on kernel 2.6.18.
The program /bin/arch is missing in Debian but the output is equal to "uname -m". I found it easier to create /bin/arch than fixing the configure files in the xilinx kernel modules.
You need to change the install scripts to do modprobe -f instead of only modprobe. If you insert the modules and your computer crashes, please don't complain to the
Linux kernel team.

2009.11.25

Starting again after some time.

Xilinx has added this nice tutorial that I can recommend. The example requires the Spartan-3A starter kit. I was trying to test the code on my Spartan-3E starter kit but unfortunately, the LCD driver uses 8 bit bus but the Spartan-3E starter kit has 4 bit bus for the LCD.
Upgraded to version 11.1, works perfectly on Debian.
Installing the hardware driver.

Install the following packages:
libusb-1.0-0
libmotif3
libstdc++5
fxload

Make a symbolic link for libusb:
ln -s libusb-1.0.so.0 libusb-1.0.so


A solution to the hardware problem is to use program called xup. Here is a patch to make it compile on a modern Debian system and the file 80_xilinx_usb.rules should be copied to /etc/udev/rules.d in order to make the program useful for normal users. It makes the device +rw for the group "iocard" which is the same group as the comedi DAQ system uses.


Starting again on another computer:

Download Xilinx_11.1_WebPack_SFD.tar

tar xf Xilinx_11.1_WebPack_SFD.tar
cd Xilinx_11.1_WebPack_SFD
# I create a user pmanager to install the programs. sudo perhaps works as well
su
cd /opt
mkdir Xilinx
chown pmanager:pmanager Xilinx
exit
sux pmanager
./xsetup
# I accept the directory /opt/Xilinx/11.1
# Select "Install cable drivers"