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.
Similar content being viewed by others
References
T. Agerwala, Microprogram optimization: a survey,IEEE Trans. Comput. 25 (1976), 963–973.
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.
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.
D. Dietmeyer,Logic Design of Digital Systems, Allyn and Bacon, Reading, MA, 1971.
R. W. Floyd and J. D. Ullman, The compilation of regular expressions into integrated circuits,J. Assoc. Comput. Mach.,29 (1982), 603–622.
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.
R. L. Haskin, Hardware for searching very large text databases, Ph.D. Thesis, Department of Computer Science, University of Illinois, Urbana, Il, 1980.
L. A. Hemachandra, GRY: a PLA minimizer, Unpublished Memorandum, Department of Computer Science, Stanford University, Stanford, CA, 1982.
J. L. Hennessy, SLIM: a simulation and implementation language for VLSI microcode,LAMBDA, April, 1981, pp. 20–28.
D. D. Hill, ADLIB: a modular, strongly-typed computer design language,Proceedings of the Fourth International Symposium on Computer Hardware Description Languages, 1979.
J. E. Hopcroft and J. D. Ullman,Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, Reading, MA, 1979.
S. C. Johnson, Code generation for silicon,Proceedings of the Tenth ACM Symposium on Principles of Programming Languages, 1983.
C. A. Mead and L. A. Conway,Introduction to VLSI Systems, Addison-Wesley, Reading, MA, 1980.
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.
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.
H. W. Trickey, Good layouts for pattern recognizers,IEEE Trans. Comput.,31 (1982), 514–520.
H. W. Trickey, Using NFAs for hardware design, Unpublished Memorandum, Stanford University, Stanford, CA, 1982.
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.
J. D. Ullman,Computational Aspects of VLSI, Computer Science Press, Rockville, MD, 1984.
Author information
Authors and Affiliations
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
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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01840364