Download presentation
Presentation is loading. Please wait.
Published byMia O'Grady Modified over 10 years ago
1
Asynchronous Circuits Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona Collège de France May 14 th, 2013
2
Goals Convince ourselves that: – designing an asynchronous circuit is easy – synchronous and asynchronous circuits are similar – asynchronous circuits bring new advantages Not to discourage designers with exotic and sophisticated asynchronous schemes Collège de France 2013Asynchronous circuits2
3
Clocking Collège de France 2013Asynchronous circuits Nvidia Kepler TM GK110 How to distribute the clock? How to determine the clock frequency? How to implement robust communications? How to reduce and manage energy? 3 28nm, 7.1B transistors, 550mm 2, 2688 CUDA cores, Base clock: 836MHz, Memory clock: 6GHz
4
Collège de France 2013Asynchronous circuits4
5
Synchronous circuits
6
Synchronous circuit Collège de France 2013Asynchronous circuits Combinational Logic Flip Flops PLLPLL 6
7
1 1 2 2 1 1 1 1 2 2 Synchronous circuit Collège de France 2013Asynchronous circuits CLCL Two competing paths: Launching path Capturing path Launching path < Capturing path + Period CLKtree + CL < CLKtree + Period CL < Period (no clock skew) 2 2PLLPLL 7
8
Source-synchronous Collège de France 2013Asynchronous circuits CLK gen matched delay No global clock required More tolerance to PVT variations Period > longest combinational path Good for acyclic pipelines Launching path Capturing path 8
9
CLK gen ?? Source-synchronous with forks and joins Collège de France 2013Asynchronous circuits How to synchronize incoming events? 9
10
C element (Muller 1959) Collège de France 2013Asynchronous circuits C C A B C A B CABC000 01C 10C 111 10
11
C element (Muller 1959) Collège de France 2013Asynchronous circuits A B C A B CABC000 01C 10C 111 MAJMAJ 11 (many implementations exist)
12
Multi-input C element Collège de France 2013Asynchronous circuits CC CC CC CC CC CC a1 a2 a3 a4 a5 a6 a7 c 12
13
Completion detection
14
Collège de France 2013Asynchronous circuits CLKgenCLKgen fixed delay The fixed delay must be longer than the worst-case logic delay (plus variability) Q: could we detect when a computation has completed ASAP ? 14
15
A 1 SP 0 SP 1 SP 1 SP Delay-insensitive codes: Dual Rail Dual rail: every bit encoded with two signals Collège de France 2013Asynchronous circuits A.tA.fA 00Spacer 010 101 11Not used A.t A.f 15
16
Dual-Rail AND gate Collège de France 2013Asynchronous circuits ABC SP 0-0 -00 1 1 111 A B C A.t A.f B.t B.f C.t C.f 16
17
Dual-Rail Inverter Collège de France 2013Asynchronous circuits AZ SP 01 10 A.t A.f Z.t Z.f 17
18
Dual-Rail AND/OR gate Collège de France 2013Asynchronous circuits A B C A.t A.f B.t B.f C.t C.f A B C A.f A.t B.f B.t C.f C.t A B C 18
19
Dual rail: completion detection Dual-rail logic Collège de France 2013Asynchronous circuits19 00 00 00 00 00 00 00 00 00 00 00 00 00 01 10 10 10 01 01 01 10 01 10 10 01 01
20
Dual rail: completion detection Dual-rail logic C done Completion detection tree Collège de France 2013Asynchronous circuits20
21
Dual rail: completion detection Collège de France 2013Asynchronous circuits ANDOR INV AND CLKgenCLKgen 21
22
Dual rail: completion detection Collège de France 2013Asynchronous circuits ANDOR INV AND C C 22 C C
23
Single rail data vs. dual rail Some back-of-the-envelope estimations: Collège de France 2013Asynchronous circuits Single rail Dual Rail Area12 Delay1<< 1 Static power12 Dynamic power< 0.22 Dual rail: Good for speed Large area High power comsumption 23
24
Handshaking
25
Handshaking Collège de France 2013Asynchronous circuits CLKgenCLKgen unknown delay Assume that the source module can provide data at any rate: When should the CLK generator send an event if the internal delays of the circuit are unknown? Solution:handshaking Solution: handshaking 25
26
Handshaking Collège de France 2013Asynchronous circuits I have data I want data Data Request Acknowledge 26
27
Asynchronous elastic pipelineCC ReqInReqOut AckIn AckOut CC CC CC David Mullers pipeline (late 50s) Sutherlands Micropipelines (Turing award, 1989) Collège de France 2013Asynchronous circuits27
28
Multiple inputs and outputs Collège de France 2013Asynchronous circuits28
29
Multiple inputs and outputs Collège de France 2013Asynchronous circuits delaydelay 29
30
Channel-based communication A channel contains data and handshake wires Collège de France 2013Asynchronous circuits Data Req Ack 30 Data Req Ack
31
Two-phase protocol Every edge is active It may require double-edge triggered flip-flops or pulse generators Collège de France 2013Asynchronous circuits Data 1 Data 2 Data 3 Req Ack Data Data transfer 31
32
Four-phase protocol Valid data on the active edge of Req Req/Ack must return to zero before the next transfer Different variations of the 4-phase protocol exist Collège de France 2013Asynchronous circuits Data 1 Data 2 Data 3 Req Ack Data Data transfer 32
33
How to memorize? Collège de France 2013Asynchronous circuits Combinational Logic LL LL delay CC CC ???? 2-phase or 4-phase ? 33
34
How to memorize? Collège de France 2013Asynchronous circuits Combinational Logic LL LL delay CC CC Pulse generator 2-phase 34
35
How to memorize? Collège de France 2013Asynchronous circuits Combinational Logic LL LL delay CC CC 4-phase 35
36
Performance analysis
37
Ring oscillators Collège de France 2013Asynchronous circuits C C CC C Every ring requires an odd number of inverters The cycle period is determined by the slowest ring The cycle period is adapted to the operating conditions (temperature, voltage) 37 1 2 3 4 5 6 7
38
Ring oscillators Collège de France 2013Asynchronous circuits C C CC C Every ring requires an odd number of inverters The cycle period is determined by the slowest ring The cycle period is adapted to the operating conditions (temperature, voltage) 38 1 2 3 4 5 6 7
39
Why asynchronous?
40
Modularity Time-independent functional composability – Performance may be affected (but not functionality) Collège de France 2013Asynchronous circuits40 AA BB DataData Req Ack BB
41
Tracking variability Collège de France 2013Asynchronous circuits41 matched delay
42
Tracking variability delay best typ worst multi-corner matched delay critical paths Good correlation for: Process variability (systematic) Global voltage fluctuations Temperature Aging (partially) Good correlation for: Process variability (systematic) Global voltage fluctuations Temperature Aging (partially) Collège de France 2013Asynchronous circuits42
43
Margins Gate and wire delays (typ) PPVVTTAgingAging PLL Jitter SkewSkew Rigid Clocks: Cycle period Gate and wire delays (typ) PPVVTTAgingAging Elastic Clocks: SkewSkew Cycle period Margin reduction Speed-up / Power savings Collège de France 2013Asynchronous circuits43
44
wasted time computation time Rigid clock computation time Cycle period Elastic clock Clock elasticity Collège de France 2013Asynchronous circuits44
45
Voltage scaling and power savings-24%-14% 3 ARM926 cores on the same die Collège de France 2013Asynchronous circuits45
46
Design Automation
47
Design automation paradigms Synthesis of asynchronous controllers – Logic synthesis from Petri nets or asynchronous FSMs Syntax-directed translation – Correct-by-construction composition of handshake components De-synchronization – Automatic transformation from synchronous to asynchronous Collège de France 2013Asynchronous circuits47
48
Synthesis of asynchronous controllers Collège de France 2013Asynchronous circuits48 DSr LDS LDTACK D DTACK LDS+LDTACK+D+DTACK+DSr-D- DTACK- LDS-LDTACK- DSr+
49
Synthesis of asynchronous controllers Collège de France 2013Asynchronous circuits49 LDS+LDTACK+D+DTACK+DSr-D- DTACK- LDS-LDTACK- DSr+ DTACK D DSr LDS LDTACK Example: Petrify
50
Syntax-directed translation Collège de France 2013Asynchronous circuits50 (A || B) ; C P = (A || B) ; C
51
Syntax-directed translation Collège de France 2013Asynchronous circuits51 par AA BB CC A || B seq P = (A || B) ; C
52
Syntax-directed translation Collège de France 2013Asynchronous circuits52 seq par AA BB CC P = (A || B) ; C
53
Syntax-directed translation Collège de France 2013Asynchronous circuits53 AA BB P = (A ; B) P = (A ; B) seqseq
54
Syntax-directed translation Collège de France 2013Asynchronous circuits54 c := a + b + + c ab
55
Syntax-directed translation Collège de France 2013Asynchronous circuits int = type [0..255] & gcd: main proc (in? chan > & out! chan int) begin x, y: var int | forever do in? > ; do x <> y then if x < y then y:=y-x else x:=x-y fi od ; out!x od end Sources: J. Kessels and A. Peeters. DESCALE: A Design Experiment for a Smart Card 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 Designers Guide to Asynchronous VLSI, Cambridge University Press, 2010. 55
56
De-synchronization Strategy: substitute the clock tree by local clocks and handshakes Combinational logic and latches are not modified More tolerance to variability – Similar area, less power and/or more speed Cortadella, Kondratyev, Lavagno and Sotiriou. Desynchronization: Synthesis of asynchronous circuits from synchronous specifications. IEEE TCAD, Oct 2006. Collège de France 2013Asynchronous circuits56
57
Synchronous operation Collège de France 2013Asynchronous circuits CLK gen Transforming a synchronous circuit into asynchronous (automatically) 57
58
Synchronous operation Collège de France 2013Asynchronous circuits CLK gen Transforming a synchronous circuit into asynchronous (automatically) 58
59
De-synchronization Collège de France 2013Asynchronous circuits Transforming a synchronous circuit into asynchronous (automatically) 59
60
De-synchronization Collège de France 2013Asynchronous circuits Transforming a synchronous circuit into asynchronous (automatically) 60
61
Conclusions Asynchrony offers flexibility in time – Modularity – Dynamic adaptability – Tolerance to variability Better optimization of power/performance Why isnt it an important trend in circuit design? – Lack of commercial EDA support (timing sign-off) – Designers do not feel comfortable with unpredictable timing – Other aspects: testing, verification, … De-synchronization might be a viable solution Collège de France 2013Asynchronous circuits61
62
Collège de France 2013Asynchronous circuits62
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.