Top Banner
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

Handshake protocols for de-synchronization I. Blunno, J. Cortadella, A. Kondratyev, L. Lavagno, K. Lwin and C. Sotiriou Politecnico di Torino, Italy Universitat.

Dec 20, 2015

Download

Documents

Welcome message from author
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
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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.
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.
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.

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

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.
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.

++

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.
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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.
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.

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.

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.

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.

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.

[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.

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.

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