Automatic verification of a class of systolic circuits

Systolic circuits have attracted considerable attention as a means of implementing parallel algorithms in areas such as linear algebra, signal processing, pattern matching, etc. A systolic circuit is composed of a number of computation cells which are connected in a regular pattern. Each cell can perform computations, store data and communicate with other cells in the circuit. We define a language to describe implementations and specifications of a class of systolic circuits whose cells compute over a commutative ring, and present a decision method to check whether or not a circuit implementation fulfils a specification. The main advantage of our approach, compared with earlier work in the field, is that the verification is performed automatically, without user interaction. We give an example of how the method may be applied to verify a convolution circuit.

[1]  W. Steenaart,et al.  Real-time systolic array processor for 2-D spatial filtering , 1988 .

[2]  Robert S. Boyer,et al.  Computational Logic , 1990, ESPRIT Basic Research Series.

[3]  Martin D. Davis Hilbert's Tenth Problem is Unsolvable , 1973 .

[4]  Someshwar C. Gupta,et al.  Systolic arrays for Viterbi processing in communication systems with a time-dispersive channel , 1988, IEEE Trans. Commun..

[5]  Parosh Aziz Abdulla,et al.  An Equivalence Decision Problem in Systolic Array Verification , 1988, Specification and Verification of Concurrent Systems.

[6]  H. T. Kung Why systolic architectures? , 1982, Computer.

[7]  Matthew Hennessy Proving systolic systems correct , 1986, TOPL.

[8]  Edmund M. Clarke,et al.  Reasoning about Networks with Many Identical Finite State Processes , 1989, Inf. Comput..

[9]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[10]  M. Gordon HOL: A Proof Generating System for Higher-Order Logic , 1988 .

[11]  Hon Keung Kwan Systolic realization of linear phase FIR digital filters , 1987 .

[12]  Michael J. C. Gordon,et al.  Why higher-order logic is a good formalism for specifying and verifying hardware , 1985 .

[13]  I. Borosh,et al.  Bounds on positive integral solutions of linear Diophantine equations , 1976 .

[14]  Marina Chien-mei Chen Space-time Algorithms: Semantics and Methodology , 1983 .

[15]  S. Purushothaman Iyer,et al.  Mechanical certification of systolic algorithms , 1989, Journal of Automated Reasoning.

[16]  S. Purushothaman Iyer,et al.  Reasoning about Systolic Algorithms , 1988, J. Parallel Distributed Comput..

[17]  Jeffrey D Ullma Computational Aspects of VLSI , 1984 .

[18]  J. V. Tucker,et al.  The Concurrent Assignment Representation of Synchronous Systems , 1987, PARLE.

[19]  Rami G. Melhem,et al.  A Mathematical Model for the Verification of Systolic Networks , 1984, SIAM J. Comput..

[20]  Dianne P. O'Leary,et al.  Systolic Arrays for Matrix Transpose and Other Reorderings , 1987, IEEE Transactions on Computers.