Professional Documents
Culture Documents
Abstract
A regular (two-flop) synchronizer and six multisynchronous synchronizers are implemented on a
programmable logic device and are measured. An
experiment system and method for measuring
synchronizers and metastable flip-flops are described. Two
separate settling time constants are shown for a metastable
flop, confirming earlier results of Dike and Burton [1].
Clocking cross-talk between asynchronous clocks is
demonstrated. The regular synchronizer is useful for
communications between asynchronous clock domains,
while the other synchronizers can provide higher
bandwidth communications between multi-synchronous
and mesochronous domains.
1. Introduction
Synchronization is a challenging topic that has been
investigated intensively. Most treatments of the subject,
however, were limited to paper designs and analytic
studies. Actual laboratory measurements and in-depth
analysis of synchronizers have been performed in very few
cases [1][2][3][4].
Large VLSI chips tend to employ asynchronous intermodule timing due to two principal reasons. First, it is
sometimes more economical (in terms of area, power and
design time) to break a large synchronous chip (or section
of a chip) into multi-synchronous modules, which use the
same basic clock frequency but do not require the exact
same phase of the clock [5]. Multi-synchronous timing can
be based on thrifty clock distribution networks, which
avoid the heavy area and power penalty of assuring
minimal skew across a large chip. Second, interfacing the
chip to a variety of external busses ticking at different
frequencies imposes a requirement for the chip to contain
multiple unrelated clock domains. A communication chip
that connects a 100MHz data link to a 66MHz PCI bus is
one such example. Both types of multiple-clock domain
chips are sometimes termed GALS (globally
asynchronous, locally synchronous) systems.
Two separate clock domains are mesochronous if
they are clocked at the same frequency but at a fixed
relative phase difference [6]. If the phase difference drifts
over time, they are called multi-synchronous [5]. If the
clock frequencies are close but different, they are
2.1
Hardware
1
Proceedings of the Ninth International Symposium on Asynchronous Circuits and Systems (ASYNC03)
1522-8681/03 $17.00
2003 IEEE
Authorized licensed use limited to: New York University. Downloaded on January 3, 2010 at 18:42 from IEEE Xplore.
Restrictions apply.
OUTPUT
TRIGGER
25.2 MHz
Pulse
Generator
ALTERA
EPF10K20
CLOCK
25.175 MHz
Pulse
Generator
HP83480A
Scope
INPUT
2.2
FF
25.175 MHz
Pulse
Generator
FF
1000000
100000
Frequency
TRIGGER
10000
1000
100
10
HP83480A
Scope
1
-15.0
CLOCK
-10.0
-5.0
0.0
5.0
10.0
15.0
INPUT
2.3
Proceedings of the Ninth International Symposium on Asynchronous Circuits and Systems (ASYNC03)
1522-8681/03 $17.00
2003 IEEE
Authorized licensed use limited to: New York University. Downloaded on January 3, 2010 at 18:42 from IEEE Xplore.
Restrictions apply.
Td
CLEAR
CLEAR
FF
25.2 MHz
Pulse
Generator
TRIGGER
HP83480A
Scope
INPUT
2.4
Data Analysis
Align
Project
Points
10 00 00
1 00 00
10 00
1 00
10
1
- 12 0
- 1 00
- 80
-60
-40
-2 0
20
40
60
80
Tim e (ps)
2.5
3
Proceedings of the Ninth International Symposium on Asynchronous Circuits and Systems (ASYNC03)
1522-8681/03 $17.00
2003 IEEE
Authorized licensed use limited to: New York University. Downloaded on January 3, 2010 at 18:42 from IEEE Xplore.
Restrictions apply.
40 ns
e
e 130 ps
=
=
TW FC FD 200 ps 25MHz 1MHz
Metastability behavior
1.E+07
1.E+05
1.E+04
1.E+03
1.E+02
Frequency
1.E+06
1.E+01
1.E+00
1700
1500
1300
1100
900
700
500
300
100
e308
10122 years.
5000
-100
3.2
25.175 MHz
Pulse
Generator
FF
SYNCHRONIZER
TRANSMITTER CLOCK
25.2 MHz
Pulse
Generator
FF
TRIGGER
HP83480A
Scope
INPUT
RECEIVER CLOCK
3.1
Two-Flop Synchronizer
data
ff
ff
data_sync
data
data_sync
DELAY LINE
clr_delay
inc_delay
clock
training_on_int
DATA
DELAY
FSM
conflict
conflict_180
conflict_del
sync_derive
sync_derive
conflict_180_del
conflict
detect
conflict
detect
Proceedings of the Ninth International Symposium on Asynchronous Circuits and Systems (ASYNC03)
1522-8681/03 $17.00
2003 IEEE
Authorized licensed use limited to: New York University. Downloaded on January 3, 2010 at 18:42 from IEEE Xplore.
Restrictions apply.
clk
data
R1
G1
data_g1
me
data_del
R2
G2
R1
G1
me
clk
conflict1
delayed_data_g2
R2
G2
R1
G1
conflict
conflict2
data_n_g1
me
clk_del
R2
G2
R1
G1
me
R2
G2
delayed_data_n_g2
data
R1
'1'
'0'
'1'
lcell
'0'
'1'
lcell
'0'
.....
'1'
O1
G1
data_del
'0'
SHIFT REGISTER
G2
O2
R2
CLR
D
FF
CLR
D
FF
output_re
clk
CLR
D
clk
CLR
D
FF
CLR
D
FF
output_fe
5
Proceedings of the Ninth International Symposium on Asynchronous Circuits and Systems (ASYNC03)
1522-8681/03 $17.00
2003 IEEE
Authorized licensed use limited to: New York University. Downloaded on January 3, 2010 at 18:42 from IEEE Xplore.
Restrictions apply.
FF
output
TRAINING_INC
IDLE
INC_DELAY
START_COUNTER
TRAINING_ON
_
ct
0
18
TRAINING_CLR
WAIT
CONFLICT
180
CLR_DELAY
START_COUNTER
TRAINING_ON
ENABLE_COUNTER
TRAINING_ON
counter_done
li
nf
co
conflict
data
data_del
DELAY LINE
update_delay
DUAL
DATA
data_del_mirror
clr_delay
DELAY
FSM
inc_delay
conflict_180
sync_derive
conflict_180_del
conflict
detect
clk
counter_done
IDLE
TRAINING_CLR
ENABLE_COUNTER
CLR_DELAY
START COUNTER
conflict_180
START_IDLE
WAIT
CONFLICT
180
START COUNTER
ENABLE_COUNTER
li
nf
co
_1
ct
80
counter_done
UPDATE_DELAY
UPDATE_DELAY
TRAINING_INC
INC_DELAY
START COUNTER
3.3
6
Proceedings of the Ninth International Symposium on Asynchronous Circuits and Systems (ASYNC03)
1522-8681/03 $17.00
2003 IEEE
Authorized licensed use limited to: New York University. Downloaded on January 3, 2010 at 18:42 from IEEE Xplore.
Restrictions apply.
bright line on the right is the output of FF0, and the one on
the left is FF1. The two darker lines result from switching
of the selector. An alternative design, more appropriate for
wide data buses, samples the data only once but applies
either CLK or CLK+TKO to the sampling register (Figure
29).
conflict
'0'
'1'
3.4
conflict
DATA
CLK
'1'
T KO
conflict
conflict
detect
DATA
FF 0
CLK
DATA_SYNC
REG
'0'
DCLK
'0'
conflict_sync
sync
derive
fsm
DATA_SYNC
DCLK
FF 1
'1'
T KO
conflict
conflict
detect
conflict_sync
sync
derive
3.5
phc_fsm
FIFO Synchronizer
7
Proceedings of the Ninth International Symposium on Asynchronous Circuits and Systems (ASYNC03)
1522-8681/03 $17.00
2003 IEEE
Authorized licensed use limited to: New York University. Downloaded on January 3, 2010 at 18:42 from IEEE Xplore.
Restrictions apply.
shift reg
shift reg
shift reg
DATA
DATA_SYNC
FF
shift reg
x_ff1
XCLK
DATA
FF
FF
edge
detect
FF
FF
edge
detect
FF
FF
edge
detect
FF
FF
edge
detect
CLK0
DATA_SYNC
x_ff2
CLK90
x_ff3
Input stage
inc
xp
CLK
clock
delay
sync
Decision
stage 1
decision
logic
Decision stage 2
Data multiplexer
inc
rp
3.7
3.6
Clock-Edge Synchronizer
8
Proceedings of the Ninth International Symposium on Asynchronous Circuits and Systems (ASYNC03)
1522-8681/03 $17.00
2003 IEEE
Authorized licensed use limited to: New York University. Downloaded on January 3, 2010 at 18:42 from IEEE Xplore.
Restrictions apply.
DATA
FF
FF
edge
detect
FF
FF
edge
detect
FF
FF
edge
detect
FF
FF
edge
detect
5. Summary
CLK0
CLK90
Input stage
Decision
stage 1
DATA_SYNC
decision
logic
Decision stage 2
Data multiplexer
4. Analysis
Table 1 shows hardware complexity (in terms of PLD
logic elements), latency (in clock cycles), throughput and
applicable modes of adaptation for the synchronizers and
32-bit data channels. All synchronizers are appropriate for
multi-synchronous clock domains, while the two-flop one
can also bridge asynchronous domains. In some cases,
continuous adaptation can be obtained at the cost of either
increased latency (Clock Edge and FIFO synchronizer) or
increased hardware (Dual Data Delay synchronizer). The
Clock Delay synchronizer is suitable for continuous
operation without any added complexity.
Acknowledgement
We are grateful for the many helpful comments
received from Charles Dike and the anonymous referees,
and to the staff of the High Speed Digital Systems Lab at
the Technion, who made these measurements possible.
HW
(LE)
35
700
725
90
135
676
Latency
(cycles)
1-2
0-1
0-1
0-1
0-1
5
Throughput
References
Adaptation
Mode
None
Training
Continuous
Continuous
Training
Continuous
Two-Flop
1/Latency
Data Delay
1
Dual Data Delay
1
Clock Delay
1
FIFO (*)
1
Clock Edge
1
Low Latency
100
0-1
1
Training
Clock Edge
(*) FIFO can adapt continuously at the cost of increased latency.
[1]
[2]
[3]
[4]
9
Proceedings of the Ninth International Symposium on Asynchronous Circuits and Systems (ASYNC03)
1522-8681/03 $17.00
2003 IEEE
Authorized licensed use limited to: New York University. Downloaded on January 3, 2010 at 18:42 from IEEE Xplore.
Restrictions apply.
R.
Ginosar
and
R.
Kol,
Adaptive
Synchronization, 1998 IEEE International
Conference on Computer Design (ICCD98), Oct.
1998.
[6]
[7]
[8]
[9]
[10]
[11]
10
Proceedings of the Ninth International Symposium on Asynchronous Circuits and Systems (ASYNC03)
1522-8681/03 $17.00
2003 IEEE
Authorized licensed use limited to: New York University. Downloaded on January 3, 2010 at 18:42 from IEEE Xplore.
Restrictions apply.