🏢 Elevator FSM Diagram

This diagram visualizes the four states and synchronous transition conditions
All synchronous transitions only occur when one_sec_enable = '1'.
RESET IDLE moving='0' door_open='0' !any_req MOVING_UP moving='1' door_open='0' !timer_done OR !at_target_or_req(up) MOVING_DOWN moving='1' door_open='0' !timer_done OR !at_target_or_req(dn) OPEN_DOOR moving='0' door_open='1' !timer_done !req_at_curr & any_req & req_above !req_at_curr & any_req & req_below timer_done & req_at_tgt timer_done & at_target_or_req(up) timer_done & at_target_or_req(dn) door_timer_done & req_above (dir='1') door_timer_done & req_below (!dir='0') door_timer_done & (no_req(up) OR no_req(dn)) req_at_curr & dir= '1' & any_req req_at_curr & dir = '0' & any_req
IDLE: Elevator waiting, door closed
MOVING_UP: Elevator ascending
MOVING_DOWN: Elevator descending
OPEN_DOOR: Door open for passengers