The components and code and schematic of th washin machine controller
Size: 309.41 KB
Language: en
Added: Sep 16, 2025
Slides: 16 pages
Slide Content
Washing Machine Controller
using SystemVerilog
•FSM-based Sequential System Design
•Presented by:
•Sandeep Marode
•www.linkedin.com/in/sandeep-marode
•https://chat.whatsapp.com/KpyWN5f1MBLIrPzEgjZ
DdP
Introduction & Motivation
•Objective: Design a controller that automates
the operation of a washing machine.
•Real-world importance: Used in almost every
household and commercial laundry system.
•Relevance: Applies complex FSM logic, timer
integration, and sequential modeling in RTL
design.
Need for Washing Machine
Controller
•- Automates complete washing process.
•- Improves energy and water efficiency.
•- Eliminates human error.
•- Enables smart features and safety interlocks.
Challenges in Controller Design
•- Timing-sensitive operations for each cycle.
•- Sensor signal reliability.
•- Sequential transitions and interlocks.
•- Reset and start/restart conditions.
•- Synchronizing multiple operations: fill, drain,
motor.
Assumptions
•- Sensor signals are glitch-free and debounced.
•- Only one cycle executes at a time.
•- Start signal is high for one cycle.
•- Motor only rotates clockwise for simplicity.
Constraints
•- No user input during mid-cycle.
•- Finite memory and resource constraints.
•- Counter-based timer instead of real-time
clock.
•- Simplified water level detection (binary).
Applications
•- Domestic and commercial washing machines
•- Embedded appliance controllers
•- Training projects in RTL design courses
•- Smart home appliances with automation
Block Diagram
•Components:
•- Sensor Interface
•- FSM Controller
•- Timer Block
•- Output Control Logic
•- User Control Interface
FSM Overview
•States:
•1. IDLE
•2. FILL
•3. WASH
•4. DRAIN
•5. RINSE
•6. SPIN
•7. END
•Transition based on: start, sensor values, and internal
timers.
FSM State Diagram
•[Insert Visual FSM Diagram with Arrows and
State Names]
Timer Logic Design
•Counter increments in WASH, RINSE, SPIN states.
•Resets on state transition.
•Uses parameter values for cycle duration.
•Verilog snippet:
•if (state == WASH || state == RINSE || state ==
SPIN)
• timer <= timer + 1;
•else
• timer <= 0;