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.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Hoare, C.A.R.: Communicating sequential processes. Communications of the ACM 21, 666–677 (1978)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
Kahn, G.: The semantics of a simple language for parallel programming. Information Processing 74, 471–475 (1974)
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)
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)
van Berkel, K.: Handshake Circuits: an Asynchronous Architecture for VLSI Programming. International Series on Parallel Computation, vol. 5. Cambridge University Press, Cambridge (1993)
Peeters, A.M.G.: Single-Rail Handshake Circuits. PhD thesis, Eindhoven University of Technology (1996)
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)
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)
Bardsley, A.: Implementing Balsa Handshake Circuits. PhD thesis, Department of Computer Science, University of Manchester (2000)
Peeters, A., de Wit, M.: Haste manual. Technical report, Handshake Solutions (2004)
Dijkstra, E.W.: Cooperating sequential processes. Programming Languages, 43–112 (1968)
van de Snepscheut, J.L.A.: Trace Theory and VLSI Design. LNCS, vol. 200, pp. 197–204. Springer, Heidelberg (1985)
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)
van Berkel, K.: Beware the isochronic fork. Integration. The VLSI journal 13, 103–128 (1992)
Mohammadi, S., Furber, S., Garside, J.: Designing robust asynchronous circuit components. IEE Proceedings, Circuits, Devices and Systems 150, 161–166 (2003)
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)
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)
Cortadella, J., Kishinevsky, M., Kondratyev, A., Lavagno, L., Yakovlev, A.: Logic Synthesis of Asynchronous Controllers and Interfaces. Springer, Heidelberg (2002)
Weste, N.H.E., Eshraghian, K.: Principles of CMOS VLSI Design: a Systems Perspective, 2nd edn. Addison-Wesley, Reading (1993)
Sparsø, J., Furber, S. (eds.): Principles of Asynchronous Circuit Design: A Systems Perspective. Kluwer Academic Publishers, Dordrecht (2001)
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)
Bisseling, H., Eemers, H., Kamps, M., Peeters, A.: Designing delay-insensitive circuits. Technical report, IVO, Eindhoven University of Technology (1990)
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)
Udding, J.T.: Classification and Composition of Delay-Insensitive Circuits. PhD thesis, Dept. of Math. and C.S., Eindhoven Univ. of Technology (1984)
Bailey, A., Josephs, M.: Sequencer circuits for VLSI programming. In: Asynchronous Design Methodologies, may, pp. 82–90. IEEE Computer Society Press, Los Alamitos (1995)
Seitz, C.L.: System timing. In: Mead, C.A., Conway, L.A. (eds.) Introduction to VLSI Systems. Addison-Wesley, Reading (1980)
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)
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)
Keller, R.M.: Towards a theory of universal speed-independent modules. IEEE Transactions on Computers C-23, 21–33 (1974)
Plana, L.A., Unger, S.H.: Pulse-mode macromodular systems. In: Proc. International Conf. Computer Design (ICCD), pp. 348–353 (1998)
Nyström, M., Martin, A.: Asynchronous Pulse Logic. Kluwer Academic Publishers, Dordrecht (2002)
Sutherland, I.E.: Micropipelines. Communications of the ACM 32, 720–738 (1989)
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)
Page, I., Luk, W.: Compiling Occam into FPGAs. In: Moore, W., Luk, W. (eds.) FPGAs, pp. 271–283 (1991)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)