Report
Report
Faculty of Engineering
Presented to:
DR. Eman El Mandouh
ENG. Abdelrahman Shereif
Presented by:
Moaz Mohamed Zakaria 22p0307
Seif elhusseiny 22p0215
Omar walid 22p0166
Ibrahim Amr Mohamed 19p2223
Osama lasheen 19p6937
System Overview
The washing machine controller is designed as a finite state machine
(FSM) with well-defined states and transitions. The system operates in
various modes depending on the weight of the laundry, which is
selected using input signals (i_mode_1, i_mode_2, i_mode_3).
Key system components:
• Input Signals:
• Output Signals:
The controller generates outputs (o_idle, o_ready, o_prewash,
etc.) indicating the current state and auxiliary outputs such as:
• Special Transitions:
RTL Components
• Registers
• Wires
• Sequential logic
• Combinational logic
▪ Determines the next state (NS) based on PS, inputs, and stage
completion flags
▪ Evaluates stage completion conditions based on the mode and
counter values.
Code Organization
• Inputs:
▪ Control inputs (i_clk, i_start, i_cancel, i_power, i_lid) and mode
selectors (i_mode_1, i_mode_2, i_mode_3).
• Outputs:
▪ State indicators (o_idle, o_ready, etc.).
▪ Functional outputs (o_dooropen, o_waterinlet, o_done).
• States:
▪ The FSM transitions through washing stages: IDLE → READY
→ PRE_WASH → SOAK → WASH → RINSE → SPIN → DRY
→ IDLE
• Timers:
▪ Each stage has a dedicated timer (<stage>counter) that
increments when the stage is active and pauses if the lid is
open.
▪ Completion is flagged based on the counter value and selected
mode.
• Outputs
▪ Outputs like o_idle, o_ready, and o_waterinlet are directly tied
to FSM states or stage-specific conditions.
• Timer Logic:
▪ Reset when the stage begins or completes.
▪ Increment when active.
▪ Pause when the lid is open .
Code Snippets
• States
• Registers
• State Logic
• Timer
• Output Logic
Verification Plan
Test Scenarios
1) Basic Operation (Mode 1): Starts the washing machine with MODE 1.
2) Multiple Modes (Mode 1 & 2): Tests behavior when MODE 1 and MODE
2 are both selected.
6) Lid Open During Operation: Simulates opening and closing the lid during
operation with MODE 3.
7) Power Off During Operation: Turns off and then on the power during
MODE 1.
9) Start With Lid Open: Tests starting the machine while the lid is open.
10) Open Lid After Canceling: Cancels the process and then opens the lid.
11) All Modes Enabled: Simulates a scenario where all modes are selected
simultaneously.
Assertion
• Transition Assertions
• Output Assertions
• Cancellation Assertions
Part 3
Part 4