Hardware and software: The closing gap
The study of computing science is split at an early stage between the branches dealing separately with hardware and software; and there is a corresponding split in later professional specialisation. This paper explores the essential unity and overlap of the two branches. The basic concepts are those of occam, taken as a simple example of a high-level programming language; its notations may be translated by the laws of programming to the machine code of a conventional machine. Almost identical transformations can produce the networks of gates and flip-flops which constitute a hardware design. These insights are being exploited in hybrid systems, implemented partly in hardware and partly in software. A TRAM-standard printed circuit board called HARP has been constructed for such applications. It links a transputer by shared memory with a commercial Field Programmable Gate Array. Prospects for application are discussed.
Unable to display preview. Download preview PDF.
- C.A.R. Hoare, Mathematical Logic and Programming Languages, chapter ‘Programs are Predicates', 141–154, Prentice-Hall, 1985.Google Scholar
- C.A.R. Hoare et al., ‘Laws of programming', Comm. ACM, 30(8), 672–686, (1987).Google Scholar
- A.W. Roscoe and C.A.R. Hoare, ‘Laws of occam programming', P.R.G. Monograph, Oxford University Computing Laboratory, (1986).Google Scholar
- E.W. Dijkstra, ‘A constructive approach to the problem of program correctness', BIT, 8, 174–186, (1968).Google Scholar
- He Jifeng, C.A.R. Hoare, and A. Sampaio, ‘Normal form approach to compiling specifications', Acta Informatica, (1994). to appear.Google Scholar
- Ian Page and Wayne Luk, ‘Compiling occam into FPGAs', in FPGAs, 271–283, Abingdon EE&CS Books, (1991).Google Scholar
- Michael Spivey and Ian Page, ‘How to Program in Handel', Technical Report, Oxford University Computing Laboratory, (1993).Google Scholar
- Ian Page, ‘Parametrised Processor Generation', in FPGAs 93, to be published by Abingdon EE&CS Books (probably), (1993).Google Scholar
- Ian Page and Wayne Luk and Henry Lau, ‘Hardware Compilation for FPGAs: Imperative and Declarative Approaches for a Robotics Interface', in Proc. IEE Colloquium on Field-Programmable Gate Arrays — Technology and Applications, Ref. 1993/037, pp. 9.1–94. IEE, (1993).Google Scholar
- Xilinx, San Jose, CA 95124, The Programmable Gate Array Data Book (1993).Google Scholar