Documente Academic
Documente Profesional
Documente Cultură
Synchronous
Clocking & Timing Asynchronous
Self Timed Design
1
Globally Async Locally Sync (GALS) Synchronous Design
REG REG
Interface
Interface
IN
Logic
OUT Synchronize the registers on the chip with
Req
D Q D Q
Req
each other
Register
D Q D Q
Latch
State
Clk Clk
Clk Clk
Comb. Comb. Comb.
State State State D D
Logic Logic Logic
Q Q
Q on Data Q on Clock Edge
2
Clock Non-Idealities Clock Non-Idealities
Clock jitter
Temporal variations in consecutive edges of Same clock
the clock signal at two
different
locations on
the chip
tskew tjitter
2,5 N
f SYS = fCLK
A Q System
M Enable 2
Clock f CLK Data
1,5 Phase
Module 2 De-
Locked
B skew
Loop
Q Local
0,5 Clock
C N Enable 3 Signals
M
-0,5 Module 3
0 0,5 Time, ns 1
3
Synchronous Pipelined Datapath Clock Skew
Absolute Skew
Relative Skew
10x10 mm Chip
Example: 15 mm wire
R1 R2 R3 R4
In Logic Logic Logic
D Q D Q D Q D Q
Block #1 Block #2 Block #3 C = 300 fF
CLK tpd,reg tpd1
Delay
tpd2
Delay
tpd3
Delay
R = 4 k
Max frequency
The delay give CLK
clock skew 1
=
1
= 600 MHz
2t pHL 2 0.8 ns
L = 15mm
Negative Skew
Data bus
REG
REG
REG
Abs
Log
Clock line
Out
REG
In
tjitter tsetup tjitter tho ld
R
CLK
Positive Skew
4
Clock Skew General Clock Distribution Tree
Ext. 1 Branches
CLK R t
Root
Leaves
Trunk
Clock
2
Source
2
Have a large relative skew
Large skew require large non-overlap
Distributed
Buffers Small relative
skew
All wires and
buffers are
carefully balanced Absolute skew of
less importance
Clock
Clock
5
Clock Distribution: H-Tree IBM G4 Processor
A balanced H-
tree structure
Realistic Achieves a
skew control of
H-Tree 25 ps
Small relative
skew
Absolute skew of
less importance
H-tree X-tree
Clock
6
Clock Grid Clock Deskewing
Clock
Low impedance interconnect
Delay Line Delay Line
Deskew
Control
Phase
Ph
Clock Det.
Power Hungry
AVG
AVG
7
Example: Alpha 21164 Example: Alpha 21164
Clock
Drivers
Four clock
grids under
Clock a balanced
clock net
8
Skew Analysis - Example Skew Analysis - Example
L L a. Determine the L L
M M
R1 U R2 L L L R3 minimum clock R1 U R2 L L L R3
L X
period time if clock L X
clk
lk skew is disregarded clk
lk
Positive "clock skew" Positive "clock skew"
9
Skew Analysis - Example Synchronizing Signals (Metastability)
d. Calculate the
L
maximum clock skew
R1
L M
R2 L L L R3 From asynchronous domains or
for the datapath, both U
L From synchronous domains with different clock
X
positive and negative if
clk
lk
the clock signal has a
Positive "clock skew"
periods
period of 16ns
Metastable state: possible output from a flip-flop Can occur if the setup tSU, hold time tH, or clock
pulse width tPW of a flip-flop is not met
DATA IN D Q Q1
Aperture window
CLK
tW
important
t SU
Many designers are not aware of t W = Time window where input transition may cause a metastable condition
t SU = Actual clock setup time for flip-flop
metastability t CO = Actual flip-flop propagation delay
t res = Metastability resolution time
10
K 2 tres
Metastability Metastability MTBF = e K1 fCLK f DATA
10
1000 years
10
Synchronizer Synchronizer
Asynchronous input
CLK
Timing Violation
FF1 FF2
D
Da Q1 Q2 D
Ds D
D Q D Q Leads to Metastability
Correct in next Q1
CLK
register if Q1 have
Synchronized signal become stable
A synchronous input
Q2
FF1 FF2
If D is in the low-skew
Global aperture time (setup+hold) of the flip flop
clock Q1
D
Da
D Q D Q Q2
Ds
Q1 is uncertain
However, FF2 might have registered a proper data before
Much higher probability for a stable Q2 than Q1 CLK
CLK
A5 Synchronized signal
11
Synchronous - Asynchronous Why Asynchronous Circuits?
Asynchron
Circuit overhead compared to synchronous designs are
Asynchron
100% is not unusual more noise
robust
Metastability, deadlock, and race hazards
12
Noise in Supply Plane Asynchronous Modules
go done go done
req req req
handshake handshake
ack ack ack
2. Ack
Module Module Data
1
1 3. Data 2
n Req 3
2
If the sender initiates the data transfer Ack
The transfer channel is a push-channel
If the receiver initiates the transfer Cycle 1 Cycle 2
The channel is a pull-channel
13
The Four-Phase Protocol Return-to- The Muller-C Element
zero
transitions
A
Static
1. The sender issues data and sets Req to high A B Q S
2. The receiver absorbs the data and sets Ack to high Q
0 0 0
3
3. The sender responds by setting Req to low R
0 1 Q B
4. The receiver acknowledges by setting Ack to low
1 0 Q
1 1 1
VDD
Data A Dynamic
1
A
3 B
Req
4 Q
2 C Q B
Ack
B A
Cycle 1 Cycle 2
Req
Data 010 Data S
ready 01Q0Q accepted C C
C Q
R
Req Ack
101
010 Handshake logic
Ack
14
Advanced Digital IC-Design Student Lectures
Cont.
Cont Please look at the template:
Invited Lecture
Solutions to 4 hand
hand-in
in
assignments are required, see
Static timing analysis 11/02, 15.15-17.00
http://www.eit.lth.se/course/eti135 -> Home Exercises
Design
es g for
o test is
s ca
canceled
ce ed
Deadline: March 8
15
Circuit Implementation Styles 2-Phase Protocol
Example Example
From [Horowitz]
16
Example Example
Start
B0
Req Req Req
B Hand Hand Hand
B1 Ack Shake Ack Shake Ack Shake
A&A
PDN PDN Start Done Start Done Start Done
B&B Dual
Dual Rail
In R1 F1 R2 F2 R3 F3 Out
Start
Used in
Phase B0 B1 B Comment self-timed
Precharge 0 0 0 Not Done modules tp1 tp2 tp3
Evaluation 0 1 1 Done
Evaluation 1 0 1 Done
Illegal 1 1 - Illegal
17
Delay Model Delay Matched Completion Detection
Req Req
Hand Hand
Ack Shake Ack Shake Delay replicas matched
to critical paths
Start Done Start Done
Worst-case delay
Sensitive to process
Delay Model Delay Model variations
e.g. Critical Path e.g. Critical Path Small circuit overhead
In R1 F1 R2 F2 Out
18
Other Asynchron Modules Synchronous Asynchronous
Linear Pipelines (only one input and output)
Global
Traditional
Non-Linear Pipelines
S
Synchronous Asynchronous
AL
Prracticed
F
G
F
Join Fork
Cycle counter
Multiplication
factor
Output clock
19
Clock Generation (PLL) PLL (AXIS)
Off-Chip On-Chip
Clock VCO Clock
Phase Loop
Voltage-contr.
Detector Filter oscillator
Divider
20