Specification-driven Design of Custom Hardware in HOP
Abstract
We present a language “Hardware viewed as Objects and Processes” (HOP) for specifying the structure, behavior, and timing of hardware systems. HOP embodies a simple process model for lock-step synchronous processes. Processes may be described both as a black-box and as a collection of interacting sub-processes. The latter can be statically simplified using an algorithm ‘PARCOMP’. PARCOMP symbolically simulates a collection of interacting processes. The advantages claimed for HOP include simple semantics, intuitiveness, high expressive power, and numerous provisions to support easily verifiable designs all the way to VLSI layout.
After introducing HOP, and presenting some of the results obtained from experimenting with the HOP design system, we present the design of a large hardware system (the “Utah Simulation Engine”) currently being developed to speed-up distributed discrete event simulation using Time Warp. Issues in the specification driven design of this system are discussed and illustrated using HOP.
Keywords
Temporal Logic Discrete Event Simulation Parallel Composition Formal Verification High Order LogicPreview
Unable to display preview. Download preview PDF.
References
- [ACFM85]T.S. Anantharaman, E.M. Clarke, M.J. Foster, and B. Mishra. Compiling Path Expressions into VLSI Circuits. InProceedings of the 12th Symposium on Principles of Programming Languages, ACM, January 1985.Google Scholar
- [Bae86]Jean-Loup Baer. Modelling Architectural Features With Petri Nets. InPetri Nets: Applications and Relationships to Other Models of Concurrency pages 258-275, Springer Verlag, September 1986. LNCS 255.Google Scholar
- [BCD85]M. Browne, Edmund Clarke, D. Dill, and B. Mishra. Automatic Verification of Sequential Circuits using Temporal Logic. InProceedings of the Seventh International Conference on Computer Hardware Description Languages, pages 98- 113, North-Holland, 1985.Google Scholar
- [Bro75]Frederick P. Brooks.The Mythical Man-month. Addison-Wesley, 1975.Google Scholar
- [Bry84]Randall E. Bryant. A Switch Level Model and Simulator for MOS Digital Systems.IEEE Transactions on Computer, C-33: 160 - 177, February 1984.Google Scholar
- [CGM84]Albert Camilleri, Michael C. Gordon, and Tom Melham. Hardware Specification and Verification using Higher Order Logic. InProcessings of the IFIP WG 10.2 Working Conference on “From HDL Descriptions to Guaranteed Correct Circuit Designs”, Grenoble, August 1986, North-Holland, 1986.Google Scholar
- [Chu87]Tam-Anh Chu. Synthesis of Self-timed VLSI Circuits from Graph-theoretic Specifications. InInternational Workshop on Petri Nets and Performance Models, Madison, Wisconsin, August 1987. See also MIT VLSI Memo no.87-410, September 1987, with the same title.Google Scholar
- [Coh88]Avra Cohn. Correctness Properties of the Viper Block Model: The Second Level. In1988 Banff Workshop on Hardware Verification (this volume),Springer Verlag, 1988.Google Scholar
- [FTG88]Richard Fujimoto, Jya-Jang Tsai, and Ganesh Gopalakrishnan. Design and Performance of Special Purpose Hardware for Time Warp. In15th Annual International Symposium on Computer Architecture, Honolulu, pages 401-408, 1988.Google Scholar
- [Fuj88]R. M. Fujimoto. Performance Measurements of Distributed Simulation Programs.1988 Society for Computer Simulation Multiconference, feb 1988.Google Scholar
- [GG88]Stephen J. Garland and John Guttag. Inductive Methods for Reasoning About Abstract Data Types. In15th ACM Conference on Principles of Programming Languages, January 1988. San Diego, CA, January 13-15.; This article describes the theory behind the Larch theorem prover (LP).Google Scholar
- [GGS88]Stephen Garland, John Guttag, and Jorgen Staunstrup. Verification of VLSI circuits using LP. In George Milne, editor,1988 Glasgow Workshop (IFIP WG 10.2) on Hardware Verification, 1988.Google Scholar
- [GHM78]John V. Guttag, Ellis Horowitz, and David R. Musser. Abstract Data Types and Software Validation.Communications of the ACM, 21 (12): 1048 - 1064, December 1978.MathSciNetMATHCrossRefGoogle Scholar
- [Gop86]Ganesh C. Gopalakrishnan.From Algebraic Specifications to Correct VLSI Systems PhD thesis, Dept. of Computer Science, State University of New York, December 1986. (Also Tech. Report UU-CS-86-117 of Univ. of Utah).Google Scholar
- [GS88]Ganesh C. Gopalakrishnan and Mandayam K. Srivas. Implementing Functional Programs Using Mutable Abstract Data Types.Information Processing Letters, 26 (6): 277 - 286, January 1988.MathSciNetCrossRefGoogle Scholar
- [GSS87]Ganesh C. Gopalakrishnan, Mandayam K. Srivas, and David R. Smith. From Algebraic Specifications to Correct VLSI Circuits. In D.Borrione, editor,From HDL Descriptions to Guaranted Correct Circuit Designs, pages 197-225, North- Holland, 1987. (Proc of the IFIP WG 10.2 Working Conference with the same title.).Google Scholar
- [Hen84]Matthew Hennessy.Proving Systolic Systems Correct. Technical Report CSR- 162-84, Department of Computer Science, University of Edinburg, June 1984.Google Scholar
- [HK87]Richard H. Lathrop Robert J. Hall and Robert S. Kirk. Functional Abstraction from Structure in VLSI Simulation Models. InProc. 24st Design Automation Conference, pages 822-828, 1987.Google Scholar
- [ISD88]I.S.Dhingra. Formal Verification of a Design Style. In Graham Birtwistle and P.A.Subrahmanyam, editors,VLSI Specification, Verification and Synthesis pages 293-321, Kluwer Academic Publishers, Boston, 1988. ISBN-0-89838-246- 7.Google Scholar
- [JB85]Jeffrey Joyce and Graham Birtwistle.Proving a Computer Correct in Higher Order Logic. Technical Report 85/208/21, Dept. of Computer Science, Univ. of Calgary, August 1985.Google Scholar
- [JBB88]Stephen Johnson, B. Bose, and C. Boyer. A Tactical Framework for Hardware Design. In Graham Birtwistle and P.A.Subrahmanyam, editors,VLSI Specification, Verification and Synthesis, pages 349-383, Kluwer Academic Publishers, Boston, 1988. ISBN-0-89838-246-7.Google Scholar
- [Jef85]D. R. Jefferson. Virtual Time.ACM Transactions on Programming Languages and Systems, 7(3): 404 - 425, July 1985.CrossRefGoogle Scholar
- [JS86]Steve Jacobs and Kent Smith. TILER User’s Guide. 1986. User’s Manual Available from the Univ. of Utah, Dept. of Computer Science VLSI Group.Google Scholar
- [Lin85]Gary Lindstrom. Functional Programming and the Logical Variable. InProceedings of the 12th ACM Symposium on Principles of Programming Languages, pages 266-280, January 1985.Google Scholar
- [Mar85]Alain J. Martin. The Probe: An Addition to Communication Primitives.Information Processing Letters, 20(3):125-130, April 1985. An Erratum related to this article appeared in the August 1985 issue of the Info. Proc. Letters.CrossRefGoogle Scholar
- [MH85]M.Lam and H.T.Kung. A Transformational Approach to Systolic System Design.IEEE Computer, 18(2), 1985.Google Scholar
- [Mil80]Robin Milner.A Calculus of Communicating Systems Springer-Verlag, 1980. LNCS 92.Google Scholar
- [Mil82]Robin Milner.Calculii for Synchrony and Asynchrony. Technical Report CSR- 104-82, Univ. of Edinburg, 1982. Internal Report.Google Scholar
- [Mil83]George J. Milne. CIRCAL: A calculus for circuit description.Integration, (1): 121 - 160, 1983.Google Scholar
- [Mil85]George J. Milne. Simulation and Verification: Related Techniques for Hardware Analysis. InProceedings of the Seventh International Conference on Computer Hardware Description Languages, pages 404-417, North-Holland, 1985.Google Scholar
- [MLG]John Merk, John Lalonde, and Ganesh Gopalakrishnan. ADTP User’s Manual. Requirements Specification and User Manual for the Abstract Data Type definition Package (ADTP), Software Engineering Lab., Spring 1988.Google Scholar
- [Mue87]Eric G. Muehle.FROBS: A Merger of Two Knowledge Representation Paradigms. Master’s thesis, Dept. of Computer Science, University of Utah, Salt Lake City, UT 84112, December 1987. FROBS Stands for Frames+Objects.Google Scholar
- [NM]Mani Narayana and Surya Mantha. The Design of a TLB for the Roll Back Chip. VLSI Class Project Report, Winter 1988.Google Scholar
- [NS88]P. Narendran and J. Stillman. Hardware Verification in the Interactive VHDL Workstation. In Graham Birtwistle and P.A.Subrahmanyam, editors,VLSI Specification, Verification and Synthesis, pages 235-255, Kluwer Academic Publishers, Boston, 1988. ISBN-0-89838-246-7.Google Scholar
- [Pat85]Dorab Patel. nuFP: An Environment for the Multi-level Specification, Analysis and Synthesis of Hardware Algorithms. InProceedings of the Functional Programming and Computer Architecture Conference, Springer-Verlag, LNCS 201, September 1985. Nancy, France.Google Scholar
- [PC86]David Lorge Parnas and Paul C. Clements. A Rational Design Process: How and Why to Fake It.IEEE Transactions on Software Engineering, SE- 12 (2): 251 - 257, February 1986.Google Scholar
- [Plo81]Gordon D. Plotkin.A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, Aarhus University, Denmark, September 1981.Google Scholar
- [Seq87]Carlo H. Sequin. VLSI Design Strategies. In Wolfgang Fichtner and Martin Morf, editors,VLSI CAD Tools and Applications, pages 1-16, Kluwer Academic Press, 1987.Google Scholar
- [She84]Mary Sheeran. muFP, a Language for VLSI Design. InProceedings of the ACM Symposium on Lisp and Functional Programming, pages 104-112, 1984.Google Scholar
- [She85]Mary Sheeran. Design of Regular Hardware Structures Using Higher Order Functions. InProceedings of the Functional Programming and Computer Architecture Conference, Springer-Verlag, LNCS 201, September 1985. Nancy, France.Google Scholar
- [Sne85]Jan Snepscheut.Trace Theory and VLSI Design Springer Verlag, 1985. LNCS200 MATHGoogle Scholar
- [SR85]Pashupathy A. Subramaniam and Sanjay Rajopadhye. Formal Semantics for a Symbolic IC Design Technique: Examples and Applications.Integration: The VLSI Journal, (3): 13 - 32, March 1985.CrossRefGoogle Scholar
- [Sto77]Joseph E. Stoy.Denotational Semantics. The MIT Press, 1977.Google Scholar
- [Sub83]Pashupathy A. Subramaniam. Overview of a Conceptual and Formal Basis for An Automatable High Level Design Paradigm for Integrated Systems. InProceedings of the International Conference for Computer Design and VLSI, Westchester, pages 647-651, 1983.Google Scholar
- [WFC87]W.F.Clocksin. Logic Programming and Digital Circuit Analysis.Journal of Logic Programming, (4):59-82, 1987.MATHCrossRefGoogle Scholar