Вы находитесь на странице: 1из 33

PRESENTED BY:

STUDENTS MATRIC NO.


1 NG BEE QI B021810083
2 YEW SEOW YEN B02180084
3 YAP PEI YEUAN B021810085
4 WONG MIN YUE B021810091

PROBLEM
3
INTRODUCTION
• HOT COFFEE VENDING MACHINE
• CAN BE FOUND AT OFFICE, STREET, AIRPORT AND EVERYWHERE
• EASY TO GET A DRINKS, 24 HOUR-OPERATING AND USER FRIENDLY
• 3 input
50cent 20cent 10 cent
• 2 output
“Y” and BALANCE.
• 4 bit
Q3 (MSB) Q2 Q1 Q0 (LSB)
THEORY
FINITE-STATE MACHINE (FSM)
 MATHEMATICAL MODEL OF COMPUTATION
 CHANGE FROM ONE STATE TO ANOTHER IN RESPONSE TO SOME
EXTERNAL INPUTS

 APPLICATIONS OF FSM : VENDING MACHINES, ELEVATORS, TRAFFIC


LIGHTS, ETC
TYPE OF FSM

Moore Machine

Mealy Machine
DESIGN TECHNIQUE
K-Map & Truth Table
 Graphical method of visualizing the 0’s and 1’s of a Boolean function.

Excitation Table
PROBLEM STATEMENT
Design a hot coffee vending machine using finite state machine controller that deliver a
cup of coffee after it has received 80 cents. The machine only accept coin of 50, 20 and
10 cents at one time inserted, which mean that only one coin is inserted on each cycle
because the machine cannot accept more than one coin simultaneously. The remaining
balance can only provide when BALANCE button is pressed. Once the hot coffee and the
balance has received, an external circuitry will generate a RESET signal to put the control
system back into its initial state. It should then be ready to start accepting coin for the
next hot coffee. By using JK flip-flop,
a) Derive a Moore and Mealy State diagram for the design.
b) Design the circuit and simulate using Multisim software.
CONDITIONS:
1. Only 50 cent, 20 cent and 10 cent can be
accepted at one time inserted
2. Balance will be provided if BALANCE
button is pressed
3. RESET signal will be generated after the
coffee and balance has received
FOR MOORE MACHINE

STATE
TRANSITION
DIAGRAM
FOR MEALY MACHINE

STATE
TRANSITION
DIAGRAM
TRUTH TABLE
  Present State Inputs   Next State Output JK flip-flop            
  Y=1 input Balance
Q3 Q2 Q1 Q0 C B A Q3 Q2 Q1 Q0 Y’=0 J3 K3 J2 K2 J1 K1 J0 K0  

0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 X 0 X 0 X 0
  0 0 1 0 0 0 1 0 0 X 0 X 0 X 1 X 0
  0 1 0 0 0 1 0 0 0 X 0 X 1 X 0 X 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 0 1 0 1 0 0 X 1 X 0 X 1 X 0
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
0 0 0 1 0 0 0 0 0 0 1 0 0 X 0 X 0 X X 0 0
  0 0 1 0 0 1 1 0 0 X 0 X 1 X X 1 0
  0 1 0 0 1 0 1 0 0 X 0 X 1 X X 0 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 0 1 1 0 0 0 X 1 X 1 X X 1 1
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
  Present State Inputs   Next State Output JK flip-flop            
  Y=1 input Balance
Y’=0
Q3 Q2 Q1 Q0 C B A Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0  

0 0 1 0 0 0 0 0 0 1 0 0 0 X 0 X X 0 0 X 0
  0 0 1 0 0 1 1 0 0 X 0 X X 0 1 X 0
  0 1 0 0 1 0 0 0 0 X 1 X X 1 0 X 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 0 1 1 1 0 0 X 1 X X 0 1 X 0
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
0 0 1 1 0 0 0 0 0 1 1 0 0 X 0 X X 0 X 0 0
  0 0 1 0 1 0 0 0 0 X 1 X X 1 X 1 0
  0 1 0 0 1 0 1 0 0 X 1 X X 1 X 0 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 0 1 X 0 X X 1 X 1 0
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
 
