Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3525))

Abstract

Handshake Technology is a clockless design style for digital circuits, targeted at applications where low energy consumption and ease of integration are essential. Communicating Sequential Processes play a role at various levels of representation. The design-entry language has parallel composition operators, communication channels for broadcast and narrowcast, and input and output actions on these channels. The intermediate architecture is based on Handshake Circuits, which is a network of components connected by handshake channels. In the implementation of these components in VLSI, models of communication again play a role.

This paper presents how in Handshake Technology the specification and implementation of handshake components is addressed. It is based on a formal definition of handshake protocols, and outlines the obligation for an implementor to establish a relation between handshake events in the implementation and the specification. Examples of two phase, four phase, and spurious-acknowledge implementations of handshake control circuits are discussed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Hoare, C.A.R.: Communicating sequential processes. Communications of the ACM 21, 666–677 (1978)

    Article  MATH  Google Scholar 

  2. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  3. Kahn, G.: The semantics of a simple language for parallel programming. Information Processing 74, 471–475 (1974)

    MathSciNet  Google Scholar 

  4. van Berkel, C.H.K., Niessen, C., Rem, M., Saeijs, W.J.J.: VLSI programming and silicon compilation. In: Proc. International Conf. Computer Design (ICCD), Rye Brook, New York, pp. 150–166. IEEE Computer Society Press, Los Alamitos (1988)

    Google Scholar 

  5. Berkel, K.v., Kessels, J., Roncken, M., Saeijs, R., Schalij, F.: The VLSI-programming language Tangram and its translation into handshake circuits. In: Proc. European Conference on Design Automation (EDAC), pp. 384–389 (1991)

    Google Scholar 

  6. van Berkel, K.: Handshake Circuits: an Asynchronous Architecture for VLSI Programming. International Series on Parallel Computation, vol. 5. Cambridge University Press, Cambridge (1993)

    MATH  Google Scholar 

  7. Peeters, A.M.G.: Single-Rail Handshake Circuits. PhD thesis, Eindhoven University of Technology (1996)

    Google Scholar 

  8. Kessels, J., Peeters, A.: The Tangram framework: Asynchronous circuits for low power. In: Proc. of Asia and South Pacific Design Automation Conference, pp. 255–260 (2001)

    Google Scholar 

  9. Bardsley, A., Edwards, D.: Compiling the language Balsa to delay-insensitive hardware. In: Kloos, C.D., Cerny, E. (eds.) Hardware Description Languages and their Applications (CHDL), pp. 89–91 (1997)

    Google Scholar 

  10. Bardsley, A.: Implementing Balsa Handshake Circuits. PhD thesis, Department of Computer Science, University of Manchester (2000)

    Google Scholar 

  11. Peeters, A., de Wit, M.: Haste manual. Technical report, Handshake Solutions (2004)

    Google Scholar 

  12. Dijkstra, E.W.: Cooperating sequential processes. Programming Languages, 43–112 (1968)

    Google Scholar 

  13. van de Snepscheut, J.L.A.: Trace Theory and VLSI Design. LNCS, vol. 200, pp. 197–204. Springer, Heidelberg (1985)

    MATH  Google Scholar 

  14. Brockett, R.W.: Smooth dynamical systems which realize arithmetical and logical operations. In: Nijmeijer, H., Schumacher, J.M. (eds.) Three Decades of Mathematical Systems Theory: A Collection of Surveys at the Occasion of the 50th Birthday of J. C. Willems. LNCS, vol. 135, pp. 19–30. Springer, Heidelberg (1989)

    Google Scholar 

  15. van Berkel, K.: Beware the isochronic fork. Integration. The VLSI journal 13, 103–128 (1992)

    Article  Google Scholar 

  16. Mohammadi, S., Furber, S., Garside, J.: Designing robust asynchronous circuit components. IEE Proceedings, Circuits, Devices and Systems 150, 161–166 (2003)

    Article  Google Scholar 

  17. Negulescu, R., Peeters, A.: Verification of speed-dependences in single-rail handshake circuits. In: Proc. International Symposium on Advanced Research in Asynchronous Circuits and Systems, pp. 159–170 (1998)

    Google Scholar 

  18. Martin, A.J.: Programming in VLSI: From communicating processes to delay-insensitive circuits. In: Hoare, C.A.R. (ed.) Developments in Concurrency and Communication. UT Year of Programming Series, pp. 1–64. Addison-Wesley, Reading (1990)

    Google Scholar 

  19. Cortadella, J., Kishinevsky, M., Kondratyev, A., Lavagno, L., Yakovlev, A.: Logic Synthesis of Asynchronous Controllers and Interfaces. Springer, Heidelberg (2002)

    Google Scholar 

  20. Weste, N.H.E., Eshraghian, K.: Principles of CMOS VLSI Design: a Systems Perspective, 2nd edn. Addison-Wesley, Reading (1993)

    Google Scholar 

  21. Sparsø, J., Furber, S. (eds.): Principles of Asynchronous Circuit Design: A Systems Perspective. Kluwer Academic Publishers, Dordrecht (2001)

    Google Scholar 

  22. Nanya, T., Ueno, Y., Kagotani, H., Kuwako, M., Takamura, A.: TITAC: Design of a quasi-delay-insensitive microprocessor. IEEE Design & Test of Computers 11, 50–63 (1994)

    Article  Google Scholar 

  23. Bisseling, H., Eemers, H., Kamps, M., Peeters, A.: Designing delay-insensitive circuits. Technical report, IVO, Eindhoven University of Technology (1990)

    Google Scholar 

  24. Rem, M.: Partially ordered computations with applications to VLSI design. In: de Bakker, J.W., van Leeuwen, J. (eds.) Distributed Systems, part 2: Semantics and Logic. Foundations of Computer Science, vol. IV (1983)

    Google Scholar 

  25. Udding, J.T.: Classification and Composition of Delay-Insensitive Circuits. PhD thesis, Dept. of Math. and C.S., Eindhoven Univ. of Technology (1984)

    Google Scholar 

  26. Bailey, A., Josephs, M.: Sequencer circuits for VLSI programming. In: Asynchronous Design Methodologies, may, pp. 82–90. IEEE Computer Society Press, Los Alamitos (1995)

    Chapter  Google Scholar 

  27. Seitz, C.L.: System timing. In: Mead, C.A., Conway, L.A. (eds.) Introduction to VLSI Systems. Addison-Wesley, Reading (1980)

    Google Scholar 

  28. Chelcea, T., Nowick, S.M.: Resynthesis and peephole transformations for the optimization of large-scale asynchronous systems. In: Proc. ACM/IEEE Design Automation Conference (2002)

    Google Scholar 

  29. Berkel, K.v., Bink, A.: Single-track handshaking signaling with application to micropipelines and handshake circuits. In: Proc. International Symposium on Advanced Research in Asynchronous Circuits and Systems, pp. 122–133. IEEE Computer Society Press, Los Alamitos (1996)

    Chapter  Google Scholar 

  30. Keller, R.M.: Towards a theory of universal speed-independent modules. IEEE Transactions on Computers C-23, 21–33 (1974)

    Article  MATH  Google Scholar 

  31. Plana, L.A., Unger, S.H.: Pulse-mode macromodular systems. In: Proc. International Conf. Computer Design (ICCD), pp. 348–353 (1998)

    Google Scholar 

  32. Nyström, M., Martin, A.: Asynchronous Pulse Logic. Kluwer Academic Publishers, Dordrecht (2002)

    Google Scholar 

  33. Sutherland, I.E.: Micropipelines. Communications of the ACM 32, 720–738 (1989)

    Article  Google Scholar 

  34. Peeters, A., van Berkel, K.: Synchronous handshake circuits. In: Proc. International Symposium on Advanced Research in Asynchronous Circuits and Systems, pp. 86–95. IEEE Computer Society Press, Los Alamitos (2001)

    Google Scholar 

  35. Page, I., Luk, W.: Compiling Occam into FPGAs. In: Moore, W., Luk, W. (eds.) FPGAs, pp. 271–283 (1991)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Peeters, A. (2005). Implementation of Handshake Components. In: Abdallah, A.E., Jones, C.B., Sanders, J.W. (eds) Communicating Sequential Processes. The First 25 Years. Lecture Notes in Computer Science, vol 3525. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11423348_7

Download citation

  • DOI: https://doi.org/10.1007/11423348_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25813-1

  • Online ISBN: 978-3-540-32265-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics