public override void AddEvent(ulong NOW, ulong after, AbstractValue value, VHDL.DelayMechanism delayMechanism) { AbstractTimeStampInfo <T> newValue = new AbstractTimeStampInfo <T>(valueCovertor.GetValue(value)); if (delayMechanism is VHDL.TRANSPORTDelayMechanism) { dump.AddTransportEvent(NOW + after, newValue); return; } if (delayMechanism.PulseRejectionLimit != null) { TIME_VALUE reject = ExpressionEvaluator.DefaultEvaluator.Evaluate(delayMechanism.PulseRejectionLimit) as TIME_VALUE; dump.AddInertialEvent(NOW, NOW + after, newValue, (UInt64)reject.DoubleValue); return; } if (delayMechanism is VHDL.INERTIALDelayMechanism) { dump.AddInertialEvent(NOW, NOW + after, newValue); return; } }
public void RegisterInertialDelayEvent(UInt64 CurrentTime, UInt64 DelayTime, VHDLBaseValue value) { dump.AddInertialEvent(CurrentTime, CurrentTime + DelayTime, new TimeStampInfo <VHDLBaseValue>(value)); }