Xilinx Spartan 6 FPGA Boards

Saturn - Spartan 6 FPGA Development Board with DDR SDRAM

3689 views February 18, 2016 admin 0

Introduction

saturn_1__51842.1437709285.1280.1280

Saturn is an easy to use FPGA Development board featuring Xilinx Spartan-6 FPGA. Saturn is specially designed for experimenting and learning system design with FPGAs. This development board features the Xilinx XC6SLX series FPGA with FTDI’s FT2232H Dual-Channel USB device. The high-speed USB 2.0 interface provides fast and easy configuration download to the on-board SPI flash. No programmer or special downloader cable is needed to download the bitstream to the board.

Applications

  • Product Prototype Development
  • Development and testing of custom embedded processors
  • Signal Processing
  • Communication devices development
  • Educational tool for Schools and Universities

Board features

  • FPGA: Spartan-6 XC6SLX9, LX16, LX25 or LX45 in CSG324 package
  • DDR: 166MHz 512Mb LPDDR
  • Flash memory: 128 Mb SPI flash memory (N25Q128A13ESE40E)
  • 100MHz CMOS oscillator
  • High-Speed USB 2.0 interface for On-board flash programming. FT2232H Channel A is dedicated to SPI Flash /JTAG Programming. Channel B can be used for custom applications.
  • On-board voltage regulators for single power rail operation
  • FPGA configuration via JTAG and USB
  • Maximum 158 IOs for user-defined purposes XC6SLX9 – 118 IOs XC6SLX16 – 150 IOs XC6SLX25 – 144 IOs XC6SLX45 – 136 IOs FT2232H – 8 IOs

How to Use Saturn Spartan 6 FPGA Development Board With DDR SDRAM

Components/Tools Required

Along with the module, you may need the items in the list below for easy and fast installation.

1. USB A to Mini B cable.
2. DC Power supply (Optional).

Connection Diagram

saturnspartan6-condiagram

This diagram should be used as a reference only. For detailed information, see Saturn schematics at
the end of this document. Details of individual connectors are as below.

USB Interface

saturnspartan6-usbinterfaceThe onboard full-speed USB controller helps a Windows/Linux/Mac computer to communicate with this module. Use a USB A to Mini B cable to connect with a PC. By default, the module is powered from USB so make sure not to overcrowd unpowered USB hubs (the picture on the right shows USB Mini connector).

DC Power Supply

saturnspartan6-dcpowersupplyThis module uses a +5V power supply to function properly. By default, the board is configured to use the +5V supply from USB. So an external +5V power is not required unless the USB port is unable to supply enough current. In most cases, USB ports are capable of providing enough current for the module. The current requirement for this board largely depends on your application. Please consult the FPGA datasheet for more details on power requirements. If for any reason, an external 5V power supply needs to be used for the module, the Power select jumper should be configured properly before connecting the power supply. Please refer to the marking on the board for more details.

Power Select

The Power Select header K1 is used to configure the power source for the board. The jumper in pin 2 and 3 is shorted to switch the power source to on board USB port and pin 1 and 2 to use the external DC power.

JTAG Connector

JTAG connector provides access to FPGA’s JTAG pins. A XILINX platform cable can be used for JTAG programming.

saturnspartan6-jtagcon

JTAG/SPI Configuration On FT2232H Channel A

Channel A of FT2232H can be connected to the SPI bus that connects the SPI Flash chip to the FPGA or to the JTAG pins of the FPGA. By connecting SPI bus to FT2232H channel A, the SPI flash can be directly programmed to save the configuration permanently. This is the default configuration set when Saturn is shipped. When FT2232H channel A is connected to SPI, Saturn Configuration Downloader utility can be used to program the board.

When FT2232H channel A is connected to FPGA JTAG, the JTAG signals can be accessed directly through FT2232H. Saturn Configuration Downloader utility currently does not support programming FPGA SRAM through JTAG.

Please see the tables below for information about selecting SPI or JTAG for FT2232H channel A. SPI must be selected for Saturn Configuration Downloader utility to work.

Header P10