1 1 1 X X X X X X X X X X X X X X
  Present State Inputs   Next State Output JK flip-            
flop
  Y=1 Balance
input
Y’=0
Q3 Q2 Q1 Q0 C B A Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0  

0 1 0 0 0 0 0 0 1 0 0 0 0 X X 0 0 X 0 X 0
  0 0 1 0 1 0 1 0 0 X X 0 0 X 1 X 0
  0 1 0 0 1 1 0 0 0 X X 0 1 X 0 X 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 0 1 X X 1 0 X 0 X 1
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
0 1 0 1 0 0 0 0 1 0 1 0 0 X X 0 X 0 X 0 0
  0 0 1 0 1 1 0 0 0 X X 0 1 X X 1 0
  0 1 0 0 1 1 1 0 0 X X 0 1 X X 0 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 0 1 X X 1 0 X X 1 1
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
  Present State Inputs   Next State Output JK flip-flop            
  Y=1 input Balance

Q3 Q2 Q1 Q0 A B C Q3 Q2 Q1 Q0 Y’=0 J3 K3 J2 K2 J1 K1 J0 K0  

0 1 1 0 0 0 0 0 1 1 0 0 0 X X 0 X 0 0 X 0
  0 0 1 0 1 1 1 0 0 X X 0 X 0 1 X 0
  0 1 0 1 0 0 0 0 1 X X 1 X 1 0 X 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 0 1 X X 1 X 1 0 X 1
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
0 1 1 1 0 0 0 1 0 0 0 0 0 X X 0 X 0 X 0 0
  0 0 1 1 0 0 0 0 1 X X 1 X 1 X 1 0
  0 1 0 1 0 0 0 0 1 X X 1 X 1 X 1 1
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 0 1 X X 1 X 1 X 1 1
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
  Present State Inputs   Next State Output JK flip-flop            
  Y=1 input Balance

Q3 Q2 Q1 Q0 C B A Q3 Q2 Q1 Q0 Y’=0 J3 K3 J2 K2 J1 K1 J0 K0  

1 0 0 0 0 0 0 1 0 0 0 1 X 0 0 X 0 X 0 X 0
  0 0 1 1 0 0 0 1 X 0 0 X 0 X 0 X 1

  0 1 0 1 0 0 0 1 X 0 0 X 0 X 0 X 1

  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 1 X 0 0 X 0 X 0 X 1
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
1 0 0 1 0 0 0 1 0 0 1 1 X 0 0 X 0 X X 1 X
  0 0 1 1 0 0 0 1 X 0 0 X 0 X X 1 X
  0 1 0 1 0 0 0 1 X 0 0 X 0 X X 1 X
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 1 X 0 0 X 0 X X 1 X
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
MEALY
  Present State Inputs   Next State Output JK flip-flop            
  Y=1 input Balance
Q3 Q2 Q1 Q0 C B A Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0  
Y’=0

0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 X 0 X 0 X 0
  0 0 1 0 0 0 1 0 0 X 0 X 0 X 1 X 0
  0 1 0 0 0 1 0 0 0 X 0 X 1 X 0 X 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 0 1 0 1 0 0 X 1 X 0 X 1 X 0
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
0 0 0 1 0 0 0 0 0 0 1 0 0 X 0 X 0 X X 0 0
  0 0 1 0 0 1 1 0 0 X 0 X 1 X X 1 0
  0 1 0 0 1 0 1 0 0 X 0 X 1 X X 0 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 0 1 1 0 0 0 X 1 X 1 X X 1 1
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
  Present State Inputs   Next State Output JK flip-flop            
  Y=1 input Balance

C B A Y’=0  
Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0

