Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat...

128
Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M. Kishinevsky and M. Galceran-Oms) Collège de France May 21 st , 2013

Transcript of Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat...

Page 1: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Elastic Circuitsblending synchronous and asynchronous technologies

Jordi CortadellaUniversitat Politècnica de Catalunya, Barcelona

(joint work with M. Kishinevsky and M. Galceran-Oms)

Collège de FranceMay 21st, 2013

Page 2: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Elastic circuitsCollège de France 2013 2

Page 3: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous circuit

Elastic circuits

CombinationalLogic

Flip

Flo

ps

Flip

Flo

ps

PLL

Collège de France 2013 3

Page 4: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Asynchronous circuit

Elastic circuits

CombinationalLogic LL

delay

CC 4-phase

Collège de France 2013 4

Page 5: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Asynchronous circuit

C

ReqIn ReqOut

AckIn AckOut

C C C

• David Muller’s pipeline (late 50’s)• Sutherland’s Micropipelines (Turing award, 1989)

Elastic circuitsCollège de France 2013 5

Page 6: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Globally-asynchronousLocally-synchronous

GALS

Page 7: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

SoC design with GALS• Most IPs are synchronous

• Different components may have different operating frequencies

• Some components have variable latencies (e.g., cache hit/miss latency)

• Multiple clock domains are essential

Elastic circuits

Bridge

CDC

DSP

P

Fast Bus

Slow Bus

Bridge

CDC

Mem

CLK2

CLK1

CLK3

Collège de France 2013 7

Page 8: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Multiple clock domains

Elastic circuits

CLK

Single clock(mesochronous)

f1/f0

f2/f0

f3/f0

CLK(f0)

Rational clockfrequencies

CLK

1C

LK2

CLK

3

CLK

0

Independent clocks

(controllable skew)

Collège de France 2013 8

Page 9: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous handshakes

Elastic circuits

CLK1 CLK2

Data

Sender ReceiverValid

Ack

• The arrival of data is unpredictable• Handshakes solve the problem

Collège de France 2013 9

Page 10: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The problem: metastability

Elastic circuits

D Q

CLKS

D Q

?

D

Q

CLKRCLKR

setup hold

Collège de France 2013 10

Page 11: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Metastability

Elastic circuits

Source: W. J. Dally, Lecture notes for EE108A, Lecture 13.Metastability and Synchronization Failure (or When Good Flip-Flops go Bad) 11/9/2005.

Collège de France 2013 11

Page 12: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Metastability

Elastic circuits

logic 0 logic 1

metastable

Collège de France 2013 12

Page 13: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Classical synchronous solution

Elastic circuits

D Q D Q D Q D Q

CLKT CLKR

Wffe

D

rtMTBF

2

Mean Time Between Failures fФ: frequency of the clock fD: frequency of the data tr: resolve time available W: metastability window : resolve time constant

# FFs MTBF

1 FF 15 min

2 FF 9 days

3 FF 23 years

Example

Collège de France 2013 13

Page 14: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Handshake with synchronizers

Elastic circuits

CLK1 CLK2

Data

Sender ReceiverValid

Ack

• Simple solution• Throughput can be highly degraded:

a long round trip for every transaction

Collège de France 2013 14

Page 15: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Asynchronous FIFOs

Elastic circuits

Circular buffer

Valid Valid

Ack Ack

Data Data

Clk In Clk Out

FIFO control

• Ack is issued as soon as data has been delivered

• No impact on throughput (1 token/cycle)

• Min latency determined by the internal synchronizers

• Some tricky structures for the FIFO pointers (e.g. Grey encoding)

Collège de France 2013 15

1 cycle 1 cycle3-4 cycles

Page 16: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

SoC design with GALS

Elastic circuits

Bridge

CDC

DSP

P

Fast Bus

Slow Bus

Bridge

CDC

Mem

CLK2

CLK1

CLK3

• Bridges for Clock Domain Crossing usually contain asynchronous FIFOs

• Latency cost only when interfacing with synchronous domains

• No latency penalty between asynchronous domains

Collège de France 2013 16

Page 17: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous and Asynchronousmeeting each other

Page 18: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Asynchronia

Collège de France 2013 Elastic circuits

Meanwhile, a small village ofindomitable engineers was resisting the