Jumper Configration for SPI Jumper Configration for JTAG
1 - 22 - 4
5 - 63 - 5

Header P11

Jumper Configration for SPI Jumper Configration for JTAG
1 - 22 - 4
5 - 63 - 5

Important: These jumper settings are only meant for accessing the JTAG signals via FT2232H through USB using programs such as xc3sprog.  If you are using external JTAG such as Xilinx Platform Cable USB II connected to the JTAG header, then please do not change these jumpers. They should be in the factory-shipped SPI configuration. If the jumpers are changed to JTAG mode, and an external JTAG is used, then the external JTAG will not work.

GPIOs

This device is equipped with a maximum 158 user IO pins that can be used for various custom applications. Out of 158 user IOs 56 are length matched which can be used as differential pairs.

Header P3

Pin No. On
The Header
Spartan-6 (CSG324) Pin No.Pin No. On
The Header
Spartan-6 (CSG324) Pin No.
1 GND 2 3V3
3 VCCIN 4 GND
5 G13 6 H12
7 K14 8 J13
9
H16 10 H15
11
H14 12 H13
13 G14 14 F14
15
G18 16 G16
17 F16 18 F15
19 F18 20 F17
21
E18 22 E16
23
D18 24 D17
25
C18 26 C17
27 A16 28 B16
29 A15 30 C15
31 C14 32 D14
33
A14 34 B14
35 E13 36 F13
37
A13 38 C13
39 E12 40 F12
41
C12 42 D12
43 A12
44 B12
45
E11 46 F11
47 C11 48 D11
49
GND 50 GND
51 GND 52 GND
53
F10 54 G11
55 A11
56 B11
57
A10 58 C10
59
F9 60 G9
61 C9 62 D9
63 A9 64 B9
65
F8 66 G8
67 E8 68 E7
69
C8 70 D8
71 A8 72 B8
73
E6 74 F7
75 A7 76 C7
77 A6 78 B6
79 C6 80 D6
81 A5 82 C5
83 A4 84 B4
85 A3 86 B3
87 A2 88 B2
89
GND 90 GND
91 GND92 GND
93
3V3 94 3V3
95
3V3 96 3V3

Header P2

Pin No. On
The Header
Spartan-6 (CSG324) Pin No.Pin No. On
The Header
Spartan-6 (CSG324) Pin No.
1
ACBUS0* 2 ACBUS1
3 3V3 4 GND
5 ACBUS2
6 ACBUS3
7 K128 K13
9
ACBUS410 ACBUS5
11
L14
12 M13
13 ACBUS614 ACBUS7
15
M14
16 N14
17 L12
18 L13
19 L15
20 L16
21
K15
22 K16
23
N15 24 N16
25
T17 26 T18
27 P15 28 P16
29 U16 30 V16
31 U17 32 U18
33
T14 34 V14
35 U15
36 V15
37
T12 38 V12
39 U13
40 V13
41
R11 42 T11
43 M11
44 N11
45
GND 46 GND
47 GND 48 GND
49
GND 50 GND
51 GND 52 GND
53
N10
54 P11
55 U11
56 V11
57
R10 58 T10
59
M10 60 N9
61 T9
62 V9
63 R8 64 T8
65
N7 66 P8
67 M868 N8
69
U770 V7
71 U872 V8
73
R774 T7
75 N6
76 P7
77 N5
78 P6
79 T6
80 V6
81 R5 82 T5
83 U5 84 V5
85 R3 86 T3
87 T4
88 V4
89
INITB 90 3V3
91 PROGB
92 3V3
93
GND94 GND
95
GND96 GND

No Connect Pins In LX9(CSG324)

SL No.
Pin No On The Header P3 Spartan-6 (CSG324)
137A13
238C13
339E12
440F12
541C12
642D12
745E11
846F11
953F10
1054G11
1165F8
1266G8
1367E8
1468E7
1573E6
1674F7
SL No. Pin No On The Header P2 Spartan-6 (CSG324)
135
U15
236 V15
337
T12
438
V12
543
M11
644 N11
753
N10
854 P11
959 M10
1060
N9
1165
N7
1266 P8
1367 M8
1468
N8
1575
N6
1676
P7

