Configuring Spartan 6 FPGA board, did it work ?

FPGA Board With PIC32

We designed and published a Xilinx Spartan 6 based FPGA development board a few months ago and gave away a few bare PCBs as well. Since we didn’t have plans to make it a sellable product, it was sidelined for a while. But many readers did like the board and wanted to know if we are planning to test the board, make it working and if possible sell through Numato store. Although not sure about selling yet, we took the board and spent some time on it to see if we could make it work. After sitting in front of the computer three days in a row, we were able to get most of the board working. here is the current status.

  • PIC32MX 32 bit PIC microcontroller – Tested, working fine. Running at 80MHz
  • SPI Flash (Atmel Dataflash) – Tested, working fine.
  • XC6LX9 Spartan 6 FPGA – Tested, working fine.
  • JTAG – Tested, working fine (Thanks to Ginpbs who tested the JTAG part(with a Bus Pirate?))
  • DDR DRAM – Not tested, volunteers more than welcome to help

So most of the board works great except SDRAM which is not tested y et. We ported the Elbert configuration utility to make it work with Spartan 6. Though the board generally works fine, there were a few minor mistakes in the schematics design. Here is the list of mistakes we uncovered so far.

  • FPGA’s SUSPEND pin left unconnected
  • FPGA’s mode pin M0 connected to PIC32’s Vbuson pin which is a dedicated pin and unavailable as a GPIO when USB peripheral is enabled.
  • FPGA’s DONE signal connected to PIC32’s USBID pin which is a dedicated pin and unavailable as a GPIO when USB peripheral is enabled.

Despite some suggestions that the FPGA won’t configure without the SUSPEND pin tied to ground, the Spartan 6 configured without any trouble. There may be corner cases where this can fail, but we haven’t seen any configuration failures so far. We solved rest of the issues by hardwiring M0 and ignoring DONE signal (DONE signal is not critical unless you need a confirmation that the configuration is complete. We look at the FPGA’s IO pins to check if it is running fine!)

Here is a couple pictures of the board hooked up and generating a low frequency square wave.

Spartan 6 FPGA BoardSpartan6Waveform21[1]

Hopefully in the near future, we may be able to redesign this board to make it production ready and have it available in the store. Now available in store (slightly different version).

Leave A Comment