synchronous occupation …

18

Page 19: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Bill Grundmann(Intel’s director of CAD research,Technical director for CAD technology for the Alpha Microprocessor):

“The specification of a complex system is usuallyasynchronous (functional units, messages, queues, …),

… however the clock appears when we move downto the implementation levels”

(in a technical discussion about system designwith M. Kishinevsky and J. Cortadella, 2004)

Elastic circuitsCollège de France 2013 19

Page 20: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Async and Sync meeting each other

Elastic circuits

Async

Sync

• Modular (time elasticity)• But hard to analyze and synthesize

• Easy to analyze and synthesize• Not modular (time rigid)

J. O’Leary and G. Brown, 1997Synchronous emulation of asynchronous circuits

A. Peeters and K. Van Berkel, 2001Synchronous handshake circuits Elastic Circuits

(Sync / Async)

L. Carloni et al., 1999A methodology for correct-by-construction latency-insensitive design

Cortadella et al., Desynchronization, 2003

Collège de France 2013 20

Page 21: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Different flavors of elasticity

Elastic circuits

+147 … 348201…

…Rigid

+a48…147…

201… 3Asynchronous

+e ……Synchronous Elastic

8 4 37 4 1

1 20…

time

Collège de France 2013 21

Page 22: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Why synchronous elasticity?• Time is discrete (cycle based), but

unpredictable (unknown number of cycles)

• Examples– Short/long integer addition (8 bits, 64 bits)– Floating-point units– Cache latency: fast hit(2), slow hit(3), miss(>20)– Bus arbitration– Latencies in Network-on-Chip– … and many others

Elastic circuitsCollège de France 2013 22

Page 23: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

… even at design time

Elastic circuits

ReceiverSender

CLK

Can we add a register without modifying the functionality of the system?

Collège de France 2013 23

Page 24: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Many systems are already elastic

AMBA AXI bus protocol

Handshake signals

Elastic circuitsCollège de France 2013 24

Page 25: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Designing withsynchronous elasticity

Page 26: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Communication channel

Elastic circuits

receiversender

Data Data

Long wires: slow transmission

Collège de France 2013 26

Page 27: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Pipelined communication

Elastic circuits

sender receiver

DataData

How about if the sender does not always send valid data?

Collège de France 2013 27

Page 28: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Pipelined communication

Elastic circuits

sender receiver

DataData

Collège de France 2013 28

Page 29: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Pipelined communication

Elastic circuits

sender receiver

DataData

Collège de France 2013 29

Page 30: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Pipelined communication

Elastic circuits

sender receiver

DataData

Collège de France 2013 30

Page 31: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Pipelined communication

Elastic circuits

sender receiver

DataData

???

Collège de France 2013 31

Page 32: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Valid bit

Elastic circuits

sender receiver

Data Data

Valid Valid

Collège de France 2013 32

Page 33: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Valid bit

Elastic circuits

sender receiver

Data

Valid

Data

Valid

Collège de France 2013 33

Page 34: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Valid bit

Elastic circuits

sender

Data

Valid

receiver

Data

Valid

Collège de France 2013 34

Page 35: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Valid bit

Elastic circuits

sender

Data

Valid

receiver

Data

Valid

Collège de France 2013 35

Page 36: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Valid bit

Elastic circuits

Data

Valid

sender receiver

Data

Valid

How about if the receiver is not always ready ?

Collège de France 2013 36

Page 37: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Stop bit

Elastic circuits

00000

sender

Data

Valid

Stop

receiver

Data

Valid

Stop

Collège de France 2013 37

Page 38: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Stop bit

Elastic circuits

11000

sender

Data

Valid

Stop

receiver

Data

Valid

Stop

Collège de France 2013 38

Page 39: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Stop bit

Elastic circuits

11100

sender

Data

Valid

Stop

receiver

Data

Valid

Stop

Collège de France 2013 39

Page 40: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Stop bit

Elastic circuits

11111

sender

Data

Valid

Stop

receiver

Data

Valid

Stop

Back-pressure

Collège de France 2013 40

Page 41: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Stop bit

Elastic circuits

01111

sender

Data

Valid

Stop

receiver

Data

Valid

Stop

Collège de France 2013 41

Page 42: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Stop bit