No Connect Pins In LX25 (CSG324)

SL No.Pin No On The HeaderP3 Spartan-6 (CSG324)
165
F8
266 G8
367 E8
468 E7
573 E6
674 F7

No Connect Pins In LX45(CSG324)

SL No.Pin No On The Header P3Spartan-6 (CSG324)
139
E12
240
F12
341
C12
4
42 D12
545
E11
646
F11
753
F10
854
G11
965
F8
1066 G8
1167 E8
1268
E7
1373 E6
1474
F7

FT2232H – Spartan-6 (CSG324) FPGA Connection Details

FTDI Pin No. Pin Function (245 FIFO) Spartan-6 Pin No.
38
D0 L17
39 D1 L18
40 D2 M16
41
D3 M18
43
D4 N17
44 D5 N18
45 D6
P17
46
D7 P18
48 RXF# K18
52 TXE# K17
53 RD# J18
54 WR# J16
55
SIWUB H18

Driver Installation

Installing on Windows

This product requires a driver to be installed for proper functioning when used with Windows. The D2XX driver can be downloaded from http://www.ftdichip.com/Drivers/D2XX.htm. Windows Users have to run the CDM v2.08.30 WHQL Certified.exe application that will prompt them to install the FTDI CDM drivers. When the driver installation is complete, the module should appear in Saturn Flash Config Tool as Saturn Spartan 6 FPGA Module (see the picture).

saturnspartan6-inswindows

Generating Bit Stream for Saturn

HDL design needs to be converted to bit stream before it can be programmed to FPGA. Saturn at this time accepts only binary (.bin) bit stream created by XILINX ISE (http://www.xilinx.com/tools/webpack.htm). Once the HDL is synthesized, it is easy to create a binary bit stream out of it. Please follow the steps below to generate binary bit stream from your design using ISE Web Pack.

Step 1: Right click on the “Generate Programming File” option in “Processes” window.

saturnspartan6-bitstreamstep1

Step 2: Select “Process Properties” from the pop up menu. In the dialog box, check “Create Binary Configuration File” Check box and click “Apply”.

saturnspartan6-bitstreamstep2

Step 3: Click “OK” to close the dialog box. Right click on “Generate Programming File” option again and select “Run”. Now you will be able to find a “.bin” file in the project directory and that file can be used for Saturn configuration.

Powering Up Saturn

Saturn is factory configured to be powered directly from the USB port so make sure that you are using a USB port that can power the board properly. It is recommended to connect the board directly to the PC instead of using a hub. It is practically very difficult to estimate the power consumption of the board, as it depends heavily on your design and the clock used. XILINX provides tools to estimate power consumption. In any case, if power from USB is not enough for your application, external supply can be applied to the board. Jumper PWRSEL should be set up properly (short pin 1-2) to use the board on external power. Saturn requires three different voltages, a 3.3V supply, a 1.8V supply, and a 1.3V supply. Onboard regulators derive these voltages from the USB/Ext power supply.

Configuring Saturn Spartan6 Module

The Saturn Spartan6 module can be configured by two methods,

a) Using Spartan configuration tool through USB.
b) Using the Xilinx programming cable.

Configuring Saturn Using Configuration Tool

Saturn has an onboard FTDI FT2232 device which facilitates easy reprogramming of onboard SPI flash through the USB interface. The FTDI receives bitstream from the host application and program it into the SPI Flash and lets the FPGA boot from the flash. The Saturn configuration application can be downloaded from www.numato.com for free.

Step 1: Open Saturn Config Tool. Click “Scan for Devices” if the “Saturn Spartan 6 FPGA Module” is not detected automatically.

saturnspartan6-configtoolstep1

Step 2: Click on “Load Binary” Select the “.bin” file, then click on the “Program Flash” button. Wait till “Programming Completed” appears on the screen.

saturnspartan6-configtoolstep2

Configuring Saturn Using JTAG

