MicroBlaze Development
Kit Spartan-3E 1600E
Edition User Guide
UG257 (v1.1) December 5, 2007
R
R
Xilinx is disclosing this Document and Intellectual Property (hereinafter “the Design”) to you for use in the development of designs to operate
on, or interface with Xilinx FPGAs. Except as stated herein, none of the Design may be copied, reproduced, distributed, republished,
downloaded, displayed, posted, or transmitted in any form or by any means including, but not limited to, electronic, mechanical,
photocopying, recording, or otherwise, without the prior written consent of Xilinx. Any unauthorized use of the Design may violate copyright
laws, trademark laws, the laws of privacy and publicity, and communications regulations and statutes.
Xilinx does not assume any liability arising out of the application or use of the Design; nor does Xilinx convey any license under its patents,
copyrights, or any rights of others. You are responsible for obtaining any rights you may require for your use or implementation of the Design.
Xilinx reserves the right to make changes, at any time, to the Design as deemed desirable in the sole discretion of Xilinx. Xilinx assumes no
obligation to correct any errors contained herein or to advise you of any correction if such be made. Xilinx will not assume any liability for the
accuracy or correctness of any engineering or technical support or assistance provided to you in connection with the Design.
THE DESIGN IS PROVIDED “AS IS” WITH ALL FAULTS, AND THE ENTIRE RISK AS TO ITS FUNCTION AND IMPLEMENTATION IS
WITH YOU. YOU ACKNOWLEDGE AND AGREE THAT YOU HAVE NOT RELIED ON ANY ORAL OR WRITTEN INFORMATION OR
ADVICE, WHETHER GIVEN BY XILINX, OR ITS AGENTS OR EMPLOYEES. XILINX MAKES NO OTHER WARRANTIES, WHETHER
EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE DESIGN, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE, TITLE, AND NONINFRINGEMENT OF THIRD-PARTY RIGHTS.
IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIA L, OR INCIDEN TAL DAMAGES,
INCLUDING ANY LOST DATA AND LOST PROFITS, ARISING FROM OR RELATING TO YOUR USE OF THE DESIGN, EVEN IF YOU
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE TOTAL CUMULATIVE LIABILITY OF XILINX IN CONNECTION
WITH YOUR USE OF THE DESIGN, WHETHER IN CONTRACT OR TORT OR OTHERWISE, WILL IN NO EVENT EXCEED THE
AMOUNT OF FEES PAID BY YOU TO XILINX HEREUNDER FOR USE OF THE DESIGN. YOU ACKNOWLEDGE THAT THE FEES, IF
ANY, REFLECT THE ALLOCATION OF RISK SET FORTH IN THIS AGREEMENT AND THAT XILINX WOULD NOT MAKE AVAILABLE
THE DESIGN TO YOU WITHOUT THESE LIMITATIONS OF LIABILITY.
The Design is not designed or intended for use in the development of on-line control equipment in hazardous environments requiring failsafe controls, such as in the operation of nuclear facilities, aircraft navigation or communications systems, air traffic control, life support, or
weapons systems (“High-Risk Applications”). Xilinx specifically disclaims any express or implied warranties of fitness for such High-Risk
Applications. You represent that use of the Design in such High-Risk Applications is fully at your risk.
DDR SDRAM Series Termination and FX2 Connector Differential Termination 158
Appendix B: Example User Constraints File (UCF)
MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide5
UG257 (v1.1) December 5, 2007www.xilinx.com
R
6MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide
www.xilinx.comUG257 (v1.1) December 5, 2007
R
About This Guide
This user guide provides basic information on the MicroBlaze Development Kit board
capabilities, functions, and design. It includes general information on how to use the
various peripheral functions included on the board. For detailed reference designs,
including VHDL or Verilog source code, please visit the following web link.
xSpartan™-3E Starter Kit Board Reference Page
http://www.xilinx.com/
Acknowledgements
Xilinx wishes to thank the following companies for their support of the MicroBlaze
Development Kit board:
Preface
sp3e1600e
xIntel Corporation for the 128 Mbit StrataFlash memory
xLinear Technology for the SPI-compatible A/D and D/A converters, the
xMicron Technology, Inc. for the 32M x 16 DDR SDRAM
xSMSC for the 10/100 Ethernet PHY
xSTMicroelectronics for the 16M x 1 SPI serial Flash PROM
xTex as I ns tr um en ts I nc orp or at ed f or th e th ree-rail TPS75003 regulator supplying most
xXilinx, Inc. Configuration Solutions Division for the XCF04S Platform Flash PROM
xXilinx, Inc. CPLD Division for the XC2C64A CoolRunner™-II CPLD
Guide Contents
This manual contains the following chapters:
xChapter 1, “Introduction and Overview,” provides an overview of the key features of
xChapter 2, “Switches, Buttons, and Knob,” defines the switches, buttons, and knobs
xChapter 3, “Clock Sources,” describes the various clock sources available on the
xChapter 4, “FPGA Configuration Options,” describes the configuration options for
programmable pre-amplifier, and the power regulators for the non-FPGA
components
of the FPGA supply voltages
and their support for the embedded USB programmer
the MicroBlaze Development Kit board.
present on the MicroBlaze Development Kit board.
MicroBlaze Development Kit board.
the FPGA on the MicroBlaze Development Kit board.
MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide7
UG257 (v1.1) December 5, 2007www.xilinx.com
Preface: About This Guide
xChapter 5, “Character LCD Screen,” describes the functionality of the character LCD
xChapter 6, “VGA Display Port,” describes the functionality of the VGA port.
xChapter 7, “RS-232 Serial Ports,” describes the functionality of the RS-232 serial ports.
xChapter 8, “PS/2 Mouse/Keyboard Port,” describes the functionality of the PS/2
xChapter 9, “Digital to Analog Converter (DAC),” describes the functionality of the
xChapter 10, “Analog Capture Circuit,” describes the functionality of the A/D
xChapter 11, “Intel StrataFlash Parallel NOR Flash PROM,” describes the functionality
xChapter 12, “SPI Serial Flash,” describes the functionality of the SPI Serial Flash
xChapter 13, “DDR SDRAM,” describes the functionality of the DDR SDRAM.
xChapter 14, “10/100 Ethernet Physical Layer Interface,” describes the functionality of
xChapter 15, “Expansion Connectors,” describes the various connectors available on
xChapter 16, “XC2C64A CoolRunner-II CPLD” describes how the CPLD is involved in
xChapter 17, “DS2432 1-Wire SHA-1 EEPROM” provides a brief introduction to the
xAppendix A, “Schematics,” lists the schematics for the MicroBlaze Development Kit
xAppendix B, “Example User Constraints File (UCF),” provides example code from a
R
screen.
mouse and keyboard port.
DAC.
converter with a programmable gain pre-amplifier.
of the StrataFlash PROM.
memory.
the 10/100Base-T Ethernet physical layer interface.
the MicroBlaze Development Kit board.
FPGA configuration when using Master Serial and BPI mode.
SHA-1 secure EEPROM for authenticating or copy-protecting FPGA configuration
bitstreams.
board.
UCF.
Additional Resources
To fi nd a dd ti on al r es ou rc es fo r th e Mi croBlaze Processor or the Xilinx Embedded
development tools, see the Xilinx website at:
http://www.Xilinx.com/Microblaze
To fi nd a dd it io na l do cum en ta ti on, see the Xilinx website at:
http://www.xilinx.com/literature
To se ar ch t he A nsw er D at ab as e of s il ico n, s of tw ar e, a nd I P qu es ti on s an d ans we rs , or t o
create a technical support WebCase, see the Xilinx website at:
http://www.xilinx.com/support
8MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide
www.xilinx.comUG257 (v1.1) December 5, 2007
or http://www.Xilinx.com/EDK
.
.
R
Introduction and Overview
Thank you for purchasing the Xilinx MicroBlaze™ Development Kit Spartan™-3E 1600E
Edition. You will find it useful in developing your Spartan-3E FPGA application.
Choose the Starter Kit Board for Your Needs
Depending on specific requirements, choose the Xilinx development board that best suits
your needs.
Spartan-3E FPGA Features and Embedded Processing Functions
Chapter 1
The MicroBlaze Development Kit board highlights the unique features of the Spartan-3E
FPGA family and provides a convenient development board for embedded processing
applications. The board highlights these features:
xSpartan-3E specific features
iParallel NOR Flash configuration
iMultiBoot FPGA configuration from Parallel NOR Flash PROM
iSPI serial Flash configuration
xEmbedded development
iMicroBlaze 32-bit embedded RISC processor
iPicoBlaze™ 8-bit embedded controller
iDDR memory interfaces
i10-100 Ethernet
iUART
Learning Xilinx FPGA, CPLD, and ISE Development Software Basics
The MicroBlaze Development Kit board is more advanced and complex compared to other
Spartan development boards.
Advanced Spartan-3 Generation Development Boards
The MicroBlaze Development Kit board demonstrates the basic capabilities of the
MicroBlaze embedded processor and the Xilinx Embedded Development Kit (EDK). For
more advanced development on a board with additional peripherals and FPGA logic,
consider the V4 FX12 Board:
MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide9
xTwo -i np ut , SP I- ba se d An al og -to-Digital Converter (ADC) with programmable-gain
pre-amplifier
xChipScope™ SoftTouch debugging port
xRotary-encoder with push-button shaft
xEight discrete LEDs
xFour slide switches
xFour push-button switches
xSMA clock input
R
10MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide
www.xilinx.comUG257 (v1.1) December 5, 2007
R
x8-pin DIP socket for auxiliary clock oscillator
Design Trade-Offs
A few system-level design trade-offs were required in order to provide the MicroBlaze
Development Kit board with the most functionality.
Configuration Methods Galore!
A typical FPGA application uses a single non-volatile memory to store configuration
images. To demonstrate new Spartan-3E capabilities, the MicroBlaze Development Kit
board has three different configuration memory sources that all need to function well
together. The extra configuration functions make the starter kit board more complex than
typical Spartan-3E applications.
The starter kit board also includes an on-board USB-based JTAG programming interface.
The on-chip circuitry simplifies the device programming experience. In typical
applications, the JTAG programming hardware resides off-board or in a separate
programming module, such as the Xilinx Platform USB cable. This USB port is for
programming only and can not be used as an independent USB interface.
Design Trade-Offs
Volta ges fo r all Ap plicatio ns
The MicroBlaze Development Kit board showcases a triple-output regulator developed by
Tex as I ns tr um en ts , th e TPS75003
This regulator is sufficient for most stand-alone FPGA applications. However, the starter
kit board includes DDR SDRAM, which requires its own high-current supply. Similarly,
the USB-based JTAG download solution requires a separate 1.8V supply.
specifically to power Spartan-3 and Spartan-3E FPGAs.
MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide11
UG257 (v1.1) December 5, 2007www.xilinx.com
Chapter 1: Introduction and Overview
R
12MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide
www.xilinx.comUG257 (v1.1) December 5, 2007
R
Switches, Buttons, and Knob
Slide Switches
Locations and Labels
The MicroBlaze Development Kit board has four slide switches, as shown in Figure 2-1.
The slide switches are located in the lower right corner of the board and are labeled SW3
through SW0. Switch SW3 is the left-most switch, and SW0 is the right-most switch.
Spartan-3E
Development Board
Chapter 2
Operation
When in the UP or ON position, a switch connects the FPGA pin to 3.3V, a logic High.
When DOWN or in the OFF position, the switch connects the FPGA pin to ground, a logic
Low. The switches typically exhibit about 2 ms of mechanical bounce and there is no active
debouncing circuitry, although such circuitry could easily be added to the FPGA design
programmed on the board.
UCF Location Constraints
Figure 2-2 provides the UCF constraints for the four slide switches, including the I/O pin
assignment and the I/O standard used. The PULLUP resistor is not required, but it defines
the input value when the switch is in the middle of a transition.
SW3
Figure 2-1: Four Slide Switches
SW0
HIGH
LOW
UG257_02_01_061306
MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide13
UG257 (v1.1) December 5, 2007www.xilinx.com
Chapter 2: Switches, Buttons, and Knob
NET "SW<0>" LOC = "L13" | IOSTANDARD = LVTTL | PULLUP ;
NET "SW<1>" LOC = "L14" | IOSTANDARD = LVTTL | PULLUP ;
NET "SW<2>" LOC = "H18" | IOSTANDARD = LVTTL | PULLUP ;
NET "SW<3>" LOC = "N17" | IOSTANDARD = LVTTL | PULLUP ;
Push-Button Switches
Locations and Labels
The MicroBlaze Development Kit board has four momentary-contact push-button
switches, shown in Figure 2-3. The push buttons are located in the lower left corner of the
board and are labeled BTN_NORTH, BTN_EAST, BTN_SOUTH, and BTN_WEST. The
FPGA pins that connect to the push buttons appear in parentheses in Figure 2-3 and the
associated UCF appears in Figure 2-5.
Figure 2-3: Four Push-Button Switches Surround Rotary Push-Button Switch
Pressing a push button connects the associated FPGA pin to 3.3V, as shown in Figure 2-4.
Use an internal pull-down resistor within the FPGA pin to generate a logic Low when the
button is not pressed. Figure 2-5 shows how to specify a pull-down resistor within the
UCF. There is no active debouncing circuitry on the push button.
14MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide
www.xilinx.comUG257 (v1.1) December 5, 2007
R
Rotary Push-Button Switch
3.3V
Figure 2-4: Push-Button Switches Require an Internal Pull-Down Resistor in FPGA
In some applications, the BTN_SOUTH push-button switch is also a soft reset that
selectively resets functions within the FPGA.
UCF Location Constraints
Figure 2-5 provides the UCF constraints for the four push-button switches, including the
I/O pin assignment and the I/O standard used, and defines a pull-down resistor on each
input.
NET "BTN_EAST" LOC = "H13" | IOSTANDARD = LVTTL | PULLDOWN ;
NET "BTN_NORTH" LOC = "V4" | IOSTANDARD = LVTTL | PULLDOWN ;
NET "BTN_SOUTH" LOC = "K17" | IOSTANDARD = LVTTL | PULLDOWN ;
NET "BTN_WEST" LOC = "D18" | IOSTANDARD = LVTTL | PULLDOWN ;
Push Button
FPGA I/O Pin
BTN_* Signal
UG227_02_04_060206
Input Pin
UG257_02_05_060206
Figure 2-5: UCF Constraints for Push-Button Switches
Rotary Push-Button Switch
Locations and Labels
The rotary push-button switch is located in the center of the four individual push-button
switches, as shown in Figure 2-3. The switch produces three outputs. The two shaft
encoder outputs are ROT_A and ROT_B. The center push-button switch is ROT_CENTER.
Operation
The rotary push-button switch integrates two different functions. The switch shaft rotates
and outputs values whenever the shaft turns. The shaft can also be pressed, acting as a
push-button switch.
Push-Button Switch
Pressing the knob on the rotary/push-button switch connects the associated FPGA pin to
3.3V, as shown in Figure 2-6. Use an internal pull-down resistor within the FPGA pin to
generate a logic Low. Figure 2-9 shows how to specify a pull -down resistor within the UCF.
There is no active debouncing circuitry on the push button.
MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide15
In principal, the rotary shaft encoder behaves much like a cam, connected to central shaft.
Rotating the shaft then operates two push-button switches, as shown in Figure 2-7.
Depending on which way the shaft is rotated, one of the switches opens before the other.
Likewise, as the rotation continues, one switch closes before the other. However, when the
shaft is stationary, also called the detent position, both switches are closed.
A pull-up resistor in each input pin
generates a ‘1’ for an open switch.
See the UCF file for details on
specifying the pull-up resistor.
A=‘0’
FPGA
Vcco
Vcco
Rotary Shaft
Encoder
B=‘1’
GND
UG257_02_07_060206
Figure 2-7: Basic example of rotary shaft encoder circuitry
Closing a switch connects it to ground, generating a logic Low. When the switch is open, a
pull-up resistor within the FPGA pin pulls the signal to a logic High. The UCF constraints
in Figure 2-9 describe how to define the pull-up resistor.
The FPGA circuitry to decode the ‘A’ and ‘B’ inputs is simple, but must consider the
mechanical switching noise on the inputs, also called chatter. As shown in Figure 2-8, the
chatter can falsely indicate extra rotation events or even indicate rotations in the opposite
direction! See the Rotary Encoder Interface reference design in“Related Resources” for an
example.
16MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide
www.xilinx.comUG257 (v1.1) December 5, 2007
R
Discrete LEDs
Rising edge on ‘A’
when ‘B’ is Low indicates
RIGHT (clockwise) rotation
Rotating RIGHT
A
B
Detent
Figure 2-8: Outputs from Rotary Shaft Encoder May Include Mechanical Chatter
UCF Location Constraints
Figure 2-9 provides the UCF constraints for the four push-button switches, including the
I/O pin assignment and the I/O standard used, and defines a pull-down resistor on each
input.
NET "ROT_A" LOC = "K18" | IOSTANDARD = LVTTL | PULLUP ;
NET "ROT_B" LOC = "G18" | IOSTANDARD = LVTTL | PULLUP ;
NET "ROT_CENTER" LOC = "V16" | IOSTANDARD = LVTTL | PULLDOWN ;
Switch opening chatter on ‘A’
injects false “clicks” to the RIGHT
Switch closing chatter on ‘B’
injects false “clicks” to the LEFT
(’B’ rising edge when ‘A’ is Low)
Detent
UG257_02_08_060206
UG257_03_060206
Discrete LEDs
Locations and Labels
Figure 2-9: UCF Constraints for Rotary Push-Button Switch
The MicroBlaze Development Kit board has eight individual surface-mount LEDs located
above the slide switches as shown in Figure 2-10. The LEDs are labeled LED7 through
LED0. LED7 is the left-most LED, LED0 the right-most LED.
MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide17
UG257 (v1.1) December 5, 2007www.xilinx.com
Chapter 2: Switches, Buttons, and Knob
R
Spartan-3E
Development Board
Operation
Each LED has one side connected to ground and the other side connected to a pin on the
Spartan-3E device via a 390: current limiting resistor. To light an individual LED, drive
the associated FPGA control signal High.
UCF Location Constraints
Figure 2-11 provides the UCF constraints for the four push-button switches, including the
I/O pin assignment, the I/O standard used, the output slew rate, and the output drive
current.
LED7
Figure 2-10:Eight Discrete LEDs
LED0
UG257_02_10_061306
NET "LED<7>" LOC = "A8" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<6>" LOC = "G9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<5>" LOC = "A7" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<4>" LOC = "D13" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<3>" LOC = "E6" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<2>" LOC = "D6" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<1>" LOC = "C3" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
NET "LED<0>" LOC = "D4” | IOSTANDARD = SSTL2_I ;
Related Resources
xRotary Encoder Interface for Spartan-3E Starter Kit (Reference Design)
http://www.xilinx.com/s3estarter
http://www.xilinx.com/sp3e1600E
UG257_02_11_062106
Figure 2-11: UCF Constraints for Eight Discrete LEDs
18MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide
www.xilinx.comUG257 (v1.1) December 5, 2007
R
Clock Sources
Overview
As shown in Figure 3-1, the MicroBlaze Development Kit board supports three primary
clock input sources, all of which are located below the Xilinx logo, near the Spartan-3E
logo.
xThe board includes an on-board 50 MHz clock oscillator.
xThe user clock socket is populated with a 66 MHz oscillator
xClocks can be supplied off-board via an SMA-style connector. Alternatively, the FPGA
can generate clock signals or other high-speed signals on the SMA-style connector.
xOptionally install a separate 8-pin DIP-style clock oscillator in the supplied socket
Chapter 3
.
8-Pin DIP Oscillator Socket
Bank 0, Oscillator Voltage
(Controlled by Jumper JP9)
Spartan-3E
Development Board
On-Board 50 MHz Oscillator
CLK_50MHz:[C9]
CLK_AUX:[B8]
SMA Connector
UG257_03_01_061306
Figure 3-1: Available Clock Inputs
MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide19
UG257 (v1.1) December 5, 2007www.xilinx.com
Chapter 3: Clock Sources
Clock Connections
Each of the clock inputs connect directly to a global buffer input in I/O Bank 0, along the
top of the FPGA. As shown in Table 3-1, each of the clock inputs also optimally connects to
an associated DCM.
Ta bl e 3 - 1:Clock Inputs and Associated Global Buffers and DCMs
Clock InputFPGA PinGlobal BufferAssociated DCM
CLK_50MHZC9GCLK10DCM_X0Y1
CLK_AUXB8GCLK8DCM_X0Y1
CLK_SMAA10GCLK7DCM_X1Y1
Voltage Control
The voltage for all I/O pins in FPGA I/O Bank 0 is controlled by jumper JP9.
Consequently, these clock resources are also controlled by jumper JP9. By default, JP9 is set
for 3.3V. The on-board oscillator is a 3.3V device and might not perform as expected when
jumper JP9 is set for 2.5V.
R
50 MHz On-Board Oscillator
The board includes a 50 MHz oscillator with a 40% to 60% output duty cycle. The oscillator
is accurate to
±2500 Hz or ±50 ppm.
Auxiliary Clock Oscillator Socket
The provided 8-pin socket accepts clock oscillators that fit the 8-pin DIP footprint. Use this
socket if the FPGA application requires a frequency other than 50 MHz. This socket is
populated with a 66 MHz oscillator. This clock input is used for some of the reference
designs provided with the board. Alternatively, use the FPGA’s Digital Clock Manager
(DCM) to generate or synthesize other frequencies from the on-board 50 MHz oscillator.
SMA Clock Input or Output Connector
To pr ov id e a cl oc k fr om a n ex te rna l so urc e, c onn ec t th e in put c lo ck s ig na l to th e SM A
connector. The FPGA can also generate a single-ended clock output or other high-speed
signal on the SMA clock connector for an external device.
UCF Constraints
The clock input sources require two different types of constraints. The location constraints
define the I/O pin assignments and I/O standards. The period constraints define the clock
period—and consequently the clock frequency—and the duty cycle of the incoming clock
signal.
20MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide
www.xilinx.comUG257 (v1.1) December 5, 2007
R
Location
Figure 3-2 provides the UCF constraints for the three clock input sources, including the
I/O pin assignment and the I/O standard used. The settings assume that jumper JP9 is set
for 3.3V. If JP9 is set for 2.5V, adjust the IOSTANDARD settings accordingly.
NET "CLK_50MHZ" LOC = "C9" | IOSTANDARD = LVCMOS33 ;
NET "CLK_SMA" LOC = "A10" | IOSTANDARD = LVCMOS33 ;
NET "CLK_AUX" LOC = "B8" | IOSTANDARD = LVCMOS33 ;
Figure 3-2: UCF Location Constraints for Clock Sources
Clock Period Constraints
The Xilinx ISE development software uses timing-driven logic placement and routing. Set
the clock PERIOD constraint as appropriate. An example constraint appears in Figure 3-3
for the on-board 50 MHz clock oscillator. The CLK_50MHZ frequency is 50 MHz, which
equates to a 20 ns period. The output duty cycle from the oscillator ranges between 40% to
60%.
Related Resources
UG257_03_02_061306
Related Resources
xEpson SG-8002JF Series Oscillator Data Sheet (50 MHz Oscillator)
# Define clock period for 50 MHz oscillator
NET "CLK_50MHZ" PERIOD = 20.0ns HIGH 40%;
UG257_03_03_060206
Figure 3-3: UCF Clock PERIOD Constraint
MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide21
UG257 (v1.1) December 5, 2007www.xilinx.com
Chapter 3: Clock Sources
R
22MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide
www.xilinx.comUG257 (v1.1) December 5, 2007
R
FPGA Configuration Options
The MicroBlaze Development Kit board supports a variety of FPGA configuration options:
xDownload FPGA designs directly to the Spartan-3E FPGA via JTAG, using the on-
board USB interface. The on-board USB-JTAG logic also provides in-system
programming for the on-board Platform Flash PROM and the Xilinx XC2C64A CPLD.
SPI serial Flash and StrataFlash programming are performed separately.
xProgram the on-board 4 Mbit Xilinx XCF04S serial Platform Flash PROM, then
configure the FPGA from the image stored in the Platform Flash PROM using Master
Serial mode.
xProgram the on-board 16 Mbit ST Microelectronics SPI serial Flash PROM, then
configure the FPGA from the image stored in the SPI serial Flash PROM using SPI
mode.
xProgram the on-board 128 Mbit Intel StrataFlash parallel NOR Flash PROM, then
configure the FPGA from the image stored in the Flash PROM using BPI Up or BPI
Down configuration modes. Further, an FPGA application can dynamically load two
different FPGA configurations using the Spartan-3E FPGA’s MultiBoot mode. See the
Spartan-3E data sheet (DS312
) for additional details on the MultiBoot feature.
Chapter 4
Figure 4-1 indicates the position of the USB download/programming interface and the on-
board non-volatile memories that potentially store FPGA configuration images. Figure 4-2
provides additional details on configuration options.
MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide23
UG257 (v1.1) December 5, 2007www.xilinx.com
Chapter 4: FPGA Configuration Options
16 Mbit ST Micro SPI Serial Flash
Uses Peripheral Interface (SPI) Mode
R
Configuration Options
PROG_B button, Platform
Flash PROM, mode pins
USB-based Download
and Debug Port
Usesstandard USB cable
128 Mbit Intel StrataFlash
Parallel NOR Flash Memory
Byte Peripheral Interface (BPI) mode
UG257_04_01_061306
Figure 4-1: MicroBlaze Development Kit Board FPGA Configuration Options
Configuration Mode Jumper Settings (Header J30)
DONE Pin LED
Spartan-3E
Development Board
4 Mbit Xilinx Platform Flash PROM
Configuration storage for Master Serial
mode (one XC04S on front and
one on the back of the board”
64 Macrocell Xilinx XC2C64A CoolRunner CPLD
Controller upper address lines in BPI mode and
Platform Flash chip select (User programmable)
PROG_B Push Button Switch
Pressand release to restart configuration
Lightsup when FPGA successfully configured
UG257_04_02_061306
Figure 4-2: Detailed Configuration Options
24MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide
www.xilinx.comUG257 (v1.1) December 5, 2007
R
The configuration mode jumpers determine which configuration mode the FPGA uses
when power is first applied, or whenever the PROG button is pressed.
The DONE pin LED lights when the FPGA successfully finishes configuration.
Pressing the PROG button forces the FPGA to restart its configuration process.
The 4 Mbit Xilinx Platform Flash PROM provides easy, JTAG-programmable configuration
storage for the FPGA. The FPGA configures from the Platform Flash using Master Serial
mode.
The 64-macrocell XC2C64A CoolRunner II CPLD provides additional programming
capabilities and flexibility when using the BPI Up, BPI Down, or MultiBoot configuration
modes and loading the FPGA from the StrataFlash parallel Flash PROM. The CPLD is userprogrammable.
Configuration Mode Jumpers
As shown in Table 4-1, the J30 jumper block settings control the FPGA’s configuration
mode. Inserting a jumper grounds the associated mode pin. Insert or remove individual
jumpers to select the FPGA’s configuration mode and associated configuration memory
source.
Configuration Mode Jumpers
Ta bl e 4 - 1:MicroBlaze Development Kit Board Configuration Mode Jumper Settings
(Header J30 in Figure 4-2)
Configuration
Mode
Master Serial000Platform Flash PROM
SPI
(see
Chapter 12,
“SPI Serial
Flash”)
BPI Up
(see
Chapter 11,
“Intel
StrataFlash
Parallel NOR
Flash
PROM”)
starting at address 0 and
incrementing through address
space. The CPLD controls address
lines A[24:20] during BPI
configuration.
M0
M1
M2
J30
M0
M1
M2
J30
MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide25
UG257 (v1.1) December 5, 2007www.xilinx.com
Chapter 4: FPGA Configuration Options
Ta bl e 4 - 1:MicroBlaze Development Kit Board Configuration Mode Jumper Settings
(Header J30 in Figure 4-2)
R
Configuration
Mode
BPI Down
(see
Chapter 11,
“Intel
StrataFlash
Parallel NOR
Flash
PROM”)
JTAG101Downloaded from host via USB-
PROG Push Button
The PROG push button, shown in Figure 4-2, page 24, forces the FPGA to reconfigure from
the selected configuration memory source. Press and release this button to restart the
FPGA configuration process at any time.
starting at address 0x1FF_FFFF and
decrementing through address
space. The CPLD controls address
lines A[24:20] during BPI
configuration.
JTAG port
M0
M1
M2
J30
M0
M1
M2
J30
DONE Pin LED
The DONE pin LED, shown in Figure 4-2, page 24, lights whenever the FPGA is
successfully configured. If this LED is not lit, then the FPGA is not configured.
26MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide
www.xilinx.comUG257 (v1.1) December 5, 2007
R
Programming the FPGA, CPLD, or Platform Flash PROM via USB
Programming the FPGA, CPLD, or Platform Flash PROM via USB
As shown in Figure 4-1, page 24, the MicroBlaze Development Kit board includes
embedded USB-based programming logic and an USB endpoint with a Type B connector.
Via a USB cable connection with the host PC, the iMPACT programming software directly
programs the FPGA, the Platform Flash PROM, or the on-board CPLD. Direct
programming of the parallel or serial Flash PROMs is not presently supported.
Connecting the USB Cable
The kit includes a standard USB Type A/Type B cable, similar to the one shown in
Figure 4-3. The actual cable color might vary from the picture.
USB Type B Connector
Connects to USB connector on Starter Kit
USB Type A Connector
Connects to USB connector on computer
UG257_04_03_061206
Figure 4-3: Standard USB Type A/Type B Cable
The wider and narrower Type A connector fits the USB connector at the back of the
computer.
After installing the Xilinx software, connect the square Type B connector to the MicroBlaze
Development Kit board, as shown in Figure 4-4. The USB connector is on the left side of the
board, immediately next to the Ethernet connector. When the board is powered on, the
Windows operating system should recognize and install the associated driver software.
UG257_04_04_061206
Figure 4-4: Connect the USB Type B Connector to the MicroBlaze Development Kit
Board Connector
MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide27
UG257 (v1.1) December 5, 2007www.xilinx.com
Chapter 4: FPGA Configuration Options
0
When the USB cable driver is successfully installed and the board is correctly connected to
the PC, a green LED lights up, indicating a good connection.
Programming via iMPACT
After successfully compiling an FPGA design using the Xilinx development software, the
design can be downloaded using the iMPACT programming software and the USB cable.
To be gi n p ro gr am mi ng , co nn ec t th e U SB c ab le t o the starter kit board and apply power to
the board. Then, double-click Configure Device (iMPACT) from within Project
Navigator, as shown in Figure 4-5.
R
UG257_04_05_061206
Figure 4-5:Double-Click to Invoke iMPACT
If the board is connected properly, the iMPACT p ro gr am mi ng so ft ware automatically
recognizes the three devices in the JTAG programming file, as shown in Figure 4-6. If not
already prompted, click the first device in the chain, the Spartan-3E FPGA, to highlight it.
Right-click the FPGA and select Assign New Configuration File. Select the desired
FPGA configuration file and click OK.
UG257_04_06_0612
Figure 4-6: Right-Click to Assign a Configuration File to the Spartan-3E FPGA
28MicroBlaze Development Kit Spartan-3E 1600 Edition User Guide
www.xilinx.comUG257 (v1.1) December 5, 2007
Loading...
+ 138 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.