Xilinx Spartan 6 FPGA Boards

Mimas - Spartan 6 FPGA Development Board

5311 views February 18, 2016 admin 0

1.Introduction

mimasv1spartan6module_1_1__16294.1437708845.1280.1280

Mimas is an easy to use FPGA Development board featuring Xilinx Spartan-6 FPGA. Mimas is specially designed for experimenting and learning system design with FPGAs. This development board features Xilinx XC6SLX9 TQG144 FPGA with maximum 70 user IOs. The USB 2.0 interface provides fast and easy configuration download to the on-board SPI flash. You don’t need a programmer or special down loader cable to download the bit stream to the board.

Applications

  • Product Prototype Development
  • Home Networking
  • Signal Processing
  • Wired and Wireless Communications
  • Educational tool for schools and universities

Board features

  • FPGA: Spartan-6 XC6SLX9 in TQG144 package
  • Flash memory: 16 Mb SPI flash memory (M25P16)
  • 100MHz CMOS oscillator
  • USB 2.0 interface for On-board flash programming
  • FPGA configuration via JTAG and USB
  • 8 LEDs and four switches for user defined purposes
  • 70 IOs for user defined purposes
  • On-board voltage regulators for single power rail operation

2.How to Use Mimas – Spartan 6 FPGA Development Board

2.1.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).

2.2.Connection Diagram

mimasspartan6-connectiondiagram

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

2.3.USB Interface

mimasspartan6-usbinterfaceThe on board full speed USB controller helps a PC/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 left shows USB Mini connector)

2.4.DC Power Supply

mimasspartan6-dcpowersupplyThis module uses +5V power supply to function properly. By default the board is configured to use +5V supply from USB. So an external +5V power is not required unless USB port is unable to supply enough current. In most cases USB ports are capable of providing enough current for the module. Current requirement for this board largely depends on your application. Please consult 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.

2.5.Power Select

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

2.6.On-Board Peripherals

8 LEDs and four micro switches are provided on-board for user defined purposes. These peripherals are connected to FPGA IOs and can be controlled from user RTL. The switches do not have pull-ups on board so make sure to enable week pull ups on corresponding IOs in your design.

2.7.JTAG Connector

mimasspartan6-jtagconnector-img1JTAG connector provides access to FPGA’s JTAG pins. A XILINX platform cable tool can be used to for JTAG programming.

mimasspartan6-jtagconnector-img2

2.8.GPIOs

This board is equipped with 70 user IO pins that can be used for various custom applications. Pin assignments on the connectors are available in the tables below.

HEADER P1

Header Pin No. Pin descriptionSpartan-6 (XC6SLX9 TQG144)
Pin No.
1 VCCIO NA
2 GND NA
3
IO_L1P_3 35
4 IO_L1N_VREF_3 34
5 IO_L2P_3 33
6
IO_L2N_3 32
7
IO_L36P_3 30
8
IO_L36N_3 29
9 IO_L37P_3 27
10
IO_L37N_3 26
11IO_L41P_GCLK27_3
24
12
IO_L41N_GCLK26_3 23
13 IO_L42P_GCLK25_TRDY2_3
22
14 IO_L42N_GCLK24_3 21
15
IO_L43P_GCLK23_3 17
16
IO_L43N_GCLK22_IRDY2_3 16
17
IO_L44P_GCLK21_3 15
18
IO_L44N_GCLK20_3 14
19
IO_L49P_3 12
20
IO_L49N_3 11
21
IO_L50P_3 10
22
IO_L50N_3 9
23
IO_L51P_3 8
24
IO_L51N_3 7
25 IO_L52P_3 6
26
IO_L52N_3 5
27
IO_L83P_3 2
28 IO_L83N_VREF_3 1
29 IO_L2P_0 142
30
IO_L2N_0 141
31
IO_L3P_0 140
32
IO_L3N_0 139
33
IO_L4P_0 138
34 IO_L4N_0 137
35 IO_L34P_GCLK19_0
134
36 IO_L34N_GCLK18_0 133
37
IO_L35P_GCLK17_0 132
38
IO_L35N_GCLK16_0 131
39
VCCIO NA
40 GNDNA

HEADER P2

