Orientation
Translate a lighting specification into sequential hardware
Design objective
Use the DE0-Nano onboard clock, reusable Verilog modules, and a finite state machine to control three two-colour bulbs. Each bulb contains one red LED and one blue LED; energizing both produces purple light.
Required pattern
- On reset, bulb 1 is red for 1 second.
- Bulb 1 turns off; bulb 2 is purple for 1 second.
- Bulb 2 turns off; bulb 3 is blue for 1 second.
- Bulb 3 becomes red for 1 second.
- Bulb 3 turns off; bulb 2 is purple for 1 second.
- The cycle repeats with bulb 1 red.
| Resource | Quantity |
|---|---|
| DE0-Nano and USB-Blaster connection | 1 |
| Quartus Prime 25.1 Lite | 1 |
| External LEDs: three red and three blue | 6 |
| 220 Ω resistors | 6 |
| Breadboard and jumper wires | As required |
| DE0-Nano User Manual | Version 1.9 or later board-equivalent reference |
Disconnect board power before wiring or changing connections. Give every LED its own 220 Ω series resistor, verify LED polarity, use only the listed 3.3 V GPIO signals, and connect the circuit ground to a DE0-Nano GPIO-header GND pin. Inspect for shorts before powering the board.
Need a refresher?
→ Finite State Machines
