i'd like to perform a dc sweep and with the opend results I need to access the device data directly, e.g. by typing something like vgs("M1") without using the netname connected to the gate and source port of the M1 device.
I should be a kind of save opPoint value but not a scalar but a vector.
searched for a while in this forum but didn't get a proper answer, yet.
thanks in advance
Here we go:
Create one additional file to include with your simulations and fill it with some lines like
and so on ... of course you have to adjust the hierarchy information andthe devicenames
If you enter "spectre -h save" you will get some extra info on whats possible with
wildcards, filtering options and so on. However this scheme does not work for every PDK.
I just had one case where the probing was broken :( I'm waiting for an updated PDK right now ...
In reply to baenischfau:
thanx a lot! It works.
There is one final thing: do you know a possibility to enter these additional lines directly into an OCEAN script without using the additional include file?
In reply to Josef:
Sorry, I can't help you out at the OCEAN front as I don't use OCEAN that much.
I just know that you can include the additional file by adding
stimulusFile( ?xlate nil "path to new include file") to your existing ocean scripts
Maybe some other guys can help out here
Andi is right. You have to do this by including a file with spectre syntax (which could use wildcards), and doing that via a stimulusFile or even a modelFile call in OCEAN.
You could always wrap this up in a function which wrote it out to a temporary file, and then set the stimulusFile to it? Something like:
procedure(MySaveOppoint(device) let((tmpFile port) tmpFile=makeTempFileName("/tmp/saveOppoint") port=outfile(tmpFile) fprintf(port "save %s:oppoint\n" device) close(port) stimulusFile(?xlate nil tmpFile) tmpFile ))
Then you could do:
Note - none of the above has been tested - it's just an idea.