This report will describe the design and implementation of a digital circuit simulator. Consequently, this section will outline some of the aspects related to the simulation of circuits, including the different levels at which circuit simulators may operate.
Circuit simulation provides a means of modelling a circuit's response to a given set of inputs. The simulator may generate numbers representing the voltages present at specific nodes of the circuit at certain times or it may generate waveform diagrams that show the circuit's output over the duration of the simulation. What is actually produced as a result of the simulation is largely dependent upon the abstraction level at which the circuit was described and subsequently simulated. For example, simulating a circuit described in terms of transistors and capacitors will conventionally show how these components interact at the electrical or analog level, whereas simulating a circuit described in terms of gates, flip-flops and registers will demonstrate the digital interaction amongst the components.
Circuits may be described and simulated at several levels of abstraction . This section will describe three major abstraction levels, each of which are related to the simulation models described above. These levels are described below in order of increasing abstraction level.