Configuring the Avnet Spartan-3A Eval Board on Linux (Alpha)

As I mentioned on the Avnet Spartan-3A Eval Kit Google Group, I’ve created a C program that will allow you to configure the FPGA via your Linux box. I don’t have a lot of time to elaborate on how to use this program, but the basic steps are listed below. These instructions assume that you are at least moderately familiar with using the shell in your distribution and building a program from source code. This code is in an alpha state and I have only tested this on my Ubuntu Hardy Heron box, so your mileage may vary. I’m sure there’s much I can do to improve it (clean up, refactor, etc.), but it seems to do what it needs to for now.

Right now, the program is controlled by three command line switches. I’ve created these options with a mind for expansion in the future (at least the serial flash part). Here’s the help printout from the program:

Usage: avs3a [options]
  -b, --bitstream=BITSTREAM	Bitstream used to configure FPGA
  -p, --port=SERIAL-PORT	Serial port connected to eval board
  -s, --slaveser		Configure FPGA in Slave Serial mode
  1. Download the source code here.
  2. Unpack the archive in the location where you intend to use the program.
    tar xzvf avs3a.tar.gz
  3. Change to the avs3a directory.
    cd avs3a
  4. Build the program from source.
    make all
  5. Make sure that your eval board is plugged into a USB port.
  6. If you don’t know the serial port of the eval board, then find it. I’m not sure what you will see, but on my Ubuntu Hardy box, my board enumerates as /dev/ttyACM0 or /dev/ttyACM1
    dmesg | grep tty
  7. Make sure you have a bitstream file to use.
  8. Issue the command to program the board
    ./avs3a -s -p /dev/ttyACM0 -b sample_bitstream.bit

If you try this and find it useful, or find a problem with the program then please, please, let me know in the comments below (or e-mail me). Thank you for testing this!

3 thoughts on “Configuring the Avnet Spartan-3A Eval Board on Linux (Alpha)

  1. Hello, when i tryed to do it, i got used the .bit file and everything but it didnt change anything, like the board acted like it got what i sent it ? What version of psoc do you have on your board ?

  2. Hi Micheal,

    I’m sorry but I packed away my eval board a while ago because I’ve had to put my focus on other projects. Do you have the most recent version of the code from Google Code? There are a lot of improvements from the original version which I hacked together.


Leave a Reply