Title: De-synchronization: from synchronous to asynchronous
1De-synchronizationfrom synchronous to
asynchronous
Based on the paper Blunno, Cortadella,
Kondratyev, Lavagno, Lwin, Sotiriou, Handshake
protocols for de-synchronization, ASYNC 2004.
2Outline
- What is de-synchronization ?
- Behavioral equivalence
- 4-phase protocols for de-synchronization
- Concurrency
- Correctness
- An example
3Synchronous
CLK
4Synchronous circuit
L
L
L
L
0
0
1
1
CLK
0
0
L
L
5De-synchronization
L
L
L
L
0
0
1
1
0
0
L
L
6De-synchronization
Distributed controllers substitute the clock
network
C
C
C
C
C
C
The data path remains intact !
7Design flow
- Think synchronous
- Design synchronousone clock and edge-triggered
flip-flops - De-synchronize (automatically)
- Run it asynchronously
8Prior 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)
9Automatic de-synchronization
- Devise an automatic method forde-synchronization
- Identify a subclass of synchronous circuits
suitable for de-synchronization - Formally prove correctness
10Outline
- What is de-synchronization ?
- Behavioral equivalence
- 4-phase protocols for de-synchronization
- Concurrency
- Correctness
- An example
11(No Transcript)
12(No Transcript)
13Synchronous flow
14(No Transcript)
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)
24De-synchronized flow
25(No Transcript)
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)
37Flow equivalence
- Guernic, Talpin, Lann, 2003
38A
B
39Flow 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
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
41Outline
- What is de-synchronization ?
- Behavioral equivalence
- 4-phase protocols for de-synchronization
- Concurrency
- Correctness
- An example
42L
L
L
L
0
0
1
1
0
0
L
L
43C
C
C
C
C
C
44L
C
45A
B
C
D
0
0
0
0
46A
B
C
D
0
1
0
0
47A
B
C
D
0
0
0
0
48A
B
C
D
1
0
0
0
A latch cannot read another data item untilthe
successor has captured the current one
49A
B
C
D
0
0
0
0
50A
B
C
D
0
0
0
1
51A
B
C
D
0
0
0
0
52A
B
C
D
0
0
1
0
53A
B
C
D
0
1
1
0
A latch cannot become opaque before
havingcaptured the data item from its predecessor
54A
B
C
D
0
0
1
0
A latch cannot become opaque before
havingcaptured the data item from its predecessor
55A
B
C
D
0
0
0
0
A latch cannot become opaque before
havingcaptured the data item from its predecessor
56A
B
C
D
0
0
0
0
57A
B
C
D
A B C
D A- B-
C- D-
58Outline
- What is de-synchronization ?
- Behavioral equivalence
- 4-phase protocols for de-synchronization
- Concurrency
- Correctness
- An example
59Can we increase concurrency ?
not flow-equivalent
60(No Transcript)
61Can we reduce concurrency ? How much ?
62(8 states)
(6 states)
63de-synchronization model
fully decoupled (Furber Day)
GasP, IPCMOS
semi-decoupled (Furber Day)
non-overlapping
simple 4-phase
64de-synchronization model
fully decoupled (Furber Day)
GasP, IPCMOS
simple 4-phase
non-overlapping
semi-decoupled (Furber Day)
654-phase latch controllers
Lt
Lt
Rin
Rin
Rout
Rout
Aout
Ain
Ain
Aout
Furber and Day, IEEE Trans. VLSI, June
1996 Implementation note Lt0 (transparent),
Lt1 (opaque)
664-phase latch controllers
Rin
Rout
Lt
Ain
Aout
?
Lt
Rin-
Rout-
Rin
Rout
Lt-
Aout
Ain
Ain-
Aout-
674-phase latch controllers
Rin
Rout
Ain
Aout
Lt
Lt
Rin-
Rout-
Rin
Rout
Aout
Ain
Lt-
Ain-
Aout-
Simple 4-phase controller
684-phase latch controllers
Rin
Rout
Ain
Aout
Lt
Rin-
Rout-
Lt-
Ain-
Aout-
Simple 4-phase controller
694-phase latch controllers
Rin
Rout
A
Ain
Aout
Lt
Lt
Rin-
Rout-
A-
Rin
Rout
Aout
Ain
Ain-
Aout-
Lt-
Semi-decoupled controller
704-phase latch controllers
Rin
Rout
A
Ain
Aout
Lt
Rin-
Rout-
A-
Ain-
Aout-
Lt-
Semi-decoupled controller
714-phase latch controllers
Rin
Rout
A
Ain
Aout
Lt
B
Lt
Rin-
Rout-
A-
Rin
Rout
Aout
Ain
Ain-
Aout-
Lt-
B-
Fully decoupled controller
724-phase latch controllers
Rin
Rout
A
Ain
Aout
Lt
B
Rin-
Rout-
A-
Ain-
Aout-
Lt-
B-
Fully decoupled controller
734-phase latch controllers (state graphs)
Fully decoupled controller
Semi-decoupled controller
74A
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)
75A
B
Rx
Ri
Ro
cntrl
cntrl
Ax
Ai
Ao
A-
B-
A
B
(semi-decoupled 4-phase protocol)
76A
B
Rx
Ri
Ro
cntrl
cntrl
Ax
Ai
Ao
A-
B-
A
B
(semi-decoupled 4-phase protocol)
77A
B
Rx
Ri
Ro
cntrl
cntrl
Ax
Ai
Ao
A-
B-
A
B
(semi-decoupled 4-phase protocol)
78A
B
Rx
Ri
Ro
cntrl
cntrl
Ax
Ai
Ao
A-
B-
A
B
(semi-decoupled 4-phase protocol)
79A
B
Rx
Ri
Ro
cntrl
cntrl
Ax
Ai
Ao
A-
B-
A
B
(semi-decoupled 4-phase protocol)
80A
B
Rx
Ri
Ro
cntrl
cntrl
Ax
Ai
Ao
A-
B-
A
B
(semi-decoupled 4-phase protocol)
81(No Transcript)
82Outline
- What is de-synchronization ?
- Behavioral equivalence
- 4-phase protocols for de-synchronization
- Concurrency
- Correctness
- An example
83(No Transcript)
84Which protocols are validfor de-synchronization ?
85Theorem 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
86(No Transcript)
87Theorem any reduction in concurrency
preserves flow-equivalence
88Any hybrid approach preserves flow-equivalence !
89A
B
C
D
A B C
D A- B-
C- D-
90A
B
C
D
A B C
D A- B-
C- D-
semi-decoupled
non-overlapping
fullydecoupled
Flow-equivalence is preserved, but
91Liveness
- Preservation of flow-equivalenceall the
generated traces are equivalent - Are all traces generated ?(Is the marked graph
live ?)Not always !
92A B C
D A- B-
C- D-
Semi-decoupled 4-phase handshake protocol
Liveness all cycles have at least one token
Commoner 1971
93A B C
D A- B-
C- D-
Simple 4-phase handshake protocol
94Results 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
95Valid for de-synchronization
de-synchronization model
fully decoupled (Furber Day)
GasP, IPCMOS
simple 4-phase
non-overlapping
semi-decoupled (Furber Day)
96Outline
- What is de-synchronization ?
- Behavioral equivalence
- 4-phase protocols for de-synchronization
- Concurrency
- Correctness
- An example
97(No Transcript)
98Async DLX block diagram
99Synchronous 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
100Discussion
- The de-synchronization model provides an
abstraction of the timing behavior
101- Timing analysis
- Exploration of the design space
102Conclusions
- 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