De-synchronization: De-synchronization: from synchronous to from synchronous to asynchronous asynchronous Based on the paper: Based on the paper: Blunno, Cortadella, Kondratyev, Lavagno, Blunno, Cortadella, Kondratyev, Lavagno, Lwin, Sotiriou, Lwin, Sotiriou, Handshake protocols for de-synchronization, Handshake protocols for de-synchronization, ASYNC 2004. ASYNC 2004.
102
Embed
De-synchronization: from synchronous to asynchronous
De-synchronization: from synchronous to asynchronous. Based on the paper: Blunno , Cortadella, Kondratyev , Lavagno , Lwin , Sotiriou , Handshake protocols for de-synchronization, ASYNC 2004. Outline. What is de-synchronization ? Behavioral equivalence - PowerPoint PPT Presentation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
De-synchronization:De-synchronization:from synchronous to asynchronousfrom synchronous to asynchronous
Based on the paper:Based on the paper:Blunno, Cortadella, Kondratyev, Lavagno, Lwin, Sotiriou,Blunno, Cortadella, Kondratyev, Lavagno, Lwin, Sotiriou,Handshake protocols for de-synchronization,Handshake protocols for de-synchronization,ASYNC 2004. ASYNC 2004.
Outline
What is de-synchronization ?What is de-synchronization ? Behavioral equivalenceBehavioral equivalence 4-phase protocols for de-synchronization4-phase protocols for de-synchronization ConcurrencyConcurrency CorrectnessCorrectness An exampleAn example
Synchronous
CLK
AsynchronousDe-synchronize
CLK
MS flip-flop
Synchronous circuit
CLK
L L L L
L L
0 0
00
1 1
De-synchronization
L L L L
L L
0 0
00
1 1
C C C C
C C
De-synchronization
C C C C
C C
Distributed controllers substitute the clock network
The data path remains intact !
Design flow
Think synchronousThink synchronous
Design synchronous:Design synchronous:one clock and edge-triggered flip-flopsone clock and edge-triggered flip-flops
Prior work Micropipelines (Sutherland, 1989)Micropipelines (Sutherland, 1989)
Local generation of clocksLocal generation of clocks Varshavsky et al., 1995Varshavsky et al., 1995 Kol and Ginosar, 1996Kol and Ginosar, 1996
Theseus Logic (Ligthart et al., 2000)Theseus Logic (Ligthart et al., 2000) Commercial HDL synthesis toolsCommercial HDL synthesis tools Direct translation and special registersDirect translation and special registers
Phased logic (Linder and Harden, 1996)Phased logic (Linder and Harden, 1996) (Reese, Thornton, Traver, 2003) (Reese, Thornton, Traver, 2003) Conceptually similarConceptually similar Different handshake protocol (2 phase vs. 4 phase)Different handshake protocol (2 phase vs. 4 phase)
Automatic de-synchronization
Devise an Devise an automaticautomatic methodmethod for forde-synchronizationde-synchronization
Identify a Identify a subclass of synchronous circuitssubclass of synchronous circuits suitable for de-synchronizationsuitable for de-synchronization
What is de-synchronization ?What is de-synchronization ? Behavioral equivalenceBehavioral equivalence 4-phase protocols for de-synchronization4-phase protocols for de-synchronization ConcurrencyConcurrency CorrectnessCorrectness An exampleAn example
What is de-synchronization ?What is de-synchronization ? Behavioral equivalenceBehavioral equivalence 4-phase protocols for de-synchronization4-phase protocols for de-synchronization ConcurrencyConcurrency CorrectnessCorrectness An exampleAn example
L L L L
L L
0 0
00
1 1
C C C C
C C
C C C C
C C
C
L
A B C D
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
0 0 0 0
A latch cannot read another data item untilthe successor has captured the current one
A B C D
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
0 1 0 0
A latch cannot read another data item untilthe successor has captured the current one
A B C D
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
0 0 0 0
A latch cannot read another data item untilthe successor has captured the current one
A B C D
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
1 0 0 0
A latch cannot read another data item untilthe successor has captured the current one
A B C D
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
0 0 0 0
A B C D
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
0 0 0 1
A B C D
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
0 0 0 0
A B C D
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
0 0 1 0
A latch cannot become opaque before havingcaptured the data item from its predecessor
A B C D
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
0 1 1 0
A latch cannot become opaque before havingcaptured the data item from its predecessor
A B C D
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
0 0 1 0
A latch cannot become opaque before havingcaptured the data item from its predecessor
A B C D
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
0 0 0 0
A latch cannot become opaque before havingcaptured the data item from its predecessor
A B C D
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
A- B+ C- D+
A+ B- C+ D-
0 0 0 0
A B C D
A+ B+ C+ D+
A- B- C- D-
A
B
Outline
What is de-synchronization ?What is de-synchronization ? Behavioral equivalenceBehavioral equivalence 4-phase protocols for de-synchronization4-phase protocols for de-synchronization ConcurrencyConcurrency CorrectnessCorrectness An exampleAn example
A+ B+
A- B-
Can we increase concurrency ?
A+ B+
A- B-
A+ B+
A- B-
not flow-equivalent
A
B
A
B
data overrun
A
B
data lost
A+ B+
A- B-
Can we reduce concurrency ? How much ?Can we reduce concurrency ? How much ?
What is de-synchronization ?What is de-synchronization ? Behavioral equivalenceBehavioral equivalence 4-phase protocols for de-synchronization4-phase protocols for de-synchronization ConcurrencyConcurrency CorrectnessCorrectness An exampleAn example
Which protocols are validWhich protocols are validfor de-synchronization ?for de-synchronization ?
A+ B+
A- B-
Theorem: 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 i+1
A+ B+
A- B-
A+ B+
A- B-A+ B+
A- B-A+ B+
A- B-A+ B+
A- B-
A+ B+
A- B-
A+ B+
A- B-
A+ B+
A- B-A+ B+
A- B-A+ B+
A- B-
A+ B+
A- B-
Theorem: any reduction in concurrency preserves flow-equivalence
Any hybrid approach preservesAny hybrid approach preservesflow-equivalence !flow-equivalence !
Semi-Semi-decoupleddecoupled
Semi-Semi-decoupleddecoupled
Semi-Semi-decoupleddecoupled
non-non-overlappingoverlapping
non-non-overlappingoverlapping
FullyFullydecoupleddecoupled
FullyFullydecoupleddecoupled
A B C D
A+ B+ C+ D+
A- B- C- D-
A B C D
A+ B+ C+ D+
A- B- C- D-semi-semi-
decoupleddecouplednon-non-
overlappingoverlappingfullyfully
decoupleddecoupled
Flow-equivalence is preserved, … but …
Liveness
Preservation of flow-equivalence:Preservation of flow-equivalence:
all the generated traces are equivalentall the generated traces are equivalent
Are all traces generated ?Are all traces generated ?(Is the marked graph live ?)(Is the marked graph live ?)
Not always !Not always !
A+ B+ C+ D+
A- B- C- D-
Liveness: all cycles have at least one token [Commoner 1971]
At least three latches in a ring are required with At least three latches in a ring are required with only one data token circulatingonly one data token circulating[[Muller 1962Muller 1962]]
Theorem (this paper): (this paper):any hybrid combination of protocols is live if the any hybrid combination of protocols is live if the simple 4-phase protocol is not usedsimple 4-phase protocol is not used
Proof: any cycle has at least one token any cycle has at least one token
What is de-synchronization ?What is de-synchronization ? Behavioral equivalenceBehavioral equivalence 4-phase protocols for de-synchronization4-phase protocols for de-synchronization ConcurrencyConcurrency CorrectnessCorrectness An exampleAn example
Async DLX block diagram
Synchronous RTL
=
Synchronous Desynchronized
Cycle: 4.4nsPower: 70.9mWArea: 372,656m
Cycle: 4.45nsPower: 71.2mWArea: 378,058m
All numbers are after Placement & RoutingAll numbers are after Placement & Routing Total of 1500 flip-flops, 3000 latchesTotal of 1500 flip-flops, 3000 latches DE-SYNC design includes 5 controllers, each driving 2 clock treesDE-SYNC design includes 5 controllers, each driving 2 clock trees Power numbers include the clock tree Power numbers include the clock tree Technology: UCM/Virtual Silicon 0.18 Technology: UCM/Virtual Silicon 0.18 µµmm
Discussion
The de-synchronization model provides an The de-synchronization model provides an abstraction of the timing behaviorabstraction of the timing behavior
[2,3]
[1,2] [8,9]
[5,7]
[3,5]
[2,4]
A B E
F
GC
D
[0,0] [3,5] [3,5]
[5,7][2,3]
[2,3]
[2,4
]
[1,2]
[8,9
]
[1,2
]
• Timing analysis• Exploration of the design space
Conclusions
EDA tools require a EDA tools require a formal supportformal support(they must work for (they must work for allall circuits) circuits)
A complete characterization of 4-phase protocols A complete characterization of 4-phase protocols has been presentedhas been presented(partial order based on concurrency)(partial order based on concurrency)
Design flow developed at Cadence Berkeley LabsDesign flow developed at Cadence Berkeley Labs Automated from gate netlistAutomated from gate netlist Static timing analysis to derive matched delaysStatic timing analysis to derive matched delays Constrained P&R to meet timing constraintsConstrained P&R to meet timing constraints