Synchronous vs Asynchronous Sequential Circuit Sequential...

Post on 10-Mar-2020

17 views 0 download

transcript

9/10/12

1

Sequential Logic (2)

ENGG1015 1st Semester, 2012

Dr. Hayden So

Department of Electrical and

Electronic Engineering

http://www.eee.hku.hk/~engg1015

Synchronous vs Asynchronous Sequential Circuit

n  In synchronous sequential circuits, all state elements are updated synchronously according to a single clock signal

n  In asynchronous sequential circuits, state elements may be updated with multiple clocks, no clock signal, or any other schemes.

1st semester, 2012 ENGG1015 - H. So 2

Combinational

synchronous

asynchronous

Sequential

This Course

Synchronous Sequential Circuits n  A synchronous sequential circuit contains exactly 1

clock signal n  All state elements are connected to the same clock

signal •  è the state of the entire circuit is updated at the same time

n  Common form of synchronous sequential circuits:

1st semester, 2012 ENGG1015 - H. So 3

clk

Comb Logic

clk

input

clk

Comb Logic

clk

Comb Logic

Comb Logic

output

Clock Signal n  A clock signal is particularly important signal in a

synchronous sequential circuit •  It controls the action of all DFFs

n  A clock signal toggles between ‘0’ and ‘1’ periodically

n  The frequency of the toggling determines the maximum speed of the circuit •  E.g.: in the accumulator example earlier, the output S

cannot change faster than the clock frequency

1st semester, 2012 ENGG1015 - H. So 4

X x0 x1 x2

S 0 x0 x0 + x1 x0 + x1 + x2

clk

1

clock period

1clock period

= clock frequency

e.g. Intel CPU runs at 3 GHz, Mobile phone processors at 1 GHz Lab FPGA board at 50 MHz

FINITE STATE MACHINE

1st semester, 2012 ENGG1015 - H. So 5

FSM Overview n  Finite State Machine (FSM) is an abstraction of

computation •  Can be used to model many computing tasks, both in

software and in hardware

n  Very useful abstraction to help design sequential circuits •  It is systematic, and can be analyzed mathematically

n  Used to describe very complex behavior of circuits and systems •  Decision making •  Network communication •  Microprocessor control…

1st semester, 2012 ENGG1015 - H. So 6

9/10/12

2

Defining Finite State Machines n  Each FSM defines:

•  Finite number of states that the machine can be in •  The conditions under which it will transition from

one state to another

n  At any moment in time, an FSM can only exist in 1 of the defined states

n  The output of an FSM depends on the state that the FSM •  Optionally depend on the input to the FSM

1st semester, 2012 ENGG1015 - H. So 7

State Transition Diagram n  A graphical tool to describe

the behavior of an FSM n  Represent states as blocks

•  Labeled: name of the state

n  Represent transitions as directed edge •  Direction of an edge

represents the direction of state transition

n  All possible states & transitions are included

1st semester, 2012 ENGG1015 - H. So 8

S0

S1

S3

S2

reset

Quick Quiz n  Which of the following is/

are possible sequence(s) of states that the FSM may go through?

•  S0 S1 S3 S2 S0 •  S0 S1 S1 S2 S2 S0 •  S0 S0 S1 S1 S3 S3 S3 •  S2 S2 S0 S0 S0 S0

1st semester, 2012 ENGG1015 - H. So 9

S0

S1

S3

S2

reset

1

2

3

4

State Transitions

n  Each state transition is labeled with: •  1. Condition that the transition should take place •  2. Output of the FSM during the transition

n  There should only be 1 active transition at any one time •  The input conditions of all transitions in a FSM

should be mutually exclusive

1st semester, 2012 ENGG1015 - H. So 10

S0 S1 condition / output

Ex: Ticket Gate at MTR

n  The gate should only open after a valid Octopus card is scanned.

n  It should close the gate after a person has passed through the gate.

1st semester, 2012 ENGG1015 - H. So 11

WAIT_CARD WAIT_PASS

reset

Card Valid Gate CloseCard Valid Gate Open

Passenger Passed Gate Open

Passenger Passed Gate Close