0 0 1 0 0 0 0 0 0 1 0 0 0 X 0 X X 0 0 X 0
  0 0 1 0 0 1 1 0 0 X 0 X X 0 1 X 0
  0 1 0 0 1 0 0 0 0 X 1 X X 1 0 X 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 0 1 1 1 0 0 X 1 X X 0 1 X 0
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
0 0 1 1 0 0 0 0 0 1 1 0 0 X 0 X X 0 X 0 0
  0 0 1 0 1 0 0 0 0 X 1 X X 1 X 1 0
  0 1 0 0 1 0 1 0 0 X 1 X X 1 X 0 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 1 1 X 0 X X 1 X 1 0
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
  Present State Inputs   Next State Output JK flip-            
flop
  Y=1 Balance
input
Y’=0
Q3 Q2 Q1 Q0 C B A Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0  

0 1 0 0 0 0 0 0 1 0 0 0 0 X X 0 0 X 0 X 0
  0 0 1 0 1 0 1 0 0 X X 0 0 X 1 X 0
  0 1 0 0 1 1 0 0 0 X X 0 1 X 0 X 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 1 1 X X 1 0 X 0 X 1
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
0 1 0 1 0 0 0 0 1 0 1 0 0 X X 0 0 X X 0 0
  0 0 1 0 1 1 0 0 0 X X 0 1 X X 1 0
  0 1 0 0 1 1 1 0 0 X X 0 1 X X 0 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 1 1 X X 1 0 X X 1 1
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
  Present State Inputs   Next State Output JK flip-flop            
  Y=1 input Balance
Y’=0
Q3 Q2 Q1 Q0 A B C Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0  

0 1 1 0 0 0 0 0 1 1 0 0 0 X X 0 X 0 0 X 0
  0 0 1 0 1 1 1 0 0 X X 0 X 0 1 X 0
  0 1 0 1 0 0 0 1 1 X X 1 X 1 0 X 0
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 1 1 X X 1 1 X 0 X 1
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
0 1 1 1 0 0 0 1 0 0 0 0 0 X X 0 X 0 X 0 0
  0 0 1 1 0 0 0 1 1 X X 1 X 1 X 1 0
  0 1 0 1 0 0 0 1 1 X X 1 X 1 X 1 1
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 1 1 X X 1 X 1 X 1 1
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
  Present State Inputs   Next State Output JK flip-flop            
  Y=1 input Balance
Y’=0
Q3 Q2 Q1 Q0 C B A Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0  

1 0 0 0 0 0 0 1 0 0 0 1 X 0 0 X 0 X 0 X 0
  0 0 1 1 0 0 0 1 X 0 0 X 0 X 0 X 1

  0 1 0 1 0 0 0 1 X 0 0 X 0 X 0 X 1

  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 1 X 0 0 X 0 X 0 X 1
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
1 0 0 1 0 0 0 1 0 0 1 1 X 0 0 X 0 X X 1 X
  0 0 1 1 0 0 0 1 X 0 0 X 0 X X 1 X
  0 1 0 1 0 0 0 1 X 0 0 X 0 X X 1 X
  0 1 1 X X X X X X X X X X X X X X
  1 0 0 1 0 0 0 1 X 0 0 X 0 X X 1 X
  1 0 1 X X X X X X X X X X X X X X
  1 1 0 X X X X X X X X X X X X X X
  1 1 1 X X X X X X X X X X X X X X
K-
MAP
Discussion

 Initially, machine is at state 0000


 If control did not detect coin inserted, it will remain at the present state
 Can insert coins in different ways until it reaches the state 1000 (80cents)
 When machine accepted 80 cents, the control generates output signal 1
and the hot coffee to be delivered
 It will reset to state 0000 and ready for accepting coin for the hot coffee
 Control will give signal to return changes to the user if the coin inserted is
exceed 80 cents.
conclusion
• A finite state machine (FSM) is an abstract description of a digital hardware.
• FSM is a machine which receives inputs and uses these inputs and the state to compute
the outputs and to determine next state
• We found the ways to do the 7 inputs Karnaugh maps Google and Youtube.
• The desired result is obtained based on the required conditions of the given task.

CONDITIONS:
1. Only 50 cent, 20 cent and 10 cent
can be accepted at one time
inserted
2. Balance will be provided if
BALANCE button is pressed
3. RESET signal will be generated
after the coffee and balance has
received
THANK
YOU

Вам также может понравиться