Skip to main content
Log in

Algorithms for the compilation of regular expressions into PLAs

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

The language of regular expressions is a useful one for specifying certain sequential processes at a very high level. They allow easy modification of designs for circuits, like controllers, that are described by patterns of events they must recognize and the responses they must make to those patterns. This paper discusses the compilation of such expressions into specifications for programmable logic arrays (PLAs) that will implement the required function. A regular expression is converted into a nondeterministic finite automaton, and then the automaton states are encoded as values on wires that are inputs and outputs of a PLA. The translation of regular expressions into nondeterministic automata by two different methods is discussed, along with the advantages of each method. A major part of the compilation problem is selection of good state codes for the nondeterministic automata; one successful strategy and its application to microcode compaction is explained in the paper.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. T. Agerwala, Microprogram optimization: a survey,IEEE Trans. Comput. 25 (1976), 963–973.

    Article  MathSciNet  Google Scholar 

  2. A. V. Aho, J. D. Ullman, and M. Yannakakis, Modeling communications protocols by automata,Proceedings of the 20th Annual IEEE Symposium on Foundations of Computer Science, 1979, pp. 267–273.

  3. R. K. Brayton, G. D. Hachtel, L. A. Hemachandra, A. R. Newton, and A. L. M. Sangiovanni-Vincentelli, A comparison of logic minimization strategies using EXPRESSO: an APL program package for partitioned logic minimalization,Proceedings of the IEEE International Conference on Circuits and'Computers, 1982.

  4. D. Dietmeyer,Logic Design of Digital Systems, Allyn and Bacon, Reading, MA, 1971.

    MATH  Google Scholar 

  5. R. W. Floyd and J. D. Ullman, The compilation of regular expressions into integrated circuits,J. Assoc. Comput. Mach.,29 (1982), 603–622.

    MATH  MathSciNet  Google Scholar 

  6. M. J. Foster and H.-T. Kung, Recognize regular languages with programmable building blocks, inVLSI-81 (J. P. Gray, ed.), Academic Press, New York, 1981, pp. 75–84.

    Google Scholar 

  7. R. L. Haskin, Hardware for searching very large text databases, Ph.D. Thesis, Department of Computer Science, University of Illinois, Urbana, Il, 1980.

    Google Scholar 

  8. L. A. Hemachandra, GRY: a PLA minimizer, Unpublished Memorandum, Department of Computer Science, Stanford University, Stanford, CA, 1982.

    Google Scholar 

  9. J. L. Hennessy, SLIM: a simulation and implementation language for VLSI microcode,LAMBDA, April, 1981, pp. 20–28.

  10. D. D. Hill, ADLIB: a modular, strongly-typed computer design language,Proceedings of the Fourth International Symposium on Computer Hardware Description Languages, 1979.

  11. J. E. Hopcroft and J. D. Ullman,Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, Reading, MA, 1979.

    MATH  Google Scholar 

  12. S. C. Johnson, Code generation for silicon,Proceedings of the Tenth ACM Symposium on Principles of Programming Languages, 1983.

  13. C. A. Mead and L. A. Conway,Introduction to VLSI Systems, Addison-Wesley, Reading, MA, 1980.

    Google Scholar 

  14. A. W. Nagle, R. Cloutier, and A. C. Parker, Synthesis of hardware for the control of digital systems,IEEE Trans. Computer-Aided Design Integrated Circuits and Systems,1 (1982), 201–212.

    Article  Google Scholar 

  15. C. D. V. P. Rao and N. N. Biswas, On the minimization of wordwidth in the control memory of a microprogrammed digital computer,IEEE Trans. Comput.,32 (1983), 863–868.

    Article  Google Scholar 

  16. H. W. Trickey, Good layouts for pattern recognizers,IEEE Trans. Comput.,31 (1982), 514–520.

    Article  Google Scholar 

  17. H. W. Trickey, Using NFAs for hardware design, Unpublished Memorandum, Stanford University, Stanford, CA, 1982.

    Google Scholar 

  18. J. D. Ullman, Combining state machines with regular expressions for automatic synthesis of VLSI circuits, STAN-CS-82-927, Department of Computer Science, Stanford University, Stanford, CA, 1982.

    Google Scholar 

  19. J. D. Ullman,Computational Aspects of VLSI, Computer Science Press, Rockville, MD, 1984.

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Communicated by Brenda S. Baker.

Research supported by DARPA Contract N00039-83-C-0136 and NSF Grant MCS-82-03405.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Karlin, A.R., Trickey, H.W. & Ullman, J.D. Algorithms for the compilation of regular expressions into PLAs. Algorithmica 2, 283–314 (1987). https://doi.org/10.1007/BF01840364

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Key words

Navigation