Clean pulse events for real signals.

This patch cleans pulse events for real signals. Not doing this
can produce invalid results under some conditions.
This commit is contained in:
Cary R 2008-02-13 11:21:19 -08:00 committed by Stephen Williams
parent 2bab415626
commit 4d8db7b5bc
1 changed files with 7 additions and 3 deletions

View File

@ -288,12 +288,16 @@ void vvp_fun_delay::recv_real(vvp_net_ptr_t port, double bit)
return;
}
if (cur_real_ == bit)
return;
vvp_time64_t use_delay;
use_delay = delay_.get_min_delay();
/* Eliminate glitches. */
clean_pulse_events_(use_delay);
/* This must be done after cleaning pulses to avoid propagating
* an incorrect value. */
if (cur_real_ == bit) return;
vvp_time64_t use_simtime = schedule_simtime() + use_delay;
if (use_delay == 0) {