Elastic Circuits blending synchronous and asynchronous technologies
description
Transcript of Elastic Circuits blending synchronous and asynchronous technologies
![Page 1: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/1.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/2.jpg)
Elastic circuitsCollège de France 2013 2
![Page 3: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/3.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/4.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/5.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/6.jpg)
Globally-asynchronousLocally-synchronous
GALS
![Page 7: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/7.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/8.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/9.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/10.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/11.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/12.jpg)
Metastability
Elastic circuits
logic 0 logic 1
metastable
Collège de France 2013 12
![Page 13: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/13.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/14.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/15.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/16.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/17.jpg)
Synchronous and Asynchronousmeeting each other
![Page 18: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/18.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/19.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/20.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/21.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/22.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/23.jpg)
… 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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/24.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/25.jpg)
Designing withsynchronous elasticity
![Page 26: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/26.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/27.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/28.jpg)
Pipelined communication
Elastic circuits
sender receiver
DataData
Collège de France 2013 28
![Page 29: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/29.jpg)
Pipelined communication
Elastic circuits
sender receiver
DataData
Collège de France 2013 29
![Page 30: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/30.jpg)
Pipelined communication
Elastic circuits
sender receiver
DataData
Collège de France 2013 30
![Page 31: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/31.jpg)
Pipelined communication
Elastic circuits
sender receiver
DataData
???
Collège de France 2013 31
![Page 32: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/32.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/33.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/34.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/35.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/36.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/37.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/38.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/39.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/40.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/41.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/42.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/43.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/44.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/45.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/46.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/47.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/48.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/49.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/50.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/51.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/52.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/53.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/54.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/55.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/56.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/57.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/58.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/59.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/60.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/61.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/62.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/63.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/64.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/65.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/66.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/67.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/68.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/69.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/70.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/71.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/72.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/73.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/74.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/75.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/76.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/77.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/78.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/79.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/80.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/81.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/82.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/83.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/84.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/85.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/86.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/87.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/88.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/89.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/90.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/91.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/92.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/93.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/94.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/95.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/96.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/97.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/98.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/99.jpg)
Lazy Fork
V1
V2
S1
S2
V
S
Elastic circuitsCollège de France 2013 99
![Page 100: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/100.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/101.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/102.jpg)
Design automation
![Page 103: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/103.jpg)
Transforming sync into elastic
Elastic circuitsCollège de France 2013 103
![Page 104: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/104.jpg)
Transforming sync into elastic
Elastic circuitsCollège de France 2013 104
![Page 105: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/105.jpg)
Transforming sync into elastic
Elastic circuits
Behavioralequivalenceis preserved
Collège de France 2013 105
![Page 106: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/106.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/107.jpg)
Elastic Esterel
A
B
RO
Boot
PauseReg7
PauseReg11
Elastic circuitsCollège de France 2013 107
![Page 108: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/108.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/109.jpg)
Circuit vs. μarchitectural cycles
Elastic circuitsCollège de France 2013 109
![Page 110: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/110.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/111.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/112.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/113.jpg)
Early evaluation
![Page 114: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/114.jpg)
Early evaluation
52
3
x 15
Elastic circuitsCollège de France 2013 114
![Page 115: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/115.jpg)
Early evaluation
2
3
x 6
Elastic circuitsCollège de France 2013 115
![Page 116: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/116.jpg)
Early evaluation
0
x 0
8
Elastic circuitsCollège de France 2013 116
![Page 117: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/117.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/118.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/119.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/120.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/121.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/122.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/123.jpg)
Profiling
Collège de France 2013 Elastic circuits 123
![Page 124: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/124.jpg)
H.264 CABAC decoder
Collège de France 2013 Elastic circuits 124
![Page 125: Elastic Circuits blending synchronous and asynchronous technologies](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/125.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/126.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/127.jpg)
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](https://reader037.fdocuments.us/reader037/viewer/2022102819/56814327550346895daf9662/html5/thumbnails/128.jpg)
Collège de France 2013 Elastic circuits 128