Hello i am trying to find the optimal length to have the most insignificant channel length modulation effect.
i have managed to create two vertical markers for all sweeps. is there a way to automatickly display the slope at each sweep step?
Unfortunately not (this would be really useful if you could). You can do delta markers (hit "v" then "d") and display the deltas in voltage via the Window->Assistants->Vertical Marker Table but this doesn't really do what you want.
The best would be to determine the x-value you want to make the measurement at, and then take whatever expression you have for the curves above and do:
value(deriv(getData("m1:ids" ?result "sweepvgs_dc-sweep")) 0.7)
The bit in bold italics is the expression I had for a similar plot, and the 0.7 is the value I want to see the slope at, and then if I plot that waveform I get the slope versus swept value (the vgs value in my case).
Not quite as immediately graphical as just showing the slops at the intercept points, but better than nothing. I thought we had an enhancement CCR already for what you're asking for, but I didn't find it yet (so I'll file another one - I filed CCR 2168511).
Hello Andrew i am trying to follow your suggestion and i have built a similar expressio which will calculate the derivative at a certain point,as shown bellow.
However when i to put the 0.9 it ges me a problem with (
i see that there are three open "(" and 4 closed ")"
How do i make this expression to show me the derivative value at 0.9 point?
There seems to be a part of the expression:
that shouldn't be there. Remove that - then you'll have:
value(deriv(getData("/NM0/D" ?result 'dc)) 0.9)
Hello Andrew , I have succseeded ploting the derivative of one sweep step of (L=3*10^-7) as shown bellow.
I tried to sample the Vds=0.9 point by the following expression:
deriv(leafValue( getData("/M0/D" ?result "dc") "L" 3.022222e-07 )0.9)
SYNTAX ERROR found at line 1 column 66 of file *string**Error* lineread/read: syntax error encountered in input
deriv(leafValue( getData("/M0/D" ?result "dc") "L" 3.022222e-07 )0.9) ^^^
how could we sample the derivative at Vds=0.9 ?
The issue is that you are missing a space just before the 0.9 (after the close parenthesis) which is causing the syntax error:
However, this will solve the syntax error, but won't work because you're providing 0.9 as the second argument to deriv and it's only expecting a single argument. You need to use the value function with 0.9 as the second argument:
value(deriv(leafValue( getData("/M0/D" ?result "dc") "L" 3.022222e-07)) 0.9)
I suspect you don\t really want the part in there and just want the expression I posted before:
This could also be:
value(deriv(getData("/NM0/D" ?result "dc")) 0.9)
Not sure why didn't just try that in the first place.