0% found this document useful (0 votes)
509 views

ASM Chart: Multiplier Control COE608: Computer Organization and Architecture

The document discusses algorithmic state machines (ASMs) and their use in designing sequential logic circuits. It provides details on ASM charts, including their elements and how they relate to state diagrams. It also describes approaches for implementing Mealy and Moore machines using ASM charts and flip-flops.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
509 views

ASM Chart: Multiplier Control COE608: Computer Organization and Architecture

The document discusses algorithmic state machines (ASMs) and their use in designing sequential logic circuits. It provides details on ASM charts, including their elements and how they relate to state diagrams. It also describes approaches for implementing Mealy and Moore machines using ASM charts and flip-flops.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

ASM Chart: Multiplier Control

COE608: Computer Organization


and Architecture
Dr. Gul N. Khan
http://www.ee.ryerson.ca/~gnkhan
Electrical and Computer Engineering

Ryerson University

Overview
Types of Sequential Circuits

Mealy and Moore Machine Models


Sequence Detector Implementations

Algorithmic State Machines: Introduction


Realization of ASM
Control Unit Design of the Multiplier
Hardwired Control
Sequence Register and Decoder Method
One Flip-Flop per State Method
Part of Chapter 8, section 8.3 - 8.5 of Text by Mano and Kime
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 1

Sequential Logic Circuits


Primary input
variables
(x1 ..... xn )
Present state
variables
(y1 ..... yr)

Combinational
Logic

Output
variables
(z1 ..... zm)

}
}Nvext-state
ariables

Clock

(Y1 ..... Yr)

Memory
Devices

Inputs
Primary Inputs
State variables

Outputs
Output variables
Next state variables.

Synchronous Sequential Circuits


Clock is used to ensure occurrence of event (change
of state) at a specified instant of time.

Asynchronous Sequential Circuits


G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 2

Sequential Machine Models


Main Models of Sequential Circuits or
Machines are: Mealy and Moore Model
Mealy Machines: Their outputs depend on both
the present state and the present inputs.
Inputs
(x)

Comb.
Logic
Network

Outputs
(Z)
Next State

State Present
Reg. State

Clock
Moore Machines: The outputs depend on the
present state only.
Inputs
(x)

Comb.
Logic
Network

Outputs
(Z)

Next State

State Present
Reg. State
Clock

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 3

Sequential Machine Models


Mealy Model

Moore Model

AB/S

AB
00/0
11/0

10/0
00/0
11/1

01/0

00
11

NS

Mealy State Table

Z/0

01
10

01/0
10/0

PS
AB
00
x x
y x
z x

01

00
11

Y/1

AB
00 01 11 10
x x/0 z/0 x/0 y/0
y x/0 y/0 x/1 y/0
z x/1 z/0 x/0 z/0

G.Khan

X/0

10

00/1
11/0

01/0
10/0

PS

00
11

01
10

NS
01
z
y
z

11
x
x
x

10
y
y
z

Output
S
0
1
0

Moore State Table

Computer Organization & Architecture-COE608: ASM and Control

Page: 4

Sequential Machine Models


Mealy Model Timing Diagram
CLK
Present
State

Input A
Input B
Output S

Moore Model Timing Diagram


CLK
Present
State

Input A
Input B
Output S

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 5

Sequential Machine Models


Main Features:
Moore machine realization is more complex
than Mealy due to additional state requirements
to derive the required outputs.
Outputs of a Moore machine are generally
robust and independent of external (primary)
inputs.

Mealy model is useful for applications where


faster respond is needed.
In the case of Mealy machines, all unspecified
states must end up in a specified state after the
next or consecutive clock cycle.
Otherwise, oscillation/hang-up may occur for
certain input combinations.

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 6

Finite State Machine Example


Problem Statement:
The occurrence of sequence of pairs of inputs
00001110 is to be detected.
The machine will output logic 1 after detecting
the sequence successfully.
The Mealy Model:
State transitions are labeled with inputs and the
output values.
10/1
11/0
01/0

1
10/0
01/0
11/0
01/0
10/0

