Chapter #6: Sequential Logic Design
Chapter #6: Sequential Logic Design
Chapter #6: Sequential Logic Design
No. 6-1
Chapter Overview
Sequential Networks
Simple Circuits with Feedback
R-S Latch
J-K Flipflop
Edge-Triggered Flipflops
Timing Methodologies
Cascading Flipflops for Proper Operation
Narrow Width Clocking vs. Multiphase Clocking
Clock Skew
Self-Timed Circuits
No. 6-2
Sequential Switching
Networks
No. 6-3
Sequential Switching
Networks
Simple Circuits with Feedback
Primitive memory elements created from cascaded gates
"1"
"0" Cascaded Inverters: Static Memory Cell
LD
No. 6-4
Sequential Switching
Networks
Inverter Chains
1 0 1 0 0
A
B C D E
X
A (=X) 0 1
B 1
tp = n * td
0
n = # inverters C
D 1
E 0
No. 6-5
Sequential Switching
Networks
Inverter Chains
Time 1 X X X X X
1 0 X X X X
1 0 1 X X X
1 0 1 0 X X
1 0 1 0 1 X
0
0 0 1 0 1
0 1 1 0 1 0
0 1 0 0 1 0
0 1 0 1 1 0
0 1 0 1 0 0
1
No. 6-6
Sequential Switching
Networks
Cross-Coupled NOR Gates
S
\Q
Q
\Q
Forbidden Forbidden
State State
No. 6-7
Sequential Switching
Networks
State Behavior of R-S Latch
S R Q QQ QQ
01 10
0 0 hold
0 1 0
1 0 1
1 1 unstable
QQ
00
Truth Table Summary
of R-S Latch Behavior
QQ
11
No. 6-8
Sequential Logic
Networks
Theoretical R-S Latch State Diagram
SR = 00, 01 SR = 00, 10
SR = 1 0
QQ QQ
01 10
SR = 0 1
SR = 0 1 SR = 1 0
SR = 11
SR = 1 1 SR = 1 1
QQ
00
SR = 0 1 SR = 1 0
SR = 0 0
SR = 0 0, 11
QQ
11
No. 6-9
Sequential Logic
Networks
Observed R-S Latch Behavior
SR = 00, 01 SR = 00, 10
SR = 1 0
QQ QQ
01 10
SR = 0 1
SR = 0 1 SR = 1 0
SR = 11
SR = 1 1 SR = 1 1
QQ
00
SR = 0 0
SR = 0 0
Clock:
Periodic Event, causes state of memory
Tsu Th element to change
Input rising edge, falling edge, high level, low level
No. 6-11
Sequential Switching
Networks
Level-Sensitive Latch a.k.a Gated R-S Latch
Schematic: \S
\Q
Clock \R
\enb=1 makes Q
a holding state
\enb
Timing Diagram:
\S
\R \enb >>Q propagation de
lay
\enb
Q
\Q
No. 6-12
Sequential Switching
Networks
Latches vs. Flipflops
No. 6-13
Sequential Switching
Networks
7474
D Q
Edge triggered device sample inputs on the event
edge
Clk Level-sensitive latches sample inputs as long as the
Positive edge-triggered clock is asserted
flip-flop
Clk Clk
Level-sensitive
latch
Q
Bubble here 7474
for negative
edge triggered Q 7476
device
74LS74 Positive
Edge Triggered Tsu Th T su Th
D Flipflop 20 5 20 5
ns ns ns ns
D
Setup time Tw
Hold time 25
Minimum clock width ns
Propagation delays Clk
(low to high, high to low, Tplh T phl
max and typical) 25 ns 40 ns
13 ns 25 ns
Q
No. 6-15
Sequential Switching
Networks
Typical Timing Specifications: Flipflops vs. Latches
74LS76
Clocked Transparent Latch T su Th Tsu Th
20 5 20 5
D ns ns ns ns
Setup time Tw
Hold time 20
Minimum Clock Width Clk ns
Propagation Delays:
high to low, low to high, Tplh T phl
C» Q C» Q
maximum, typical
Q 27 ns 25 ns
data to output
15 ns 14 ns
clock to output
T plh T phl
D»Q D»Q
27 ns 16 ns
15 ns 7 ns
Measurements from falling clock edge
or rising or falling data edge
No. 6-16
Sequential Switching
Elements
R-S Latch Revisited
S
R-S
R Latch Q+
No. 6-17
Sequential Switching
Networks
J-K Flipflop
How to eliminate the forbidden state?
No. 6-18
Sequential Switching
Networks
J-K Latch: Race Condition
J
K
Q
\Q
No. 6-19
Sequential Switching
Network
Master/Slave J-K Flipflop
Master Stage Slave Stage
K \P \Q
R \Q R \Q
R-S R-S
Latch Latch
S Q P S Q
J Q
Clk
Sample inputs while clock high Sample inputs while clock low
Uses
Usestime
timeto
tobreak
breakfeedback
feedbackpath
pathfrom
fromoutputs
outputsto
toinputs!
inputs!
1's
Set Reset Catch Toggle 100
J
K
Clk Correct Toggle
P Master
Operation
\P outputs
Q
Slave
\Q outputs
No. 6-20
Sequential Switching
Networks
Edge-Triggered Flipflops
1's Catching: a 0-1-0 glitch on the J or K inputs leads to a state change!
forces designer to use hazard-free logic
0
Holds D when
clock goes low
D
D
Characteristic Equation:
Q+ = D
Negative edge-triggered FF
when clock is high
No. 6-21
Sequential Switching
Network
Edge-triggered Flipflops
Guaranteed
Step-by-step analysis to hold the
previous value
D 0 4
D D
D 3 D
R R
Q 6 Q
Clk=0 Clk=0
Q 5 Q
D S D S
D 2 D
D D'
D 1 0
D' ° D
No. 6-22
Sequential Switching Networks
Positive vs. Negative Edge Triggered Devices
100
D
Clk
Qpos
Positive edge-
\ Qpos triggered FF
Qneg
Negative edge-
\ Qneg triggered FF
Toggle Flipflop
Formed from J-K with both inputs wired together
No. 6-23
Timing
Methodology
Overview
Set of rules for interconnecting components and clocks
(1) correct inputs, with respect to time, are provided to the FFs
Shift Register IN Q0 Q1
D Q D Q
New value to first stage
C Q C Q
while second stage
obtains current value CLK
of first stage
100
In
Correct Operation, Q0
assuming positive
Q1
edge triggered FFs
Clk
No. 6-25
Timing
Methodologies
Cascaded Flipflops and Setup/Hold/Propagation Delays
Why this works:
Propagation delays far exceed hold times
In
Tsu Tsu
20 ns 20 ns
Q0 Timing
Timingconstraints
constraints
guarantee
guaranteeproper
proper
T plh T plh operation
operationof
of
Q1
13 ns 13 ns cascaded components
cascaded components
Clk
Th Th
5 ns 5 ns
No. 6-26
Timing
Methodologies
Narrow Width Clocking versus Multiphase Clocking
Level Sensitive Latches vs. Edge Triggered Flipflops
Latches use fewer gates to implement a memory function
LD•Clk1
LD·Clk1 but requires two clock signals constrained
to be non-overlapping
No. 6-27
Timing
Methodologies
Narrow Width Clocking for Systems with Latches for State
Clock
Two-sided Constraints:
must be careful of very fast signals as well as very slow signals!
No. 6-28
Timing
Methodologies
Two Phase Non-Overlapped Clocking
Clock Waveforms:
must never overlap!
only worry about slow signals
Embedding CMOS storage
element into Clocked Sequential
Logic
Combinational
Logic 1 Note that Combinational Logic
can be partitioned into two
pieces
No. 6-29
Timing
Methodologies
Generating Two-Phase Non-Overlapping Clocks
Clk
phase1 Single reference clock (or crystal)
100
Clk
Phase 1
Phase 2
In
CLK2 is a delayed
Q0 version of CLK1
Q1
Clk1
Clk2
Original State: Q0 = 1, Q1 = 1, In = 0
Because of skew, next state becomes: Q0 = 0, Q1 = 0,
not Q0 = 0, Q1 = 1
No. 6-31
Timing
Methodologies
Design Strategies for Minimizing Clock Skew
Typical propagation delays for LS FFs: 13 ns
Need substantial clock delay (on the order of 13 ns) for skew to
be a problem in this relatively slow technology
No. 6-32
Realing Circuits with Different Kinds of FF
s
Choosing a Flipflop
R-S Clocked Latch:
used as storage element in narrow width clocked systems
its use is not recommended!
however, fundamental building block of other flipflop types
J-K Flipflop:
versatile building block
can be used to implement D and T FFs
usually requires least amount of logic to implement f (In,Q,Q+)
but has two inputs with increased wiring complexity
D Flipflop:
minimizes wires, much preferred in VLSI technologies
simplest design technique
best choice for storage registers
T Flipflops:
don't really exist, constructed from J-K FFs
usually best choice for implementing counters
Q K
J Q
C D Q
D
K Q J C Q
No. 6-34
Realizing Circuits with Different Kinds of Flipflop
sDesign Procedure
Excitation Tables: What are the necessary inputs to cause a
particular kind of change in state?
Q Q+ R S J K T D
0 0 X 0 0 X 0 0
0 1 0 1 1 X 1 1
1 0 1 0 X 1 1 0
1 1 0 X X 0 0 1 D
Q 0 1
Implementing D FF with a J-K FF: 0 0 1
1) Start with K-map of Q+ = (D, Q)
1 0 1
2) Create K-maps for J and K with same inputs (D, Q)
Q+ = D
3) Fill in K-maps with appropriate values for J and K
to cause the same state changes as in the original K-map
D D
Q 0 1 Q 0 1
E.g., D = Q= 0, Q+ = 0
then J = 0, K = X 0 0 1 0 X X
1 X X 1 1 0
J= D K=D
No. 6-35
Realizing Circuits with Different Kinds of Flipflop
s
Design Procedure (Continued)
Implementing J-K FF with a D FF:
1) K-Map of Q+ = F(J, K, Q)
JK J
Q 00 01 11 10
0 0 0 1 1
1 1 0 0 1
K
Q+ = D = JQ + KQ
Resulting equation is the combinational logic input to D
to cause same behavior as J-K FF. Of course it is identical
to the characteristic equation for a J-K FF.
No. 6-36
Metastability and Asynchronous Input
s
Terms and Definitions
Asynchronous circuits
inputs, state, and outputs sampled or changed independent
of a common reference signal
Synchronous inputs
active only when the clock edge or level is active
Asynchronous inputs
take effect immediately, without consideration of the clock
No. 6-38
Metastability and Asynchronous Output
s Handling Asynchronous Inputs
Clocked Synchronizer
Synchronous
System
Async Q0 Async Q0
D Q D Q D Q
Input Input
Clock Clock
Q1 Q1
D Q D Q
Clock Clock
No. 6-39
Metastability and Asynchronous Input
s What Can Go Wrong
No. 6-40
Metastability and Asynchronous Input
s Synchronizer Failure
Logic 0
Time
Small, but non-zero probability Oscilloscope Traces Demonstrating
that the FF output will get stuck Synchronizer Failure and Eventual
in an in-between state Decay to Steady State
No. 6-41
Metastability and Asynchronous Input
s
Solutions to Synchronizer Failure
the probability of failure can never be reduced to 0, but it can be reduced
Asynchronous Synchronized
Input D Q D Q Input
Clk
Synchronous System
No. 6-42
Self-Timed and Speed Independent
Circuits
Limits of Synchronous Systems
Fully synchronous not possible for very large systems
because of problems of clock skew
Communications
Clocked Signals Clocked
Subsystem Subsystem
Request/Acknowledgement Signaling
Request
S1 S2
Data Flow provider
requester
client server
master slave
Acknowledgement
No. 6-43
Self-Timed and Speed Independent
Circuits
Synchronous Signaling
Req
Data
Ack
Clk
Master issues read request; Slave produces data and acks back
Req
Data
Wait
Clk
No. 6-44
Self-Timed and Speed Independent
Circuits
Asynchronous/Speed Independent Signaling
Communicate information by signal levels rather than edges!
No clock signal
Req
Data
Ack
No. 6-45
Self-Timed and Speed Independent
Circuits
Alternative: 2 cycle signaling
Non-Return-to-Zero
Req
Data
Ack
No. 6-46
Self-Timed and Speed Independent
Circuits
Self-Timed Circuits
Determine on their own when a given request has been serviced
No internal clocks
Input Output
Combinational
logic
Req Ack
Delay
No. 6-47
Chapter Summary
Clocking Methodologies:
For latches: Narrow width clocking vs. Multiphase Non-overlapped
Narrow width clocking and two sided timing constraints
Two phase clocking and single sided timing constraints
Self-Timed Circuits
No. 6-48