Department of Computer Science and Technology

Technical reports

Logic programming and the specification of circuits

W.F. Clocksin

May 1985, 13 pages

Abstract

Logic programming (see Kowalski, 1979) can be used for specification and automatic reasoning about electrical circuits. Although propositional logic has long been used for describing the truth functions of combinational circuits, the more powerful Predicate Calculus on which logic programming is based has seen relatively little use in design automation. Previous researchers have introduced a number of techniques similar to logic programming, but many of the useful consequences of the logic programming methodology have not been exploited. This paper first reviews and compares three methods for representing circuits, which will be called here the functional method, the extensional method, and the definitional method. The latter method, which conveniently admits arbitrary sequential circuits, is then treated in detail. Some useful consequences of using this method for writing directly executable specifications of circuits are described. These include the use of quantified variables, verification of hypothetical states, and sequential simulation.

Full text

PDF (0.6 MB)

BibTeX record

@TechReport{UCAM-CL-TR-72,
  author =	 {Clocksin, W.F.},
  title = 	 {{Logic programming and the specification of circuits}},
  year = 	 1985,
  month = 	 may,
  url = 	 {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-72.pdf},
  institution =  {University of Cambridge, Computer Laboratory},
  number = 	 {UCAM-CL-TR-72}
}