14 March 2022
02204 Design of asynchronous circuits
General course information (Spring 2022)
The
purpose of this document is to provide information about the course to
prospective students and others interested in the course. It is intended as a
supplement to the course description in the DTU course catalogue. For the daily
communication during the semester we use the DTU-campusnet, and therefore the course resources are only
available to students registered for the course.
Asynchronous circuits
Asynchronous circuits are circuits that operate without a (single) global clock. Today almost all circuits of realistic complexity – including the processor in your laptop – are asynchronous according to this definition.
There are many ways of designing asynchronous circuits, and practical circuits often mix several approaches. Asynchronous circuits can be built using components that are internally clocked, and such circuits are called globally asynchronous locally synchronous (GALS) circuits. When designing GALS systems the key challenges are to safely handle flip-flop metastability in the interface circuitry of the individually clocked modules, and to optimize for low latency and high throughput. Asynchronous circuits can also be designed without any clocks at all. Instead, small hazard-free asynchronous sequential circuits that communicate using some form of handshake protocol are used to generate local clock ticks for the individual registers. It is even possible to design asynchronous circuits whose operation is completely insensitive to gate and wire delays. In the course we will cover both fully asynchronous circuits and GALS-style circuits.
Advantages of asynchronous circuits
Clock distribution and clock skew are two increasingly difficult challenges that make system-wide synchronous operation almost impossible. Asynchronous design is an alternative approach which avoids these problems.
Asynchronous circuits operate in a data-driven manner based on local handshaking between components. Asynchronous circuits have a number of characteristics and potential advantages some of which are:
– The fact that the individual registers are only clocked when and where necessary, can be exploited to reduce power consumption.
– The fact that registers are clocked at “random” points in time tends to reduce spikes in the supply current and in the electromagnetic noise emitted from the circuit.
– The fact that components use interface protocols with explicit timing protocols (rather than assuming an implicit global clock) increases modularity and robustness towards timing variability, and it can simplify the problem related to system-level timing closure.
– The fact that components indicate completion may lead to average case performance rather than worst case performance.
Aim of the course
Asynchronous design requires a different mental approach from that normally employed in clocked design, and attempts to take an existing clocked system and take out the clock and simply replace it with asynchronous handshaking is doomed to disappoint.
The aim of the course is to introduce the participants to asynchronous circuit design. The course will motivate the use of asynchronous circuits and teach the basic theory and concepts, such that the participants will be able to:
– Design asynchronous control- and data processing circuits of small and medium complexity.
– Read and understand the literature.
– Use typical CAD tools for asynchronous design.
– Decide where/whether to use asynchronous circuits in their next design.
– Design and analyze GALS interface circuits
Instructor.
Professor
Jens Sparsø
Lectures and Labs:
Mondays
13h:00-17h:00. Lectures
are in building 3524 room 019.
Tentative
lecture plan, spring 2022 (last updated 14 March 2022)
Week # |
Date |
Topic |
Reading |
Problems /Project |
5 |
31 January |
Introduction + theory |
[1] Ch. 1+2 |
Prob. 1, 2, 3. |
6 |
7 February |
Theory + data flow |
[1] Ch 2+3 |
Prob. |
7 |
14 February |
Performance
(qualitative) Basic circuit implementation |
[1] Ch. 4 + 5 |
Prob. |
8 |
21 February |
Signal Transition Graphs Control circuits synthesis using WorkCraft |
[1] Ch. 6 + WorkCraft |
Prob. |
9 |
28 February |
No Lecture Work on your problem portfolio (problems 1 – 14) |
|
Prob. |
10 |
7 March |
Performance analysis using timed Petri nets |
[1] Ch. 7 |
Prob. |
11 |
14 March |
Metastability, synchronization and GALS |
[1] Ch. 8 Article [1] |
Prob. Introduction of project topics |
12 |
21 March |
Advanced protocols and circuits. Two-phase bundled data |
[1] Ch. 9 +10 (Background Articles [3–5]) |
Prob./Project |
13 |
28 March |
High level
design (Syntax directed translation) |
[1] Ch. 11 |
Prob./project Problem portfolio due |
14 |
4 april |
Asynchronous NOCs. - ARGO |
Articles [6–8] |
|
15 |
11 April |
Easter vacation |
|
|
16 |
18 April |
Easter vacation |
|
|
17 |
25 April |
Desynchronization |
Article [9] |
Project |
18 |
2 May |
T.B.D. |
|
Project |
19 |
9 May |
Course wrap up |
|
Project |
|
|
|
Project report due 12 May |
Course material
· Textbook; J. Sparsø, Introduction to Asynchronous Circuit design (Kindle Direct Publishing, 2022). Chapters 1-11, pages 1-255.
[2] R. Ginosar, “Metastability and Synchronizers: A Tutorial”, IEEE Design & Test of Computers, vol. 28. No. 5, pp. 23-35, October 2011.
[3] A. Mardari, Z. Jelcicova and J. Sparsø, “Design and FPGA-implementation of asynchronous circuits using two-phase handshaking”, Proc. IEEE International Symposium on Asynchronous Circuits and Systems (ASYNC), pp. 9-18, 2019.
[4] M. Singh and S.M: Nowick, “MOUSETRAP: High-Speed Transition-Signaling Asynchronous Pipelines”, IEEE Trans. Very Large Scale Integration (VLSI) Systems, Volume 15, Issue 6, pp. 684-698, 2007.
[5] A. Peeters, F. te Beest, M. de Wit, W. Mallon, “Click Elements - An Implementation Style for Data-Driven Compilation”, Proc. IEEE Symposium on Asynchronous Circuits and Systems, pp.3-14, 2010
[6] E. Kasapaki, J. Sparsø, “A Time-Elastic Time-Division-Multiplexed NOC using Asynchronous Routers”. Proc. IEEE International Symposium on Asynchronous Circuits and Systems, pp. 45-52, 2014.
[7] E. Kasapaki, J. Sparsø, “The Argo NOC: Combining TDM and GALS”, Proc. European Conference on Circuit Theory and Design (ECCTD), 4 pages, 2015.
[8] E. Kasapaki, M. Schoeberl, R.B. Sørensen, C. Müller, K. Goossens, and J. Sparsø, "Argo: A Real-Time Network-on-Chip Architecture With an Efficient GALS Implementation," IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol: 24, issue: 2, pages: 479-492, 2016.
[9] J. Carmona, J. Cortadella, M. Kishinevsky, A. Taubin, “Elastic Circuits”, Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 28, No. 10, pp.1437-1455.
[10] More may be added later
–
WorkCraft www.workcraft.org
Supplementary
material:
Some
books or book chapters for those interested in exploring more:
Exam
There is
no exam. The grade will be based on a portfolio consisting of
Web resources
–
WorkCraft: https://workcraft.org/ (includes Petrify)
Other tools (Just for your information we don’t use them):
–
“CaSCADE package”: http://www.cs.columbia.edu/~nowick/asynctools/
– PETRIFY: http://www.lsi.upc.edu/~jordicf/gavina/asynchronous.html
Clicking on “petrify” in the text takes you to the download site.
– Asynchronous VLSI tools: Link given on Rajit Manohar’s web page http://csl.yale.edu/~rajit/ (CHP / Caltech style design)
– IEEE Intl. Symposium on Asynchronous Circuits and Systems. www.asyncsymposium.org