Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
74 views

Algorithmic State Machines

This document provides an overview of algorithmic state machines (ASMs). It notes some drawbacks of using state diagrams to model real systems, such as having too many inputs and outputs. ASMs separate the controller and data processing elements. The controller determines what actions need to be taken, while the data processing element manipulates the data. ASM charts are like state diagrams but avoid listing all inputs and outputs at each step. They model the system as states connected by decisions and conditional operations.

Uploaded by

luffydmon
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views

Algorithmic State Machines

This document provides an overview of algorithmic state machines (ASMs). It notes some drawbacks of using state diagrams to model real systems, such as having too many inputs and outputs. ASMs separate the controller and data processing elements. The controller determines what actions need to be taken, while the data processing element manipulates the data. ASM charts are like state diagrams but avoid listing all inputs and outputs at each step. They model the system as states connected by decisions and conditional operations.

Uploaded by

luffydmon
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 19

Algorithmic State Machines

SD192 Digital Systems


Lecture notes
July 16, 2004

ASM Overview

Drawbacks of state diagrams for real


systems:

Many inputs & many outputs -> awkward


to list all of these as each transition arc.
On any given arc

Typically most inputs are dont care


Typically most outputs are unchanged from the
settings in the previous state
Tedious & repetitive to list exhaustively

ASM Overview

Not a clear structure for


illustrating/designing control flow
What about generic memory/data

Do they really need to be part of the state? If


we have many bits of data, this would lead to a
huge state
E.g. state diagram for counter or shift register
is pointless

ASM Overview

Some problems analogous to before

Combinational:

Small problems truth tables ok/easy


Adders, Muxes TT get out of hand

Sequential:

Small state diagrams easy


Real, Data state diagrams not helpful

ASM Overview

We need to separate controller & data


processor

Controller What actions need to be


taken? What is fundamental operating
mode?
Processor Undertake the action.
Manipulate the data

ASM Overview

Control and data path interaction


Data Processing

Control
Commands
Combinational

Status

Shift Registers.
Counters, Mux, etc.

I/O

Outside
World

State

Our circuit is now explicitly separated

ASM Overview

Ex. Serial Addition


Ctrln

Go=0
Start

Go=1

Load, Clear

Ctrl=n, set done

Run

ASM Overview

Outside World

n
n

D Sor
D Sor

S/I

X
Y
Ci

S
Co
Q
D
CLR

Clear
Ctrl=n
Done
Go

< B
= A
>

n CLR
Q

Si Q

ASM Design

Data processing:

what sorts of manipulations of the input and


output data are requested? How many/what sorts
of things need to be stored?
How to design

Ad hoc/creative/by insight
List requested operations/manipulations
Include initialization controls
Include status lines

ASM Design

Control logic

All of the commands to the data proc. logic


need to be controlled, and the status lines
need to be monitored and acted upon.
ASM charts are like state diagrams, but
without specific drawbacks.

Dont list all inputs for each transition dont


care inputs
Dont list all outputs for each state not
changed outputs

ASM Design

How to design - ASM chart/state diagram


(for small problems)

State assignment
State table
Kmap-gates/FF/Reg Mux Dec/EPROM, or,
creatively, a combination of them

ASM Design

ASM charts are like flowcharts, with a


few crucial differences. Be careful,
especially with timing.

State Box
Decision Box
Combinational Box

ASM Design

State Box one box per system state


NAME

code
Operations

i.e. optioinal
binary state
code

ASM Design

Operation notation:

Sum <- 0 or Carry <- 0 or LOAD A


Combinational variable: S=0, T=S+V

Idea: keep operations abstract & high


level. Dont work in detailed language of
processing logic (i.e. write Sum <- 0, not
CLRSum Reg=1)
Operations will take place at the end of the
clock period

ASM Design

Decision Box - Basic condition, i.e. logic


flow control. Only the decision boxes
depend on inputs.

Condition

Boolean

ASM Design

Ctr.

ASM Design

Keep conditions as general as possible.


Prefer: Carry high? Over QFF#5=1?

ASM Design

Conditional Box - An action/operation to


be undertaken conditioned on some
earlier decision box.

Operations

ASM Design

Conditional boxes do not appear in normal


flowcharts. The essential difference is
timing:

Flowcharts are sequential


ASM charts are not. All of the operations
associated with a given state take place
simultaneously.

You might also like