Abstract
We present two new ways to implement ordinary programs with logic gates. One, like imperative programs, has an associated memory to store state; the other, like functional programs, passes the state from one component to the next. Application-specific circuit design can be done more effectively by using a standard programming language to describe the function that a circuit is intended to perform, rather than by describing a circuit that is intended to perform that function. The resulting circuits are produced automatically; they behave according to the programs, and have the same structure as the programs. For timing, we use local delays, rather than a global clock or local handshaking. We give a formal semantics for both programs and circuits in order to prove our circuits correct. By simulation, we also demonstrate that the circuits perform favorably compared to others.
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
C.H.vanBerkel, J.Kessels, M.Roncken, R.W.J.J.Saeijs, F.Schalij. The VLSI programming language Tangram and its translation into handshake circuits. In Proceedings of the European Design Automation Conference, 1991.
C.H.vanBerkel. Handshake circuits — an asynchronous architecture for VLSI programming Cambridge University Press, 1993.
S.M.Burns, A.J.Martin. Performance analysis and optimization of asynchronous circuits. In Proceedings of the 1991 UC Santa Cruz Conference on VLSI, MIT Press, 1991.
C.DelgadoKloos. Semantics of Digital Circuits,Lecture Notes in Computer Science volume 285, Springer, 1987.
] W.Luk, D.Ferguson, I.Page. Structured Hardware Compilation of Parallel Programs. In More Field-Programmable Gate Arrays, W.Moore and W.Luk (eds.), Abingdon EEandCS Books, 1994.
A.J.Martin. Programming in VLSI: from communicating processes to delay-insensitive circuits. In Developments in Concurrency and Communication, C.A.R.Hoare (ed.), University of Texas at Austin Year of Programming Series, Addison-Wesley, 1990.
S.Mazor, P.Langstraat. a Guide to VHDL, Kluwer, 1992.
T.S.Norvell. a Predicative Theory of Machine Languages and its Application to Compiler Correctness. PhD thesis, University of Toronto, 1994.
I.Page, W.Luk. Compiling occam into field-programmable gate arrays. In Field-Programmable Gate Arrays, W.Moore and W.Luk (eds.), p.271–283, Abingdon EEandCS Books, 1991.
R.F.Paige. Correctness and Performance Analysis of Imperative and Functional Circuits. MSc thesis, University of Toronto, 1994. www.cs.yorku.ca/—paige/Writing/MSc.dvi
M.Rem. Partially Ordered Computations with Applications to VLSI Design,Technical Report MR83/3, Eindhoven University of Technology, 1982
J.L.A.van de Snepscheut. Trace Theory and VLSI Design,Lecture Notes in Computer Science volume 200, Springer, 1985.
D.E.Thomas, P.Moorby. the Verilog Hardware Description Language, Kluwer, 1991.
S.Weber, B.Bloom, G.Brown. Compiling Joy into Silicon. In Advanced Research in VLSI and Parallel Systems, T. Knight and J. Savage (eds.), MIT Press, 1992.
Editor information
Editors and Affiliations
Additional information
This paper is dedicated to the memory of Jan van de Snepscheut, 1953–1994.
Rights and permissions
Copyright information
© 2003 Springer Science+Business Media New York
About this chapter
Cite this chapter
Hehner, E.C.R., Norvell, T.S., Paige, R.F. (2003). High-level circuit design. In: McIver, A., Morgan, C. (eds) Programming Methodology. Monographs in Computer Science. Springer, New York, NY. https://doi.org/10.1007/978-0-387-21798-7_18
Download citation
DOI: https://doi.org/10.1007/978-0-387-21798-7_18
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4419-2964-8
Online ISBN: 978-0-387-21798-7
eBook Packages: Springer Book Archive