1 / 128

Elastic Circuits blending synchronous and asynchronous technologies

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. … t ime is elastic …. S ynchronous circuit. Flip Flops.

chessa
Télécharger la présentation

Elastic Circuits blending synchronous and asynchronous technologies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Elastic Circuitsblending synchronous and asynchronous technologies Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona (joint work with M. Kishinevsky and M. Galceran-Oms) Collège de FranceMay 21st, 2013

  2. … time is elastic … Elastic circuits

  3. Synchronous circuit Flip Flops CombinationalLogic Flip Flops PLL Elastic circuits

  4. Asynchronous circuit L CombinationalLogic L C C delay 4-phase Elastic circuits

  5. Asynchronous circuit ReqIn ReqOut C C C C AckOut AckIn • David Muller’s pipeline (late 50’s) • Sutherland’s Micropipelines (Turing award, 1989) Elastic circuits

  6. Globally-asynchronousLocally-synchronous GALS

  7. 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 DSP P CLK3 Bridge Bridge CDC CDC Fast Bus CLK1 Mem CLK2 Slow Bus Elastic circuits

  8. Multiple clock domains Independent clocks Rational clockfrequencies Single clock(mesochronous) CLK1 f1/f0 CLK (f0) f2/f0 CLK2 CLK0 CLK f3/f0 CLK3 (controllable skew) Elastic circuits

  9. Synchronous handshakes Sender Receiver Data Valid Ack CLK1 CLK2 • The arrival of data is unpredictable • Handshakes solve the problem Elastic circuits

  10. The problem: metastability D Q D Q CLKS CLKR setup hold CLKR D Q ? Elastic circuits

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

  12. Metastability logic 0 logic 1 metastable Elastic circuits

  13. Classical synchronous solution D Q D Q D Q D Q CLKT CLKR Mean Time Between Failures fФ: frequency of the clock fD: frequency of the data tr: resolve time available W: metastability window : resolve time constant Example Elastic circuits

  14. Handshake with synchronizers Sender Receiver Data Valid Ack CLK1 CLK2 • Simple solution • Throughput can be highly degraded:a long round trip for every transaction Elastic circuits

  15. Asynchronous FIFOs Circular buffer Data Data 3-4 cycles 1 cycle 1 cycle Valid Valid FIFO control Ack Ack Clk Out Clk In • 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) Elastic circuits

  16. SoC design with GALS • Bridges for Clock Domain Crossing usually contain asynchronous FIFOs • Latency cost only when interfacing with synchronous domains • No latency penalty between asynchronous domains DSP P CLK3 Bridge Bridge CDC CDC Fast Bus CLK1 Mem CLK2 Slow Bus Elastic circuits

  17. Synchronous and Asynchronousmeeting each other

  18. Meanwhile, a small village ofindomitable engineers was resisting the synchronous occupation … Asynchronia Elastic circuits

  19. 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 designwithM. Kishinevskyand J. Cortadella, 2004) Elastic circuits

  20. Async and Sync meeting each other Async • Modular (time elasticity) • But hard to analyze and synthesize J. O’Leary and G. Brown, 1997Synchronous emulation of asynchronous circuits A. Peetersand K. Van Berkel, 2001 Synchronous handshake circuits Elastic Circuits(Sync / Async) Cortadella et al., Desynchronization, 2003 L. Carloni et al., 1999A methodology for correct-by-construction latency-insensitive design • Easy to analyze and synthesize • Not modular (time rigid) Sync Elastic circuits

  21. Different flavors of elasticity … … + Rigid 4 7 1 … 4 8 3 time … 0 1 2 … 4 + 7 1 a … 3 4 8 0 1 2 Asynchronous … 7 1 4 1 2 0 … + e … 8 4 3 Synchronous Elastic Elastic circuits

  22. 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 circuits

  23. … even at design time Sender Receiver CLK Can we add a register without modifying the functionality of the system? Elastic circuits

  24. Many systems are already elastic AMBA AXI bus protocol Handshake signals Elastic circuits

  25. Designing withsynchronous elasticity

  26. Communication channel sender receiver Data Data Long wires: slow transmission Elastic circuits

  27. Pipelined communication Data sender receiver Data How about if the sender does not always send valid data? Elastic circuits

  28. Pipelined communication Data sender receiver Data Elastic circuits

  29. Pipelined communication Data sender receiver Data Elastic circuits

  30. Pipelined communication Data sender receiver Data Elastic circuits

  31. Pipelined communication Data sender receiver Data ??? Elastic circuits

  32. The Valid bit sender receiver Data Data Valid Valid Elastic circuits

  33. The Valid bit Data Valid sender receiver Data Valid Elastic circuits

  34. The Valid bit Data Valid sender receiver Data Valid Elastic circuits

  35. The Valid bit Data Valid sender receiver Data Valid Elastic circuits

  36. The Valid bit Data Valid sender receiver Data Valid How about if the receiver is not always ready ? Elastic circuits

  37. The Stop bit sender receiver Data Data Valid Valid Stop Stop 0 0 0 0 0 Elastic circuits

  38. The Stop bit sender receiver Data Data Valid Valid Stop Stop 0 0 0 1 1 Elastic circuits

  39. The Stop bit sender receiver Data Data Valid Valid Stop Stop 0 0 1 1 1 Elastic circuits

  40. The Stop bit sender receiver Data Data Valid Valid Stop Stop 1 1 1 1 1 Back-pressure Elastic circuits

  41. The Stop bit sender receiver Data Data Valid Valid Stop Stop 1 1 1 1 0 Elastic circuits

  42. The Stop bit sender receiver Data Data Valid Valid Stop Stop 0 0 0 0 0 Elastic circuits

  43. The Stop bit sender receiver Data Data Valid Valid Stop Stop 0 0 0 0 0 Elastic circuits

  44. The Stop bit sender receiver Data Data Valid Valid Stop Stop 0 0 0 0 0 Elastic circuits

  45. The Stop bit sender receiver Data Data Valid Valid Stop Stop 0 0 0 0 0 Elastic circuits

  46. The Stop bit sender receiver Data Data Valid Valid Stop Stop 0 0 0 0 1 Long combinational path Elastic circuits

  47. Relay stations (Carloni, 1999) sender receiver shell shell main main main pearl pearl aux aux aux Elastic circuits

  48. Relay stations (Carloni, 1999) sender receiver shell shell main main main pearl pearl aux aux aux Elastic circuits

  49. Relay stations (Carloni, 1999) sender receiver shell shell main main main pearl pearl aux aux aux Elastic circuits

  50. Relay stations (Carloni, 1999) sender receiver shell shell main main main pearl pearl aux aux aux Elastic circuits

More Related