Algorithms for the compilation of regular expressions into PLAs
- 72 Downloads
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.
Key wordsRegular expressions Silicon compilation Nondeterministic finite automata Microcode compaction
Unable to display preview. Download preview PDF.
- 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.Google Scholar
- 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.Google Scholar
- 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
- 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
- L. A. Hemachandra, GRY: a PLA minimizer, Unpublished Memorandum, Department of Computer Science, Stanford University, Stanford, CA, 1982.Google Scholar
- J. L. Hennessy, SLIM: a simulation and implementation language for VLSI microcode,LAMBDA, April, 1981, pp. 20–28.Google Scholar
- D. D. Hill, ADLIB: a modular, strongly-typed computer design language,Proceedings of the Fourth International Symposium on Computer Hardware Description Languages, 1979.Google Scholar
- S. C. Johnson, Code generation for silicon,Proceedings of the Tenth ACM Symposium on Principles of Programming Languages, 1983.Google Scholar
- C. A. Mead and L. A. Conway,Introduction to VLSI Systems, Addison-Wesley, Reading, MA, 1980.Google Scholar
- H. W. Trickey, Using NFAs for hardware design, Unpublished Memorandum, Stanford University, Stanford, CA, 1982.Google Scholar
- 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