handshake protocols for de-synchronization i. blunno, j. cortadella, a. kondratyev, l. lavagno, k....
Post on 20-Dec-2015
225 views
TRANSCRIPT
![Page 1: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/1.jpg)
Handshake protocolsHandshake protocolsfor de-synchronizationfor de-synchronization
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
![Page 2: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/2.jpg)
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
![Page 3: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/3.jpg)
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
![Page 4: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/4.jpg)
Synchronous
CLK
AsynchronousDe-synchronize
CLK
![Page 5: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/5.jpg)
MS flip-flop
Synchronous circuit
CLK
L L L L
L L
0 0
00
1 1
![Page 6: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/6.jpg)
De-synchronization
L L L L
L L
0 0
00
1 1
C C C C
C C
![Page 7: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/7.jpg)
De-synchronization
C C C C
C C
Distributed controllers substitute the clock network
The data path remains intact !
![Page 8: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/8.jpg)
Design flow
Think synchronousThink synchronous
Design synchronous:Design synchronous:one clock and edge-triggered flip-flopsone clock and edge-triggered flip-flops
De-synchronize (automatically)De-synchronize (automatically)
Run it asynchronouslyRun it asynchronously
![Page 9: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/9.jpg)
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)
![Page 10: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/10.jpg)
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
Formally prove correctnessFormally prove correctness
![Page 11: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/11.jpg)
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
![Page 12: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/12.jpg)
![Page 13: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/13.jpg)
![Page 14: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/14.jpg)
Synchronous flow
![Page 15: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/15.jpg)
![Page 16: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/16.jpg)
![Page 17: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/17.jpg)
![Page 18: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/18.jpg)
![Page 19: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/19.jpg)
![Page 20: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/20.jpg)
![Page 21: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/21.jpg)
![Page 22: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/22.jpg)
![Page 23: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/23.jpg)
![Page 24: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/24.jpg)
![Page 25: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/25.jpg)
De-synchronized flow
![Page 26: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/26.jpg)
![Page 27: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/27.jpg)
++
![Page 28: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/28.jpg)
![Page 29: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/29.jpg)
![Page 30: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/30.jpg)
![Page 31: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/31.jpg)
![Page 32: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/32.jpg)
![Page 33: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/33.jpg)
![Page 34: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/34.jpg)
![Page 35: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/35.jpg)
![Page 36: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/36.jpg)
![Page 37: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/37.jpg)
![Page 38: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/38.jpg)
Flow equivalence
[Guernic, Talpin, Lann, 2003][Guernic, Talpin, Lann, 2003]
![Page 39: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/39.jpg)
AA
BB
![Page 40: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/40.jpg)
Flow equivalence
CLKA 1 3 0 2 1 5 3 1 6 0B 5 1 2 3 1 4 2 4 3 1
A 1 3 0 2 1 5 3 1 6 0
B 5 1 2 3 1 4 2 4 3 1
Synchronous behavior
De-synchronized behavior
![Page 41: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/41.jpg)
Flow equivalence
CLKA 1 3 0 2 1 5 3 1 6 0B 5 1 2 3 1 4 2 4 3 1
A 1 3 0 2 1 5 3 1 6 0
B 5 1 2 3 1 4 2 4 3 1
Synchronous behavior
De-synchronized behavior
![Page 42: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/42.jpg)
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
![Page 43: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/43.jpg)
L L L L
L L
0 0
00
1 1
C C C C
C C
![Page 44: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/44.jpg)
C C C C
C C
![Page 45: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/45.jpg)
C
L
![Page 46: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/46.jpg)
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
![Page 47: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/47.jpg)
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
![Page 48: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/48.jpg)
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
![Page 49: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/49.jpg)
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
![Page 50: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/50.jpg)
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
![Page 51: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/51.jpg)
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
![Page 52: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/52.jpg)
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
![Page 53: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/53.jpg)
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
![Page 54: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/54.jpg)
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
![Page 55: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/55.jpg)
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
![Page 56: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/56.jpg)
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
![Page 57: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/57.jpg)
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
![Page 58: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/58.jpg)
A B C D
A+ B+ C+ D+
A- B- C- D-
A
B
![Page 59: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/59.jpg)
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
![Page 60: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/60.jpg)
A+ B+
A- B-
Can we increase concurrency ?
A+ B+
A- B-
A+ B+
A- B-
not flow-equivalent
![Page 61: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/61.jpg)
A
B
A
B
data overrun
A
B
data lost
![Page 62: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/62.jpg)
A+ B+
A- B-
Can we reduce concurrency ? How much ?Can we reduce concurrency ? How much ?
![Page 63: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/63.jpg)
A+ B+
A- B-
A+ B+
A- B-A+ B+
A- B-
(8 states)
(6 states)
A+ B+
A- B-
(5 states)
A+ B+
A- B-
A+ B+
A- B-
(4 states)
![Page 64: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/64.jpg)
A
B
A
B
A
B
A
B
A
B
A
B
fully decoupledfully decoupled(Furber & Day)(Furber & Day)
simple 4-phasesimple 4-phase
semi-decoupledsemi-decoupled(Furber & Day)(Furber & Day)
non-overlappingnon-overlapping
GasP, IPCMOSGasP, IPCMOS
de-synchronizationde-synchronizationmodelmodel
![Page 65: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/65.jpg)
A+ B+
A- B-
A+ B+
A- B-A+ B+
A- B-A+ B+
A- B-A+ B+
A- B-
A+ B+
A- B-
simple 4-phasesimple 4-phase non-overlappingnon-overlapping
semi-decoupledsemi-decoupled(Furber & Day)(Furber & Day)
fully decoupledfully decoupled(Furber & Day)(Furber & Day)
GasP, IPCMOSGasP, IPCMOS
de-synchronizationde-synchronizationmodelmodel
![Page 66: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/66.jpg)
A B
cntrl cntrlRi
Ai
Rx
AxRo
Ao
Ri+ A- Rx+ B- Ro+
Ai+ Ax+ Ao+
Ri- A+ Rx- B+ Ro-
Ai- Ax- Ao-(semi-decoupled 4-phase protocol)(semi-decoupled 4-phase protocol)
![Page 67: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/67.jpg)
A B
cntrl cntrlRi
Ai
Rx
AxRo
Ao
A- B-
A+ B+
(semi-decoupled 4-phase protocol)(semi-decoupled 4-phase protocol)
![Page 68: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/68.jpg)
A B
cntrl cntrlRi
Ai
Rx
AxRo
Ao
A- B-
A+ B+
(semi-decoupled 4-phase protocol)(semi-decoupled 4-phase protocol)
![Page 69: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/69.jpg)
A B
cntrl cntrlRi
Ai
Rx
AxRo
Ao
A- B-
A+ B+
(semi-decoupled 4-phase protocol)(semi-decoupled 4-phase protocol)
![Page 70: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/70.jpg)
A B
cntrl cntrlRi
Ai
Rx
AxRo
Ao
A- B-
A+ B+
(semi-decoupled 4-phase protocol)(semi-decoupled 4-phase protocol)
![Page 71: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/71.jpg)
A B
cntrl cntrlRi
Ai
Rx
AxRo
Ao
A- B-
A+ B+
(semi-decoupled 4-phase protocol)(semi-decoupled 4-phase protocol)
![Page 72: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/72.jpg)
A B
cntrl cntrlRi
Ai
Rx
AxRo
Ao
A- B-
A+ B+
(semi-decoupled 4-phase protocol)(semi-decoupled 4-phase protocol)
![Page 73: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/73.jpg)
A+ B+
A- B-
A+ B+
A- B-A+ B+
A- B-A+ B+
A- B-A+ B+
A- B-
A+ B+
A- B-
![Page 74: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/74.jpg)
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
![Page 75: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/75.jpg)
![Page 76: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/76.jpg)
Which protocols are validWhich protocols are validfor de-synchronization ?for de-synchronization ?
![Page 77: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/77.jpg)
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
![Page 78: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/78.jpg)
A+ B+
A- B-
A+ B+
A- B-A+ B+
A- B-A+ B+
A- B-A+ B+
A- B-
A+ B+
A- B-
![Page 79: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/79.jpg)
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
![Page 80: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/80.jpg)
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
![Page 81: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/81.jpg)
A B C D
A+ B+ C+ D+
A- B- C- D-
![Page 82: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/82.jpg)
A B C D
A+ B+ C+ D+
A- B- C- D-semi-semi-
decoupleddecouplednon-non-
overlappingoverlappingfullyfully
decoupleddecoupled
Flow-equivalence is preserved, … but …
![Page 83: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/83.jpg)
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 !
![Page 84: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/84.jpg)
A+ B+ C+ D+
A- B- C- D-
Liveness: all cycles have at least one token [Commoner 1971]
Semi-decoupled 4-phase handshake protocolSemi-decoupled 4-phase handshake protocol
![Page 85: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/85.jpg)
A+ B+ C+ D+
A- B- C- D-
Simple 4-phase handshake protocolSimple 4-phase handshake protocol
![Page 86: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/86.jpg)
Results about liveness
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
![Page 87: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/87.jpg)
A+ B+
A- B-
A+ B+
A- B-A+ B+
A- B-A+ B+
A- B-A+ B+
A- B-
A+ B+
A- B-
simple 4-phasesimple 4-phase non-overlappingnon-overlapping
semi-decoupledsemi-decoupled(Furber & Day)(Furber & Day)
fully decoupledfully decoupled(Furber & Day)(Furber & Day)
GasP, IPCMOSGasP, IPCMOS
de-synchronizationde-synchronizationmodelmodel
![Page 88: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/88.jpg)
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
![Page 89: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/89.jpg)
![Page 90: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/90.jpg)
Async DLX block diagram
![Page 91: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/91.jpg)
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
![Page 92: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/92.jpg)
De-synchronized DLX on FPGA
(demo outside the conference room)
![Page 93: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/93.jpg)
Discussion
The de-synchronization model provides an The de-synchronization model provides an abstraction of the timing behaviorabstraction of the timing behavior
![Page 94: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/94.jpg)
[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
![Page 95: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/95.jpg)
A+ B+
A- B-
A+ B+
A- B-A+ B+
A- B-A+ B+
A- B-A+ B+
A- B-
A+ B+
A- B-
simple 4-phasesimple 4-phase non-overlappingnon-overlapping
semi-decoupledsemi-decoupled(Furber & Day)(Furber & Day)
fully decoupledfully decoupled(Furber & Day)(Furber & Day)
GasP, IPCMOSGasP, IPCMOS
de-synchronizationde-synchronizationmodelmodel
![Page 96: Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat](https://reader036.vdocuments.net/reader036/viewer/2022081519/56649d455503460f94a21de8/html5/thumbnails/96.jpg)
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