I'm no expert in this area, but expressions
within { } are evaluated before simulation, which is not what
you want, of course. What if you use ordinary ( ) instead?
On 2025-03-28 20:16, Bell, Dave via
groups.io wrote:
I¡¯m frustrated by failure of a time
measurement I¡¯m trying to make.
?
My circuit generates a pulse train with
parameterized width, Pw.
I want to measure a delay, from a rising
edge of one node, N0, to the next rising edge of another node,
Nx.
Due to a filter action, the amplitude of
V(nx) is dependent upon a resistor whose value is stepped,
from run to run.
Because of that, I want to make the trigger
(target) amplitude a variable, say 90% of the MAX() amplitude
of node Nx.
?
- .meas VNx
MAX V(Nx) FROM {5*Pw} TO {25*Pw}
- .meas T1
TRIG V(N0)=2.25 TD=3u RISE=1 TARG V(Nx)=250m
TD=3u RISE=1
?
Measurement 1 correctly returns a peak
value from say 0.5V to 4.5V.
Measurement 2 returns a time that¡¯s too
close to the stat of Rise, instead of near the peak level.
?
T1 Fails if I use this instead:
- .meas T1
TRIG V(N0)=2.25 TD=3u RISE=1 TARG V(Nx)={0.9*VNx}
TD=3u RISE=1
?
Help??
?
Dave
?
?
--
OOO - Own Opinions only
If something is true:
* as far as we know - it's science
*for certain - it's mathematics
*unquestionably - it's religion