This project implements a Finite State Machine (FSM) based Washing Machine Controller using VHDL.
The system simulates a programmable washing machine that controls washing, rinsing, and spinning cycles. It was developed and tested using Intel Quartus Prime and hardware simulation tools.
The design follows modular digital system principles and demonstrates synchronous FSM-based control logic.
- Design and implement a Finite State Machine (FSM) in VHDL
- Model washing machine operational cycles
- Implement modular hardware components
- Display system states using a seven-segment display
- Apply synchronous digital system design principles
The project consists of multiple VHDL modules:
Main FSM controller:
- Controls washing cycle states
- Handles user program selection
- Manages state transitions
Clock divider module:
- Reduces system clock frequency
- Generates slower clock signals for timing control
Seven-segment decoder:
- Converts binary input into segment control signals
- Displays numbers and characters
Testbench module:
- Verifies seven-segment decoder functionality
- Used for simulation and validation
Display control module:
- Drives seven-segment display outputs
- Manages displayed values based on FSM state
clk– System clockreset– System resetstart– Start washing cycleuserProg– 5-bit program selection input
sevseg_data– Seven-segment display datasevseg_driver– Display enable linesstate– Current FSM state
The controller transitions between states such as:
- Idle
- Washing
- Rinsing
- Spinning
State transitions depend on:
- Start signal
- Reset signal
- Program selection
- Cycle timing completion
The FSM ensures proper sequential execution of washing machine stages.
- VHDL
- Intel Quartus Prime
- ModelSim / NativeLink Simulation
- Digital Logic Design Concepts
FinalProject/
│
├── Clk_Divider.vhd
├── seven_seg_decoder.vhd
├── seven_seg_decoder_tb.vhd
├── showword.vhd
├── WashingMachineController.vhd
├── VHDL_FINALPROJECT.qpf
├── VHDL_FINALPROJECT.qsf
├── simulation/
└── README.md
- Open Intel Quartus Prime
- Open
VHDL_FINALPROJECT.qpf - Compile the project
- Run simulation using ModelSim or NativeLink
- Observe FSM transitions and seven-segment output
This project was developed as part of a Digital Systems / VHDL Design course.
It demonstrates:
- FSM modeling
- Modular VHDL design
- Synchronous digital logic
- Hardware abstraction
- Simulation and verification techniques
Eng. Samer Alaa Abu Zaina Embedded Systems & Digital Design
