You are on page 1of 30

Static Sequential Circuits

Sequential Logic

Inputs Outputs
Combinational
Logic

Current Next

Registers
State State State

clock
Timing Metrics
In D Q Out

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

Registers
State State

State
T (clock period)
clock

tcdreg + tcdlogic  thold T  tc-q + tplogic + tsu


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

 Dynamic storage
 store state on parasitic capacitors
 only hold state for short periods of time (milliseconds)
 require periodic refresh
 usually simpler, cheaper with higher density
Latches vs Flipflops

 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)
Positive and Negative Latches

In D Q Out In D Q Out

clock clock

clk clk

In In

Out Out
Review: The Regenerative Property
Vi1 Vo1 Vi2 Vo2

cascaded inverters
Vi2 = Vo1

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

D Latch
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 Latch

D Q
!clk

clk feedback
(hold mode)
PT MUX Based Latch Implementation

clk !Q

D Q

input sampled
(transparent mode)
!clk

 Reduced area and clock clk


load, but a threshold drop
!clk
at output of pass transistors
so reduced noise margins
and performance feedback
(hold mode)
Latch Race Problem

Combinational
Logic B
B B’

Registers clk
State

Which value of B is stored?


clk

Two-sided clock constraint


T  tc-q + tplogic + tsu
Thigh  tc-q + tcdlogic
Master Slave Based Flipflop

D FF
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


Master-Slave 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
MS Timing Properties

 Assume propagation delays are tpd_inv and tpd_tx, that


the contamination delay is 0, and that the inverter
delay to derive !clk is 0
 Set-up time - time before rising edge of clk that D
must be valid
tsu = 3 * tpd_inv + tpd_tx

 Propagation delay - time for QM to reach Q


tc-q = tpd_inv + tpd_tx
 Hold time - time D must be stable after rising edge of
clk
thold = zero
Set-up Time Simulation

3
Q
2.5

2 tsu = 0.21 ns
QM
1.5 tsetup
Volts

1 D clk
0.5
I2 out
0

-0.5 works correctly


0 0.2 0.4 0.6 0.8 1
Time (ns)
Set-up Time Simulation

3
Q
2.5
I2 out tsu = 0.20 ns
2

1.5 tsetup
Volts

1 D clk
0.5
QM
0

-0.5 fails
0 0.2 0.4 0.6 0.8 1
Time (ns)
Propagation Delay Simulation

2.5

2 tc-q(LH) = 160 psec


1.5
Volts

1 tc-q(LH) tc-q(HL) = 180 psec


tc-q(HL)
0.5

-0.5
0 0.5 1 1.5 2 2.5
Time (ns)
Reduced Load MS FF
 Clock load per register is important since it directly
impacts the power dissipation of the clock network
 Can reduce the clock load (at the cost of robustness) by
making the circuit ratioed

clk !clk
I3
QM
D T1 T2 Q

I2 I4
!clk clk
reverse conduction

 to switch the state of the master, T1 must be sized to overpower I2


 to avoid reverse conduction, I4 must be weaker
Non-Ideal Clocks

clk clk

!clk !clk

Ideal clocks Non-ideal clocks


clock skew

1-1 overlap

0-0 overlap
Example of Clock Skew Problems
X !clk Q
clk

P1 A P3 I3 I4 !Q
D I1 I2

B
P2 P4

!clk clk

Race condition – direct path from D to Q during the short


time when both clk and !clk are high (1-1 overlap)
Undefined state – both B and D are driving A when clk
and !clk are both high
Dynamic storage – when clk and !clk are both low (0-0
overlap)
Pseudostatic Two-Phase FF
X clk2 Q
clk1

P1 A P3 I3 I4 !Q
D I1 I2

B
P2 P4

clk2 clk1
dynamic
master transparent storage
slave hold

clk1 master hold


tnon_overlap slave transparent
clk2
Two Phase Clock Generator
A
clk1

clk B

clk2

clk1

clk2
Ratioed CMOS Clocked SR Latch

off  on on  off
M2 M4
Q 1 0
1 0 !Q
off on off on
0  1 clk M6 M8 clk 0  1
M1 M3
on  off off  on
0 S M5 M7 R1
off on
Sizing Issues

1.5
so W/L5and6 > 3
!Q (Volts)

0.5

0
2 2.5 3 3.5 4
W/L5and6
W/L2and4 = 1.5m/0.25 m
W/L1and3 = 0.5m/0.25 m
6 Transistor CMOS SR Latch

clk clk

R S

clk
clk M2 M4
Q M6 S
M5 !Q
R

M1 M3
6T SRAM Cell

WL
WL M2 M4
Q M6
M5 !Q BL

BL

M1 M3

You might also like