The problem of simulating hardware originates from trying to mimic the inherent parallelism of circuitry using programming languages which are sequential in nature and design. This chapter will briefly examine the traditional approach to implementing a circuit simulator and introduce a new method of simulating hardware which takes advantage of the features offered by the object-oriented programming paradigm. It will be shown how this new technique of simulation attempts to rectify some problems associated with the classical method of simulating digital devices.
This chapter will examine a new way of treating time during simulation. An algorithm which implements the new simulation technique will also be examined and the Signal class will be analyzed in detail. This method of simulation has also been used in various forms in other simulators . A few examples describing how the lowest level components should be specified so that they will simulate correctly in the implementation will also be presented.