Elastic circuits

00000

sender

Data

Valid

Stop

receiver

Data

Valid

Stop

Collège de France 2013 42

Page 43: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Stop bit

Elastic circuits

00000

sender

Data

Valid

Stop

receiver

Data

Valid

Stop

Collège de France 2013 43

Page 44: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Stop bit

Elastic circuits

00000

sender

Data

Valid

Stop

receiver

Data

Valid

Stop

Collège de France 2013 44

Page 45: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Stop bit

Elastic circuits

00000

sender

Data

Valid

Stop

receiver

Data

Valid

Stop

Collège de France 2013 45

Page 46: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

The Stop bit

Elastic circuits

10000

sender

Data

Valid

Stop

receiver

Data

Valid

Stop

Long combinational path

Collège de France 2013 46

Page 47: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Relay stations (Carloni, 1999)

Elastic circuits

shell

pearl

sender

shell

pearl

receiver

main main main

aux aux aux

Collège de France 2013 47

Page 48: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Relay stations (Carloni, 1999)

Elastic circuits

main main main

aux aux aux

shell

pearl

receiver

shell

pearl

sender

Collège de France 2013 48

Page 49: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Relay stations (Carloni, 1999)

Elastic circuits

main main main

aux aux aux

shell

pearl

receiver

shell

pearl

sender

Collège de France 2013 49

Page 50: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Relay stations (Carloni, 1999)

Elastic circuits

main main main

aux aux aux

shell

pearl

receiver

shell

pearl

sender

Collège de France 2013 50

Page 51: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Relay stations (Carloni, 1999)

Elastic circuits

main main main

aux aux aux

shell

pearl

receiver

shell

pearl

sender

Collège de France 2013 51

Page 52: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Relay stations (Carloni, 1999)

Elastic circuits

main main main

aux aux aux

shell

pearl

sender

shell

pearl

receiver

Collège de France 2013 52

Page 53: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Relay stations (Carloni, 1999)

Elastic circuits

main main main

aux aux aux

shell

pearl

sender

shell

pearl

receiver

Collège de France 2013 53

Page 54: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Relay stations (Carloni, 1999)

Elastic circuits

main main main

aux aux aux

shell

pearl

sender

shell

pearl

receiver

Collège de France 2013 54

Page 55: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Relay stations (Carloni, 1999)

Elastic circuits

main main main

aux aux aux

shell

pearl

sender

shell

pearl

receiver

Collège de France 2013 55

Page 56: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Relay stations (Carloni, 1999)

Elastic circuits

main main main

aux aux aux

shell

pearl

receiver

shell

pearl

sender

• Handshakes with short wires• Double storage required

Collège de France 2013 56

Page 57: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Flip-flops vs. latches

Elastic circuits

sender receiver

1 cycle

FF FF

Collège de France 2013 57

Page 58: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Flip-flops vs. latches

Elastic circuits

sender receiver

1 cycle

H L H L

Collège de France 2013 58

Page 59: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Flip-flops vs. latches

Elastic circuits

sender receiver

1 cycle

H L H L

Collège de France 2013 59

Page 60: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Flip-flops vs. latches

Elastic circuits

sender receiver

1 cycle

H L H L

Collège de France 2013 60

Page 61: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Flip-flops vs. latches

Elastic circuits

sender receiver

1 cycle

H L H L

Collège de France 2013 61

Page 62: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Flip-flops vs. latches

Elastic circuits

sender receiver

1 cycle

H L H L

Collège de France 2013 62

Page 63: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Flip-flops vs. latches

Elastic circuits

sender receiver

1 cycle

H L H L

Collège de France 2013 63

Page 64: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Flip-flops vs. latches

Elastic circuits

sender receiver

1 cycle

H L H L

Flip-flops already have adouble storage capability, but …

Collège de France 2013 64

Page 65: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Flip-flops vs. latches

Elastic circuits

sender receiver

1 cycle

H L H L

Not allowed in conventionalFF-based design !

Collège de France 2013 65

Page 66: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Flip-flops vs. latches

Elastic circuits

sender receiver

1 cycle

H L LH

Let’s make the master/slave latches independent

Collège de France 2013 66

Page 67: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Flip-flops vs. latches

Elastic circuits

sender receiverH L H L

