5
MachXO3 Starter Kit User Guide
Demonstration Design
Lattice provides a simple, pre-programmed demo to illustrate basic operation of the MachXO3 device. The design
integrates an up-counter with the on-chip oscillator. The pre-programmed design resides in the external Serial
Flash Memory (SPANSION S25FL204K or S25FL208K).
Note: To restore the factory default demo and program it with other Lattice-supplied examples see the
section of this document.
Run the Demonstration Design
Upon power-up, the preprogrammed demonstration design automatically loads and drives the LED array in a 1-hertz
pattern. The program shows a clock divider driven either by the MachXO3 internal oscillator or the external FTDI clock
chip. The divider modules (heartbeat.v and kitcar.v) are clocked at the default frequency of 12 MHz which divides the
clock to cycle the LED display approximately once per second. The resulting light pattern is determined by the DIP
Switch (SW2) setting as shown in Table 1.
Figure 3. Demonstration Design Block Diagram
MachXO3
X1
12.0 MHz
OSCH
12.09 MHz
Kitcar.v
Heartbeat.v
SW2
4-Position DIPSW
1 x 8
LED
Array
XO3L_SK_blink.v
SW1
Momentary PB
Async Reset
Table 1. DIP Switch Setting and LED Behavior
Switch
Setting
LED Behavior
DIP_SW[1]
0 (Down)
External 12.0 MHz (X1)
1 (Up)
Internal 12.09 MHz (OSCH)
DIP_SW[2:4]
001
1 Hz Sweep
011
1 Hz Left-Right
111
1 Hz Blink
Others
1 Hz Alternating
WARNING: Do not connect the board to your PC before you follow the driver installation procedure of this section.
Communication between the board and a PC via the USB connection cable requires installation of the FTDI chip
USB hardware drivers. Loading these drivers enables the computer to recognize and program the board. Drivers
can be loaded as part of the installation of Lattice Diamond design software or Diamond Programmer, or as a
stand-alone package.