Hi,
I have a following problem.
I verify correctness of a low active reset pulse (with Questa):
await_value(lmk_resetn, '0', 0 ns, 100 ns, "Wait for reset to activate");
await_stable(lmk_resetn, 30 ns, FROM_NOW, 60 ns, FROM_NOW, "The reset must be held for 30 ns to have an effect");
await_value(lmk_resetn, '1', 0 ns, 40 ns, "The reset must be released shortly");
Th waveform look fine (10 ns scale):
![]()
But await_stable misses the rising edge:
# UVVM: ID_POS_ACK 61620.0 ns TB seq. await_value(sl, 0, 0 ns, 100 ns) => OK. Condition occurred after 20 ns. 'Wait for reset to activate'
# UVVM: ID_POS_ACK 61650.0 ns TB seq. await_stable(sl, 30 ns, 60 ns) => OK. Condition occurred after 30 ns. 'The reset must be held
# UVVM: for 30 ns to have an effect'
# UVVM:
# UVVM: =========================================================================================================================================================================
# UVVM: *** ERROR #1 ***
# UVVM: 61690 ns TB seq.
# UVVM: await_value(sl, 1, 0 ns, 40 ns) => Failed. Timed out after 40 ns. 'The reset must be released shortly'
# UVVM: =========================================================================================================================================================================
what could cause this problem?