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.
Similar content being viewed by others
References
H.T. Kung and C.E. Leiserson, “Systolic Arrays (for VLSI),”Sparse Matrix Symp., SIAM, 1978.
S.Y. Kung,VLSI Array Processor, Englewood Cliffs, NJ: Prentice-Hall, 1988.
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).
A D&T Roundtable, “Formal Verification: Is it Practical for Real-World Design?”IEEE Design & Test of Computers, Dec. 1989.
P. Camurati and P. Prinetto, “Formal Verification of Hardware Correctness: Introduction and Survey of Current Research,”IEEE Computer Magazine, July 1988.
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.
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.
M.C. Chen, “Space-Time Algorithms: Semantics and Methodology,” Ph.D. Thesis, California Institute of Technology, Pasedena, CA, May 1983.
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.
M. Hennessy, “Proving Systolic System Correct,”ACM Trans. On Prog. Lang. and Syst. July 1986.
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.
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.
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.
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.
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.
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.
A.P. Sistla, “Theoretical Issues in the Design and Verification of Distributed Systems,” Ph.D. Dissertation, Harvard University, Cambridge, MA, 1983.
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.
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.
S. Purushothaman and P.A. Subrahmanyan, “Mechanical Certification of Systolic Algorithms,”Journal of Automated Reasoning, Kluwer Academic Publishers, March 1989.
“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.
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.
F. Maruyama and M. Fujita, “Hardware Verification,”IEEE Computer Mag., pp. 22–32, Feb. 1985.
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.
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.
B. Moszkowski, “A Temporal Logic for Multilevel Reasoning about Hardware,”IEEE Computer Mag., Feb. 1985.
M. Abadi and Z. Manna, “A Timely Resolution,” Report No. STAN-CS-86-1106, Stanford Univ., April 1986.
B.T. Hailpern, “Verifying Concurrent Processes using Temporal Logic,” Tech. Report No. 195, Stanford Univ., April 1980.
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.
W.F. Clocksin, “Logic Programming and Digital Circuit Analysis,”The Journal of Logic Programming, No. 4, pp. 59–82, 1987.
Author information
Authors and Affiliations
Additional information
This material was based upon work supported by the National Science Foundation under Grant No. MIP-9010385.
Rights 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
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/BF02106829