Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Project Presentations
What to include in presentation?
Reason for choosing the design
Final/Intended application
Design constraints
What it does/How it works
Simulations!, Simulations!!, Simulations!!!
Layout
Post-layout simulations!
Achieved goal? Unexpected glitches? Future work
Contrast proposed schedule with actual schedule
Sequential Logic
Inputs
Outputs
COMBINATIONAL
LOGIC
Current State
Registers
Q
D
CLK
2 storage mechanisms
positive feedback
charge-based
Next state
V i2 5 V o1
V i2 5 V o1
Meta-Stability
B
V i1 5 V o2
B
V i1 5 V o2
Mux-Based Latches
Negative latch
Positive latch
(transparent when CLK=(transparent
0)
when CLK=
1
D
0
CLK
Q Clk Q Clk In
1
CLK
Q Clk Q Clk In
Mux-Based Latch
CLK
QM
CLK
QM
CLK
CLK
NMOS only
Non-overlapping clocks
Mux-Based Latch
CLK
Q
CLK
D
CLK
CLK
Q
CLK
D
CLK
CLK
T1
CLK
CLK
I1
I2
T2
CLK
I3
I4
CLK
CLK
Q
A
B
CLK
CLK
(a) Schematic diagram
CLK
CLK
(b) Overlapping clock pairs
Storage Mechanisms
Dynamic (charge-based)
Static
CLK
CLK
Q
CLK
D
CLK
Very fast
CLK
CLK
Weak inverter
SR-Flip Flop
0
1
0
1
0
0
1
1
Q
1
0
0
Q
0
1
0
1
0
1
0
1
1
0
0
Q
1
0
1
Q
0
1
1
Forbidden State
Forbidden State
Cross-Coupled NOR
Added clock
Cross-coupled NORs
S
VDD
M2
M4
Q
Q
R
CLK
M6
M5
M1
M3
M8
CLK
M7
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)
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
For various W/L 5 and 6
Naming Conventions
In our text:
a latch is level sensitive
a register is edge-triggered
Latch
stores data when
clock is low
Register
stores data when
clock rises
D Q
D Q
Clk
Clk
Clk
Clk
Latch-Based Design
N latch is transparent
when = 0
P latch is transparent
when = 1
N
Latch
Logic
Logic
P
Latch
Master-Slave
(Edge-Triggered) Register
Slave
Master
0
1
D
QM
D
QM
Q
CLK
CLK
Master-Slave Register
Multiplexer-based latch pair
I2
CLK
T2
I3
I5
T4
I4
T3
QM
I1
T1
I6
Timing Definitions
thold
DATA
STABLE
tc 2
Register
Q
CLK
DATA
STABLE
Characterizing Timing
tD 2
D
Clk
tC 2
Clk
Register
tC 2
Latch
FFs
LOGIC
tp,comb
Clk-Q Delay
2.5
CLK
Volts
D Q
1.5
0.5
2 0.5
0
tc 2
tc 2
q(lh)
0.5
1
1.5
time, nsec
Clk
q(hl)
2.5
Timing of Master-Slave
Register
In the multiplexer-based latch pair
assume that propagation delays of
inverters and transmission gates
D
are tpd_inv and tpd_tx
I2
I1
T2
T1
I3
QM
I5
T4
I4
T3
CLK
The setup time states how long before the rising edge of CLK data
D must
be stable. D has to propagate through I1, T1, I3, and I4 before the
rising edge of CLK, so tsetup=3 tpd_inv+tpd_tx
The propagation delay is the time to propagate signal from QM to
Q. Since
the output I4 is valid before the rising edge of the clock, so tcq=tpd_tx+tpd_inv
The hold time (time for the input to be stable after rising edge of
the clock)
I6
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
2 0.5
0
0.2
0.4
0.6
time (nsec)
0.8
Output failure
1.05tC 2
tC 2
delay
tSu
tD 2
tH
Inv2
SM
D1
QM
Clk-Q Delay
Inv1
CP
TClk-Q
TSetup-1
Data
Time
Clock
TSetup-1
t=0
Time
Inv2
SM
D1
QM
Clk-Q Delay
Inv1
CP
TClk-Q
TSetup-1
Data
Time
Clock
TSetup-1
t=0
Time
Inv2
SM
D1
QM
Clk-Q Delay
Inv1
CP
TClk-Q
TSetup-1
Data
Clock
TSetup-1
t=0
Time
Time
Inv2
SM
D1
Clk-Q Delay
QM
Inv1
TClk-Q
CP
TSetup-1
Data
Clock
TSetup-1
t=0
Time
Time
Inv2
SM
D1
Clk-Q Delay
TClk-Q
QM
Inv1
CP
TSetup-1
Data
Clock
TSetup-1
t=0
Time
Time
D1
Inv2
Clk-Q Delay
QM
Inv1
CP
0
TClk-Q
THold-1
Clock
Data
THold-1
t=0
Time
Time
D1
Inv2
Clk-Q Delay
QM
Inv1
CP
0
TClk-Q
THold-1
Clock
Data
THold-1
t=0
Time
Time
D1
Inv2
Clk-Q Delay
QM
Inv1
CP
TClk-Q
THold-1
Clock
Data
THold-1
t=0
Time
Time
TG1
SM
D1
D
Inv1
Inv2
Clk-Q Delay
QM
TClk-Q
CP
THold-1
Clock
Data
THold-1
t=0
Time
Time
D1
Inv2
Clk-Q Delay
QM
TClk-Q
Inv1
CP
THold-1
Clock
Data
THold-1
t=0
Time
Time
CLK
VDD
VDD
M2
M6
M4
D
CLK
M3
M1
CLK
X
M8
Q
CL1
CLK
M7
CL2
M5
Master Stage
Insensitive to Clock-Overlap
VDD
VDD
VDD
VDD
M2
M6
M2
M6
M4
0
X
M8
Q
1 and M
1 time
CLK
C L3K 1 at the same
M1
M5
M1
CLK
VDD
VDD
M2
M6
M4
CLK
M8
CLK
M7
D
CLK
M3
M1
Master Stage
CL1
M5
Q
M7
M5
VDD
VDD
VDD
Out
In
CLK
CLK
Positive latch
(transparent when CLK= 1)
In
CLK
CLK
Negative latch
(transparent when CLK= 0)
Only single phase clocks are used. When is high the latch is in th
evaluate mode. When is low the latch is in hold-mode.
VDD
VDD
In1
PUN
VDD
In2
Q
In
CLK
CLK
PDN
Q
CLK
CLK
In1
AND latch
TSPC Register
VDD
M3
CLK
VDD
VDD
M6
M9
Y
CLK
M2
M1
CLK
M5
M4
Q
Q
CLK
M8
M7
Master-Slave Flip-flops
VDD
VDD
VDD
VD D
VDD
VDD
VDD
VDD
VDD
D
Pulse-Triggered Latches
An Alternative Approach
Pulse-Triggered
Latch
L1
L2
D Q
D Q
Clk
Clk
Data
Clk
L
D Q
Clk
Clk
Pulsed Latches
VDD
VDD
M3
M6
CLK
VDD
Q
D
CLKG
M2
CLKG
M1
(a) register
M5
M4
MP
MN
CLKG
Pulsed Latches
Hybrid Latch Flip-flop (HLFF), AMD K-6 and K-7 :
CLK
P1
P3
M6
M3
D
M2
M1
P2
M5
M4
Volts
2.0
1.5
1.0
0.5
CLK
CLKD
0.0
20.5
0.0
0.2
0.4
0.6
time (ns)
0.8
1.0
CLK
Reference
CLK
CLK
log
REG
REG
CLK
REG
CLK
Out
REG
log
REG
REG
CLK
REG
REG
Pipelining
CLK
CLK
Pipelined
Out
Latch-Based Pipeline
CLK
CLK
In
CLK
F
C1
C2
CLK
CLK
Compute F
Out
compute G
C3
Out
V OH
Vou t
V OL
VM+
Vi n
Vout
VM
VM
t0
t 0 + tp
M2
Vin
M4
Vout
M1
M3
M
V
D D
in
ou t
2.5
2.5
2.0
2.0
Vout(V)
Vout(V)
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
k=3
k=4
0.0
0.0
0.5
1.0
1.5
Vin (V)
2.0
2.5
VDD
M4
M6
M3
In
Out
M2
X
M1
M5
VDD
Multivibrator Circuits
R
S
Bistable Multivibrator
flip-flop, Schmitt Trigger
T
Monostable Multivibrator
one-shot
Astable Multivibrator
oscillator
Transition-Triggered Monostable
In
DELAY
td
Out
td
In
Out
(a) Trigger circuit.
In
VM
Out
(b) Waveforms.
t
t1
t2
Astable Multivibrators
(Oscillators)
0
N-1
Ring Oscillator
V1
V (Volt)
5.0
V3
V5
3.0
1.0
-1.0
t (nsec)
Relaxation Oscillator
Out1
I2
I1
Out2
C
Int
T = 2 (log3) RC
VDD
M6
M4
Schmitt Trigger
restores signal slopes
M2
In
M1
Iref
Vcontr
M3
M5
tpH L (nsec)
6
4
0.0
0.5
Iref
1.5
Vcontr (V)
2.5
V o2
V o1
v1
in1
v2
v3
v4
delay cell
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
(a)
S R
Q Q
1 1
0 1
Q Q
1 0
1 0
0 0
0 1
1 1
Jn
Kn
Qn+1
0
0
1
1
0
1
0
1
Qn
0
1
Qn
(c)
Q
(b)
For clock=0
S=R=1 and FF
maintains its
previous state
When J=K=1
then S=Q
and FF toggle
Other Flip-Flops
T
Toggle Flip-Flop
Delay Flip-Flop
(D-latch)
Race Problem
tloop
t
Master-Slave Flip-Flop
SLAVE
MASTER
SI
RI
PRESET
CLEAR
N2
tp LH
Out
Out
= Mono-Stable Multi-Vibrator
J
S
Q
Q