Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Bridging the gap between asynchronous design and designers Peter A. BeerelFulcrum Microsystems, Calabasas Hills, CA, USA Jordi CortadellaUniversitat.

Similar presentations


Presentation on theme: "1 Bridging the gap between asynchronous design and designers Peter A. BeerelFulcrum Microsystems, Calabasas Hills, CA, USA Jordi CortadellaUniversitat."— Presentation transcript:

1 1 Bridging the gap between asynchronous design and designers Peter A. BeerelFulcrum Microsystems, Calabasas Hills, CA, USA Jordi CortadellaUniversitat Politècnica de Catalunya, Barcelona, Spain Alex KondratyevCadence Berkeley Labs, Berkeley, CA, USA

2 2 1.Basic concepts on asynchronous circuit design Tea Break 2.Logic synthesis from concurrent specifications 3.Synchronization of complex systems Lunch 4.Design automation for asynchronous circuits Tea Break 5.Industrial experiences Outline

3 3 Basic concepts on asynchronous circuit design

4 4 Outline What is an asynchronous circuit ? Asynchronous communication Asynchronous design styles (Micropipelines) Asynchronous logic building blocks Control specification and implementation Delay models and classes of async circuits Channel-based design Why asynchronous circuits ?

5 5 Synchronous circuit RRRRCL CLK Implicit (global) synchronization between blocks Clock period > Max Delay (CL + R)

6 6 Asynchronous circuit RRRRCL Req Ack Explicit (local) synchronization: Req / Ack handshakes

7 7 Motivation for asynchronous Asynchronous design is often unavoidable: Asynchronous interfaces, arbiters etc. Modern clocking is multi–phase and distributed – and virtually ‘asynchronous’ (cf. GALS – next slide): Mesachronous (clock travels together with data) Local (possibly stretchable) clock generation Robust asynchronous design flow is coming (e.g. VLSI programming from Philips, Balsa from Univ. of Manchester, NCL from Theseus Logic …)

8 8 Globally Async Locally Sync (GALS) Local CLK RR CL Async-to-sync Wrapper Req1 Req2 Req3 Req4 Ack3 Ack4 Ack2 Ack1 Asynchronous World Clocked Domain

9 9 Key Design Differences Synchronous logic design: proceeds without taking timing correctness (hazards, signal ack–ing etc.) into account Combinational logic and memory latches (registers) are built separately Static timing analysis of CL is sufficient to determine the Max Delay (clock period) Fixed set–up and hold conditions for latches

10 10 Key Design Differences Asynchronous logic design: Must ensure hazard–freedom, signal ack–ing, local timing constraints Combinational logic and memory latches (registers) are often mixed in “complex gates” Dynamic timing analysis of logic is needed to determine relative delays between paths To avoid complex issues, circuits may be built as Delay-insensitive and/or Speed-independent (as discussed later)

11 11 Verification and Testing Differences Synchronous logic verification and testing: Only functional correctness aspect is verified and tested Testing can be done with standard ATE and at low speed (but high–speed may be required for DSM) Asynchronous logic verification and testing: In addition to functional correctness, temporal aspect is crucial: e.g. causality and order, deadlock–freedom Testing must cover faults in complex gates (logic+memory) and must proceed at normal operation rate Delay fault testing may be needed

12 12 Synchronous communication Clock edges determine the time instants where data must be sampled Data wires may glitch between clock edges (set–up/hold times must be satisfied) Data are transmitted at a fixed rate (clock frequency) 110010

13 13 Dual rail Two wires with L(low) and H (high) per bit “LL” = “spacer”, “LH” = “0”, “HL” = “1” n–bit data communication requires 2n wires Each bit is self-timed Other delay-insensitive codes exist (e.g. k-of-n) and event–based signalling (choice criteria: pin and power efficiency) 11 00 1 0

14 14 Bundled data Validity signal Similar to an aperiodic local clock n–bit data communication requires n+1 wires Data wires may glitch when no valid Signaling protocols level sensitive (latch) transition sensitive (register): 2 – phase / 4 – phase 110010

15 15 Example: memory read cycle Transition signaling, 4-phase Valid address Address Valid data Data AA DD

16 16 Example: memory read cycle Transition signaling, 2-phase Valid address Address Valid data Data AA DD

17 17 Asynchronous modules Signaling protocol: reqin+ start+ [computation] done+ reqout+ ackout+ ackin+ reqin- start- [reset] done- reqout- ackout- ackin- (more concurrency is also possible) Data INData OUT req inreq out ack inack out DATA PATH CONTROL startdone

18 18 Asynchronous latches: C element C A B Z A B Z + 0 0 0 0 1 Z 1 0 Z 1 1 1 Vdd Gnd A A A AB B B B Z Z Z [van Berkel 91] Static Logic Implementation

19 19 C-element: Other implementations A A B B Gnd Vdd Z A A B B Gnd Vdd Z Weak inverter Quasi-Static Dynamic

20 20 Dual-rail logic A.t A.f B.t B.f C.t C.f Dual-rail AND gate Valid behavior for monotonic environment

21 21 Completion detection Dual-rail logic C done Completion detection tree

22 22 Differential cascode voltage switch logic start A.t B.t C.t A.fB.f C.f Z.tZ.f done – 3 – input AND/NAND gate N-type transistor network

23 23 Examples of dual-rail design Asynchronous dual-rail ripple-carry adder (A. Martin, 1991) Critical delay is proportional to logN (N=number of bits) 32–bit adder delay (1.6m MOSIS CMOS): 11 ns versus 40 ns for synchronous Async cell transistor count = 34 versus synchronous = 28 More recent success stories (modularity and automatic synthesis) of dual-rail logic from Null-Convention Logic (Theseus Logic)

24 24 Bundled-data logic blocks Single-rail logic delay startdone Conventional logic + matched delay

25 25 Micropipelines (Sutherland 89) C Join Merge Toggle r1 r2 g1 g2 d1 d2 Request- Grant-Done (RGD)Arbiter Call r1 r2 r a a1 a2 Select in outf outt sel in out0 out1 Micropipeline (2-phase) control blocks

26 26 Micropipelines (Sutherland 89) LLLLlogic R in A out C C C C R out A in delay

27 27 Data-path / Control LLLLlogic R in R out CONTROL A in A out

28 28 Control specification A+ B+ A–A– B– A B A input B output

29 29 Control specification A+ B– A– B+ A B

30 30 Control specification A+ C– A– C+ A C B+ B– B C

31 31 Control specification A+ C– A– C+ A C B+ B– B C

32 32 Control specification C C Ri Ro Ai Ao Ri+ Ao+ Ri- Ao- Ro+ Ai+ Ro- Ai- Ri Ro Ao Ai FIFO cntrl

33 33 A simple filter: specification y := 0; loop x := READ (IN); WRITE (OUT, (x+y)/2); y := x; end loop R in A in A out R out IN OUT filter

34 34 A simple filter: block diagram xy + control R in A in R out A out RxRx AxAx RyRy AyAy RaRa AaAa IN OUT x and y are level-sensitive latches (transparent when R=1) + is a bundled-data adder (matched delay between R a and A a ) R in indicates the validity of IN After A in + the environment is allowed to change IN (R out,A out ) control a level-sensitive latch at the output

35 35 A simple filter: control spec. xy + control R in A in R out A out RxRx AxAx RyRy AyAy RaRa AaAa IN OUT R in + A in + R in – A in – Rx+Rx+ Ax+Ax+ Rx–Rx– Ax–Ax– Ry+Ry+ Ay+Ay+ Ry–Ry– Ay–Ay– Ra+Ra+ Aa+Aa+ Ra–Ra– Aa–Aa– R out + A out + R out – A out –

36 36 A simple filter: control impl. C R in A in RxRx AxAx RyRy AyAy AaAa RaRa A out R out R in + A in + R in – A in – Rx+Rx+ Ax+Ax+ Rx–Rx– Ax–Ax– Ry+Ry+ Ay+Ay+ Ry–Ry– Ay–Ay– Ra+Ra+ Aa+Aa+ Ra–Ra– Aa–Aa– R out + A out + R out – A out –

37 37 Taking delays into account x+ x– y+ y– z+ z– x z y x’ z’ Delay assumptions: Environment: 3 time units Gates: 1 time unit events: x+  x’–  y+  z+  z’–  x–  x’+  z–  z’+  y–  time: 3 4 5 6 7 9 10 12 13 14

38 38 Taking delays into account x z y x’ z’ Delay assumptions: unbounded delays events: x+  x’–  y+  z+  x–  x’+  y– time: 3 4 5 6 9 10 11 very slow failure ! x+ x– y+ y– z+ z–

39 39 Gate vs wire delay models Gate delay model: delays in gates, no delays in wires Wire delay model: delays in gates and wires

