Skip to main content
Log in

A special purpose formal verifier for systolic designs in DSP applications

  • Published:
Journal of VLSI signal processing systems for signal, image and video technology Aims and scope Submit manuscript

Abstract

In verifying the design correctness of a specific class of architecture, special purpose formal design verifier has the advantage of being able to exploit the attributes of that architecture class to produce efficiency in the design verification process. Such development is important due to the fact that architecture design verification using general purpose theorem prover is usually extremely time consuming. This paper briefly presents the techniques and a Prolog-based verifier VSTA that we developed for formal design verification of systolic array architectures in DSP applications. Systolic architecture has been a popular class of parallel architecture due to its suitability for VLSI implementation. The techniques developed are discussed and a formalism (STA) developed for specifying and verifying systolic designs is reviewed. The strategies and notation adopted exploit systolic attributes for fast design verifications. We develop a Prolog-based verifier to automate our techniques due to Prolog's powerful pattern matching and automatic back-tracking mechanism, its popularity and quality, its similarity in representing facts with STA, and its wide acceptance for lower level module and circuit verification (so as to achieve multilevel reasoning later). In the paper, we also describe the application for our tool to verify the correctness of two systolic array designs. Executing the verifier on our workstation shows that a typical array design can usually be verified in less than 10 minutes.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. H.T. Kung and C.E. Leiserson, “Systolic Arrays (for VLSI),”Sparse Matrix Symp., SIAM, 1978.

  2. S.Y. Kung,VLSI Array Processor, Englewood Cliffs, NJ: Prentice-Hall, 1988.

    Google Scholar 

  3. Nam Ling and M.A. Bayoumi, “Systematic Algorithm Mapping for Multi-dimensional Systolic Arrays,”Journal of Parallel and Distributed Computing, Vol. 7, pp. 368–382, 1989, (Academic Press).

  4. A D&T Roundtable, “Formal Verification: Is it Practical for Real-World Design?”IEEE Design & Test of Computers, Dec. 1989.

  5. P. Camurati and P. Prinetto, “Formal Verification of Hardware Correctness: Introduction and Survey of Current Research,”IEEE Computer Magazine, July 1988.

  6. R.G. Melhem and W.C. Rheinboldt, “A Mathematical Model for the Verification of Systolic Networks,”SIAM J. of Comput., Vol. 13, No. 3, 1984.

  7. C.J. Kuo, B.C. Levy, and B.R. Musicus, “The Specification and Verification of Systolic Wave Algorithms,”1984 IEEE Workshop on VLSI Signal Processing I, IEEE Press, 1984.

  8. M.C. Chen, “Space-Time Algorithms: Semantics and Methodology,” Ph.D. Thesis, California Institute of Technology, Pasedena, CA, May 1983.

    Google Scholar 

  9. L. Johnsson and D. Cohen, “A Mathematical Approach to Modeling the Flow of Data and Control in Computational Networks,” inVLSI Systems and Computations, H.T. Kungetal. (Ed.), Computer Science Press, Inc., pp. 213–225, 1981.

  10. M. Hennessy, “Proving Systolic System Correct,”ACM Trans. On Prog. Lang. and Syst. July 1986.

  11. J.M. Jover, T. Kailath, H. Lev-Ari, and S.K. Rao, “On the Analysis of Synchronous Computing Arrays,”1986 IEEE Workshop on VLSI Signal Processing, 1986.

  12. H. Lev-Ari, “Modular Computing Networks: A New Methodology for Analysis and Design of Parallel Algorithms/Architectures,” Integrated Systems Inc., Report No. 29, Palo Alto, CA, Dec. 1983.

    Google Scholar 

  13. S.V. Rajopadhye and P. Panagaden, “Verification of Systolic Arrays: A Stream Functional Approach,” UUCS-85-001, University of Utah, Salt Lake City, UT, Mar. 1985.

    Google Scholar 

  14. H.T. Kung and W.T. Lin, “An Algebra for VLSI Algorithm Design,”Proc. of the Conf. on Elliptic Problem Solvers, Monterey, CA, Jan. 1983.

  15. E. Tiden, “Verification of Systolic Arrays—A Case Study,” Technical Report TRITA-NA-8403, Dept. of Numerical Analysis and Computer Science, The Royal Institute of Technology, Sweden, 1984.

    Google Scholar 

  16. D.K. Probst and H.F. Li, “Abstract Specification of Synchronous Data Types for VLSI and Proving the Correctness of Systolic Network Implementations,”IEEE Trans. on Computers, Vol. 37, pp. 710–720, 1988.

    Article  Google Scholar 

  17. A.P. Sistla, “Theoretical Issues in the Design and Verification of Distributed Systems,” Ph.D. Dissertation, Harvard University, Cambridge, MA, 1983.

    Google Scholar 

  18. J.M. Jover and T. Kailath, “Design Framework for Systolic-Type Arrays,”Proc. of the 1984 IEEE Int. Conf. on Acoustics, Speech, and Signal Processing, San Diego, Mar. 1984.

  19. M. Ossefort, “Correctness Proofs of Communicating Processes-Three Illustrative Examples from the Literature,” TR-LCS-8201, Dept. of Computer Science, Univ. of Texas, Austin, TX, Jan. 1982.

    Google Scholar 

  20. S. Purushothaman and P.A. Subrahmanyan, “Mechanical Certification of Systolic Algorithms,”Journal of Automated Reasoning, Kluwer Academic Publishers, March 1989.

  21. “CAS Workshop on Future Directions of Circuits, Systems, and Signal Processing: Computer-Aided Design,”IEEE Circuits and Systems Society Newsletter, Vol. 1, pp. 12–14, Sep. 1990.

  22. Nam Ling and M.A. Bayoumi, “Systolic Temporal Arithmetic: A New Formalism for Specification and Verification of Systolic Arrays,”IEEE Trans. on Computer-Aided Design, Vol. 9, pp. 804–820, 1990.

    Article  Google Scholar 

  23. F. Maruyama and M. Fujita, “Hardware Verification,”IEEE Computer Mag., pp. 22–32, Feb. 1985.

  24. M. Fujita, H. Tanaka, and T. Moto-Oka, “Verification with Prolog and Temporal Logic,”CHDL'83: IFIP 6th Int. Symp. on Comp. Hardware Description Lang. and their Applications, May 1983.

  25. Nam Ling and M.A. Bayoumi, “From Architecture to Algorithm: A Formal Approach,” inTransformational Approaches to Systolic Design, G.M. Megson (Ed.), London: Chapman & Hall, 1994.

    Google Scholar 

  26. B. Moszkowski, “A Temporal Logic for Multilevel Reasoning about Hardware,”IEEE Computer Mag., Feb. 1985.

  27. M. Abadi and Z. Manna, “A Timely Resolution,” Report No. STAN-CS-86-1106, Stanford Univ., April 1986.

  28. B.T. Hailpern, “Verifying Concurrent Processes using Temporal Logic,” Tech. Report No. 195, Stanford Univ., April 1980.

  29. Nam Ling, “Systolic Temporal Arithmetic: A New Formalism for Specification, Verification, and Synthesis of Systolic Arrays,” Ph.D. Dissertation, Univ. of Southwestern Louisiana, Summer 1989.

  30. W.F. Clocksin, “Logic Programming and Digital Circuit Analysis,”The Journal of Logic Programming, No. 4, pp. 59–82, 1987.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

This material was based upon work supported by the National Science Foundation under Grant No. MIP-9010385.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ling, N. A special purpose formal verifier for systolic designs in DSP applications. Journal of VLSI Signal Processing 11, 169–187 (1995). https://doi.org/10.1007/BF02106829

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02106829

Keywords

Navigation