Computer-Aided Design of Algorithmic State Machine: Foundation of Technical Education, Iraq
Computer-Aided Design of Algorithmic State Machine: Foundation of Technical Education, Iraq
Saleem M R Taha
University of Baghdad, Iraq
ABSTRACT
The Algorithmic State Machine (ASM) is a method used to solve more complex industrial
problems. The basic advantage of this method is to convert these problems to simpler circuits
which consist only from the basic elements which are AND, OR and NOT gates, which can be
implemented easily by using the Programmable Logic Array (PLA) circuits.
The entry variables (number of inputs and states) for such problems are large, this made the
theoretical (manual) solution is hard to solve. This research constructs a computer package called
(ASM-CAD) to make the entire design using C++ and TC++ programming languages.
Key Words:
Algorithmic State Machine (ASM) method.Programmable Logic Array (PLA) circuit. Quine-McCluskey
is a programmable method.
1. Introduction
An approach to logic design of a digital architecture, also called the data processor.
system is to partition the system into two Such a partition is given in Fig (1) below
entities: a controller and a controlled [1].
Status Information
Commands
Controller Controlled
(ASM) Architecture
(data processor)
ON Signal
OFF C Z2
Calibrate D
E
5 4 3 2 1
Z1
H
30
E Z2
H ASM Control
C to be
D Z1
designed
F
G
Z4
Z3
D Up/Down Counter
1 0
C
1
D
0
b Z1
1 0
E
Z3
1 0
G
0
1
c H
Z4
1 0
H
Z4 1 0
F
Z2
The procedure of how the package works 5. The package asks the user to assign
is as follows: codes to each state.
1. The user must enter all the data 6. The package computes the state
from the state table that locus and prints it out on the screen.
constructed from the ASM-chart 7. The package print out the assigned
(designed by the user) to the ASM- state table for each state locus.
CAD package. 8. The package repeats steps (5, 6 and
2. The package prints out the original 7) until reaches the number entered
state table as entered on the screen in step (4).
just to make sure from the 9. The package computes the minimum
correctness of the data. state locus and prints it out on the
3. The package computes the number screen.
of the required flip-flop and prints 10. The package asks the user to choose
it out on the screen. one type of a flip-flop.
4. The package asks the user to enter 11. The package computes the next state
the number of assignments. equations for the flip-flop and the
output equations for the circuit.
The Result lists of the Buffer Store will be OUTPUT EQUATION FOR OUTPUT Z2:
NEXT STATE EQUATION FOR STAGE Z 2 = ( EF + F G ) AB
A: OUTPUT EQUATION FOR OUTPUT Z3:
JA = EG AB and KA = HA Z 3 = E AB
NEXT STATE EQUATION FOR STAGE OUTPUT EQUATION FOR OUTPUT Z4:
B:
Z 4 = ( EH + GH ) AB + HA
JB = CD B and KB = 0
12. Finally, the package draws the PLA
OUTPUT EQUATION FOR OUTPUT
circuit diagram for the circuit which
Z1:
satisfies the above equations as
Z1 = AB shown in Fig (6).
Z1
Z2
Z3
Z4
JA
KA
JB
Logic 0
Clock