Professional Documents
Culture Documents
MimasSpartan6Module PDF
MimasSpartan6Module PDF
MimasSpartan6Module PDF
User Guide
www.numato.com Rev 3
Get in touch with us!
Please feel free to send a mail to one of the mail IDs below or use the Contact Us page at
http://www.numato.com to drop us a quick message.
Technical Help
Got technical questions? Please write to help@numato.com
Sales Team
Questions about making payments, volume discounts, academic/open source discounts, purchase
orders and quotes? Please write to sales@numato.com
Webmaster
Questions/Suggestions about our website? Please write to webmaster@numato.com
Mailing Address
Numato Systems Pvt Ltd
2nd Floor, # 11, Seekan Heights
Phase-2, Electronics City
Bangalore, KA -560100
India
* Mail orders, phone orders and direct pick up are not available at this time. Please visit our online store to place your order. Estimated shipping time to
your address will be displayed in the shopping cart before checkout.
You may use, modify or share this publication or part of thereof adhering to Creative
Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) License.
See complete license text at http://creativecommons.org/licenses/by-sa/3.0/
All trademarks are property of their respective owners.
1 Mimas Spartan6 FPGA Module – User Guide
Introduction
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
Components/Tools required
Along with the module, you may need the items in the list below for easy and fast installation.
Connection Diagram
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.
USB Interface
DC Power Supply
This 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.
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.
JTAG Connector
JTAG connector provides access to FPGA's JTAG pins. A XILINX platform cable
tool can be used to for JTAG programming.
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.
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
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 GND NA
HEADER P2
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
Driver Installation
Windows
This 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.
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.
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.
Step 1: Right click on the “Generate Programming File” option in “Processes” window.
Step 2: Select “Process Properties” from the pop up menu. In the dialog box, check “Create Binary
Configuration File” Check box and click “Apply”.
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.
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.
Configuring Mimas
The Mimas Spartan6 module can be configured by two methods,
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.
Step 2: Click on “Program” button. Wait till “Done” appears on the screen.
Step 4: Double click on “Generate File”. “Generate Succeeded” will be displayed as shown in fig below
if the mcs file is generated successfully.
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”.
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.
Step 3: Select the ".mcs" file we already created and click OK. Now choose “M25P16” in the dialogue
box appeared, then click OK.
Step 4: Click on “Flash”, Double Click on Program, select OK. If the programming is successful, a
confirmation message will be displayed.
Technical Specifications
Parameter * Value Unit
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
All parameters considered nominal. Numato Systems Pvt Ltd reserve the right to modify products without notice.
Physical Dimensions
Schematics
See next page.
A A
XC6SLX9
PowerSupply Gpios
B B
VCCIO
VCCAUX VCCAUX
POWER SUPPLY VCCINT
VCCIO
VCCINT
VCCIO
LED[0...7]
SW[0...3]
LED[0...7]
SW[0...3]
VUSB
PowerSupply.sch
PIC18F14K50
SPARTAN 6
GPIOs
VUSB
VCCAUX XC6SLX9 - TQG144
C
PIC18F14K50 D[0..3]
RD
D[0..3]
RD
GPIO-P[1..35] GPIO-P[1..35] C
WR WR
CLK CLK GPIO-N[1..35] GPIO-N[1..35]
PROGB PROGB
SCS SCS
SDI SDI
SDO SDO
SCK SCK
PIC18F14K50.sch XC6SLX9.sch
Gpios.sch
D D
E E
License : CC BY-SA
http://www.numato.com
Numato Lab
File: Mimas.sch
Sheet: /
Title: MIMAS SPARTAN 6 FPGA MODULE
Size: A3 Date: 3 dec 2013 Rev:
KiCad E.D.A. Id: 1/5
1 2 3 4 5 6 7
1 2 3 4 5
LM317
U3
VCCIN 3 IN OUT
2 VCCAUX VCCAUX
ADJ
220R
R6
1
C4
A A
10uF
330R
R7
GND
LM317
U1
VCCIN 3 IN OUT
2 VCCINT VCCINT
ADJ
220R
R2
POWER SELECT
1
1-2 USB POWER C2
2-3 EXT POWER
EXTERNAL POWER
GS1 10uF
VUSB VUSB 1
2 VCCIN
10R
R3
2 3
P1
47uF
GND
LM317
U2
VCCIN 3 IN OUT
2 VCCIO VCCIO
ADJ
220
R4
1
C3
10uF
220R
330R
R1
R5
Power Select
BANK 0,1,3
1 - 2 3.3V
2 - 3 2.5V
3
1
GS2
2
C GND C
License : CC BY-SA
http://www.numato.com
Numato Lab
File: PowerSupply.sch
Sheet: /PowerSupply/
Title: MIMAS SPARTAN 6 FPGA MODULE
Size: A4 Date: 3 dec 2013 Rev:
KiCad E.D.A. Id: 2/5
1 2 3 4 5
1 2 3 4 5
VCCAUX
NOT POPULATED
R21
10K
A A
OSC2 PIC18F14K50
C28
22PF
D[0..3]
VCCAUX VCCAUX 1 VDD RC7/AN9/SDO/T1OSC0
9 SDO
RC6/AN8/T13CKI/T1OSC1
8 D0
RC5/CCP1/P1A/T0CKI
5 D2
VCCAUX
12MHz
6 D3
X2
RC4/P1B/C12OUT/SRQ
NOT POPULATED
NOT POPULATED
RC3/AN7/P1C/C12IN3/PGM
7 D1
MCLR 4
GND
RA3/MCLR/VPP 14 RD RD
OSC2 3 RC2/AN6/P1D/C12IN2/CVREF/INT2
RA4/AN3/OSC2/CLKO 15 PROGB PROGB
OSC1 RC1/AN5/C12IN1-/INT1/VREF-
R25
R26
2
10K
10K
RA5/OSC1/CLKI 16
OSC1 RC0/AN4/C12IN+/INT0/VREF+ CLK
DP 19
D+/PGD
C29
22PF
DM 18
D-/PGC RB7/TX/CK
10 WR WR
USBMINI 11 SCK
17 RB6/SCK/SCL
5 GND VUSB 12 SCS
GND RB5/AN11/RX/DT
VSS
NC
4
RB4/AN10/SDI/SDA
13 SDI
C30
USB
3
D+
U6 PIC18F14K50
20
2 PWR_FLAG
D-
1 VUSB 0.1uF
VUSB GND
X1 VUSB GND GND
VR1
VR2
VR
VR
VCCAUX
.01MFD
B GND B
C32
GND
VCCAUX
VCCAUX
GND
R19
R20
10K
10K
10K
0.1uF
M25P16
R22
10K
6 MCLR R17
5VCCAUX 2 MCLR SCS SCS 100R
1 S VCC 8
FWUP
P5
100R Q HOLD
P6
C C
License : CC BY-SA
http://www.numato.com
Numato Lab
File: PIC18F14K50.sch
Sheet: /PIC18F14K50/
Title: MIMAS SPARTAN 6 FPGA MODULE
Size: A4 Date: 3 dec 2013 Rev:
KiCad E.D.A. Id: 3/5
1 2 3 4 5
1 2 3 4 5
LED[0...7]
330R D1
1 2
LED0 7 8
LED
D2
LED1 5 6 1 2
R8
A LED A
LED2 3 4 D3 GPIO-P[1..35] GND
1 2
39 VCCIO 2 1 GND 40
LED3 1 2 D4 LED GPIO-P1 4 3 GPIO-N1
1 2
GPIO-P2 6 5 GPIO-N2
LED GPIO-P3 8 7 GPIO-N3
330R D5
1 2 GPIO-P4 10 9 GPIO-N4
LED4 7 8
LED GPIO-P5 12 11 GPIO-N5
D6 GPIO-P6 14 13 GPIO-N6
LED5 5 6 1 2
GPIO-P7 16 15 GPIO-N7
R9
HEADER P1
3 4
1 2 GPIO-P9 20 P2 19 GPIO-N9
LED GPIO-P10 22 21 GPIO-N10
LED7 1 2 D8 GPIO-P11 24 23 GPIO-N11
1 2 GND
GPIO-P12 26 25 GPIO-N12
LED GPIO-P13 28 27 GPIO-N13
SW[0...3] GPIO-P14 30 29 GPIO-N14
SW1 GPIO-P15 32 31 GPIO-N15
SW0
GPIO-P16 34 33 GPIO-N16
SW2 GPIO-P17 36 35 GPIO-N17
SW1 GPIO-P18 38 37 GPIO-N18
1 VCCIO 40 39 GND 2
SW3 40 VCCIO 1 2 GND 39
SW2
GPIO-P21 3 4 GPIO-N21
SW4 GPIO-P20 5 6 GPIO-N20
B SW3 GPIO-P35 7 8 GPIO-N35 B
GPIO-P34 9 10 GPIO-N34
GND
GPIO-P33 11 12 GPIO-N33
GPIO-P32 13 14 GPIO-N32
GPIO-P31 15 16 GPIO-N31
GPIO-P30 17 18 GPIO-N30
HEADER P2
GPIO-P29 19 20 GPIO-N29
GND 21 P3 22 GND
GPIO-P28 23 24 GPIO-N28
GPIO-P27 25 26 GPIO-N27
GPIO-P26 27 28 GPIO-N26
GPIO-P19 29 30 GPIO-N19
GPIO-P22 31 32 GPIO-N22
GPIO-P24 33 34 GPIO-N24
GPIO-P25 35 36 GPIO-N25
GPIO-P23 37 38 GPIO-N23
2 VCCIO 39 40 GND 1
GPIO-N[1..35]
VCCIO
C C
License : CC BY-SA
http://www.numato.com
Numato Lab
File: Gpios.sch
Sheet: /Gpios/
Title: MIMAS SPARTAN 6 FPGA MODULE
Size: A4 Date: 3 dec 2013 Rev:
KiCad E.D.A. Id: 4/5
1 2 3 4 5
1 2 3 4 5 6 7
JTAG
TCK 1 2 TDI
SPARTAN 6 - XC6SLX9 GND 3 P4 4 TDO
A
U4C A
VCCAUX 5 6 TMS
U4A SPARTAN 6 - XC6SLX9 U4B SPARTAN 6 - XC6SLX9
108
144 HSWAP GND
IO_L1P_HSWAPEN_0 72 113
143 CMPCS_B_2 GND
IO_L1N_VREF_ 71 DONE 13
142 GPIO-P5 DONE_2 GND
IO_L2P_0 70 130
141 GPIO-N5 IO_L1P_CCLK_2 SCK GND
IO_L2N_0 69 M0 136
140 GPIO-P4 IO_L1N_M0_CMPMISO_2 GND
IO_L3P_0 67 D2 25 100MHZ OSCILLATOR
139 GPIO-N4 IO_L2P_CMPCLK_2 GND VCCAUX
IO_L3N_0 66 D3 3
138 GPIO-P3 IO_L2N_CMPMOSI_2 GND
IO_L4P_0 65 49
137 GPIO-N3 IO_L3P_D0_DIN_MISO_MISO1_2 SDI GND
IO_L4N_0 64 54 FXO-HC536R
134 GPIO-P2 IO_L3N_MOSI_CSI_B_MISO0_2 SDO GND C26
IO_L34P_GCLK19_0 62 D1 68 1 4
133 GPIO-N2 IO_L12P_D1_MISO2_2 GND E/D VCC
IO_L34N_GCLK18_0 61 D0 77
132 GPIO-P1 IO_L12N_D2_MISO3_2 GND 0.1uF
IO_L35P_GCLK17_0 60 M1 91
131 GPIO-N1 IO_L13P_M1_2 GND GND 2 3 GND
IO_L35N_GCLK16_0 59 96 GND OUT
127 IO_L13N_D10_2 RD GND
IO_L36P_GCLK15_0 58
126 GCLK IO_L14P_D11_2 WR GND GND U5
IO_L36N_GCLK14_0 57
124 SW0 IO_L14N_D12_2 CLK GCLK
IO_L37P_GCLK13_0 56 GPIO-P19 D[0..3]
123 SW1 IO_L30P_GCLK1_D13_2
IO_L37N_GCLK12_0 55 GPIO-N19
121 SW2 SW[0...3] IO_L30N_GCLK0_USERCCLK_2
IO_L62P_0 51 GPIO-P22 C27
120 SW3 IO_L31P_GCLK31_D14_2
IO_L62N_VREF_0 50 GPIO-N22 129 VCCAUX VCCAUX
119 LED0 IO_L31N_GCLK30_D15_2 VCCAUX
IO_L63P_SCP7_0 48 GPIO-P24 20 15pF
118 LED1 IO_L48P_D7_2 VCCAUX
B IO_L63N_SCP6_0 47 GPIO-N24 36 B
117 LED2 IO_L48N_RDWR_B_VREF_2 VCCAUX GND
IO_L64P_SCP5_0 46 GPIO-P25 53
116 LED3 LED[0...7] IO_L49P_D3_2 VCCAUX
IO_L64N_SCP4_0 45 GPIO-N25 90
115 LED4 IO_L49N_D4_2 VCCAUX
IO_L65P_SCP3_0 44 GPIO-P23
114 LED5 IO_L62P_D5_2
IO_L65N_SCP2_0 43 GPIO-N23
112 LED6 IO_L62N_D6_2
IO_L66P_SCP1_0 41
111 LED7 IO_L64P_D8_2
IO_L66N_SCP0_0 40
105 GPIO-P21 IO_L64N_D9_2
IO_L1P_1 35 GPIO-P18 128 VCCINT VCCINT
104 GPIO-N21 IO_L1P_3 VCCINT
IO_L1N_VREF_1 34 GPIO-N18 19 VCCAUX
102 GPIO-P20 IO_L1N_VREF_3 VCCINT
IO_L32P_1 33 GPIO-P17 28
101 GPIO-N20 IO_L2P_3 VCCINT
IO_L32N_1 32 GPIO-N17 52
1
100 GPIO-P35 IO_L2N_3 VCCINT
IO_L33P_1 GPIO-P16
LED
30 89
D9
IO_L36P_3 VCCINT
4.7K
4.7K
GPIO-N35
R14
R15
99
IO_L33N_1 29 GPIO-N16
98 GPIO-P34 IO_L36N_3
2
IO_L34P_1 27 GPIO-P15
97 GPIO-N34 IO_L37P_3
IO_L34N_1 26 GPIO-N15
95 GPIO-P33 IO_L37N_3
IO_L40P_GCLK11_1 24 GPIO-P14
94 GPIO-N33 IO_L41P_GCLK27_3
IO_L40N_GCLK10_1 23 GPIO-N14 122 VCCIO VCCIO
93 GPIO-P32 IO_L41N_GCLK26_3 VCCO_0
IO_L41P_GCLK9_IRDY1_1 22 GPIO-P13 125
92 GPIO-N32 IO_L42P_GCLK25_TRDY2_3 VCCO_0
IO_L41N_GCLK8_1 21 GPIO-N13 135 R12
88 GPIO-P31 IO_L42N_GCLK24_3 VCCO_0 DONE
IO_L42P_GCLK7_1 17 GPIO-P12 1K
87 GPIO-N31 IO_L43P_GCLK23_3
IO_L42N_GCLK6_TRDY1_1 16 GPIO-N12
85 GPIO-P30 IO_L43N_GCLK22_IRDY2_3 PROGB
IO_L43P_GCLK5_1 15 GPIO-P11
84 GPIO-N30 IO_L44P_GCLK21_3
C IO_L43N_GCLK4_1 14 GPIO-N11 103 VCCIO VCCIO C
83 GPIO-P29 IO_L44N_GCLK20_3 VCCO_1 INIT_B
IO_L45P_1 12 GPIO-P10 76
82 GPIO-N29 IO_L49P_3 VCCO_1
IO_L45N_1 11 GPIO-N10 86
81 GPIO-P28 IO_L49N_3 VCCO_1
IO_L46P_1 10 GPIO-P9
IO_L50P_3
GS3
IO_L46N_1
80 GPIO-N28
IO_L50N_3
9 GPIO-N9
IO_L47P_1
79 GPIO-P27 SUSPEND GND
IO_L51P_3
8 GPIO-P8
IO_L47N_1
78 GPIO-N27
IO_L51N_3
7 GPIO-N8
IO_L74P_AWAKE_1
75 GPIO-P26 VCCO_2
42 VCCAUX VCCAUX
IO_L52P_3
6 GPIO-P7
IO_L74N_DOUT_BUSY_1
74 GPIO-N26 VCCO_2
63 R10
IO_L52N_3
5 GPIO-N7 VCCAUX 4.7K HSWAP
IO_L83P_3
2 GPIO-P6
IO_L83N_VREF_3
1 GPIO-N6
TCK
109 TCK VCCAUX
VCCO_3
18 VCCIO VCCIO
TDI
110 TDI
31
107 TMS 39 INIT_B VCCO_3
TMS IO_L65P_INIT_B_2 4
106 TDO 38 VCCO_3
TDO IO_L65N_CSO_B_2 SCS
R11
R13
10K
10K
SUSPEND
73 SUSPEND PROGRAM_B_2
37 PROGB
PROGB
XC6SLX9-2TQG144C
GS4
XC6SLX9-2TQG144C XC6SLX9-2TQG144C
M1
GPIO-P[1..35]
GS5
D D
GPIO-N[1..35] M0
GND
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
0.1uF
E GND GND E
GND License : CC BY-SA
http://www.numato.com
Numato Lab
File: XC6SLX9.sch
Sheet: /XC6SLX9/
Title: MIMAS SPARTAN 6 FPGA MODULE
Size: A3 Date: 3 dec 2013 Rev:
KiCad E.D.A. Id: 5/5
1 2 3 4 5 6 7