Formal design of a class of computers

We present a novel construction model of hardware and demonstrate how to use it in the entire process of formally designing a class of computers involving their specification, construction, and verification. In this paper we focus on the high stages of the design: the refinement from the behaviour specification at machine instruction level to the abstract microprogram at the term transition level. The concept of term transition introduced in this paper establishes a new generic high-level design stage which is common for computer architecture and design. Our approach is based on formal syntax and formal proof and constitutes a framework for the rigorous specification and verification of hardware synthesis systems.

[1]  Tobias Nipkow,et al.  Isabelle tutorial and user’s manual , 1990 .

[2]  Geoffrey Brown,et al.  Hardware Specification, Verification and Synthesis: Mathematical Aspects , 1990, Lecture Notes in Computer Science.

[3]  Jörg Bormann,et al.  Invited Talk: Formal Design in an Industrial Research Laboratory: Lessons and Perspectives , 1992, Designing Correct Circuits.

[4]  Warren A. Hunt FM8501: A Verified Microprocessor , 1994, Lecture Notes in Computer Science.

[5]  Ganesh Gopalakrishnan,et al.  Design and verification of the Rollback Chip using HOP: a case study of formal methods applied to hardware design , 1993, TOCS.

[6]  F. Hanna,et al.  Specification and verification of digital systems using higher-order predicate logic , 1986 .

[7]  P. J. Windley,et al.  A hierarchical methodology for verifying microprogrammed microprocessors , 1990, Proceedings. 1990 IEEE Computer Society Symposium on Research in Security and Privacy.

[8]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[9]  Avra Cohn Correctness properties of the Viper block model: the second level , 1989 .

[10]  M. Gordon HOL: A Proof Generating System for Higher-Order Logic , 1988 .

[11]  David A. Basin,et al.  Formally verified synthesis of combinational CMOS circuits , 1991, Integr..

[12]  Mark Longley,et al.  Formal Synthesis of Digital Systems , 1989 .

[13]  Jorgen Staunstrup A formal approach to hardware design , 1994, The Kluwer international series in engineering and computer science.

[14]  Tom Melham,et al.  Abstraction Mechanisms for Hardware Verification , 1988 .

[15]  Mary Sheeran,et al.  Designing Correct Circuits , 1990 .

[16]  Michael J. C. Gordon,et al.  Why higher-order logic is a good formalism for specifying and verifying hardware , 1985 .

[17]  Joseph A. Goguen,et al.  FUNNEL and 2OBJ: Towards an Integrated Hardware Design Environment , 1992, TPCD.

[18]  Steven D. Johnson,et al.  DDD-FM9001: Derivation of a Verified Microprocessor , 1993, CHARME.

[19]  D. Suk Hardware synthesis in constructive type theory , 1991 .

[20]  J. V. Tucker,et al.  Algebraic Models and the Correctness of Microprocessors , 1993, CHARME.

[21]  Avra Cohn,et al.  A Proof of Correctness of the Viper Microprocessor: The First Level , 1988 .

[22]  Li-Guo Wang Deriving a Correct Computer , 1992, TPHOLs.

[23]  Keith Hanna,et al.  Strongly-Typed Theory of Structures and Behaviours , 1993, CHARME.

[24]  Mike Gordon Proving a computer correct with the LCF_LSM hardware verification system , 1983 .

[25]  Dominique Borrione,et al.  muSPEED : a framework for specifying and verifying microprocessors , 1991 .

[26]  George J. Milne,et al.  Design for Verifiability , 1989, Hardware Specification, Verification and Synthesis.

[27]  Li-Guo Wang Formal derivation of a class of computers , 1995 .

[28]  Paul B. Jackson Nuprl and Its Use in Circuit Design , 1992, TPCD.

[29]  M. Gordon,et al.  PROVING A COMPUTER CORRECT IN HIGHER ORDER LOGIC , 1986 .

[30]  K. Mani Chandy Parallel program design , 1989 .

[31]  Michael P. Fourman Formal system design , 1989 .

[32]  Albert John Camilleri,et al.  Theorem Proving as an Industrial Tool for System Level Desgin , 1992, TPCD.