Abstract
We suggest the use of a declarative programming language to design and describe circuits, concentrating on the use of higher-order functions to structure and simplify designs. In order to describe sequential circuits, we use a language, µ fp, which abstracts from temporal iteration. The practicalities of vlsi design make regularity attractive, and we describe the use of familiar higher order functions to capture spatial iteration.
By reasoning about circuits rather than signals (programs rather than data) one abstracts from the sequential nature of a circuit. By reasoning about forms of circuit (higher order functions) one can devise implementation strategies for whole classes of algorithms. Reasoning about µ fp is formally quite similar to reasoning about fp.
In this paper we identify the semantic content of the formal similarity between fp and µ fp. This makes it possible to carry over from conventional functional programming those intuitions we have about algorithm design. It also makes it possible to conduct parts of a design in the simpler world of static calculations, with confidence in the correctness of the corresponding sequential circuit.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
J. Backus, ‘Can programming be liberated from the von Neumann style?’, Commun. ACM, vol. 21 (8), pp. 613–641, 1978.
M.J.C. Gordon, ‘Why higher order logic is a good formalism for specifying and verifying hardware’, Technical report No. 77, Cambridge University Computing Laboratory, 1985.
G. Jones and W. Luk, ‘Exploring designs by circuit transformation’, in W. Moore, A. McCabe and R. Urquhart (eds.), ‘Systolic Arrays’, Bristol: Adam Huger, 1987, pp. 91–98.
C.E. Leiserson and J.B. Saxe, ‘Optimising synchronous systems’, J VLSI & Comput. Syst., 1983, vol. 1 (1), pp. 41–67.
M. Sheeran, ‘µFP, an Algebraic VLSI design language’, D.Phil. thesis, University of Oxford, 1983.
M. Sheeran, ‘Designing regular array architectures using higher order functions’, in Proc. Int. Conference on Functional Programming Languages and Computer Architecture, Springer-Verlag LNCS 201, 1985, pp. 220–237.
M. Sheeran, ‘Design and verification of regular synchronous circuits’, IEE Proceedings, vol. 133, Pt. E, No. 5, pp. 295–304 September 1986.
M. Sheeran and G. Jones, ‘Relation + Higher Order Functions = Hardware Descriptions’, in IEEE Proc. Comp Euro 1987, pp. 303–306
U.C. Weiser and A.L. Davis, ‘A wavefront notation tool for VLSI array design’, in H.T. Kung, R.F. Sproull and G.L. Steele (eds.), ‘VLSI systems and computations’ (Computer Science Press, 1981 ), pp. 226–234.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1988 Plenum Press, New York
About this chapter
Cite this chapter
Jones, G., Sheeran, M. (1988). Timeless Truths about Sequential Circuits. In: Tewksbury, S.K., Dickinson, B.W., Schwartz, S.C. (eds) Concurrent Computations. Springer, Boston, MA. https://doi.org/10.1007/978-1-4684-5511-3_14
Download citation
DOI: https://doi.org/10.1007/978-1-4684-5511-3_14
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4684-5513-7
Online ISBN: 978-1-4684-5511-3
eBook Packages: Springer Book Archive