Fix assertion fail handling certain conditional delays
When conditional delays are in use, it is sometimes possible for there to be no delays available for a given input event. In that case, skip the delay processing for that case instead of crashing.
This commit is contained in:
parent
10d25d2b88
commit
db25bba0d0
10
vvp/delay.cc
10
vvp/delay.cc
|
|
@ -387,6 +387,16 @@ void vvp_fun_modpath::recv_vec4(vvp_net_ptr_t port, const vvp_vector4_t&bit)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Handle the special case that there are no delays that
|
||||||
|
match. This may happen, for example, if the set of
|
||||||
|
conditional delays is incomplete, leaving some cases
|
||||||
|
uncovered. In that case, just pass the data without delay */
|
||||||
|
if (src == 0) {
|
||||||
|
cur_vec4_ = bit;
|
||||||
|
schedule_generic(this, 0, false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
assert(src);
|
assert(src);
|
||||||
|
|
||||||
vvp_time64_t out_at[12];
|
vvp_time64_t out_at[12];
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue