Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 27

Topics

Basics of register-transfer design:


data paths and controllers;
ASM charts.

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Register-transfer design
A register-transfer system is a sequential
machine.
Register-transfer design is structural
complex combinations of state machines may
not be easily described solely by a large state
transition graph.
Register-transfer design concentrates on
functionality, not details of logic design.

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Register-transfer system example


A register-transfer machine has combinational
logic connecting registers:
Q D

combinational
logic

Modern VLSI Design 3e: Chapter 8

combinational
logic

combinational
logic
Copyright

1998, 2002 Prentice Hall PTR

Block diagrams
Block diagrams specify structure:

Modern VLSI Design 3e: Chapter 8

Copyright

wire bundle
of width 5

1998, 2002 Prentice Hall PTR

Register-transfer simulation
Simulates to clock-cycle accuracy. Doesnt
guarantee timing.
Important to get proper function of machine
before jumping into detailed logic design.
(But be sure to take into account critical
delays when choosing register-transfer
organization.)

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Simulation coding

Hardware description languages are typically


supported by a simulation system: VHDL,
Verilog, etc.
Simulation engine takes care of scheduling events
during simulation.

Can hand-code a simulation in a programming


language.
Must be sure that register-transfer events happen in
proper order.

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Sample VHDL code


sync: process begin
wait until CLOCKevent and CLOCK=1;
state <= state_next;
end process sync;
combin: process begin
case state is
when S0 =>
out1 <= a + c;
state_next <= S1;
...
end process combin;
Modern VLSI Design 3e: Chapter 8

sync process models


registers
combin process models
combinational logic

Copyright

1998, 2002 Prentice Hall PTR

Sample C simulator
while (TRUE) {
switch (state) {
case S0:
x = a + b;
state = S1;
next;
case S1:
...
}
}

Modern VLSI Design 3e: Chapter 8

loop executed once


per clock cycle
each case corresponds
to a state; sets outputs,
next state

Copyright

1998, 2002 Prentice Hall PTR

Data path-controller systems

One good way to structure a system is as a


data path and a controller:
data path executes regular operations
(arithmetic, etc.), holds registers with dataoriented state;
controller evaluates irregular functions, sets
control signals for data path.

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Data and control are equivalent

We can rewrite control into data and visa


versa:
control: if i1 = 0 then o1 <= a; else o1 <=
b; end if;
data: o1 <= ((i1 = 0) and a) or ((i1 = 1)
and b);

Data/control distinction is useful but not


fundamental.

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Data operators

Arithmetic operations are easy to spot in


hardware description languages:
x <= a + b;

Multiplexers are implied by conditionals.


Must evaluate entire program to determine
which sources of data for registers.
Multiplexers also come from sharing adders,
etc.

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Conditionals and multiplexers


if x = 0 then
reg1 <= a;
else
reg1 <= b;
end if;
code
register-transfer
Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Alternate data path-controller


systems
controller

controller

data path

data path

one controller,
one data path

Modern VLSI Design 3e: Chapter 8

controller
data path

two communicating
data path-controller
systems
Copyright

1998, 2002 Prentice Hall PTR

ASM charts
An ASM chart is a register-transfer
description.
ASM charts let us describe function without
choosing a partitioning between control and
data.
Once we have specified the function, we can
refine it into a block diagram which
partitions data and control.

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Sample ASM chart

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

ASM state

An ASM state specifies a machine state and


a set of actions in that state. All actions
occur in parallel.
s1

x=a+b
y=c-d+e
o1 = 1

name of state (notation only)


Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Actions in state
Actions in a state are unconditionally
executed.
A state can execute as many actions as you
want, but you must eventually supply
hardware for all those actions.
A register may be assigned to only once in a
state (single-assignment rule).

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Implementing operations in an
ASM state

state with one addition


two additions requires two adders
Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Sequences of states
States are linked by transitions.
States are executed sequentially. Each state
may take independent actions (including
assigning to a variable assigned to in a
previous state).

s1

x=a+b

Modern VLSI Design 3e: Chapter 8

s2

x=c+d
y=a+d
Copyright

1998, 2002 Prentice Hall PTR

Data paths from states


Maximum amount of hardware in data path
is determined by state which executes the
most functionality.
Function units implementing data
operations may be reused across states, but
multiplexers will be required to route values
to the shared function units.

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Function unit sharing example

mux allows +
to compute
a+b, a+c

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Conditionals
Conditional chooses which state to execute
next based on primary input or present state
value.
Can be drawn in either of two ways:

x
00
Modern VLSI Design 3e: Chapter 8

01

a=b
10

11

T
Copyright

1998, 2002 Prentice Hall PTR

Execution of conditionals
An ASM chart describes a Moore sequential
machine. If the logic associated with an
ASM chart fragment doesnt correspond to
a legal sequential machine, then it isnt a
legal ASM chart.
Conditional can evaluate only present state
or primary input value on present cycle.

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Implementing an ASM branch in


a Moore machine
ASM chart

state transition
graph of
controller

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Mealy machines and ASM


Mealy machine requires a conditional
output.
ASM notation for conditional output:

i1

Modern VLSI Design 3e: Chapter 8

y=c+d

Copyright

1998, 2002 Prentice Hall PTR

Extracting data path and


controller
ASM chart notation helps identify data,
control.
Once you choose what values and operations
go into the data path, you can determine by
elimination what goes into the controller.
Structure of the ASM chart gives structure of
controller state transition graph.

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

Data path-controller extraction

Modern VLSI Design 3e: Chapter 8

Copyright

1998, 2002 Prentice Hall PTR

You might also like