Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Abstract pecification of Synchronous Data Types for VLSI and Proving the Correctness of Systolic Network Implementations

Published: 01 June 1988 Publication History

Abstract

A combined methodology is presented for specifying abstract synchronous data types and proving the correctness of systolic network implementations. It is shown that an extension of the Parnas trace method of specifying software modules containing distinct access programs yields a natural method of specifying abstract synchronous data types that possess distinct access operators and are intended for implementation in VLSI. Associated systematic proof techniques are presented, and the correctness of several novel systolic network implementations of familiar data types is established. The methodology appears to be naturally suited to systolic network implementations with their associated rippling of control flow and data flow. The important distinction between systolic control-flow networks and systolic data-flow networks is presented.

References

[1]
{1} W. Bartussek and D. L. Parnas, "Using assertions about traces to write abstract specifications for software modules," in Proc. 2nd Conf. Euro. Cooperation Inform. Berlin, Germany: Springer-Verlag, 1978.
[2]
{2} H. T. Kung, "Why systolic architectures?," IEEE Computer, vol. 15, pp. 37-46, Jan. 1982.
[3]
{3} H. F. Li and R. Jayakumar, "A characterization of VLSI systolic structures and algorithms," in Proc. 1985 Canadian Conf. VLSI, Toronto, Ont., Canada, Nov. 1985.
[4]
{4} H. T. Kung and C. E. Leiserson, "Systolic arrays (for VLSI)," in Proc. Symp. Sparse Matrix Comput. Appl., Nov. 1978, pp. 256- 282.
[5]
{5} W. M. Gentleman and H. T. Kung, "Matrix triangularization by systolic arrays," in Proc. SPIE, Real-Time Signal Processing IV, vol. 298, 1981.
[6]
{6} A. Bojanczyk, R. P. Brent, and H. T. Kung, "Numerically stable solution of dense systems of linear equations using mesh connected processors," CMU Tech. Rep., May 1981.
[7]
{7} H. T. Kung, L. M. Ruane, and D. W. L. Yen, "A two-level pipelined systolic array for convolution," in VLSI Systems and Computations, H. T. Kung, R. F. Sproull, and G. L. Steele, Jr., Eds. Rockville, MD: Computer Science Press, Oct. 1981, pp. 255-264.
[8]
{8} J. Blackmer, P. Kuekes, and G. Frank, "A 200 MOPS systolic processor," in Proc. SPIE, Real-Time Signal Processing IV, vol. 298, 1981.
[9]
{9} H. T. Kung, "Let's design algorithms for VLSI systems," in Proc. Conf. VLSI: Architecture, Design, Fabrication, Caltech, Pasadena, CA, Jan. 1979, pp. 65-90.
[10]
{10} H. J. Foster and H. T. Kung, "The design of special purpose VLSI chips," IEEE Computer, pp. 26-40, Jan. 1980.
[11]
{11} L. J. Guibas, H. T. Kung, and C. D. Thompson, "Direct VLSI implementation of combinatorial algorithms," in Proc. Conf. VLSI: Architecture, Design, Fabrication, Caltech, Pasadena, CA, Jan. 1979.
[12]
{12} P. L. Lehman, "A systolic (VLSI) array for processing simple relational queries," in VLSI Systems and Computations, H. T. Kung, R. F. Sproull, and G. L. Steele, Jr., Eds. Rockville, MD: Computer Science Press, Oct. 1981, pp. 285-295.
[13]
{13} H. T. Kung and P. L. Lehman, "Systolic (VLSI) arrays for relational database operations," in Proc. ACM Sigmod 1980 Int. Conf. Management Data, May 1980, pp. 105-116.
[14]
{14} T. A. Ottmann, A. L. Rosenberg, and L. J. Stockmeyer, "A dictionary machine (for VLSI)," IEEE Trans. Comput., vol. C-31, pp. 892- 897, Sept. 1982.
[15]
{15} M. Atallah and S. R. Kosaraju, "A generalized dictionary machine for VLSI," IEEE Trans. Comput., vol. C-34, pp. 151-155, Feb. 1985.
[16]
{16} L. J. Guibas and F. M. Liang, "Systolic stacks, queues and counters," in Proc. Conf. Adv. Res. VLSI, MIT, Cambridge, MA, Jan. 1982.
[17]
{17} D. K. Probst and H. F. Li, "Using assertions about traces for abstract specification and proof of correctness of VLSI dictionary machines," submitted for publication.
[18]
{18} J. V. Guttag, E. Horowitz, and D. R. Musser, "Abstract data types and software validation," Commun. ACM, vol. 21, pp. 1048-1064, Dec. 1978.
[19]
{19} J. V. Guttag, "Notes on type abstraction," IEEE Trans. Software Eng., vol. SE-6, pp. 13-23, Jan. 1980.
[20]
{20} C. E. Leiserson and J. B. Saxe, "Optimizing synchronous systems," J. VLSI Comput. Syst., vol. 1, pp. 41-63, Jan. 1983.
[21]
{21} J. A. McLean, "Formal method for the abstract specification of software," J. Ass. Comput. Mach., vol. 31, July 1984.
[22]
{22} D. Hoffman, "The trace specification of communications protocols," IEEE Trans. Comput., vol. C-34, pp. 1102-1114, Dec. 1985.
[23]
{23} D. K. Probst, "A systolic working set chip with real-time response and single-cycle reference pipelining," in Proc. 1985 Canadian Conf. VLSI, Toronto, Ont., Canada, Nov. 1985.
[24]
{24} C. E. Leiserson, "Systolic priority queues," in Proc. Conf. VLSI: Architecture, Design, Fabrication, Caltech, Pasadena, CA, 1979.
[25]
{25} J. Misra and K. M. Chandy, "Proofs of networks of processes," IEEE Trans. Software Eng., vol. SE-7, pp. 417-426, 1981.
[26]
{26} J. Misra, K. M. Chandy, and T. Smith, "Proving safety and liveness of communicating processes with examples," in Proc. 1st Symp. Principles Distributed Comput., Ottawa, Ont., Canada, Aug. 1982.
[27]
{27} L. Lamport and F. B. Schneider, "The 'Hoare logic' of CSP and all that," ACM Trans. Programming Languages Syst., vol. 6, pp. 281- 296, Apr. 1984.
[28]
{28} G. Melhem and W. C. Rheinboldt, "A mathematical model for the verification of systolic networks," SIAM J. Comput., vol. 13, pp. 541-565, Aug. 1984.
[29]
{29} S. Y. Kung, R. J. Gal-Eser, and K. S. Arun, "'Wavefront array processor: Architecture, language and applications," in Proc. Conf. Adv. Res., VLSI, MIT, Cambridge, MA, Jan. 1982.
[30]
{30} U. Weiser and A. Davis, "A wavefront notation tool for VLSI array design," in VLSI Systems and Computations, H. T. Kung, B. Sproull, and G. L. Steele, Jr., Eds. Rockville, MD: Computer Science Press, Oct. 1981.

Cited By

View all
  • (1990)Optimal VLSI Dictionary Machines Without Compress InstructionsIEEE Transactions on Computers10.1109/12.5358039:5(676-693)Online publication date: 1-May-1990

Recommendations

Comments

Information & Contributors

Information

Published In

cover image IEEE Transactions on Computers
IEEE Transactions on Computers  Volume 37, Issue 6
June 1988
136 pages

Publisher

IEEE Computer Society

United States

Publication History

Published: 01 June 1988

Author Tags

  1. Parnas trace method
  2. VLSI
  3. VLSI.
  4. abstract specification
  5. cellular arrays
  6. control flow
  7. correctness proving
  8. data flow
  9. data structures
  10. software modules
  11. synchronous data types
  12. systolic network implementations

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (1990)Optimal VLSI Dictionary Machines Without Compress InstructionsIEEE Transactions on Computers10.1109/12.5358039:5(676-693)Online publication date: 1-May-1990

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media