Specification-driven Design of Custom Hardware in HOP

  • Ganesh C. Gopalakrishnan
  • Richard M. Fujimoto
  • Venkatesh Akella
  • N. S. Mani
  • Kevin N. Smith

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 Logic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [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
  2. [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
  3. [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
  4. [Bro75]
    Frederick P. Brooks.The Mythical Man-month. Addison-Wesley, 1975.Google Scholar
  5. [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
  6. [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
  7. [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
  8. [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
  9. [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
  10. [Fuj88]
    R. M. Fujimoto. Performance Measurements of Distributed Simulation Programs.1988 Society for Computer Simulation Multiconference, feb 1988.Google Scholar
  11. [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
  12. [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
  13. [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
  14. [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
  15. [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
  16. [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
  17. [Hen84]
    Matthew Hennessy.Proving Systolic Systems Correct. Technical Report CSR- 162-84, Department of Computer Science, University of Edinburg, June 1984.Google Scholar
  18. [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
  19. [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
  20. [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
  21. [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
  22. [Jef85]
    D. R. Jefferson. Virtual Time.ACM Transactions on Programming Languages and Systems, 7(3): 404 - 425, July 1985.CrossRefGoogle Scholar
  23. [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
  24. [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
  25. [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
  26. [MH85]
    M.Lam and H.T.Kung. A Transformational Approach to Systolic System Design.IEEE Computer, 18(2), 1985.Google Scholar
  27. [Mil80]
    Robin Milner.A Calculus of Communicating Systems Springer-Verlag, 1980. LNCS 92.Google Scholar
  28. [Mil82]
    Robin Milner.Calculii for Synchrony and Asynchrony. Technical Report CSR- 104-82, Univ. of Edinburg, 1982. Internal Report.Google Scholar
  29. [Mil83]
    George J. Milne. CIRCAL: A calculus for circuit description.Integration, (1): 121 - 160, 1983.Google Scholar
  30. [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
  31. [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
  32. [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
  33. [NM]
    Mani Narayana and Surya Mantha. The Design of a TLB for the Roll Back Chip. VLSI Class Project Report, Winter 1988.Google Scholar
  34. [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
  35. [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
  36. [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
  37. [Plo81]
    Gordon D. Plotkin.A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, Aarhus University, Denmark, September 1981.Google Scholar
  38. [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
  39. [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
  40. [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
  41. [Sne85]
    Jan Snepscheut.Trace Theory and VLSI Design Springer Verlag, 1985. LNCS200 MATHGoogle Scholar
  42. [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
  43. [Sto77]
    Joseph E. Stoy.Denotational Semantics. The MIT Press, 1977.Google Scholar
  44. [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
  45. [WFC87]
    W.F.Clocksin. Logic Programming and Digital Circuit Analysis.Journal of Logic Programming, (4):59-82, 1987.MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag New York Inc. 1989

Authors and Affiliations

  • Ganesh C. Gopalakrishnan
    • 1
  • Richard M. Fujimoto
    • 1
  • Venkatesh Akella
    • 1
  • N. S. Mani
    • 1
  • Kevin N. Smith
    • 1
  1. 1.Dept. of Computer ScienceUniversity of Utah Salt Lake CityUtahUSA

Personalised recommendations