Static Sequential Circuits
Sequential Logic
Inputs Outputs
Combinational
Logic
Current Next
State State
clock
Timing Metrics
clock
clock
tsu thold time
In data
stable
tc-q time
Out output output
stable stable
time
System Timing Constraints
Inputs Outputs
Combinational
Logic
Current Next
State State
T (clock period)
clock
tcdreg + tcdlogic thold T tc-q + tplogic + tsu
Setup and Hold Checking for Flip-Flops
Static vs Dynamic Storage
❑ Static storage
preserve state as long as the power is on
have positive feedback (regeneration) with an internal
connection between the output and the input
useful when updates are infrequent (clock gating)
❑ Dynamic storage
store state on parasitic capacitors
only hold state for short periods of time (milliseconds)
require periodic refresh
usually simpler, so higher speed and lower power
Latches vs Flipflops (Registers)
❑ Latches
level sensitive circuit that passes inputs to Q when the clock is
high (or low) - transparent mode
input sampled on the falling edge of the clock is held stable
when clock is low (or high) - hold mode
❑ Flipflops (edge-triggered)
edge sensitive circuits that sample the inputs on a clock
transition
- positive edge-triggered: 0 → 1
- negative edge-triggered: 1 → 0
built using latches (e.g., master-slave flipflops)
Review: The Regenerative Property
Vi1 Vo1 Vi2 Vo2
cascaded inverters
A If the gain in the transient
region is larger than 1,
C
only A and B are stable
operation points. C is a
metastable operation
B point.
Vi1 = Vo2
Bistable Circuits
❑ The cross-coupling of two Vi1
inverters results in a bistable
circuit (a circuit with two Vi2
stable states)
❑ Have to be able to change the stored value by making A
(or B) temporarily unstable by increasing the loop gain to
a value larger than 1
done by applying a trigger pulse at Vi1 or Vi2
the width of the trigger pulse need be only a little larger than the
total propagation delay around the loop circuit (twice the delay of
an inverter)
❑ Two approaches used
cutting the feedback loop (mux based latch)
overpowering the feedback loop (as used in SRAMs)
Review : SR Latch
S R Q !Q
S 0 0 Q !Q memory
!Q
1 0 1 0 set
0 1 0 1 reset
Q
R 1 1 0 0 disallowed
Review : Clocked D Latch
D
!Q
Q
D Q
clock
transparent mode clock
clock
hold mode
MUX Based Latches
❑ Change the stored value by cutting the feedback loop
feedback feedback
1 0
Q Q
D 0 D 1
clk clk
Negative Latch Positive Latch
Q = clk & Q | !clk & D Q = !clk & Q | clk & D
transparent when the transparent when the
clock is low clock is high
TG MUX Based Latch Implementation
clk
!clk
input sampled
D (transparent mode)
clk
clk
D Q
!clk
clk feedback
(hold mode)
PT MUX Based Latch Implementation
clk !Q
D Q
input sampled
(transparent mode)
!clk
❑ Reduced clock load, but
clk
threshold drop at output
of pass transistors so !clk
reduced noise margins
and performance
feedback
(hold mode)
Latch Race Problem
B
B B’
clk
Which value of B is stored?
clk
Two-sided clock constraint
Master Slave Based ET Flipflop
D Q
0
1 Q clock
1
QM
D 0
clk clk
clk
Slave D
Master
clk = 0 transparent hold QM
clk = 0→1 hold transparent Q
MS ET Implementation
Master Slave
I2 T2 I3 I5 T4 I6 Q
QM
I1 T1 I4 T3
D
clk
master transparent master hold
slave hold slave transparent
clk
!clk
6 Transistor CMOS SR Latch
clk clk
R S
clk
clk M2 M4
Q M6 S
M5 !Q
R
M1 M3