next up previous contents
Next: Contents

A compressed PostScript version of this thesis is also available: (118KB) or (118KB)

Circuit Description and
Elementary Hierarchical Circuit Simulation
Using C++ and the
Object-Oriented Programming Paradigm

Donald C. Craig

Department of Computer Science
Memorial University of Newfoundland
St. John's, Newfoundland
Canada, A1C 5S7

A dissertation submitted to the Faculty of Science
in partial fulfillment of the requirements
for the degree of
Bachelor of Science (Honours)

April 1991


I would like to thank Dr. Paul Gillard for his patience and guidance during the course of this dissertation and for introducing me to an improved foundation upon which to base circuit simulation.

Thanks also go to Dr. Karl Posch whose enlightening discussions often forewarned me of the finer points of circuit description and simulation which I might otherwise have overlooked.

I am also indebted to Elaine Boone, whose proofreading skills helped eliminate most, if not all, of the inconsistencies and grammatical errors present in an earlier draft of this report.


Techniques used for circuit description have often been treated differently from the methods used to simulate hardware. This report will attempt to demonstrate how a common platform, and hence a uniform environment, can be established to both describe and simulate hardware, using a programming paradigm known as object-oriented programming as supported by the C++ language. This paradigm is powerful enough to allow a hierarchical description of the hardware and at the same time provide an extensible method for its simulation.

This report will provide a brief overview of C++ and its support for the object-oriented programming paradigm. In addition, a method for modelling and simulating hardware via the construction and traversal of a three-dimensional graph over time will be addressed. This method of simulation will challenge the techniques traditionally used by many hardware digital simulators as the concept of time is distributed over the modules being simulated; all time is local to the modules themselves.

next up previous contents
Next: Contents

Donald Craig
Sat Jul 13 16:02:11 NDT 1996