An Algebraic Framework for Data Abstraction in Hardware Description

  • Zheng Zhu
  • Steven D. Johnson
Conference paper
Part of the Workshops in Computing book series (WORKSHOPS COMP.)


The aim of this work is to extend a standard treatment of data types to a foundation for hardware synthesis. Hardware synthesis exposes several problems not typically considered in software oriented theories. These include architectural constraints in the use of type instances, parallelism in the use of multiple instances, and consolidation of distinct types in a common process. Since we are concerned with the question of incorporating (more) concrete implementations of (more) abstract types found in higher levels of specification, our foundation must address these aspects of description. The paper begins with a condensed example of a stack based processor operating on a standard memory. This specification is compared to a target description in which both the stack and the memory are implemented by a single memory process. The remainder of the paper formalizes issues raised in the example.


Function Symbol Recursive Function Hardware Architecture Data Path Register Transfer Level 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    J. A. Bergstra and J. V. Tucker. Initial and final algebra semantics for data type specification: Two characterization theorems. SIAM Journal of Computing, Vol 12(No. 2):366–387, May 1983.MathSciNetCrossRefMATHGoogle Scholar
  2. [2]
    C. David Boyer and Steven D. Johnson. Using the digital design derivation system: Case study of a VLSI garbage collector. In J. Darringer and F. Ramming, editors, Proceedings of the IFIP WG 10.2 Ninth International Symposium on Computer Hardware Description Languages (CHDL), Amsterdam, 1989. Elsevier. Also published as Technical Report 274, Computer Science Department, Indiana University, April 1989.Google Scholar
  3. [3]
    Raul Camposano. Behavior-preserving transformations for high-level synthesis. In M. Leeser and G. Brown, editors, VLSI Specification, Verification and Synthesis: Mathematical Aspects, New York, July 1989. Proceedings of Mathematical Sciences Institute Workshop, Cornell University, Springer-Verlag. Lecture Notes in Computer Science Vol-408.Google Scholar
  4. [4]
    H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1; Equations and Initial Semantics, volume 6 of EATCS Monographs on Theoretical Computer Science. Springer-Verlag, 1985.Google Scholar
  5. [5]
    J. A. Goguen, J. W. Thatcher, and E. G. Wagner. An initial algebra approach to the specification, correctness and implementation of abstract datatypes. In R. Yeh, editor, Current Trends in Programming Methodology, chapter 5, pages 80–149. Prentice-Hall, Englewood Cliffs, N.J. 07632, 1978.Google Scholar
  6. [6]
    G. Gopalkrishnan, R. M. Fujimoto, V. Akella, N. S. Mani, and K. N. Smith. Specification-driven design of custom architecture in HOP. In P.A. Subrahmanyam and G. Birtwistle, editors, Current Trends in Hardware Verification and Automated Theorem Proving, pages 128–170. Springer Verlag, 1989.CrossRefGoogle Scholar
  7. [7]
    K. M. Hobley, B. C Thompson, and J. V. Tucker. Specification and verification of synchronous concurrent algorithms: A case study of a convolution algorithm. In G. J. Milne, editor, The Fusion of Hardware Design and Verification, pages 347–374. Elsevier Science Publishers B.V., 1988.Google Scholar
  8. [8]
    Steven D. Johnson. Applicative programming and digital design. In Proceedings Eleventh Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pages 218–227, 1984.Google Scholar
  9. [9]
    Steven D. Johnson. Synthesis of Digital Designs from Recursion Equations. The MIT Press, Cambridge, 1984.Google Scholar
  10. [10]
    Steven D. Johnson. Manipulating logical organization with system factorizations. In G. Brown M. Leeser, editor, Hardware Specification, Verification and Synthesis: Mathematical Aspects, Mathematical Sciences Institute Workshop, pages 260–281. Cornell University, Ithaca, NY, USA, Springer Verlag, July, 1989. Lecture Notes in Computer Science Vol 408.Google Scholar
  11. [11]
    Steven D. Johnson, Bhaskar Bose, and C. David Boyer. A tactical framework for digital design. In G. Birtwistle and P.A. Subrahmanyam, editors, VLSI Specification, Verification and Synthesis, pages 349–383. Kluwer Academic Publishers, Boston, 1988.CrossRefGoogle Scholar
  12. [12]
    S. Kamin. Final data types and their specification. ACM Transaction of Programming Languages and Systems, 5(1):97–123, January 1983.Google Scholar
  13. [13]
    M. Mahmood, F. Mavaddat, M. I. Elmasry, and M. H. M. Cheng. A formal language model of local microcode synthesis. In Luc Claesen, editor, Proceedings of The International Workshop on The Applied Formal Method for Correct VLSI Designs, Leuven, Belgium, 1989. Elsevier Science Publishers B.V.Google Scholar
  14. [14]
    M. C. McFarland, A. C. Parker, and R. Camposano. Tutorial on high-level synthesis. In Proceedings of the 25th ACM/IEEE Design Automation Conference, pages 330–336, Anaheim, CA, 1988. ACM/SIGDA.Google Scholar
  15. [15]
    J. Meseguer and J.A. Goguen. Initiality, induction, and computability. In Maurice Nivat and John C. Reynolds, editors, Algebraic Methods in Semantics, pages 459–541. Cambridge University Press, 1985.Google Scholar
  16. [16]
    G. J. Milne. CIRCAL and the representation of communication concurrency and time. ACM Transactions on Programming Languages and Systems, 7(2), 1985.Google Scholar
  17. [17]
    Hartley Rogers. Theory of Recursive Functions and Effective Computation. McGraw-Hill Book Company, 1967.Google Scholar
  18. [18]
    J. V. Tucker and J. I. Zucker. Program Correctness over Abstract Data Types, with Error-State Semantics. North-Holland, 1988.MATHGoogle Scholar
  19. [19]
    M. Wand. Final algebra semantics and data type extensions. Journal of Computing System Science, 19:27–44, 1979.MathSciNetCrossRefMATHGoogle Scholar
  20. [20]
    Zheng Zhu and S.D. Johnson. An algebraic characterization of structural synthesis for hardware. In Luc Claesen, editor, Proceedings of The international Workshop on The Applied Formal Methods for Correct VLSI Designs. North Holland, 1989.Google Scholar

Copyright information

© Springer-Verlag London 1991

Authors and Affiliations

  • Zheng Zhu
    • 1
  • Steven D. Johnson
    • 1
  1. 1.Computer Science DepartmentIndiana UniversityBloomingtonUSA

Personalised recommendations