Saturn Spartan6 module features an onboard JTAG connector that facilitates easy reprogramming of SRAM and onboard SPI flash through JTAG programmer like “XILINX Platform-cable usb”. Programming Saturn using JTAG requires “XILINX ISE iMPACT” software which is bundled with XILINX ISE Design Suite. To program the SPI flash, a “.mcs” file needs to be generated from the “.bit” file. Steps for generating the “.mcs” file are as below. Programming FPGA SRAM does not require a “.mcs” file to be generated.

Generating “.mcs” file for Saturn

Step 1: Open ISE iMPACT. Click on “Create PROM file(PROM file formatter)”. In the dialog box, select “Configure Single FPGA” in the storage device type. Then click on the green arrow on the right side.

Step 2: Select 128M in Storage Device (bits).Now click on “Add Storage Device”, then the green arrow on the right side.

saturnspartan6-jtagstep2

Step 3: Set an output file name and the output file location (the “.mcs” file will be generated at this location which will be required later for programming the FPGA), then click OK twice, then select the “.bit” file we already generated then click Open and click NO when it prompts to add another device file.

saturnspartan6-jtagstep3

Step 4: Double click on “Generate File”. “Generate Succeeded” will be displayed as shown in fig below if the “.mcs” the file is generated successfully.

saturnspartan6-jtagstep4

Programming FPGA Using ISE iMPACT

Step 1: Open ISE iMPACT. Click on “Boundary Scan” in the iMPACT flows window on the left top corner. Then right click on the window panel on the right. Select “Initialize Chain”.

saturnspartan6-impactstep1

Step 2: If the device is detected properly you will get a pop up window as shown below, Click OK. Then right click on the SPI/BPI (next to the black arrow in the below fig.), select Add SPI/BPI Flash.

saturnspartan6-impactstep2

Step 3: Select the “.mcs” file we already created and click OK. Now choose “N25Q128” in the dialogue box appeared, then click OK.

saturnspartan6-impactstep3

Step 4: Click on “Flash”, Double Click on Program, select OK. If the programming is successful, a confirmation message will be displayed.

saturnspartan6-impactstep4

Length Matched GPIOs Pairs

This device is equipped with a maximum of 158 user IOs. Of those, 45 IO pairs are length matched which can be used as differential pairs.

Pin No. on the Header P3Spartan-6 Differential Pair
9-10
H15-H16
17-18
F16-F15
19-20 F17-F18
21-22
E16-E18
23-24 D17-D18
25-26 C17-C18
27-28
B16-A16
31-32
C14-D14
33-34 B14-A14
37-38
C13-A13
41-42 D12-C12
43-44 B12-A12
47-48
D11-C11
53-54
G11-F10
55-56 B11-A11
57-58
C10-A10
59-60
F9-G9
61-62 D9-C9
63-64
B9-A9
69-70
D8-C8
71-72 B8-A8
75-76
C7-A7
77-78 B6-A6
79-80
C6-D6
81-82
C5-A5
83-84
A4-B4
85-86
B3-A3
87-88 B2-A2
Pin No. on the Header P2Spartan-6 Differential Pair
7-8 K13-K12
17-18 L12-L13
19-20 L15-L16
21-22
K15-K16
23-24
N15-N16
33-34 T14-V14
57-58 R10-T10
61-62
T9-V9
63-64
R8-T8
69-70 U7-V7
71-72 U8-V8
73-74
R7-T7
79-80
T6-V6
81-82
R5-T5
83-84 U5-V5
85-86
R3-T3
87-88
T4-V4

Technical Specifications

Parameter * ValueUnit
Basic Specifications
Number of GPIOs
158 (Max)
On-board oscillator frequency (FXO-HC536R)
100 MHz
LPDDR Capacity
512 Mb
LPDDR Clock
166 MHz
SPI Flash Memory (N25Q128A13ESE40E)
128 Mb
Power supply voltage (USB or external) 5 – 6 V
FPGA Specifications
Internal supply voltage relative to GND
–0.5 to 1.32 V
Auxiliary supply voltage relative to GND –0.5 to 3.75 V
Output drivers supply voltage relative to GND –0.5 to 3.75 V

Mechanical Dimensions

saturnspartan6-dimensions

Saturn GPIO Easy Reference

Suggest Edit