Handshake protocols Handshake protocols for de-synchronization for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Politecnico di Torino, Italy Universitat Politecnica de Catalunya, Universitat Politecnica de Catalunya, Barcelona, Spain Barcelona, Spain Cadence Berkeley Lab, Berkeley, USA Cadence Berkeley Lab, Berkeley, USA ICS-FORTH, Crete, Greece ICS-FORTH, Crete, Greece
96
Embed
Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat.
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.
I. Blunno, J. Cortadella, A. Kondratyev,I. Blunno, J. Cortadella, A. Kondratyev,L. Lavagno, K. Lwin and C. SotiriouL. Lavagno, K. Lwin and C. Sotiriou
Politecnico di Torino, ItalyPolitecnico di Torino, ItalyUniversitat Politecnica de Catalunya, Barcelona, SpainUniversitat Politecnica de Catalunya, Barcelona, SpainCadence Berkeley Lab, Berkeley, USACadence Berkeley Lab, Berkeley, USAICS-FORTH, Crete, GreeceICS-FORTH, Crete, Greece
AsynchronousAsynchronousfor dummiesfor dummies
I. Blunno, J. Cortadella, A. Kondratyev,I. Blunno, J. Cortadella, A. Kondratyev,L. Lavagno, K. Lwin and C. SotiriouL. Lavagno, K. Lwin and C. Sotiriou
Politecnico di Torino, ItalyPolitecnico di Torino, ItalyUniversitat Politecnica de Catalunya, Barcelona, SpainUniversitat Politecnica de Catalunya, Barcelona, SpainCadence Berkeley Lab, Berkeley, USACadence Berkeley Lab, Berkeley, USAICS-FORTH, Crete, GreeceICS-FORTH, Crete, Greece
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
De-synchronized DLX on FPGA
(demo outside the conference room)
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
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