This Article 
 Bibliographic References 
 Add to: 
Concurrent Logic Programming as a Hardware Description Tool
January 1990 (vol. 39 no. 1)
pp. 72-88

The possibility of developing hardware description languages (HDLs) based on the principles of logic programming is discussed. The specific logic programming language used to demonstrate this possibility is Flat Concurrent Prolog (FCP). It is shown explicitly how FCP naturally satisfies the commonly accepted fundamental requirements of a hardware description language. It is then demonstrated how FCP overcomes known disadvantages of the highly acclaimed VHDL. Some other parallel logic programming languages beside FCP are also presented briefly, and the possibility of using them for hardware description is discussed.

[1] J. H. Aylor, R. Waxman, and C. Scarratt, "VHDL--feature description and analysis,"IEEE Design Test Comput., pp. 17-27, Apr. 1986.
[2] "VHDL language reference manual, version 7.2," Intermetrics Rep. IR-MD-045-2, Aug. 85.
[3] J. D. Nash and L. F. Saunders, "VHDL critique,"IEEE Design Test Comput., pp. 54-65, Apr. 1986.
[4] T. Uehara and N. Kawato, "Logic circuit synthesis using Prolog,"New Generation Comput., pp. 187-193, 1983.
[5] D. P. Sidhu, "Logic programming applied to hardware design specification and verfication," Dep. Comput. Sci., Iowa Univ., Iowa, 1984.
[6] F. Maruyama and M. Fujita, "Hardware verification,"IEEE Comput. Mag., pp. 22-32, Feb. 1985.
[7] P. W. Horstmann, "Computer aided design using logic programming," inProc. 21st Design Automat. Conf., 1984, pp. 144-151.
[8] Barrow, H.G., "Verify: A Program for Proving Correctness of Digital Hardware Designs,"Artificial Intelligence, Vol. 24, 1984, pp. 437-491.
[9] A. Takeuchi and K. Furukawa,Parallel Logic Programming Languages(LNCS 225). New York: Springer-Verlag, 1986, pp. 242-254.
[10] E. Shapiro, "Concurrent Prolog: A progress report,"Computer, vol. 19, pp. 44-58, Aug. 1986.
[11] K. Ueda, "Guarded Horn clauses," Ph.D. dissertation, Tokyo Univ., March 1986.
[12] K. L. Clark and S. Gregory, "PARLOG: Parallel programming in logic,"ACM Trans. Program. Lang., vol. 8, pp. 1-49, 1986.
[13] N. Suzuki, "Concurrent Prolog as an efficient VLSI design language,"IEEE Comput. Mag., pp. 33-40, Feb. 1985.
[14] Y. Nodaet al., "A parallel logic simulator based on concurrent Prolog," inProc. Logic Programming, Japan, July 1985, pp. 256- 265.
[15] D. Weinbaum and E. Shapiro, "Hardware description and simulation using Concurrent Prolog," Weizman Instit. Israel, Dep. Comput. Sci. Rep. CS-86-25, Sept. 1986.
[16] C. Mierowsky, "Design and implementation of Flat Concurrent Prolog," Weitzmann Instit. Tech. Rep. CS84-21, 1984.
[17] R. E. Bryant and J. B. Dennis, "Concurrent Programming," inOperating Systems Engineering, LNCS, Vol. 143. Berlin, Germany: Springer-Verlag, 1982, pp. 426-452.
[18] W. Silberman, H. Hirsch, A. Houri, and E. Shapiro, "The Logix system user manual," TR. CS 86-21, Weizmann Instit., July 1986.
[19] A. Takeuchi and K. Furukawa, "Interprocess communication in CP," inProc. Logic Programming Workshop, June 1985, pp. 171-185.
[20] E. Shapiro and A. Takeuchi, "Object oriented programming in Concurrent Prolog,"New Generation Comput., pp. 25-48, 1983.
[21] R. Gupta, "Test pattern generation for VLSI circuits in a Prolog environment," inLecture Notes in Computer Science, Vol. 225. Berlin, Germany: Springer-Verlag, July 1986.
[22] D. Svanes, "Test generation through logic programming,"INTEGRATION, theVLSI J., vol. 2, pp. 49-67, 1984.
[23] K. Ueda, "Concurrent Prolog re-examined," ICOT, TR-103, 1985.
[24] M. Codish and E. Shapiro, "Computing OR parallelism into AND parallelism," inLecture Notes in Computer Science, Vol. 225. Berlin, Germany: Springer-Verlag, July 1986, pp. 283-297.
[25] I. Foster and S. Taylor, "Flat Parlog: A basis for comparison," Tech. Rep. CS87-13, Dep. Comput. Sci., Weizmann Instit. Sci., 1987.
[26] V. A. Saraswat, "Concurrent constraints programming languages," Ph.D. dissertation, Carnegie-Mellon Univ., 1988.
[27] S. Klinger, E. Yardeni, K. Kahn, and E. Shapiro, "The Language FCP(:,?)," Tech. Rep. CS88-07, Dep. Comput. Sci., Weizmann Instit. of Sci., 1988.

Index Terms:
concurrent logic programming; hardware description tool; Flat Concurrent Prolog; logic programming; parallel programming; specification languages.
Y. Dotan, B. Arazi, "Concurrent Logic Programming as a Hardware Description Tool," IEEE Transactions on Computers, vol. 39, no. 1, pp. 72-88, Jan. 1990, doi:10.1109/12.46282
Usage of this product signifies your acceptance of the Terms of Use.