FSM in Hardware n  FSM can be efficiently implemented in

hardware using synchronous sequential circuits •  FSM states can be implemented by registers •  State transition conditions can be implemented by

combinational function on input signals and the states

•  FSM outputs are simply output signals of the circuit

n  Transition condition is checked on every clock edge

1st semester, 2012 ENGG1015 - H. So 12

9/10/12

3

Ticket Gate Control (1)

Step 1: Define the input/output signals n  We use the following signals:

1st semester, 2012 ENGG1015 - H. So 13

WAIT_CARD WAIT_PASS

reset

Card Valid Gate CloseCard Valid Gate Open

Passenger Passed Gate Open

Passenger Passed Gate Close

Type Name Description input valid ‘1’ if a valid Octopus card is presented,

‘0’ otherwise input passed ‘1’ if a passenger has completely

passed through the gate, ‘0’ otherwise output motor ‘1’ close the ticket gate by turning on a

motor , ‘0’ otherwise

Ticket Gate Control (2)

Step 2: Determine how the FSM states will be represented in hardware

n  2 FSM states è 1 DFF needed

n  Encode the state as follows: •  ‘0’ è WAIT_CARD state •  ‘1’ è WAIT_PASS state

1st semester, 2012 ENGG1015 - H. So 14

WAIT_CARD WAIT_PASS

reset

Card Valid Gate CloseCard Valid Gate Open

Passenger Passed Gate Open

Passenger Passed Gate Close

Ticket Gate Control (3a)

Step 3: Implement the state transition logic n  At each cycle, determine what is the next state

this FSM should be in in the next cycle •  Determine which transition is active by checking all the

transition conditions

n  The next state logic is a combinational function of the current state and the input signals •  the input to the state register •  Can be found using a truth table

1st semester, 2012 ENGG1015 - H. So 15

WAIT_CARD WAIT_PASS

reset

Card Valid Gate CloseCard Valid Gate Open

Passenger Passed Gate Open

Passenger Passed Gate Close

Ticket Gate Control (3b)

1st semester, 2012 ENGG1015 - H. So 16

WAIT_CARD WAIT_PASS

reset

Card Valid Gate CloseCard Valid Gate Open

Passenger Passed Gate Open

Passenger Passed Gate Close

s valid passed ns 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

0 0 1 1 1 0 1 0

ns = s ⋅ valid + s ⋅ passed

Ticket Gate Control (4a)

Step 4: Determine the output logic n  Can be performed similar to the way the next

state logic is obtained

1st semester, 2012 ENGG1015 - H. So 17

WAIT_CARD WAIT_PASS

reset

Card Valid Gate CloseCard Valid Gate Open

Passenger Passed Gate Open

Passenger Passed Gate Close

Ticket Gate Control (4b)

1st semester, 2012 ENGG1015 - H. So 18

s valid passed ns motor 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0

1 1 0 0 0 1 0 1

WAIT_CARD WAIT_PASS

reset

Card Valid Gate CloseCard Valid Gate Open

Passenger Passed Gate Open

Passenger Passed Gate Close motor = s ⋅ valid + s ⋅ passed

9/10/12

4

Ticket Gate Control (5)

n  Next state (ns) is a combinational function on current state (s) and current input

n  After clock edge, ns becomes the current state (s) in the next cycle è connect to state register

n  Output depends on current state n  Output may depend on input as well

1st semester, 2012 ENGG1015 - H. So 19

Next State Logic input

state register

s

clk

s ns output

Output Logic

Step 4: Implement the circuit Moore Machine vs Mealy Machine n  In a Mealy machine, the output depends on

both input and the current state of the machine

n  In a Moore machine, the output depends only on the current state, but not the input

n  Moore machine avoid combinational path between input and output of a state machine

n  However, in general, Moore machine requires more states to implement the same function than a Mealy machine

1st semester, 2012 ENGG1015 - H. So 20

State Encoding n  State encoding refers to the way the abstract

FSM states are represented in hardware n  In a binary encoding scheme, each state is

encoded using an n-bit binary number. •  2n possible states •  The ticket gate example is the simplest binary

