Specifications

60 Chapter 4—Simulation
The simulation is “event–driven,” where an event is a change in the level of
a signal. Each time an event occurs, a list is made of all the devices whose
inputs are affected by that event. Any other events occurring at the same
time are similarly evaluated, and affected devices added to the list. A type–
specific routine is then called for each device on the change list in order to
determine what output changes are going to occur. These changes are
added to the event list, their time of occurrence depending upon the device
delay. No computation is performed for times when no event occurs—so
that device delay settings and clock values have no effect on how fast the
simulation is performed.
LogicWorks performs strictly a digital simulation. It does not take into
account factors such as fan–out (that is, the number of inputs connected to
a given output), line length (capacitance), asymmetrical output drive, and
so on, except inasmuch as these affect delay time.
Simulation Memory Usage
When a circuit is opened or created by LogicWorks, the circuit data is
retained completely in the memory of your machine. Since the total mem-
ory available is fixed (until you buy your next memory expansion!), this
places some limits on circuit size and simulation.
Each time a signal changes state, an “event” record is created in memory. If
the signal is not being displayed in the Timing window, this record is
deallocated again after the signal change has occurred. If the signal is being
displayed, then the record is retained in memory until that change has
scrolled off the left–hand side of the Timing window. As a result, the mem-
ory used by event records will increase when the number of displayed sig-
nals is increased or the resolution of the timing display is decreased.
Memory usage will also increase if the “retain time” setting is increased.
Time Units
LogicWorks uses 32–bit signed integer arithmetic to calculate all time val-
ues used in the simulation. It is usually convenient to think of these values
as being in nanoseconds, but the actual interpretation is left up to the user.
The simulation will stop if any time value approaches the 32–bit integer
limit.
LW Reference.bk Page 60 Monday, December 15, 2003 5:59 PM