boolean inputs_are_ready(ckt_time time): This
is a helper member function that is used exclusively by the
simulate() member function. When a component receives the
simulate() message it must first determine if all its inputs
are ready for its local time. The inputs_are_ready()
method serves this purpose by sending the get_signal()
method to all input ports in the input port list. If all the inputs are
available at the specified time, this method returns TRUE and
the simulate() method can continue; otherwise it returns
FALSE.
ckt_time delay: The simulator engine uses the
transport delay model when simulating circuits. The delay
data member is used to represent this delay. Note that, like the
process() function, it is only necessary for components at
the lowest level of the hierarchy to define a delay time since the delay
of higher level components is dependent upon the delay time of its
subcomponents.
char *name: This member is used to store the name
of the component. This is useful for identifying the component
when debugging the simulator engine.
ckt_time local_time: Due to the distributed queue
approach adopted by the simulator, it is possible for several components
to be at different times during the simulation. This data member represents
the location of the component along the temporal range of the
simulation. Only the simulate() method needs to access this
member, hence it is made private.