This appendix provides an overview of all the C++ classes used by the simulator as described in Chapter 4. Each of these classes employ a well defined functional interface which together provide a small but powerful foundation that forms the basis of a distributed, hierarchical circuit simulator. These classes have been shown to be successful in the description and simulation of the following types of circuits:
By using object-oriented techniques such as encapsulation and inheritance, a flexible, intuitive approach to digital logic hardware simulation is possible; objects instantiated from classes in the library bear close resemblance to their corresponding real world counterparts. The class library also provides support for a runtime component and an elementary parser which together can be used to interface the simulator engine with a graphical user interface.
The following sections contain a description of each class and the corresponding public, protected and private data members. In addition to the member functions described below, most of the classes also contain a public method to display diagnostic information regarding the current state of an object instantiated from the class. For brevity, destructors for the classes described below are not discussed.