00/0

01/0
10/0
11/0

00/0

00/0

00/0

3
11/0

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 7

State Assignment
The occurrence of sequence of pairs of inputs
00001110 is to be detected.
Mealy Machine Design Approach
State-Transition Table
Present
Inputs X1, X2
state
Next state
Output z
00 01 11 10 00 01 11 10
2 1 1 1 0 0 0 0
1
3 1 1 1 0 0 0 0
2
3 1 4 1 0 0 0 0
3
2 1 1 1 0 0 0 1
4
State Assignment: Assign binary codes to the
states. 1 = 00, 2 = 01, 3 = 11 and 4 = 10
Present
State
y1y2
00
01
11
10
G.Khan

Inputs x1x2
Next State, w1w2
Output z
00 01 11 10 00 01 11 10
01 00 00 00 0 0 0 0
11 00 00 00 0 0 0 0
11 00 10 00 0 0 0 0
01 00 00 00 0 0 0 1

Computer Organization & Architecture-COE608: ASM and Control

Page: 8

State Assignment
Any state assignment is satisfactory as long
as each state is assigned a unique binary
code.
However, one particular assignment may be
optimal that requires least number of gates.

Guidelines for State Assignment


States having the same NEXT STATES for a
given input condition should be given adjacent
assignments.
States, which are NEXT STATES of a singlestate, should be given adjacent assignments.
States, which have identical output specification,
should be given adjacent assignments.

Overall
Minimize the number of Sate Variable changes as
you move through the state diagram.

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 9

Mealy Machine Design


Using D-type FFs
x1x2
00
y1y2

01

11

x1x2
00
y1y2

10

00

01

11

10

00

01

11

10

w1 = x1 x 2 y 2 + x1x 2 y1y 2
x1x2
00
y1y2

01

01

11

10

w 2 = x1 x 2
11

10

00

01
11
10

BY INSPECTION OUTPUT z = x1 x2 y1 y2

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 10

Mealy Machine Design


Sequential Circuit
x1
x2

x1
W2 Q

y2

W1 Q

y1

x2
Q

Clock

Timing Diagram
CLK
Present
State

Input x1
Input x2
Output z

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 11

Moore Machine Implementation


The Moore Model:
Suitable for asynchronous sequential systems.
Transitions are labeled with the inputs only.

State Diagram
10
01
11
01,10,11

1/0

01
11

01
10
11

10
01

5/1

00

2/0

00

00
00

3/0
11

00
10

4/0

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 12

Moore Machine Example


State-transition Table
Present State

1
2
3
4
5

Output
z

Next State
xy
00 01 11
2 1 1
3 1 1
3 1 4
2 1 1
2 1 1

10
1
1
1
5
1

0
0
0
0
1

State Assignment
Present State Next state (A+B+C+) Output
ABC
XY
z
00 01 11 10
000
001 000 000 000
0
001
011 000 000 000
0
011
011 000 010 000
0
010
001 000 000 110
0
110
001 000 000 000
1
Using D-type FFs

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 13

Moore Machine Design


+

A=0

A=1
X

XY
00
BC

01

11

X
10

00

00
01

x
1

11
B

01

10

11

10

B = Cx y + BCxy + ABC xy
+

A=0
XY
00
BC

A=1
X

01

11

X
10

00

01

11

10

00

01

11

10

1
Y

x
C

C + = xy
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 14

Moore Machine Design


Sequential Circuit

DA QA
QA
DB QB
QB

X
Y

DC QC
QC

clock

Timing Diagram
CLK
Present
State
ABC

1(000)

1(000)

2(001)

3(011)

4(010)

5(110)

1(000)

Input x
Input y
Output z
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 15

Algorithmic State Machine


(ASM)
Flow Charts are mostly used for software
design. They are also useful for digital
system design.
The ASM or State Machine charts offer
several advantages over state diagrams.
Main Features of ASM Charts
Operation of a digital system represented by an
ASM chart is easier to understand.
An ASM chart can be converted into several
equivalent forms and each form leads directly
to a hardware realization.
The conditions for a proper state diagram are
completely satisfied by the ASM chart.
ASM chart based digital system design is
equivalent to software design.

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 16

