Synchronous Sequential Logic: Logic and Digital System Design - CS 303
Synchronous Sequential Logic: Logic and Digital System Design - CS 303
Part I
Logic and Digital System Design - CS 303
1
Sequential Logic
• Digital circuits we have learned, so far, have been
combinational
– no memory,
– outputs are entirely defined by the “current” inputs
• However, many digital systems encountered
everyday life are sequential (i.e., they have
memory)
– the memory elements remember past inputs
– outputs of sequential circuits are not only dependent on
the current input but also the state of the memory
elements.
2
Sequential Circuits Model
inputs outputs
Combinational
Circuit
current next
state state
Memory
Elements
4
Classification 2/2
1. Synchronous
• The state of the memory elements are updated with the
arrival of each pulse
• This type of logical circuit is also known as clocked
sequential circuits.
2. Asynchronous
• No clock
• behavior of an asynchronous sequential circuits depends
upon the input signals at any instant of time and the order
in which the inputs change.
• Memory elements in asynchronous circuits are regarded as
time-delay elements
5
Clocked Sequential Circuits
• Memory elements are flip-flops which are logic devices,
each of which is capable of storing one bit of
information.
inputs outputs
Combinational
Circuit
current next
state state
Flip-Flops
clock
6
Clocked Sequential Circuits
• The outputs of a clocked sequential circuit can come
from the combinational circuit, from the outputs of the
flip-flops or both.
• The state of the flip-flops can change only during a clock
pulse transition
– i.e. low-to-high and high-to-low
– clock edge
• When the clock maintains its value, the flip-flop output
does not change
• The transition from one state to the next occurs at the
clock edge.
7
Latches
• The most basic types of memory elements are not flip-
flops, but latches.
• A latch is a memory device that can maintain a binary
state indefinitely.
• Latches are, in fact, asynchronous devices and they
usually do not require a clock to operate.
• Therefore, they are not directly used in clocked
synchronous sequential circuits.
• They rather be used to construct flip-flops.
8
SR-Latches with NAND Gates
• made of cross-coupled NAND (NOR) gates
S
Q
Q’
R
Also known as S’R’-latch
S R Q Q’
1 0 0 1
1 1 0 1 After S = 1, R = 0
0 1 1 0
1 1 1 0 After S = 0, R = 1
0 0 1 1 Undefined 9
Undefined State of SR-Latch
• S = R = 0 may result in an undefined state
– the next state is unpredictable when both S and R goes to 1 at
the same time.
– It may oscillate
– Or the outcome state depend on which of S and R goes to 1
first.
It oscillates
1 01 11 0 1 R
R
Q
S
1 01 Q’ Q’
S 0 101
10
SR-Latch with Control Input
• Control inputs allow the changes at S and R to change the state of
the latch.
S
Q
Q’
R
C S R Q Q’
0 X X No change
1 0 0 No change
1 0 1 Q=0 Reset state
1 1 0 Q=1 Set state
1 1 1 Indeterminate 13
D-Latch
• SR latches are seldom used in practice because the
indeterminate state may cause instability
• Remedy: D-latches
D S
Q
R Q’
S Q S Q D Q
R Q’ R Q’ C Q’
inputs outputs
Combinational
Circuit
current next
state state
Latches
C
17
Need for Flip-Flops 2/2
• Another issue (related to the first one)
– The states of the memory elements must change
synchronously
– memory elements should respond to the changes in input at
certain points in time.
– This is the very characteristics of synchronous circuits.
– To this end, we use flip-flops that change states during a signal
transition of control input (clock)
18
Edge-Triggered D Flip-Flop
• An edge-triggered D flip-flop can be constructed using
two D latches
Y
D D Q D Q Q
D latch D latch
(master) (slave)
C C
clk’
clk Y=D
clk
clk
Q=Y=D
D
clk’
Y
Negative edge-triggered
Q
D flip-flop 19
Positive Edge-Triggered D Flip-Flop
Y
D D Q D Q Q
D latch D latch
(master) (slave)
clk’ C C
clk
clk
Y= D
clk’ Y does not change
Q=Y=D
clk
20
Symbols for D Flip-Flops
D Q
Positive edge-triggered
D FF
D Flip-Flop
clk C
D Q
Negative edge-triggered
D FF
D Flip-Flop
clk C
21
Setup & Hold Times 1/2
• Timing parameters are associated with the operation of
flip-flops
• Recall Q gets the value of D in clock transition
clk
D Q
ts th
D FF
D clk C
tp, FF 22
Setup & Hold Times 2/2
• Setup time, ts
– The change in the input D must be made before the clock
transition.
– Input D must maintain this new value for a certain minimum
amount time.
– If a change occurs at D less than ts second before the clock
transition, then the output may not acquire this new value.
– It may even demonstrate unstable behavior.
• Hold time, th,
– Similarly the value at D must be maintained for a minimum
amount of time (i.e. th) after the clock transition.
23
Propagation Time
• Even if setup and hold times are achieved, it takes some
time the circuit to propagate the input value to the
output.
• This is because of the fact that flip-flops are made of
logic gates that have certain propagation times.
24
D Flip-Flop
D Q
Positive edge-triggered
D FF
D Flip-Flop
clk C
• Characteristic equation
– Q(t+1) = D
D Q(t+1)
0 0
1 1
Characteristic Table 25
Example Characteristic equation
Q(t+1) = D
D Q
Positive edge-triggered
D FF
D Flip-Flop
clk C
clk
Q
time
26
Other Flip-Flops
• D flip-flop is the most common
– since it requires the fewest number of gates to construct.
• Two other widely used flip-flops
– JK flip-flops
– T flip-flops
• JK flip-flops
– Three FF operations
1. Set
2. Reset
3. Complement
27
JK Flip-Flops
J K Q(t+1) next state
J Q
0 0 Q(t) no change
C
0 1 0 Reset
K 1 0 1 Set
1 1 Q’(t) Complement
Characteristic Table
• Characteristic equation
– Q(t+1) = JQ’(t) + K’Q(t)
28
Characteristic Equations
• The logical properties of a flip-flop can be expressed
algebraically using characteristic equations
• D flip-flop
– Q(t+1) = D
• JK flip-flop
– Q(t+1) = JQ’ + K’Q
• T flip-flop
– Q(t+1) = T Q
30
Asynchronous Inputs of Flip-Flops
• They are used to force the flip-flop to a particular state
independent of the clock
– “Preset” (direct set) set FF state to 1
– “Clear” (direct reset) set FF state to 0
31
Asynchronous Inputs
data D Q clk
C
D
R
reset Q
reset
reset C D Q Q’
1 X X 0 1 Starting State
0 0 0 1
0 1 1 0
32
Analysis of Clocked Sequential Circuits
• Goal:
– to determine the behavior of clocked sequential circuits
– “Behavior” is determined from
• Inputs
• Outputs
• State of the flip-flops
– We have to obtain
• Boolean expressions for output and next state
– output & state equations
• (state) table
• (state) diagram
33
State Equations
• Also known as “transition equations”
– specify the next state as a function of the present state and
inputs
• Example
A(t+1)
D Q A
x C
A’
B(t+1)
D Q B
C
B’
y
34
clk
Output and State Equations
• A(t+1) = x(A B)
• B(t+1) = xB’
• y = xAB
A(t+1)
D Q A
x C
A’
B(t+1)
D Q B
C
B’
y 35
clk
Flip Flop Input Equations
36
Example: State (Transition) Table
A(t+1) = x(A B) B(t+1) = xB’ y = xAB
1/0
What is this circuit
doing?
State diagram provides the same information as state table
38
Mealy and Moore Models
• There are two models for sequential circuits
– Mealy
– Moore
• They differ in the way the outputs are generated
– Mealy:
• output is a function of both present states and inputs
– Moore
• output is a function of present state only
47
Example: Mealy and Moore Machines
x
y Q
D
C
clock C
reset
Mealy machine
• External inputs, x and y, can be asynchronous
• Thus, outputs may have momentary (incorrect) values
• Inputs must be synchronized with clocks
• Outputs must be sampled only during clock edges
48
Example: Moore Machines
x Q
A
T
y
C
TD Q
B
clk CC
reset