Abstract
This paper describes how "correct" microcode can be produced through the use of mathematical logic and formal design methods. The use of these techniques to derive correct microcode for the IMS T800 floating point transputer from a mathematical specification is discussed. This experience on the IMS T800 has shown that this approach provides the opportunity to produce designs with a higher certainty of correctness in significantly less time as compared with "traditional" design techniques. These techniques are currently being applied to the construction of correct specifications at the hardware description language level. This work is attempting to incorporate mathematical logic and formal design methods into the INMOS CAD system so that their use becomes the standard way of producing correct VLSI devices.
- Barrett, G., "Formal methods applied to a floating point number system", Technical Monograph PRG-58, Oxford University Computing Laboratory, Programming Research Group, 1987Google Scholar
- Dijkstra, E. W., quote taken from {10}Google Scholar
- Gordon, M., "Proving a computer correct", Technical Report 42, University of Cambridge Computer Laboratory, 1983Google Scholar
- Gordon, M., "LCF_LSM", Technical Report 41, University of Cambridge Computer Laboratory, 1983Google Scholar
- Gordon, M., "HOL: A machine orientated formulation of Higher-Order Logic", Technical Report 68, University of Cambridge Computer Laboratory, 1985Google Scholar
- Gordon, M., Milner, R., Wadsworth, C., "Edinburgh LCF" - chapter 2, LCNS 78, Springer Verlag, 1979Google Scholar
- Gries, D., The science of programming", Springer-Verlag, 1981 Google Scholar
Digital Library
- Hanna, F. K., Daeche, N., "Specification and Verification using Higher-Order Logic", Proceedings of the 7th International Conference on Computer Hardware Design Languages. Tokyo, 1985Google Scholar
- Hanna, F. K., Daeche, N., "The VERITAS theorem Prover", Electronics Laboratory, University of Kent at Canturbury, 1984 onwardsGoogle Scholar
- Hoare, C. A. R., "Programming is an engineering profession", Technical Monograph PRG-27, Oxford University Computing Laboratory, Programming Research Group, 1982Google Scholar
- INMOS ltd., "The occam programming manual", Prentice Hall, 1984 Google Scholar
Digital Library
- Roscoe, A. W., Hoare, C. A. R., "The laws of occam programming", Technical Monograph PRG-53, Oxford University Computing Laboratory, Programming Research Group, 1986Google Scholar
- Sufrin, B. A., editor. "The Z Handbook", Oxford University Computing Laboratory, Programming Research Group, 1986Google Scholar
Index Terms
Using mathematical logic and formal methods to write correct microcode
Recommendations
Equivalence of formal semantics definition methods
AbstractThere are numerous methods of formally defining the semantics of computer languages. Each method has been designed to fulfil a different purpose. For example, some have been designed to make reasoning about languages as easy as possible; others ...
Formal Methods Applied to a Floating-Point Number System
A formalization of the IEEE standard for binary floating-point arithmetic (ANSI/IEEE Std. 754-1985) is presented in the set-theoretic specification language Z. The formal specification is refined into four sequential components, which unpack the ...
Formal Methods in CafeOBJ
FLOPS '02: Proceedings of the 6th International Symposium on Functional and Logic ProgrammingFormal methods are still expected to improve the practice of software engineering. The areas in which formal methods will play important roles include at least: (1) distributed component software, (2) network/system security, (3) embedded systems. ...






Comments