½ cycle ½ cycle

Let’s make the master/slave latches independent

Only half of the latches (H or L) can move tokens

Collège de France 2013 67

Page 68: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

Collège de France 2013 68

Page 69: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

1

0

Collège de France 2013 69

Page 70: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

1

0

Collège de France 2013 70

Page 71: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

1

0

Collège de France 2013 71

Page 72: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

1

0

Collège de France 2013 72

Page 73: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

1

0

Collège de France 2013 73

Page 74: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

0

0

Collège de France 2013 74

Page 75: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

0

0

Collège de France 2013 75

Page 76: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

0

0

Collège de France 2013 76

Page 77: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

0

0

Collège de France 2013 77

Page 78: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

0

0

Collège de France 2013 78

Page 79: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

1

1

Collège de France 2013 79

Page 80: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

1

1

Data

Valid

Stop

Collège de France 2013 80

Page 81: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

1

1

Data

Valid

Stop

Collège de France 2013 81

Page 82: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

1

1

Data

Valid

Stop

Collège de France 2013 82

Page 83: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

1

1

Data

Valid

Stop

Collège de France 2013 83

Page 84: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

1

1

Data

Valid

Stop

Collège de France 2013 84

Page 85: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

1

1

Data

Valid

Stop

Collège de France 2013 85

Page 86: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

1

1

Data

Valid

Stop

Collège de France 2013 86

Page 87: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

1

1

Data

Valid

Stop

Collège de France 2013 87

Page 88: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

1

0

Data

Valid

Stop

Collège de France 2013 88

Page 89: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

1

0

Data

Valid

Stop

Data

Valid

Stop

Collège de France 2013 89

Page 90: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

1

0

Data

Valid

Stop

Data

Valid

Stop

Collège de France 2013 90

Page 91: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

1

0

Data

Valid

Stop

Data

Valid

Stop

Collège de France 2013 91

Page 92: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

1

0

Data

Valid

Stop

Data

Valid

Stop

Collège de France 2013 92

Page 93: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

1

0

Collège de France 2013 93

Page 94: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

1

0

Collège de France 2013 94

Page 95: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous elasticity

Elastic circuits

sender receiver

V V V V

S S S S

En En En En

Data

Valid

Stop

Data

Valid

Stop

1

0

Collège de France 2013 95

Page 96: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Basic VS block

Si

Eni

Vi

Si-1

Vi-1

VSSi

Eni

Vi

Si-1

Vi-1

Elastic circuitsCollège de France 2013 96

Page 97: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Elastic netlists

VS ForkJoin

Join / Fork

Enable signalto data latches

Elastic circuits

VSVS

VS

VS

VS

VS

VS

Collège de France 2013 97

Page 98: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Join

VS

+

V1

V2

S1

S2

V

S

VS

VS

VS

VS

Elastic circuitsCollège de France 2013 98

Page 99: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Lazy Fork

V1

V2

S1

S2

V

S

Elastic circuitsCollège de France 2013 99

Page 100: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Eager Fork

Elastic circuits

V1

V2

S1

S2

^

^

V

S

Collège de France 2013 100

Page 101: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Variable Latency Units

Elastic circuits

[0 - k] cycles

[0 - k] cycles

donego clear

V/S V/S

Collège de France 2013 101

Page 102: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Design automation

Page 103: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Transforming sync into elastic

Elastic circuitsCollège de France 2013 103

Page 104: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Transforming sync into elastic

Elastic circuitsCollège de France 2013 104

Page 105: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Transforming sync into elastic

Elastic circuits

Behavioralequivalenceis preserved

Collège de France 2013 105

Page 106: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Elastic Esterel

module ABRO: input A,B,R; output O; loop [ await A || await B ]; emit O each Rend module

Elastic circuitsCollège de France 2013

Marc Galceran Oms, Master thesis, 2007

106

Page 107: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Elastic Esterel

A

B

RO

Boot

PauseReg7

PauseReg11

Elastic circuitsCollège de France 2013 107

Page 108: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Elastic Esterel

A

B

RO

Elastic Control Layer

Valid_AStop_AValid_BStop_BValid_RStop_R

Valid_O

Stop_O

Boot

PauseReg7

PauseReg11

Elastic circuitsCollège de France 2013 108

