Digilent Atlys SPARTAN-6 development board

2012-03-02Publicerad av Sven-Åke Andersson


It didn't take more than one day for the board to arrive. Here it is

and it looks like this:


The size of the board is 13.5 x 12 cm and it contains the following:

  • Xilinx Spartan-6 LX45 FPGA, 324-pin BGA package
  • 128Mbyte DDR2 16-bit wide data
  • 10/100/1000 Ethernet PHY
  • On-board USB2 ports for programming & data transfer
  • USB-UART and USB-HID port (for mouse/keyboard)
  • Two HDMI video input ports & two HDMI output ports
  • AC-97 Codec with line-in, line-out, mic, & headphone
  • Real time power monitors on all power rails
  • 16Mbyte x4 SPI Flash for configuration & data storage
  • 100MHz CMOS oscillator
  • 48 I/O’s routed to expansion connectors
  • GPIO includes 8 LEDs, 6 buttons, & 8 slide switches
  • Ships with a 20W power supply and USB cable

For more information see Diligent webpage.


The board comes without any documentation. All documents about the Atlys board can be downloaded from the Digilent support page.


Built-in self test

A demonstration configuration is loaded into the SPI Flash ROM on the Atlys board during manufacturing. This demo, also available on the Digilent website, can serve as a board verification test since it interacts with all devices and ports on the board. When the Atlys board powers up, if the demonstration image is present in the SPI Flash, the DDR is tested, and then a bitmap image file will be transferred from the SPI Flash into DDR2. This image will be driven out the HDMI J2 port for display on a DVI/HDMI-compatible monitor. The slide switches are connected to the user LEDs. The user buttons BTNU, BTND, BTNR, BTNL, BTNC, and RESET cause varying sine-wave frequencies to be driven on the LINE OUT and HP OUT audio ports. Here is the test setup.



Configuring the board

After power-on, the FPGA on the Atlys board must be configured (or programmed) before it can perform any functions. The FPGA can be configured in three ways: a USB-connected PC can configure the board using the JTAG port any time power is on, a configuration file stored in the SPI Flash ROM can be automatically transferred to the FPGA at power-on, or a programming file can be transferred from a USB memory stick attached to the USB HID port.

Design environment

We will use the Xilinx ISE Design Suite as our design environment for synthesizing designs and configuring the FPGA. For more information on how to download and install the Design Suite see this page.

Connecting the Atlys board to the computer

It seems that one big hurdle when starting a new FPGA project is to setup the connection between the development board and the computer. I will take you through this process and hopefully we will get the board connected and be able to configure the FPGA. In this example I have Ubuntu 12.04 installed in VirtualBox running on my MacBook Pro, but the same setup will work for other Linux flavors and computers.

There are two ways to connect the computer to the Atlys board:

1. Using the Xilinx Platform Cable USB

2. Using a standard USB cable and the Digilent Adept system.

The Digilent Adept system

The Adept port is compatible with Xilinx's iMPACT programming software if the Digilent Plug-In for Xilinx Tools is installed on the host PC. The plug-in automatically translates iMPACT-generated JTAG commands into formats compatible with the Digilent USB port, providing a seamless programming experience without leaving the Xilinx tool environment. Once the plug-in is installed, the "third party" programming option can be selected from the iMPACT tools menu, and iMPACT will work as if a Xilinx programming cable were being used. All Xilinx tools (iMPACT, ChipScope, EDK, etc.) can work with the plug-in, and they can be used in conjunction with Adept tools (like the power supply monitor). We will use this method of connecting to the board because we don't need any extra hardware. Let's start by installing some software.

Installing the Digilent cable drivers

First we add these two sofware packages:

  • sudo apt-get install libusb-dev
  • sudo apt-get install fxload

Next we have to install the Digilent plugins. Xilinx provide these plugins in their installation directory but they are not activated. Here is what we have to do in Design Suite 14.2:

Goto to directory /opt/Xilinx/14.2/ISE_DS/common/bin/lin/digilent

Execute the following command:

sudo ./install_digilent.sh /opt/Xilinx/14.2/ISE_DS/ISE

The Digilent plugins are installed here.


The USB rules file 52-digilent-usb.rules is installed here:


The rules file

The problem with this rules file is that in can only be run when we are logged in as root. To fix this problem we have to edit the file and change all SYSFS to ATTR (three locations).

After editing the file we have to reboot the system and we are ready to ride. If we are using VirtualBox we have to make sure the USB device is enabled in the Device menu. For older versions of Linux we have to change the first MODE=666" to MODE="666", GROUP="plugdev"

Using iMPACT

Let's find out if we can identify the board using iMPACT. First we connect the USB cable from a USB port on our computer to the mini-USB prog port on the Atlys board. We power up the board and start iMPACT. Here is the iMPACT main window telling us that the board has been identified.