Deriving a systolic regular language recognizer

  • Matteo Vaccari
  • Roland Backhouse
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT)


We present a derivation of a regular language recognizing circuit originally developed by Foster and Kung. We make use of point-free relation algebra, in a style combining elements from earlier work in the Eindhoven Mathematics of Program Construction group, and from Sheeran and Jones’ work on Ruby. First we derive non-systolic recognizers, much in the same way as functional programs are derived. Then we make use of standard circuit transformation techniques, recast in the relation algebra framework, to obtain circuits that are very close to the ones presented by Foster and Kung.


Regular languages circuit derivation program calculation systolic circuits relation algebra relation calculus retiming slowdown silicon compilation 


  1. Aarts, C., Backhouse, R., Hoogendijk, P., Voermans, E. and van der Woude, J.: 1992, A relational theory of datatypes. Available at URL ftp: // Scholar
  2. Backhouse, R. C.: 1983, Specification and proof of a regular language recognizer in synchronous CCS, Technical Report CSM-53, University of Essex.Google Scholar
  3. Cohn, A. and Gordon, M.: 1990, A mechanized proof of correctness of a simple counter, in K. McEvoy and J. Tucker (eds), Theoretical Foundations of VLSI Design, Cambridge Tracts in Theoretical Computer Science, Cambridge University Press.Google Scholar
  4. Doornbos, H., Backhouse, R. and van der Woude, J.: 1997, A calculational approach to mathematical induction. To appear in Theoretical Computer Science.Google Scholar
  5. Foster, M. J.: 1984, Specialized Silicon Compilers for Language Recognition, PhD thesis, Computer Science Department, Carnegie Mellon University.Google Scholar
  6. Foster, M. and Kung, H.: 1982, Recognize regular languages with programmable building blocks, Journal of Digital Systems 4 (6), 323–332.Google Scholar
  7. Hutton, G.: 1993, Between Functions and Relations in Calculating Programs, PhD thesis, Dept. of Computer Science, University of Glasgow.Google Scholar
  8. Jones, G. and Sheeran, M.: 1990, Circuit design in Ruby, in J. Staunstrup (ed.), Formal Methods for VLSI Design. IFIP WG 10.5 Lecture Notes, North-Holland.Google Scholar
  9. Jones, G. and Sheeran, M.: 1992, Deriving bit-serial circuits in Ruby, in A. Halaas and P. B. Denyer (eds), IFIP Transactions A-1, VLSI 91, NorthHolland. Available at geraint.jones/publications/PRG-TR-3– Scholar
  10. Kaldewaij, A. and Zwaan, G.: 1990, A systolic design for acceptors of regular languages, Science of Computer Programming 15 (2), 171–183.zbMATHMathSciNetCrossRefGoogle Scholar
  11. Leiserson, C. E.: 1983, Area-Efficient VLSI Computation, MIT Press.Google Scholar
  12. Leiserson, C. E. and Saxe, J. B.: 1991, Retiming synchronous circuitry, Al-gorithmica 6, 5–35.zbMATHMathSciNetGoogle Scholar
  13. Rietman, F.: 1995, A Relational Calculus for the Design of Distributed Algorithms, PhD thesis, University of Utrecht.Google Scholar
  14. Vaccari, M. and Backhouse, R.: 1996, Deriving a systolic regular language recognizer, Technical report, Eindhoven University of Technology. Available at construction/regpaper.dvi. Z.Google Scholar

Copyright information

© IFIP 1997

Authors and Affiliations

  • Matteo Vaccari
    • 1
  • Roland Backhouse
    • 2
  1. 1.Department of Computing ScienceUniversità degli Studi di MilanoMilanoItaly
  2. 2.Department of Mathematics and Computing ScienceEindhoven University of TechnologyEindhovenThe Netherlands

Personalised recommendations