ASM Charts
A Typical ASM Chart

S0/Za

S1/Zb

S2/Zc

Z1

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Z2

Page: 17

ASM Charts
The state diagram/table based design approach
becomes impractical for systems with large
number of inputs.

The number of columns for the state table


doubles with every additional input.
All the inputs are not relevant at each clock
pulse/transition (don't care conditions).
On the other hand, ASM approach only shows
the active inputs on the chart.
State diagrams are not suitable for gradual
refinement of FSM.
Typical State Table
Present State Next state (A+B+C+) Output
ABC
XY
z
00 01 11 10
000
001 000 000 000
0
001
011 000 000 000
0
011
011 000 010 000
0
010
001 000 000 110
0
110
001 000 000 000
1

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 18

ASM Charts
Basic Elements of an ASM chart are:

State Box

It represents one state of the ASM.


The sequential machine resides in a state box
for one state time (one clock cycle).
It consists of a state name, state assignment
code and state output (Moore).
State box has a single exit/entry point unlike to
a state node in state diagram.
Entry

Exit Path
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 19

ASM Charts
Decision Box

The decision box takes machine inputs.


It contains Boolean variables to be tested and
gives conditions that control or qualify
conditional state transition and outputs.
Single entry path and two exit paths define the
condition for true or false exit.
input

Conditional Output Box

It describes those outputs that only become


active on true conditions.
It is always connected to the exit-path of a
decision box.

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 20

ASM Charts
ASM charts are equivalent to state diagrams:
Sate Box State diagram node
Decision Box Input values on the state
transition lines.
Outputs in the State Box Output values in the
state nodes. (Moore Machine)
Outputs in Conditional Output Box Output
values on the state transition lines. (Mealy
Machine)

ASM Block
ASM charts are constructed from ASM Blocks
An ASM block consists of:
Exactly one state box.
Decision and conditional output boxes
associated with the state.
One entry path and one or more exit paths.
A pure combinational circuit can be described by
one ASM block.
An ASM block describes the machine operation
during the time that the machine is in that state.
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 21

ASM Block
When a digital system enters the state associated
with an ASM block:
Outputs on the output list of the state box become true.
The conditions in the decision boxes are evaluated to
determine which path(s) are to be followed.
When a conditional output box is encountered along
such a path, the corresponding conditional outputs
become true.
If an output is not encountered along a path that output
is assigned a FALSE (by default).
Each exit path of an ASM block must lead to another
state.
Each possible path through an ASM block from
entrance to exit is termed as link path.
Entry path
S1
x1
x2

Z2

Z1

S2

G.Khan

many
exit
paths

S3

S4

Computer Organization & Architecture-COE608: ASM and Control

Page: 22

ASM Block
An ASM Block can be drawn in several ways.

S1/Z1

X1
Z2

X2

S2

S3

S1/Z1
X2

1
1

X1

0
Z2

S2

G.Khan

X1

0
Z2
S3

Computer Organization & Architecture-COE608: ASM and Control

Page: 23

ASM Block
Rules to Construct an ASM Block
For every valid combination of input variables, there
must be one exit path.
No internal feedback within an ASM block is allowed.

S0/

S0/

X1

X1

An ASM block can have several parallel paths that


lead to the same exit path and more than one of these
paths can be active at the same time.
S0/Z0

X1

0
Z1

G.Khan

X2

X3

0
Z2

Z3

Computer Organization & Architecture-COE608: ASM and Control

Page: 24

ASM Chart
An ASM chart consists of one or more ASM
blocks connected in a consistent manner.
In the case of autonomous sequential circuits
ASM chart will consist of state boxes connected
by direct transition link paths.

The ASM chart of a JK Flip-Flop


Q
0
out 0

zero
1

1
out 1

one
0

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 25

ASM Chart
From State Diagram to ASM Chart
X is an input
Za, Zb & Zc are Moore Outputs
Z1 & Z2 are Mealy Outputs

0/0

S0/Za

0/0

00

1/0
1/0
S1/Zb

S2/Zc

1/Z2

G.Khan

0/Z1

Computer Organization & Architecture-COE608: ASM and Control

Page: 26

Realization of ASM Chart


Main Steps
For each state variable (e.g. Qa, Qb, etc.),
identify all states in which Q = 1
For each of these states, find all the linkpaths that lead into the state.
For each of these link paths, find a
product-term that is logic-1 when the
link-path is followed.
e.g. For a link path from state Si to Sj,
the product term will be 1 if the machine
is in state Si and the conditions for Sj
entry are satisfied.

The expression for Q+ is formed by


ORing all the product-terms found for a
particular state variable as above.

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 27

Realization from ASM Chart


Example
00

S0/Za
0

01

S1/Zb

11

S2/Zc

Z1

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Z2

Page: 28

Realization from ASM Chart


Working Example
For Next State: Consider Variable B Link-paths for
States that has B = 1 are S1 and S2 states.
Link-Path-1
Starting with a present state AB = 00, takes the X=1
branch and terminates at state S1 during which B = 1.
Link-Path-2
Starting state 01, takes X=1 branch & ends at state 11.
Link-Path-3
Starting at state 11, takes X=1 branch and ends in
state 11.
Overall B+ = A'B'X + A'BX + ABX

For Next State: Consider State Variable A.


Two link paths terminate at S2 state

Moore Outputs
Za = A'B';

Zb = A'B;

Zc = AB

Conditional Output

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 29

Binary Multipliers
Hand Multiplication:
11
* 13

143

1101
1011
1101
1101
0000
1101
10001111

Multiplicand
Multiplier

Modified (serial) Multiplication


11 0 0 0 0 0 1 0 1 1
* 13 1 1 0 1
011011011
001101101
1101
100111101
010011110
001001111
1101
100011111
010001111

Initial contents of product register


M bit=1, add multiplicand
Partial product before shift
Partial product after shift
Multiplier bit=1, add multiplicand
Partial product before shift
Partial product after shift
Multiplier bit=0 skip addition
Partial product after shift
Multiplier bit=1, add multiplicand
Partial product before shift
After shift (Final answer)

Final Result = 0 1 0 0 0 1 1 1 1
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 30

Multiplier
Block Diagram
IN

n-1

Counter-P
log2n
G(Go)

Multiplicand

Register-B
n

Zero Detect
Cout

Control
Unit Q0

Parallel
Adder
n

Shift
Register-A

Multiplier

Shift
Register-Q
n

ACC: Product Out


Control signals

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 31

Binary Multipliers
The multiplication of two binary numbers is performed
by successive additions and shifting.
B Multiplicand; Q Multiplier
Partial product is formed in A and stored in A & Q.
Multiplier Circuit Operation
Q is an n-bit shift register where multiplier is loaded
that is shifted right. It vacates 1-bit space every time.
This space accepts the lower part of the partial
product.
An n-bit parallel adder produces Sums as
AA+B
C flip-flop stores the carry from addition. It is reset to
zero during the right shift.
Counter P counts the number of add-shift or shift
actions. It is initially set at (n-1) & it counts down.
When P counts 0, the final product is in the double
register A and Q.
Control Unit is the heart of Multiplier:
Its input, G initiate multiplication.
Control unit generate control signals to perform addshift or shift operations.
It uses Q0 (LSB of Q shift register) and counter zerodetect, Z signals.
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 32

Multiplier Control, ASM


IDLE

C 0; A 0
P n-1

MUL0

Q0

AA+B
C Cout

MUL1

C 0, C || A || Q sr C || A || Q
P P-1

1 Multiplication Done

sr = shift right and


C || A || Q sr C || A || Q is equivalent to 4 transfers
A(n-1) C, A sr A, Q(n-1) A(0), Q sr Q
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 33

Multiplier Control Unit


Control Unit is the Heart of Multiplier

Its input, G initiates multiplication.


It uses Q0 (LSB of Q shift register) and counter
zero-detect, Z signals.
Control unit generates control signals to activate
following micro-operations:

Sum of A and B.
PP transferred to A.
Cout transferred to C.
PP & multiplier in A:Q shifted right.
Carry from C is shifted to MSB of A:

LSB of Q is discarded.
After right shift, 1-bit of PP is transferred
into Q and multiplier bits are shifted one
bit right.

Control unit decides between add-shift and


shift depending on the LSB of Q.
Control unit checks Z for an end.
Control unit checks G, to start
multiplication.
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 34

Multiplier Control
ASM Chart Analysis
Multiplicand in register B
Multiplier in Q
State Changes from IDLE to MUL0

MUL0 State

MUL1 State
Decrement Counter P
Four transfers take place
A(n-1) C;
A sr A;
Q(n-1) A(0);
Q sr Q;

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 35

Control Unit Design


Control unit design by using classical FSM
design is impractical due to large number of
inputs and states it may have.
An attempt to minimize and simplify these
circuits usually ends up in irregular networks
that would be difficult to recognize and debug.
An extension to the classical approach is used by
experienced designer in designing control logic
circuits:
Sequence register and decoder method.
One flip-flop per state method.
(One-hot state assignment method)
Microprogramming.
The first two methods result in a hard-wired logic.
Any modification will require rewiring.

The micro-program control uses ROM/PROM.

Modification of the PROM or replacing the


ROM modifies the micro-program control.

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 36

Hardwired Control
Type of Registers Used for Datapath
Register A is a shift register with parallel
load and synchronous clear.
Register Q is a shift register.
C flip-flop needs a synchronous clear.
Register B has a parallel load.
Register Q has a parallel load.

To Implement Control Unit Consider:

Control of micro-operations i.e. generate


the control signals
Sequencing of control unit and microoperation i.e. to determine what happens
next.

Control Unit Design Approach

Simplify ASM chart to represent only state


transitions.
Generate a new table to define control
signals in terms of states and inputs.

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 37

Control Signals for Multiplier


Micro-operations for each register
Block Diag Micro-Operation Control
Module
Signal
Register A A 0
Initialize
AA+B

Control
Expression

Load

CAQsr CAQ

Shift
Register B B IN
Load_B
C0
Clear_C
FF C
C Cout
Load
Register Q Q IN
Load_Q
CAQsr CAQ Shift
Counter P P n 1
Initialize
PP1

Decrement
Count

Same control signal for different registers:


Derive control signal logic from ASM
Initialize:
Clear_C:
Remove information on micro-operations and redraw
the ASM for sequencing purposes only.
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 38

ASM for Sequencing Part


Remove any decision boxes that do not affect the
next state situation.
Remove all the output boxes and any outputs in the
state boxes.
Design the sequencing part of the control unit
using the simplified ASM chart

IDLE

MUL0

MUL1

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 39

Sequence Register and


Decoder Method
Sequence Register for control states
Register with n-Flip-Flops can have 2n states.
n-bit sequence register has n-FFs & associated gates.

Decoder provides outputs corresponding to each


state

Combination of the external inputs and feedback


from the present state generates the next states.
other control
T0
External
Input
conditions

Decision
Logic

Sequence
Register

Decoder

Present
State

Tn

If there is no external input then it reduces to a


counter decoder control circuit.
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 40

Sequence Register
and Decoder Method
Binary Multiplier Control Sequencer
3-states and 2-inputs:

State Table
Present State Inputs N. State
Name

M1
IDLE 0
0
MUL0 0
MUL1 1
1
1

M0
0
0
1
0
0
1

G
0
1
x
x
x
x

Z M1+ M0+ IDLE


1
x
1
x
0
x
0
0
0
1
x
x

Decoder
MUL0 MUL1

0
0
1
0
0
x

0
0
0
1
1
x

2 Flip-flops : M1 M0
States 00, 01 and 10: IDLE, MUL0 and MUL1
DM0 = M0+
DM1 = M1+
Outputs: Initialize, Clear_C, Shift and Load
Initialize and Shift already available

Gates required for Clear_C and Load


Clear_C =
Load =
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 41

Sequence Register
and Decoder Method
Implementation
Outputs to
Datapath

Inputs

Initialize

Go (G)

Clear_C
Z
Load

Q0

A0

2-to-4
Decoder

1
2

A1

Shift_dec

Clock

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 42

Multiplier VHDL Code


-----

A behavioral model of a multiplier for


unsigned binary-numbers that multiplies a
4-bit multiplicand by a 4-bit multiplier
to give an 8-bit product.

-- The maximum number of clock cycles needed


-- for a multiply is 10.
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity mult4X4 is
port ( Clk, St: in std_logic;
Mplier, Mcand:
in std_logic_vector(3 downto 0);
Done: out std_logic);
end mult4X4;
architecture behave1 of mult4X4 is
signal State: integer range 0 to 9;
-- accumulator
signal ACC: std_logic_vector(8 downto 0);
-- Q0 is bit 0 of ACC
alias Q0: std_logic is ACC(0);
begin
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 43

process
begin
-- executes on rising edge of clock
wait until Clk = '1';
case State is
when 0 =>
--initial State
if St='1' then
ACC(8 downto 4)<= "00000"; --Begin cycle
-- Load multiplier
ACC(3 downto 0) <= Mplier;
State <= 1;
end if;
when 1 | 3 | 5 | 7 => --"add/shift" State
if Q0 = '1' then
--Add multiplicand
ACC(8 downto 4) <=
add4(ACC(7 downto 4),Mcand,'0');
State <= State + 1;
else
-- Shift accumulator right
ACC <= '0' & ACC(8 downto 1);
State <= State + 2;
end if;
when 2 | 4 | 6 | 8 =>
--"shift" State
-- Right shift
ACC <= '0' & ACC(8 downto 1);
State <= State + 1;
when 9 =>
-- End of cycle
State <= 0;
end case;
end process;
Done <= '1' when State = 9 else '0';
end behave1;

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 44

One Flip-Flop per State Method


Every state is assigned to one flip-flop.
Other control outputs
State Box Entry

External
input
conditions

S0

State Box Exit

Decision
Logic

S1

S2

S3

Clock

The configuration of the 4-state control logic:

Four D-type flip-flops


One flip-flop for every state
Only one flip-flop will be active (level HIGH) at
any one time.

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 45

One Flip-Flop per State Method


Only one flip-flop is in active state or "1" at
a time that signifies one state.
Main Features:
The simplicity allows designers to design
controller only by inspection from the ASM
chart or state diagram.
Cost saving in the design effort of controllers,
however, it is not recommended for high
volume production.
Large number of flip-flops leads to high cost.
Each of the flip-flop output is connected to
the data-processing section of the digital
system, to initiate certain micro-operations.
If controllers do not have any input and the

control needs to be repeated then it becomes


a ring counter controller.

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 46

One FF/State Implementation


Suited for Implementing Control Unit from ASM
charts.

ASM Transforming Rules


Entry

Entry
State Code
(optional)

State_Name/
outputs (Moore)

Entry X

Entry

Exit 1

Exit

State Box

Exit

0
Exit 0
Exit 0

Exit 1

Decision Box
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 47

One FF/State Implementation


ASM Transforming Rules
Entry

Entry
X

Exit 1

Exit 1

Output

Conditional Output Box

Entry 1

Entry 2

Entry 1

Entry 2

Exit

Exit

Junction
G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 48

One FF/State Implementation


ASM Chart for Binary Multiplier Control

IDLE

Initialize
Clear_C

MUL0

Q0

AA+B
C Cout

MUL1

C 0, C || A || Q sr C || A || Q ; P P 1

(Complex Shift)
0

G.Khan

(LOAD)

1 Multiplication Done

Computer Organization & Architecture-COE608: ASM and Control

Page: 49

One FF/State Implementation

D
C

Initialize
Clear_C

Load

Q0
Z

Shift_dec

C
Clock

G.Khan

Computer Organization & Architecture-COE608: ASM and Control

Page: 50

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy