Presentation is loading. Please wait.

Presentation is loading. Please wait.

Advanced Digital Design

Similar presentations


Presentation on theme: "Advanced Digital Design"— Presentation transcript:

1 Advanced Digital Design
Asynchronous Design: Principles by A. Steininger and M. Delvai Vienna University of Technology

2 © A. Steininger & M. Delvai / TU Vienna
recall Previous Conclusion The purpose of a design style is to provide information for flow control. Boolean Logic alone cannot provide this information. Severe technological problems force us to question the current (synchronous) design practice. We shall focus on that. Alternatives must be evaluated very critically with respect to improvements concerning power, area, robustness, ease of composition, testability and performance. Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

3 © A. Steininger & M. Delvai / TU Vienna
recall What we actually need When can SNK use its input? When it is valid and consistent f(x) SRC SNK When can SRC apply the next input? When SNK has consumed the previous one Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

4 © A. Steininger & M. Delvai / TU Vienna
recall Ideal Design Method An ideal design method … minimizes power consumption miminizes circuit overhead naturally supports composability naturally aids testability yields robust circuits yields fast circuits. Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

5 © A. Steininger & M. Delvai / TU Vienna
Outline The Handshake Principle Sutherland‘s Micropipeline Transition Signaling & Muller C-Element The Bounded Delay Approach Other Delay Models Huffmann Circuits Asynchronous State Machines Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

6 © A. Steininger & M. Delvai / TU Vienna
recall Our Options We must only use consistent input vectors How can we tell an input vector is consistent? (1) use TIME to mark consistent phases synchronous approach / global time base asynchronous/bounded delay (2) use CODING to add information asynchronous/delay insensitive Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

7 Asynchronous Philosophy
„The control flow requires agreement between source and sink. For this purpose they need to communicate“ Source indicates capture condition for sink. Sink indicates issue condition for source. „HANDSHAKE“ Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

8 © A. Steininger & M. Delvai / TU Vienna
Handshake Principle REQ: „Data word valid, you can use it“ When can SNK use its input? When it is valid and consistent f(x) SRC SNK When can SRC apply the next input? When SNK has consumed the previous one ACK: „Data word consumed, send the next“ Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

9 Micropipeline: Principle
ACKn REQn-1 ACKn+1 C C REQn f(x) R1 R2 Tclk so bemessen, dass F(x) einschwingen können und sicher den Wert angenommen haben. capture „bundled data“ (handshake performed for „bundle“ of data) Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

10 A very Important Detail
The handshake establishes a closed-loop control for the data flow between sender and receiver This makes operation more robust than in the synchronous (= open-loop) case The art of asynchronous design is to make many of these closed loops interoperate properly This is much more complicated than a synchronous design. Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

11 © A. Steininger & M. Delvai / TU Vienna
Micropipe: Capturing capture data if predecessor has new data available (REQn-1) and successor is ready to accept new data (ACKn+1) produce  at capture (output) after  of REQ and  of ACK Muller C-Element REQn-1 ACKn+1 C Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

12 © A. Steininger & M. Delvai / TU Vienna
Muller C-Element IF a = = b THEN y = a ELSE hold y a b C y reset a a C RS y y b b set Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

13 Muller C-Element: Circuit
[Martin] [Sutherland] [van Berkel] Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

14 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline „FIFO for transitions“ C RIN AOUT ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

15 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline initial state C C RIN AOUT C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

16 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline request (rising edge) C C RIN AOUT C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

17 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline request passes stage 1 C C RIN AOUT C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

18 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline request passes stage 2 C C RIN AOUT C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

19 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline request passes stage 3 => output C C RIN AOUT C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

20 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline further request (falling edge) C C RIN AOUT C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

21 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline new request passes stage 1 C C RIN AOUT C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

22 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline new request passes stage 2 C C RIN AOUT C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

23 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline new request blocked for stage 3 C C RIN AOUT Req 1 remains „stored“ C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

24 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline one more request … C C RIN AOUT C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

25 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline … passes stage 1 only … C C RIN AOUT C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

26 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline ... ands remains stored there C C RIN AOUT Req 3 stored here Req 2 stored here Req 1 stored here C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

27 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline acknowledge from output (rising edge) C C RIN AOUT Req 3 Req 2 Req 1 C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

28 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline ack passes stage 3 C C RIN AOUT C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

29 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline stage 2 is now free for… C C RIN AOUT Req 3 Req 2 C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

30 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline … request from stage 1 C C RIN AOUT Req 3 Req 2 C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

31 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline new ack (falling edge) … C C RIN AOUT Req 3 Req 2 C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

32 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline ... allows remaining request to move up to stage 3 C C RIN AOUT Req 3 C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