Header Pin No.
Pin description Spartan-6(XC6SLX9 TQG144)
Pin No.
1 GND
NA
2
VCCIO NA
3 IO_L62N_D6_2
43
4
IO_L62P_D5_2 44
5
IO_L49N_D4_2 45
6 IO_L49P_D3_2 46
7 IO_L48N_RDWR_B_VREF_2 47
8 IO_L48P_D7_2 48
9 IO_L31N_GCLK30_D15_2 50
10
IO_L31P_GCLK31_D14_2 51
11
IO_L30N_GCLK0_USERCCLK_2 55
12
IO_L30P_GCLK1_D13_2 56
13
IO_L74N_DOUT_BUSY_1 74
14 IO_L74P_AWAKE_1 75
15
IO_L47N_1 78
16
IO_L47P_1 79
17 IO_L46N_1 80
18 IO_L46P_1 81
19 GND NA
20 GND NA
21 IO_L45N_1 82
22 IO_L45P_1 83
23
IO_L43N_GCLK4_1 84
24
IO_L43P_GCLK5_1 85
25 IO_L42N_GCLK6_TRDY1_1
87
26
IO_L42P_GCLK7_1 88
27 IO_L41N_GCLK8_1 92
28 IO_L41P_GCLK9_IRDY1_1
93
29 IO_L40N_GCLK10_1 94
30 IO_L40P_GCLK11_1 95
31 IO_L34N_1 97
32
IO_L34P_1 98
33 IO_L33N_1 99
34
IO_L33P_1 100
35
IO_L32N_1 101
36
IO_L32P_1 102
37
IO_L1N_VREF_1 104
38 IO_L1P_1 105
39
GND NA
40
VCCIO NA

3.Driver Installation

3.1.Installing on Windows

mimasspartan6-inswindowsThis product requires a driver to be installed for proper functioning when used with Windows. The driver package can be downloaded from the product page. To install the driver, unzip the contents of the downloaded driver package to a folder. Attach USB cable to the PC and when asked by Windows device installation wizard, point to the folder where driver files are present. When driver installation is complete, the module should appear in Windows Device Manager as a serial port (see the picture on the right). Note down the name of the serial port (COM1, COM2 etc..). This information is required while programming the module with configuration tool.

3.2.Installing on Linux

To use this product with Linux, USB CDC driver needs to be compiled in with the kernel. Fortunately, most Linux distributions (Ubuntu, Redhat, Debian etc..) has this driver pre-installed. The chances of you requiring to rebuild the kernel to include the USB CDC driver is very slim. When connected to a Linux machine, this product should appear as a serial port in the /dev directory. Usually the name of the device will be “ttyACMx” or similar. The name may be different depending on the Linux distribution you have.

3.3.Installing on Mac

Similar to Linux, Mac operating system comes with the required drivers pre-installed. When connected to a Mac computer, the device should appear as a serial port.

4.Generating Bit Stream for Mimas

HDL design needs to be converted to bit stream before it can be programmed to FPGA. Mimas 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.

mimasspartan6-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”.

mimasspartan6-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 Mimas configuration.

5.Powering Up Mimas

Mimas can be powered directly from 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 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 the power consumption. In any case if power from USB is not enough for your application, an external supply can be applied to the board. Mimas requires two different voltages, a 3.3V and a 1.2V supply. On-board regulators derive these voltages from the USB/Ext power supply.

6.Configuring Mimas

The Mimas Spartan6 module can be configured by two methods,

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

6.1.Configuring Mimas Using Configuration Tool

Mimas has an on-board micro-controller which facilitates easy reprogramming of on-board SPI flash through USB interface. The micro-controller receives bit stream from the host application and program it in to the SPI Flash and lets the FPGA boot from the flash. The Mimas configuration application can be downloaded from www.numato.com for free. When Mimas is connected to PC, it shows up as a COM port in Device Manager. Run configuration application, select proper COM Port before downloading bit stream. Click on “Open File” to select the bit stream file (.bin) and press “Program” button to download the bit stream. Wait till the download process is finished. Once the download process is over, the configuration controller will try to boot the FPGA from the SPI Flash automatically. Follow the below steps.

Step 1: Open Mimas Configuration Tool. Select the port no.(Refer “Driver installation” for more information on finding port no.) Click Open file and select the .bin file.

mimasspartan6-configstep1

Step 2: Click on “Program” button. Wait till “Done” appears on the screen.

mimasspartan6-configstep2

6.2.Configuring Mimas Using JTAG

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

Generating “.mcs” file for Mimas

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

mimasspartan6-configjtagstep1

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

mimasspartan6-configjtagstep2

Step 3: Set an output file name and an 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.

mimasspartan6-configjtagstep3

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

mimasspartan6-configjtagstep4

7.Programming FPGA Using ISE iMPACT

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

mimasspartan6-programimpactstep1

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.

mimasspartan6-programimpactstep2

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

mimasspartan6-programimpactstep3

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

mimasspartan6-programimpactstep4

8.Technical Specifications

Parameter *ValueUnit
Basic Specifications
Number of GPIOs 70
Number of LEDs 8
Number of Switches
4
On-board oscillator frequency (FXO-HC536R)
100 MHz
SPI Flash Memory (M25P16)
16 Mb
Power supply voltage (USB or external) 5 - 7 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–0.5 to 3.75 V

9.Mechanical Dimensions

mimasspartan6-dimensions

Suggest Edit