Digital Integrated
Circuits
Jan M. Rabaey
AAnantha
Design
Perspective
Chandrakasan
Borivoje Nikolic
Designing Sequential
Logic Circuits
November 2002
Digital Integrated Circuits2nd
Sequential Circuits
Sequential Logic
Inputs
Outputs
COMBINATIONAL
LOGIC
Current State
Registers
Q
Next state
D
CLK
2 storage mechanisms
positive feedback
charge-based
Digital Integrated Circuits2nd
Sequential Circuits
Naming Conventions
In
our text:
a latch is level sensitive
a register is edge-triggered
There
are many different naming
conventions
For instance, many books call edgetriggered elements flip-flops
This leads to confusion however
Digital Integrated Circuits2nd
Sequential Circuits
Latch versus Register
Latch
stores data when
clock is low
D Q
D Q
Clk
Clk
Clk
Clk
Digital Integrated Circuits2nd
Register
stores data when
clock rises
Sequential Circuits
Latches
Positive Latch
In
Negative Latch
Out
In
CLK
clk
clk
In
In
Out
Out
Digital Integrated Circuits2nd
Out
CLK
Out
Out
stable follows In
Out
Out
stable follows In
Sequential Circuits
Latch-Based Design
N latch is transparent
when = 0
P latch is transparent
when = 1
N
Latch
Logic
P
Latch
Logic
Digital Integrated Circuits2nd
Sequential Circuits
Timing Definitions
CLK
t
tsu
D
Digital Integrated Circuits2nd
thold
DATA
STABLE
tc 2
Register
Q
CLK
DATA
STABLE
Sequential Circuits
Characterizing Timing
tD 2
D
Clk
tC 2
Clk
Register
Digital Integrated Circuits2nd
tC 2
Latch
Sequential Circuits
Maximum Clock Frequency
FFs
LOGIC
tp,comb
tclk-Q + tp,comb + tsetup =
T
Digital Integrated Circuits2nd
Also:
tcdreg + tcdlogic > thold
tcd: contamination
delay = minimum
delay
Sequential Circuits
Positive Feedback: Bi-Stability
V i1
V o1 =V i2
Vi2
V o1
V o2
V o2 =V i1
V i1
V o2
A
V i2 =V o1
C
B
V i1 =V o2
Digital Integrated Circuits2nd
Sequential Circuits
V i2 5 V o1
V i2 5 V o1
Meta-Stability
B
V i1 5 V o2
B
V i1 5 V o2
Gain should be larger than 1 in the transition reg
Digital Integrated Circuits2nd
Sequential Circuits
Writing into a Static Latch
Use the clock as a decoupling signal,
that distinguishes between the transparent and opaque states
CLK
CLK
Q
CLK
D
CLK
CLK
Converting into a MUX
Digital Integrated Circuits2nd
Forcing the state
(can implement as NMOS-only)
Sequential Circuits
Mux-Based Latches
Negative latch
Positive latch
(transparent when CLK=
0)
(transparent
when CLK= 1
1
D
0
CLK
Q Clk Q Clk In
Digital Integrated Circuits2nd
Q
D
1
CLK
Q Clk Q Clk In
Sequential Circuits
Mux-Based Latch
CLK
Q
CLK
D
CLK
Digital Integrated Circuits2nd
Sequential Circuits
Mux-Based Latch
CLK
QM
CLK
QM
CLK
CLK
NMOS only
Digital Integrated Circuits2nd
Non-overlapping clocks
Sequential Circuits
Master-Slave (Edge-Triggered)
Register
Slave
Master
0
1
D
QM
D
QM
Q
CLK
CLK
Two opposite latches trigger on edge
Also called master-slave latch pair
Digital Integrated Circuits2nd
Sequential Circuits
Master-Slave Register
Multiplexer-based latch pair
I2
T2
I3
I5
T4
I4
T3
I6
QM
I1
T1
CLK
Digital Integrated Circuits2nd
Sequential Circuits
Clk-Q Delay
2.5
Volts
CLK
1.5
0.5
2 0.5
0
Digital Integrated Circuits2nd
tc 2
tc 2
q(lh)
0.5
1
1.5
time, nsec
q(hl)
2.5
Sequential Circuits
Setup Time
3.0
3.0
Q
2.5
QM
D
2.0
Volts
Volts
2.0
1.5
2.5
CLK
1.0
I 2 2 T2
0.5
CLK
1.0
QM
0.5
0.0
2 0.5
0
1.5
I 2 2 T2
0.0
0.2
0.4
0.6
time (nsec)
0.8
(a) Tsetup5 0.21 nsec
Digital Integrated Circuits2nd
2 0.5
0
0.2
0.4
0.6
time (nsec)
0.8
(b) Tsetup5 0.20 nsec
Sequential Circuits
Reduced Clock Load
Master-Slave Register
CLK
D
T1
CLK
Digital Integrated Circuits2nd
CLK
I1
I2
T2
CLK
I3
I4
Sequential Circuits
Avoiding Clock Overlap
X
CLK
CLK
Q
A
B
CLK
CLK
(a) Schematic diagram
CLK
CLK
(b) Overlapping clock pairs
Digital Integrated Circuits2nd
Sequential Circuits
Overpowering the Feedback Loop
Cross-Coupled Pairs
NOR-based set-reset
S
0
1
1
1
0
0
1
0
Forbidden State
Digital Integrated Circuits2nd
Sequential Circuits
Cross-Coupled NAND
Added clock
Cross-coupled NANDs
S
VDD
M2
M4
Q
CLK
M6
M5
M1
M3
M8
CLK
M7
This is not used in datapaths any more,
but is a basic building memory cell
Digital Integrated Circuits2nd
Sequential Circuits
Sizing Issues
2.0
3
Q
S
W = 0.5 m
W = 0.6 m
W = 0.7 m
Volts
Q (Volts)
1.5
1.0
W = 0.8 m
0.5
W = 0.9 m
0.0
2.0
2.5
3.0
W/L 5 and 6
3.5
4.0
(a)
Output voltage dependence
on transistor width
Digital Integrated Circuits2nd
W= 1 m
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time (ns)
(b)
Transient response
Sequential Circuits
Storage Mechanisms
Dynamic (charge-based)
Static
CLK
CLK
Q
CLK
CLK
CLK
Digital Integrated Circuits2nd
Sequential Circuits
Making a Dynamic Latch Pseudo-Static
CLK
CLK
Digital Integrated Circuits2nd
Sequential Circuits
More Precise Setup Time
Clk
t
D
t
Q
t
1.05tC 2
tC 2
tSu
tD 2
tH
Digital Integrated Circuits2nd
Sequential Circuits
Setup/Hold Time Illustrations
Circuit before clock arrival (Setup-1
CN
case)
TG1
Inv2
SM
D1
QM
Clk-Q Delay
Inv1
CP
TClk-Q
TSetup-1
Data
Clock
TSetup-1
t=0
Digital Integrated Circuits2nd
Time
Time
Sequential Circuits
Setup/Hold Time Illustrations
Circuit before clock arrival (Setup-1
CN
case)
TG1
Inv2
SM
D1
QM
Clk-Q Delay
Inv1
CP
TClk-Q
TSetup-1
Data
Clock
TSetup-1
t=0
Digital Integrated Circuits2nd
Time
Time
Sequential Circuits
Setup/Hold Time Illustrations
Circuit before clock arrival (Setup-1
CN
case)
TG1
Inv2
SM
D1
QM
Clk-Q Delay
Inv1
CP
TClk-Q
TSetup-1
Data
Clock
TSetup-1
t=0
Digital Integrated Circuits2nd
Time
Time
Sequential Circuits
Setup/Hold Time Illustrations
Circuit before clock arrival (Setup-1
CN
case)
TG1
Inv2
SM
D1
Clk-Q Delay
QM
Inv1
TClk-Q
CP
TSetup-1
Data
Time
Clock
TSetup-1
t=0
Digital Integrated Circuits2nd
Time
Sequential Circuits
Setup/Hold Time Illustrations
Circuit before clock arrival (Setup-1
CN
case)
TG1
Inv2
SM
D1
Clk-Q Delay
TClk-Q
QM
Inv1
CP
TSetup-1
Data
Time
Clock
TSetup-1
t=0
Digital Integrated Circuits2nd
Time
Sequential Circuits
Setup/Hold Time Illustrations
Hold-1 case
CN
TG1
SM
D1
Inv2
Clk-Q Delay
QM
Inv1
CP
0
TClk-Q
THold-1
Clock
Data
THold-1
t=0
Digital Integrated Circuits2nd
Time
Sequential Circuits
Time
Setup/Hold Time Illustrations
Hold-1 case
CN
TG1
SM
D1
Inv2
Clk-Q Delay
QM
Inv1
CP
0
TClk-Q
THold-1
Clock
Data
THold-1
t=0
Digital Integrated Circuits2nd
Time
Sequential Circuits
Time
Setup/Hold Time Illustrations
Hold-1 case
CN
TG1
SM
D1
Inv2
Clk-Q Delay
QM
Inv1
CP
TClk-Q
THold-1
Clock
Data
THold-1
t=0
Digital Integrated Circuits2nd
Time
Sequential Circuits
Time
Setup/Hold Time Illustrations
Hold-1 case
CN
TG1
SM
D1
D
Inv1
Inv2
Clk-Q Delay
QM
TClk-Q
CP
THold-1
Clock
Data
THold-1
t=0
Digital Integrated Circuits2nd
Time
Sequential Circuits
Time
Setup/Hold Time Illustrations
Hold-1 case
CN
TG1
SM
D1
Inv2
Clk-Q Delay
QM
TClk-Q
Inv1
CP
THold-1
Clock
Data
THold-1
t=0
Digital Integrated Circuits2nd
Time
Sequential Circuits
Time
Other Latches/Registers: C2MOS
CLK
VDD
VDD
M2
M6
M4
D
CLK
M3
M1
CLK
X
M8
Q
CL1
CLK
M7
CL2
M5
Master Stage
Keepers can be added to make circuit pseudo-static
Digital Integrated Circuits2nd
Sequential Circuits
Insensitive to Clock-Overlap
VDD
VDD
VDD
VDD
M2
M6
M2
M6
M4
0
X
M8
Q
D
1
M1
(a) (0-0) overlap
Digital Integrated Circuits2nd
M5
M3
Q
1
M1
M7
M5
(b) (1-1) overlap
Sequential Circuits
CLK
Reference
Digital Integrated Circuits2nd
CLK
CLK
log
REG
REG
CLK
REG
CLK
Out
REG
log
REG
REG
CLK
REG
REG
Pipelining
Out
CLK
CLK
Pipelined
Sequential Circuits
Other Latches/Registers: TSPC
VDD
VDD
VDD
VDD
Out
In
CLK
CLK
In
CLK
CLK
Positive latch
Negative latch
(transparent when CLK= 1)
(transparent when CLK= 0)
Digital Integrated Circuits2nd
Sequential Circuits
Including Logic in TSPC
VDD
VDD
VDD
In1
PUN
VDD
In2
Q
In
CLK
CLK
PDN
Example: logic inside the latch
Digital Integrated Circuits2nd
Q
CLK
CLK
In1
AND latch
Sequential Circuits
TSPC Register
VDD
M3
CLK
VDD
VDD
M6
M9
Y
CLK
M2
M1
Digital Integrated Circuits2nd
CLK
M5
M4
Q
Q
CLK
M8
M7
Sequential Circuits
Pulse-Triggered Latches
An
Alternative
Approach
Ways to design an edge-triggered sequential ce
Pulse-Triggered Latch
Master-Slave
Latches
Data
L1
L2
D Q
D Q
Clk
Clk
Data
Clk
L
D Q
Clk
Clk
Digital Integrated Circuits2nd
Sequential Circuits
Pulsed Latches
VDD
VDD
M3
M6
CLK
VDD
Q
D
CLKG
M2
CLKG
M1
(a) register
Digital Integrated Circuits2nd
M5
M4
MP
CLKG
MN
(b) glitch generation
Sequential Circuits
Pulsed Latches
Hybrid Latch Flip-flop (HLFF), AMD K-6 and K-7 :
CLK
P1
P3
M6
M3
D
M2
M1
Digital Integrated Circuits2nd
P2
M5
M4
Sequential Circuits
Hybrid Latch-FF Timing
3.0
2.5
Volts
2.0
1.5
1.0
0.5
CLK
CLKD
0.0
20.5
0.0
Digital Integrated Circuits2nd
0.2
0.4
0.6
time (ns)
0.8
1.0
Sequential Circuits
Latch-Based Pipeline
CLK
CLK
In
CLK
Out
C1
C2
C3
CLK
CLK
Compute F
Digital Integrated Circuits2nd
compute G
Sequential Circuits
Non-Bistable Sequential Circuits
V
V
Schmitt Trigger
In
Out
OH
ou t
VTC with hysteresis
V OL
Restores signal slopes
VM
Digital Integrated Circuits2nd
VM+
Vi n
Sequential Circuits
Vin
Noise Suppression using Schmitt
Trigger
Vout
VM
VM
t0
Digital Integrated Circuits2nd
t 0 + tp
Sequential Circuits
CMOS Schmitt Trigger
VDD
M2
Vin
M4
Vout
X
M1
M3
Moves switching threshol
of the first inverter
Digital Integrated Circuits2nd
Sequential Circuits
Schmitt Trigger Simulated VTC
2.5
2.5
2.0
2.0
VM1
1.5
1.0
1.5
1.0
VM2
0.5
0.0
0.0
k=1
k=2
0.5
0.5
1.0
1.5
Vin (V)
2.0
2.5
Voltage-transfer characteristics with hysteresis.
Digital Integrated Circuits2nd
k=3
k=4
0.0
0.0
0.5
1.0
1.5
Vin (V)
2.0
2.5
The effect of varying the ratio of the
PMOS device M4. The width is k* 0.5m m.
Sequential Circuits
CMOS Schmitt Trigger (2)
VDD
M4
M6
M3
In
Out
M2
X
M5
VDD
M1
Digital Integrated Circuits2nd
Sequential Circuits
Multivibrator Circuits
R
S
Bistable Multivibrator
flip-flop, Schmitt Trigger
T
Monostable Multivibrator
one-shot
Astable Multivibrator
oscillator
Digital Integrated Circuits2nd
Sequential Circuits
Transition-Triggered Monostable
In
DELAY
td
Digital Integrated Circuits2nd
Out
td
Sequential Circuits
Monostable Trigger (RC-based)
VDD
R
In
Out
(a) Trigger circuit.
In
VM
Out
t
t1
Digital Integrated Circuits2nd
(b) Waveforms.
t2
Sequential Circuits
Astable Multivibrators (Oscillators)
0
N-1
Ring Oscillator
3.0
2.5
V1 V3 V5
Volts
2.0
1.5
1.0
0.5
0.0
20.5
0.0
0.5
1.0
1.5
time (ns)
simulated response of 5-stage oscillator
Digital Integrated Circuits2nd
Sequential Circuits
Relaxation Oscillator
Out1
I2
I1
Out2
C
Int
T = 2 (log3) RC
Digital Integrated Circuits2nd
Sequential Circuits
Voltage Controller Oscillator (VCO)
VD D
VDD
M6
M4
Schmitt Trigger
restores signal slopes
M2
In
M1
Iref
Vcontr
M3
M5
Iref
Current starved inverter
tpH L (nsec)
6
4
2
0.0
0.5
Digital Integrated Circuits2nd
1.5
V co ntr (V)
2.5
propagation delay as a function
of control voltage
Sequential Circuits
Differential Delay Element and VCO
V o2
V o1
in1
v1
in2
v2
v3
v4
V ctrl
delay cell
two stage VCO
3.0
2.5
V1 V2 V 3 V4
2.0
1.5
1.0
0.5
0.0
2 0.5
0.5
1.5
2.5
time (ns)
3.5
simulated waveforms of 2-stage VCO
Digital Integrated Circuits2nd
Sequential Circuits