40 40 Delay models for async. circuits Bounded delays (BD): realistic for gates and wires. Technology mapping is easy, verification is difficult Speed independent (SI): Unbounded (pessimistic) delays for gates and “negligible” (optimistic) delays for wires. Technology mapping is more difficult, verification is easy Delay insensitive (DI): Unbounded (pessimistic) delays for gates and wires. DI class (built out of basic gates) is almost empty Quasi-delay insensitive (QDI): Delay insensitive except for critical wire forks (isochronic forks). In practice it is the same as speed independent BD SI  QDI DI

41 41 Channel-Based Design Synchronization and communication between blocks implemented with handshaking using asynchronous channels by sending/receiving “data tokens” Synchronous System Asynchronous System Asynchronous channel channel clock

42 42 Channel Design – Single Rail Features Features One request wire One request wire One wire per data bit One wire per data bit One acknowledgment wire One acknowledgment wire Has timing assumptions Has timing assumptions 4-phase bundled-data channel Req Ack Data Data stable 1 2 3 4 Req Ack Data senderreceiver

43 43 Channel Design: Dual Rail & 1-of-N Dual Rail Two wires per data bit Two wires per data bit One acknowledgment wire One acknowledgment wire Advantage: Advantage: Supports delay-insensitive design 1-of-N Generalization of dual-rail Generalization of dual-rail 4-phase 1-of-N channel Ack Data 1 2 3 4 Ack Data (1-of-N) senderreceiver Data T Data F Logical Value 00Reset 010 101 11Invalid

44 44 Anatomy of a Channel-Based Asynchronous Design Architecture is typically a multi-level hierarchy of communicating blocks Architecture is typically a multi-level hierarchy of communicating blocks B N-1 B N-2 B N-3 FA N-1 FA N-2 FA N-3 FA 0 ASIC Main FSM Register Bank Memory Adder/ Mult. Subtract/ Divider Reg C Reg B Adder Multiplier Reg A Yields a hierarchical netlist of cells, where at each level blocks communicate along channels channels leaf cells

45 45 Asynchronous Cells Definition Smallest element that communicates with its neighbors along asynchronous channels Smallest element that communicates with its neighbors along asynchronous channelsFunctionality Reads a subset of input channels Reads a subset of input channels Computes F and writes to a subset of output channels Computes F and writes to a subset of output channels Linear Pipelines Only one input and one output channel Only one input and one output channel F Input Channels Output Channels F

46 46 Cells for Non-Linear Pipelines F Fork Join Conditional Split Conditional Join Non-Linear Pipelines  Joins and Forks  Conditional Joins: Read only some of the input channels  Conditional Splits: Write only to some of the output channels F F F

47 47 Template-Based Leaf-Cell Design Each pipeline style (QDI, timed…) has a different blueprint Create a library using a blueprint to implement the lowest level communicating blocks RCD F LCD C Blueprint for a QDI N-input M-output pipeline stage RCD F LCD C LCD 2-input 1-output pipeline stage RCD F LCD C RCD 1-input 2-output pipeline stage

48 48 Template-Based Leaf-Cell Design Pros Enables fine-grain 2-D pipelining yielding high-performance Simplifies logic synthesis by enabling simple control circuit generation and re-use of typical datapath synthesis Leaf-cells can be layed-out and verified creating a leaf-cell library, localizing timing assumptions Cons Unified template may not be optimal in all cases Particularly, less effective for non-pipelined architectures with more complicated control

49 49 Motivation (designer’s view) Modularity for system-on-chip design Plug-and-play interconnectivity Average-case peformance No worst-case delay synchronization Many interfaces are asynchronous Buses, networks,...

50 50 Motivation (technology aspects) Low power Automatic clock gating Electromagnetic compatibility No peak currents around clock edges Security No ‘electro–magnetic difference’ between logical ‘0’ and ‘1’in dual rail code Robustness High immunity to technology and environment variations (temperature, power supply,...)

51 51 Dissuasion Concurrent models for specification CSP, Petri nets,...: no more FSMs Difficult to design Hazards, synchronization Complex timing analysis Difficult to estimate performance Difficult to test No way to stop the clock

52 52 But... some successful stories Philips AMULET microprocessors Sharp Intel (RAPPID) Start-up companies: Theseus logic, Fulcrum Microsystems, Self–Timed Solutions Recent blurb: It's Time for Clockless Chips, by Claire Tristram (MIT Technology Review, v. 104, no.8, October 2001: http://www.technologyreview.com/magazine/ oct01/tristram.asp) http://www.technologyreview.com/magazine/ oct01/tristram.asp ….


Download ppt "1 Bridging the gap between asynchronous design and designers Peter A. BeerelFulcrum Microsystems, Calabasas Hills, CA, USA Jordi CortadellaUniversitat."

Similar presentations


Ads by Google