33 © A. Steininger & M. Delvai / TU Vienna
Elastic Pipeline ready for new req or ack C C RIN AOUT Req 3 C ROUT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

34 Micropipe: Implementation
Capture/Pass Register ACK comb comb comb REQ Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

35 Capture/Pass Register
must react to both edges („two phase handshake“) has dedicated input for both, „capture“ and „pass“ has delayed output for both control inputs („capture done“, „pass done“ to make sure capture occurs before „capture done“ is output c pD cD p Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

36 © A. Steininger & M. Delvai / TU Vienna
Transition Signaling Information conveyed by edges, not by state Advantage: edges also contain time information Drawback: need two rails per bit 1 1 1 A0 A1 Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

37 © A. Steininger & M. Delvai / TU Vienna
recall Terminology consistent DW: all bits belong to the same context valid signal: result of function applied to consistent DW Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

38 Trans. Signaling - Example
B=1 B0 B=0 B1 Y = A or B Y0 Y=1 Y1 Y=1 Lecture "Advanced Digital Design" A © A. Steininger & M. Delvai / TU Vienna

39 Closed loop vs. open loop
Previous example assumed a certain procedure: one input changes (once!) other input changes (once!) then output changes (once!) Is this realistic? NO, if inputs are not correlated with output („open loop operation“) YES, in case of synchronization by means of handshake, i.e. in Micropipeline („closed loop operation“) Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

40 © A. Steininger & M. Delvai / TU Vienna
2 Phase vs. 4 Phase 2 phase protocol: 4 phase protocol REQ REQ ACK ACK REQ REQ ACK ACK Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

41 Micropipe: Implementation
comb comb comb DELAY ELEMENT Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

42 © A. Steininger & M. Delvai / TU Vienna
The need for a delay REQ: „Data word valid, you can use it“ event = issue of data word ! race condition ! f(x) SRC SNK ACK: „Data word consumed, send the next“ event = latching of data word safe (?) Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

43 © A. Steininger & M. Delvai / TU Vienna
Example: Centronix Data „REQ“ „ACK“ [Centronix Spec for ETRAX100LX, „Fastbyte Mode“] Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

44 Bounded Delay approach
TRGSNK (REQ) tSRC tSNK Timer SRC Timer SNK TRGSRC (ACK) coordinate SNK & SRC by a handshake This works (quite) well for „ACK“, but still requires a timer-solution for REQ So what have we actually gained? Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

45 Softening the restrictions
synchronous model known bounds for delays, global timing bounded delay model (fundamental) known bounds for absolute delays, local timing scalable-delay-insensitive model bounds for relative deviation between delays known quasi-delay-insensitive output paths of a fork have same delay delay insensitive no restrictions on delays (just finite) syn: optimistisch, immer schwieriger zu erfüllen Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

46 © A. Steininger & M. Delvai / TU Vienna
recall The Issue Condition tSNK Control TRGSRC: Have SRC issue the next data word such that the current one can still be safely consumed by SNK. Formal Condition: tinvalid,x > tsafe,x msrc > - Dinvalid Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

47 Bundled Data: Issue Cond.
Delay source trigger by tsnk = Dsnktrg + Dcons+ msrc This is the delay between „capture“ and „capture done“ in the micropipeline. For tsnk = 0 we end up like in the synchronous case: msrc = -(Dsnktrg + Dcons) this is not safe, but works Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

48 © A. Steininger & M. Delvai / TU Vienna
recall The Capture Condition tSRC Control TRGSNK: Have SNK capture data only after it has become consistent. Formal Condition: tcons,x > tsnkrdy,x msnk > - Dsnktrg Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

49 Bundled Data: Capture Cond.
Delay source trigger by tsrc = Dsrc + Dproc + Dsnk + msnk This definitely requires a delay element. like in the synchronous case we end up estimating the involved delays Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

50 © A. Steininger & M. Delvai / TU Vienna
Drawback of the delay the skew problem still exists (!) need to determine suitable value for D need to make worst case assumptions for determination of D does not work without constraints on the individual path delays „Bounded Delay Model“ Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

51 © A. Steininger & M. Delvai / TU Vienna
recall What we actually need When can SNK use its input? When it is valid and consistent f(x) SRC SNK „completion detection“: When are computation & transmission complete and data actually stable? Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

52 © A. Steininger & M. Delvai / TU Vienna
Current Sensing: Idea Transitions on data rails cause dynamic current In the absence of dynamic current data must be stable current sensor can be used for completion detection Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

53 Current Sensing: Problems
inversion of causality is not safe: What if bit changes after circuit has been considered stable? leakage dominates – proportion of dynamic current is decreasing current sensor is undesired analog circuitry Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

54 © A. Steininger & M. Delvai / TU Vienna
Gain of Bounded Delay timer settings need to determine clock period circuit functionality is technology dependent considerable design efforts, large design loops need to make worst-case assumptions necessarily pessimistic no robustness wrt. exceeding them need to maintain global synchrony clock distribution problems power consumption problems Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

55 © A. Steininger & M. Delvai / TU Vienna
Why not avoid Skew? Just change a single bit at a time, then skew does not take effect Data permanently consistent Skew REALLY? Lecture "Advanced Digital Design" A © A. Steininger & M. Delvai / TU Vienna

56 © A. Steininger & M. Delvai / TU Vienna
Still glitches… 1 1 1 Glitch! single transition Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

57 © A. Steininger & M. Delvai / TU Vienna
Huffman Circuits „glitch free“ logic circuits add redundant P-terms to minimized representation problems: not all glitches can be avoided severe restrictions for inputs redundant terms not testable Startzustand und Endzustand müssen auf einer gemeinsamen Rechteck-Fläche (all1 or all0) im KV-Diagramm liegen Delay für feedback stellt sicher, dass Schaltung nach Änderung von 1 Input-Bit eingeschwungen ist, bevor ein evtl. Feedback-Input sich ändert Einschwingvorgang: Input change => Durchlaufzeit => state change => delay => feedback change => Durchlaufzeit danach erst weiterer Input change zulässig ! Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

58 © A. Steininger & M. Delvai / TU Vienna
KV Diagram extension WX W WX W 00 01 11 10 YZ YZ 00 01 11 10 00 1 1 00 1 1 1 1 01 01 1 1 Z Z 11 1 1 1 1 11 1 1 1 1 Y Y 10 1 1 10 1 1 X X F = (X  Y  Z)  (W  Z)  (W  Y) F = (X  Y  Z)  (W  Z)  (W  Y)  (W  X  Y)  (W  X  Z)  (Y  Z) Lecture "Advanced Digital Design" A © A. Steininger & M. Delvai / TU Vienna

59 © A. Steininger & M. Delvai / TU Vienna
Input Restrictions Fundamental Mode („Grey-Coding“) only one input-bit changes at a time  delay in feedbacks required  difficult state coding  not suitable for data path elements Burst Mode groups of inputs may change  requires local clock Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

60 © A. Steininger & M. Delvai / TU Vienna
Delayed Feedback Outputs Inputs x1 Z1 xn Zm Combinational logic y1 Next State Current State yk Delay Elements Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

61 Huffman Circuits: Problems
feedback delay implies timing-assumptions („Bounded Delay“) considerably slows down operation complicated design state coding, data path localen clock for burst mode testing of redundant terms cumbersome no structuring not suitable as a stand-alone solution Lecture "Advanced Digital Design" A © A. Steininger & M. Delvai / TU Vienna

62 © A. Steininger & M. Delvai / TU Vienna
Asynchronous FSM transition between states triggered by input edge rather than by synchronous clock need delay to separate transitions in feedback from (primary) input transitions restrictions for inputs and feedback apply Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

63 © A. Steininger & M. Delvai / TU Vienna
FSM versus AFSM Mealy f(x) f(x) input output t Reg clk Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

64 © A. Steininger & M. Delvai / TU Vienna
State Diagram AFSM ab/xy ab/xy s0 s0 00/00 b-/x- 10/10 a+/x+ s1 s3 s1 s3 00/11 a-/y+ 01/10 b+/y- s2 s2 Burst Mode Diagram [Chris Myers, Asynchronous Circuit Design. Wiley 2001] Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

65 © A. Steininger & M. Delvai / TU Vienna
Huffmann Flow Table input [Chris Myers, Asynchronous Circuit Design. Wiley 2001] a,b state 00 01 11 10 s0 s0,00 s1,10 s1 s2,11 s2 s3,10 s3 next state output stable Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

66 © A. Steininger & M. Delvai / TU Vienna
Conclusion Alternatively to a global time base a handshake can establish the required synchronization between source and sink: The source issues a REQ to signal that new data are valid, and the sink issues ACK when it is ready for the next data. In principle the handshake can establish a closed control loop for data flow, which yields higher robustness but variable timing. The micropipeline is the basic approach for structuring asynchronous circuits. It couüples individual source/sink pairs Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna

67 © A. Steininger & M. Delvai / TU Vienna
Conclusion The bundled data approach utilizes coupled timers for the control of REQ and ACK. This saves the need for a clock tree, but does not solve the conceptual problem of coupling validity to time. Huffman circuits are useful for designing small sub-circuits and state machines in a glitch-free manner. They do, however not provide a generally applicable design solution. Lecture "Advanced Digital Design" © A. Steininger & M. Delvai / TU Vienna


Download ppt "Advanced Digital Design"

Similar presentations


Ads by Google