Title: Handshake protocols for de-synchronization
1Handshake protocolsfor de-synchronization
I. Blunno, J. Cortadella, A. Kondratyev, L.
Lavagno, K. Lwin and C. Sotiriou
Politecnico di Torino, Italy Universitat
Politecnica de Catalunya, Barcelona,
Spain Cadence Berkeley Lab, Berkeley,
USA ICS-FORTH, Crete, Greece
2Asynchronousfor dummies
I. Blunno, J. Cortadella, A. Kondratyev, L.
Lavagno, K. Lwin and C. Sotiriou
Politecnico di Torino, Italy Universitat
Politecnica de Catalunya, Barcelona,
Spain Cadence Berkeley Lab, Berkeley,
USA ICS-FORTH, Crete, Greece
3Outline
- What is de-synchronization ?
- Behavioral equivalence
- 4-phase protocols for de-synchronization
- Concurrency
- Correctness
- An example
4Synchronous
CLK
5Synchronous circuit
L
L
L
L
0
0
1
1
CLK
0
0
L
L
6De-synchronization
L
L
L
L
0
0
1
1
0
0
L
L
7De-synchronization
Distributed controllers substitute the clock
network
C
C
C
C
C
C
The data path remains intact !
8Design flow
- Think synchronous
- Design synchronousone clock and edge-triggered
flip-flops - De-synchronize (automatically)
- Run it asynchronously
9Prior work
- Micropipelines (Sutherland, 1989)
- Local generation of clocks
- Varshavsky et al., 1995
- Kol and Ginosar, 1996
- Theseus Logic (Ligthart et al., 2000)
- Commercial HDL synthesis tools
- Direct translation and special registers
- Phased logic (Linder and Harden, 1996)
(Reese, Thornton, Traver, 2003) - Conceptually similar
- Different handshake protocol (2 phase vs. 4 phase)
10Automatic de-synchronization
- Devise an automatic method forde-synchronization
- Identify a subclass of synchronous circuits
suitable for de-synchronization - Formally prove correctness
11Outline
- What is de-synchronization ?
- Behavioral equivalence
- 4-phase protocols for de-synchronization
- Concurrency
- Correctness
- An example
12(No Transcript)
13(No Transcript)
14Synchronous flow
15(No Transcript)
16(No Transcript)
17(No Transcript)
18(No Transcript)
19(No Transcript)
20(No Transcript)
21(No Transcript)
22(No Transcript)
23(No Transcript)
24(No Transcript)
25De-synchronized flow
26(No Transcript)
27(No Transcript)
28(No Transcript)
29(No Transcript)
30(No Transcript)
31(No Transcript)
32(No Transcript)
33(No Transcript)
34(No Transcript)
35(No Transcript)
36(No Transcript)
37(No Transcript)
38Flow equivalence
- Guernic, Talpin, Lann, 2003
39A
B
40Flow equivalence
CLK
A 1 3 0 2 1
5 3 1 6 0
B 5 1 2 3 1
4 2 4 3 1
Synchronous behavior
A 1 3 0 2
1 5 3 1 6 0
B 5 1 2 3 1 4
2 4 3 1
De-synchronized behavior
41Flow equivalence
CLK
A 1 3 0 2 1
5 3 1 6 0
B 5 1 2 3 1
4 2 4 3 1
Synchronous behavior
A 1 3 0 2
1 5 3 1 6 0
B 5 1 2 3 1 4
2 4 3 1
De-synchronized behavior
42Outline
- What is de-synchronization ?
- Behavioral equivalence
- 4-phase protocols for de-synchronization
- Concurrency
- Correctness
- An example
43L
L
L
L
0
0
1
1
0
0
L
L
44C
C
C
C
C
C
45L
C
46A
B
C
D
0
0
0
0
47A
B
C
D
0
1
0
0
48A
B
C
D
0
0
0
0
49A
B
C
D
1
0
0
0
A latch cannot read another data item untilthe
successor has captured the current one
50A
B
C
D
0
0
0
0
51A
B
C
D
0
0
0
1
52A
B
C
D
0
0
0
0
53A
B
C
D
0
0
1
0
54A
B
C
D
0
1
1
0
A latch cannot become opaque before
havingcaptured the data item from its predecessor
55A
B
C
D
0
0
1
0
A latch cannot become opaque before
havingcaptured the data item from its predecessor
56A
B
C
D
0
0
0
0
A latch cannot become opaque before
havingcaptured the data item from its predecessor
57A
B
C
D
0
0
0
0
58A
B
C
D
A B C
D A- B-
C- D-
59Outline
- What is de-synchronization ?
- Behavioral equivalence
- 4-phase protocols for de-synchronization
- Concurrency
- Correctness
- An example
60Can we increase concurrency ?
not flow-equivalent
61(No Transcript)
62Can we reduce concurrency ? How much ?
63(8 states)
(6 states)
64de-synchronization model
fully decoupled (Furber Day)
GasP, IPCMOS
semi-decoupled (Furber Day)
non-overlapping
simple 4-phase
65de-synchronization model
fully decoupled (Furber Day)
GasP, IPCMOS
simple 4-phase
non-overlapping
semi-decoupled (Furber Day)
66A
B
Rx
Ri
Ro
cntrl
cntrl
Ax
Ai
Ao
Ri A- Rx
B- Ro Ai
Ax Ao
Ri- A Rx-
B Ro- Ai-
Ax- Ao-
(semi-decoupled 4-phase protocol)
67A
B
Rx
Ri
Ro
cntrl
cntrl
Ax
Ai
Ao
A-
B-
A
B
(semi-decoupled 4-phase protocol)
68A
B
Rx
Ri
Ro
cntrl
cntrl
Ax
Ai
Ao
A-
B-
A
B
(semi-decoupled 4-phase protocol)
69A
B
Rx
Ri
Ro
cntrl
cntrl
Ax
Ai
Ao
A-
B-
A
B
(semi-decoupled 4-phase protocol)
70A
B
Rx
Ri
Ro
cntrl
cntrl
Ax
Ai
Ao
A-
B-
A
B
(semi-decoupled 4-phase protocol)
71A
B
Rx
Ri
Ro
cntrl
cntrl
Ax
Ai
Ao
A-
B-
A
B
(semi-decoupled 4-phase protocol)
72A
B
Rx
Ri
Ro
cntrl
cntrl
Ax
Ai
Ao
A-
B-
A
B
(semi-decoupled 4-phase protocol)
73(No Transcript)
74Outline
- What is de-synchronization ?
- Behavioral equivalence
- 4-phase protocols for de-synchronization
- Concurrency
- Correctness
- An example
75(No Transcript)
76Which protocols are validfor de-synchronization ?
77Theorem the de-synchronization protocol
preserves flow-equivalence Proof by
induction on the length of the traces
Induction hypothesis same latch values at reset
Induction step same values at cycle i
? same values at cycle i1
78(No Transcript)
79Theorem any reduction in concurrency
preserves flow-equivalence
80Any hybrid approach preserves flow-equivalence !
81A
B
C
D
A B C
D A- B-
C- D-
82A
B
C
D
A B C
D A- B-
C- D-
semi-decoupled
non-overlapping
fullydecoupled
Flow-equivalence is preserved, but
83Liveness
- Preservation of flow-equivalenceall the
generated traces are equivalent - Are all traces generated ?(Is the marked graph
live ?)Not always !
84A B C
D A- B-
C- D-
Semi-decoupled 4-phase handshake protocol
Liveness all cycles have at least one token
Commoner 1971
85A B C
D A- B-
C- D-
Simple 4-phase handshake protocol
86Results about liveness
- At least three latches in a ring are required
with only one data token circulatingMuller
1962 - Theorem (this paper)any hybrid combination of
protocols is live if the simple 4-phase protocol
is not usedProof any cycle has at least one
token
87Valid for de-synchronization
de-synchronization model
fully decoupled (Furber Day)
GasP, IPCMOS
simple 4-phase
non-overlapping
semi-decoupled (Furber Day)
88Outline
- What is de-synchronization ?
- Behavioral equivalence
- 4-phase protocols for de-synchronization
- Concurrency
- Correctness
- An example
89(No Transcript)
90Async DLX block diagram
91Synchronous RTL
Synchronous
Desynchronized
Cycle 4.4ns Power 70.9mW Area 372,656?m
Cycle 4.45ns Power 71.2mW Area 378,058?m
- All numbers are after Placement Routing
- Total of 1500 flip-flops, 3000 latches
- DE-SYNC design includes 5 controllers, each
driving 2 clock trees - Power numbers include the clock tree
- Technology UCM/Virtual Silicon 0.18 µm
92De-synchronized DLX on FPGA
(demo outside the conference room)
93Discussion
- The de-synchronization model provides an
abstraction of the timing behavior
94- Timing analysis
- Exploration of the design space
95de-synchronization model
fully decoupled (Furber Day)
GasP, IPCMOS
simple 4-phase
non-overlapping
semi-decoupled (Furber Day)
96Conclusions
- EDA tools require a formal support(they must
work for all circuits) - A complete characterization of 4-phase protocols
has been presented(partial order based on
concurrency) - Design flow developed at Cadence Berkeley Labs
- Automated from gate netlist
- Static timing analysis to derive matched delays
- Constrained PR to meet timing constraints