Title :
Metaprogramming in digital simulation
Author :
Eicher, J.W. ; Brown, F.M.
Author_Institution :
Air Force Phillips Lab., Hanscom AFB, MA, USA
Abstract :
This paper describes the use of metaprogramming in Prolog to construct digital logic-simulators which adapt themselves for efficiency to the structure of the circuits they simulate. To test the utility of the metaprogramming approach to simulation, in a simple but representative domain, a logic-simulator was written for TTL integrated circuits. The simulator accepts a wiring-list, from which it creates, loads, and executes a Prolog rule which is both (a) a representation of the user´s circuit at the level of gates, adders, counters, etc., and (b) a procedure for its simulation. This rule, which expresses the structure of the circuit by means of Clocksin´s definitional format, is an example of “executable data”; there is no distinction in Prolog, that is, between executable code and data. The ordering of goals in this rule guarantees that signals are traced through the circuit with no backtracking; thus the time to execute a simulation-cycle is minimized
Keywords :
PROLOG; circuit analysis computing; digital simulation; integrated circuit design; integrated logic circuits; logic CAD; logic programming; timing; transistor-transistor logic; Clocksin´s definitional format; Prolog; TTL integrated circuits; definitional specification; digital logic-simulators; digital simulation; executable data; goal ordering; metaprogramming; modules; object-level simulation; timing problems; wiring-list; Circuit simulation; Circuit testing; Clocks; Delay; Digital simulation; Integrated circuit testing; Laboratories; Logic testing; Military computing; Timing;
Conference_Titel :
Aerospace and Electronics Conference, 1995. NAECON 1995., Proceedings of the IEEE 1995 National
Conference_Location :
Dayton, OH
Print_ISBN :
0-7803-2666-0
DOI :
10.1109/NAECON.1995.522007