encoding with 1 bit = 2 states

n  In a one-hot encoding scheme, each FSM state is encoded using 1 bit at a unique bit position •  n DFFs are used to encode n FSM states

1st semester, 2012 ENGG1015 - H. So 21

State Encoding

Observations: n  One-hot encoding scheme requires more DFFs

for large FSMs •  But generally simpler next state/output logic

n  The mapping between state and its encoding can be quite arbitrary •  E.g. No reason why State_C cannot be “00”

n  Non-trivial to define the best encoding

1st semester, 2012 ENGG1015 - H. So 22

State Binary One-Hot State_A 00 0001 State_B 01 0010 State_C 10 0100 State_D 11 1000

Example: encoding 4 states using different encoding scheme

State Encoding n  In either encoding scheme, there will be codes

that do not correspond to any FSM state •  E.g. “000110” is not a valid one-hot encoding •  E.g. “111” may not be valid if there are only 5 states in

the FSM.

n  How to handle invalid states? •  Ignore them – since in theory your state machine will

never end up in that state •  Flag an error, stop the machine •  Reset the machine/Jump to a default state •  Take advantage of them to simplify the design of next

state/output logic

1st semester, 2012 ENGG1015 - H. So 23

CIRCUIT TIMING

1st semester, 2012 ENGG1015 - H. So 24

9/10/12

5

Timing of Circuits n  So far, we have assumed:

•  output of a combinational circuit changes instantaneous w.r.t. input

•  Output of a FF changes instantaneously w.r.t. clock edge

n  In reality, it takes finite amount of time for a signal to travel through a circuit.

n  The timing of different parts of a circuit •  may cause glitches in output, •  limit the maximum speed of a design

1st semester, 2012 ENGG1015 - H. So 25

Propagation Delay

n  Each logic gate incurs delay between the input and output to allow signal to propagate •  Such delay is referred as propagation delay

n  Exact value is technology-dependent n  In this class, we assume all gates have the

same unit propagation delay. •  The speed of a circuit is always limited by the

slowest path

1st semester, 2012 ENGG1015 - H. So 26

a b

c

d y

•  3 units of delay from a to y

•  1 unit of delay from d to y

• Worst case delay = 3 units

Glitches

n  Glitches refer to any momentarily change in a signal value

n  One common cause is due to race condition between signal paths •  Imbalanced propagation delay

n  May cause incorrect output if a signal is used during the glitch

1st semester, 2012 ENGG1015 - H. So 27

y

a

b

x

a

b

x

y

1

stable

a b y

0 0 0

0 1 1

1 0 0

1 1 0

time

Timing in Synchronous Circuits

n  In a synchronous sequential circuit, signal changes occur only during clock edge

n  All signals are therefore synchronized to change values right after a clock edge

n  In the above example, need to make sure correct value of y available BEFORE next clock edge

1st semester, 2012 ENGG1015 - H. So 28

a b

c

d y clk clk

clk

Timing in Synchronous Circuits n  In general, the propagation

delay through the combinational logic between any two registers must be shorter than the clock period

n  The longest such path is called the critical path of the circuit

n  The critical path determines the maximum clock speed

1st semester, 2012 ENGG1015 - H. So 29

clk

clk clk

Comb Logic

a

b

x

y

clk

1

From glitch example Stable before

clock edge

Synchronous Circuits Timing Tradeoff n  Since only values right before the clock edge

in the input port are captured, all the glitches within the circuit are ignored

n  A short period of time before a clock edge must be allocated to ensure stable inputs •  Too small è Chance of failing circuit •  Too big è Wasted idle time

n  Since all circuit runs on the same clock, clock frequency limited by the longest critical path

1st semester, 2012 ENGG1015 - H. So 30

9/10/12

6

Summary n  Synchronous sequential circuits contain one

single clock •  All FFs connected to the same clock •  All signal change synchronized to the same clock edge

n  State machine is an important abstraction for computation •  Straight forward implementation as synchronous

sequential logic

n  Propagation delay of logic gates determines the highest frequency a synchronous sequential circuit can run

1st semester, 2012 ENGG1015 - H. So 31