Page 109: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Circuit vs. μarchitectural cycles

Elastic circuitsCollège de France 2013 109

Page 110: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Synchronous handshake circuits (Peeters, 2001)

Collège de France 2013 Elastic circuits

SEQ

xR

R

RWMUX

yR

R

RWMUX

*

DMX-

DMX-

DMX <>

DMX <

do

→→ @

áá ññ→

out

int = type [0..255]& gcd: main proc (in? chan <<int,int>> & out! chan int)begin x, y: var int| forever do in?<<x,y>>

; do x <> y then if x < y then y:=y-x else x:=x-y fi od

; out!x odend

Sources:

J. Kessels and A. Peeters.DESCALE: A Design Experiment for a SmartCard Application Consuming Low Energy,in Principles of Asynchronous Circuit Design, A Systems Perspective,Eds., J. Sparso and S. Furber, Kluwer Academic Publishers, 2001.

P.A.Beerel, R.O. Ozdag and M. Ferretti.A Designer’s Guide to Asynchronous VLSI,Cambridge University Press, 2010. 110

Page 111: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Generalization: bounded FIFOs

InOut

B1 B3

B2

Bounded Dataflow Networks

Elastic circuitsCollège de France 2013 111

Page 112: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Behavioral equivalence

Elastic circuits

D: a b c d e f g h i j k …

Synchronous:

Elastic:

D: a a b b b c d e e f g g h i i i j k … V: 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 1 …

Collège de France 2013 112

Page 113: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Early evaluation

Page 114: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Early evaluation

52

3

x 15

Elastic circuitsCollège de France 2013 114

Page 115: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Early evaluation

2

3

x 6

Elastic circuitsCollège de France 2013 115

Page 116: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Early evaluation

0

x 0

8

Elastic circuitsCollège de France 2013 116

Page 117: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

PC+4

Branch targetaddress

Example: mux for next-PC calculation

Take branch

• Only wait for required inputs• Late arriving tokens are cancelled by anti-

tokens

No branch

Early evaluation

Collège de France 2013 Elastic circuits 117

Page 118: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

How to implement anti-tokens ?

Valid+ Valid+

Valid–

Valid+

Stop+ Stop+

Valid–

Stop–Stop–

+

-Elastic circuitsCollège de France 2013 118

Page 119: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Dual elastic controllers

S+

V+

V-

S-

S+

V+

V-

S-

En En

Elastic circuitsCollège de France 2013 119

Page 120: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Fork/join

Dual fork/join Join with early evaluation

Elastic circuitsCollège de France 2013 120

Page 121: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Re-designing for average performance

F

Early evaluation

slow / fast

Fslow

Ffast

Elastic circuitsCollège de France 2013 121

Page 122: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

H.264 CABAC decoder

Gotmanov, Kishinevsky and Galceran-OmsEvaluation of flexible latencies: designing synchronous elastic H.264 CABAC decoderProc. Problems in design of micro- and nano-electronic systemsMoscow, Oct. 2010 (in Russian)Collège de France 2013 Elastic circuits 122

Page 123: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Profiling

Collège de France 2013 Elastic circuits 123

Page 124: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

H.264 CABAC decoder

Collège de France 2013 Elastic circuits 124

Page 125: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Area vs. Performance

0,90

1,00

1,10

1,20

1,30

1,40

1,50

1,60

1,70

0,50 0,70 0,90 1,10 1,30 1,50 1,70 1,90

Original Optimized

Area

Effective Cycle Time

Collège de France 2013 Elastic circuits 125

Page 126: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Conclusions

• Rigid systems preserve timing equivalence(data always valid at every cycle)

• Elastic systems waive timing equivalence to enablemore concurrency

(bubbles decrease throughput, but reduce cycle time)

• A new avenue of performance optimizations can emerge to build correct-by-construction pipelines

Θ Θ

Elastic circuitsCollège de France 2013 126

Page 127: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Unifying sync/async elasticity

• J. Carmona, J. Cortadella,M. Kishinevsky and A. Taubin,Elastic Circuits,IEEE Trans. On CAD, Oct. 2009.

Collège de France 2013 Elastic circuits 127

Page 128: Elastic Circuits blending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M.

Collège de France 2013 Elastic circuits 128